From d1e73b1299b03a54ec0376ad0f747b4d7e64e40b Mon Sep 17 00:00:00 2001 From: Alex Menkov Date: Wed, 29 Nov 2023 20:10:27 +0000 Subject: [PATCH 001/143] 8318626: GetClassFields does not filter out ConstantPool.constantPoolOop field Reviewed-by: sspitsyn, lmesnik --- src/hotspot/share/runtime/reflectionUtils.hpp | 16 ++-- .../FilteredFields/FilteredFieldsTest.java | 60 ++++++++++++++ .../FilteredFields/libFilteredFieldsTest.cpp | 79 +++++++++++++++++++ 3 files changed, 150 insertions(+), 5 deletions(-) create mode 100644 test/hotspot/jtreg/serviceability/jvmti/GetClassFields/FilteredFields/FilteredFieldsTest.java create mode 100644 test/hotspot/jtreg/serviceability/jvmti/GetClassFields/FilteredFields/libFilteredFieldsTest.cpp diff --git a/src/hotspot/share/runtime/reflectionUtils.hpp b/src/hotspot/share/runtime/reflectionUtils.hpp index 04ff68c427100..93bb541467aa5 100644 --- a/src/hotspot/share/runtime/reflectionUtils.hpp +++ b/src/hotspot/share/runtime/reflectionUtils.hpp @@ -214,20 +214,26 @@ class FilteredFieldStream : public FieldStream { private: int _filtered_fields_count; bool has_filtered_field() { return (_filtered_fields_count > 0); } + void skip_filtered_fields() { + if (has_filtered_field()) { + while (_index >= 0 && FilteredFieldsMap::is_filtered_field((Klass*)_klass, offset())) { + _index -= 1; + } + } + } public: FilteredFieldStream(InstanceKlass* klass, bool local_only, bool classes_only) : FieldStream(klass, local_only, classes_only) { _filtered_fields_count = FilteredFieldsMap::filtered_fields_count(klass, local_only); + // skip filtered fields at the end + skip_filtered_fields(); + } int field_count(); void next() { _index -= 1; - if (has_filtered_field()) { - while (_index >=0 && FilteredFieldsMap::is_filtered_field((Klass*)_klass, offset())) { - _index -= 1; - } - } + skip_filtered_fields(); } }; diff --git a/test/hotspot/jtreg/serviceability/jvmti/GetClassFields/FilteredFields/FilteredFieldsTest.java b/test/hotspot/jtreg/serviceability/jvmti/GetClassFields/FilteredFields/FilteredFieldsTest.java new file mode 100644 index 0000000000000..3e77845e45735 --- /dev/null +++ b/test/hotspot/jtreg/serviceability/jvmti/GetClassFields/FilteredFields/FilteredFieldsTest.java @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 8318626 + * @summary Verifies JVMTI GetClassFields function filters out fields + * the same way Class.getDeclaredFields() does. + * + * @run main/othervm/native -agentlib:FilteredFieldsTest FilteredFieldsTest + */ + +import java.lang.reflect.Field; + +public class FilteredFieldsTest { + + static { + System.loadLibrary("FilteredFieldsTest"); + } + + private native static int getJVMTIFieldCount(Class cls); + + private static int getDeclaredFieldsCount(Class cls) { + Field[] declaredFields = cls.getDeclaredFields(); + System.out.println("Class.getDeclaredFields reported " + declaredFields.length + " fields:"); + for (int i = 0; i < declaredFields.length; i++) { + System.out.println(" [" + i + "] : " + declaredFields[i]); + } + return declaredFields.length; + } + + public static void main(String args[]) throws Exception { + Class cls = Class.forName("jdk.internal.reflect.ConstantPool"); + int declaredCount = getDeclaredFieldsCount(cls); + int jvmtiCount = getJVMTIFieldCount(cls); + if (declaredCount != jvmtiCount) { + throw new Exception("declaredCount != jvmtiCount: " + declaredCount + " != " + jvmtiCount); + } + } +} diff --git a/test/hotspot/jtreg/serviceability/jvmti/GetClassFields/FilteredFields/libFilteredFieldsTest.cpp b/test/hotspot/jtreg/serviceability/jvmti/GetClassFields/FilteredFields/libFilteredFieldsTest.cpp new file mode 100644 index 0000000000000..521242a1c2965 --- /dev/null +++ b/test/hotspot/jtreg/serviceability/jvmti/GetClassFields/FilteredFields/libFilteredFieldsTest.cpp @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +#include +#include +#include "jvmti.h" +#include "jvmti_common.h" + +extern "C" { + +static jvmtiEnv *jvmti = NULL; + + +jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { + jint res = jvm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1); + if (res != JNI_OK || jvmti == NULL) { + printf("Wrong result of a valid call to GetEnv!\n"); + fflush(0); + return JNI_ERR; + } + return JNI_OK; +} + +JNIEXPORT jint JNICALL Agent_OnLoad(JavaVM *jvm, char *options, void *reserved) { + return Agent_Initialize(jvm, options, reserved); +} +JNIEXPORT jint JNICALL Agent_OnAttach(JavaVM *jvm, char *options, void *reserved) { + return Agent_Initialize(jvm, options, reserved); +} + + +JNIEXPORT jint JNICALL +Java_FilteredFieldsTest_getJVMTIFieldCount(JNIEnv *env, jclass cls, jclass clazz) { + if (jvmti == NULL) { + env->FatalError("JVMTI agent was not properly loaded"); + } + + jint fcount = 0; + jfieldID *fields = nullptr; + + check_jvmti_status(env, jvmti->GetClassFields(clazz, &fcount, &fields), "GetClassFields failed"); + + printf("GetClassFields returned %d fields:\n", (int)fcount); + for (int i = 0; i < fcount; i++) { + char *name; + jvmtiError err = jvmti->GetFieldName(clazz, fields[i], &name, nullptr, nullptr); + if (err != JVMTI_ERROR_NONE) { + printf("GetFieldName(%d) returned error: %s (%d)\n", + i, TranslateError(err), err); + continue; + } + printf(" [%d]: %s\n", i, name); + jvmti->Deallocate((unsigned char *)name); + } + fflush(0); + return fcount; +} + +} From c86431767e6802317dc2be6221a5d0990b976ddc Mon Sep 17 00:00:00 2001 From: Aleksey Shipilev Date: Wed, 29 Nov 2023 20:15:44 +0000 Subject: [PATCH 002/143] 8320888: Shenandoah: Enable ShenandoahVerifyOptoBarriers in debug builds Reviewed-by: wkemper, kdnilsen, rkennke --- .../gc/shenandoah/shenandoah_globals.hpp | 2 +- .../gcbarriers/UnsafeIntrinsicsTest.java | 1 - .../gc/shenandoah/TestVerifyJCStress.java | 35 ------------------- .../options/TestSelectiveBarrierFlags.java | 3 +- 4 files changed, 2 insertions(+), 39 deletions(-) diff --git a/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp b/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp index d94200f401c3d..1b622946cba2c 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp +++ b/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp @@ -355,7 +355,7 @@ product(bool, ShenandoahStackWatermarkBarrier, true, DIAGNOSTIC, \ "Turn on/off stack watermark barriers in Shenandoah") \ \ - develop(bool, ShenandoahVerifyOptoBarriers, false, \ + develop(bool, ShenandoahVerifyOptoBarriers, trueInDebug, \ "Verify no missing barriers in C2.") \ \ product(bool, ShenandoahLoopOptsAfterExpansion, true, DIAGNOSTIC, \ diff --git a/test/hotspot/jtreg/compiler/gcbarriers/UnsafeIntrinsicsTest.java b/test/hotspot/jtreg/compiler/gcbarriers/UnsafeIntrinsicsTest.java index 06e43d2e08bc1..6a511fd60d96a 100644 --- a/test/hotspot/jtreg/compiler/gcbarriers/UnsafeIntrinsicsTest.java +++ b/test/hotspot/jtreg/compiler/gcbarriers/UnsafeIntrinsicsTest.java @@ -97,7 +97,6 @@ * -XX:+UnlockDiagnosticVMOptions * -XX:-CreateCoredumpOnCrash * -XX:+ShenandoahVerify - * -XX:+IgnoreUnrecognizedVMOptions -XX:+ShenandoahVerifyOptoBarriers * -XX:CompileCommand=dontinline,*::mergeImpl* * compiler.gcbarriers.UnsafeIntrinsicsTest */ diff --git a/test/hotspot/jtreg/gc/shenandoah/TestVerifyJCStress.java b/test/hotspot/jtreg/gc/shenandoah/TestVerifyJCStress.java index 435c4c25004ba..312ab964f5ee1 100644 --- a/test/hotspot/jtreg/gc/shenandoah/TestVerifyJCStress.java +++ b/test/hotspot/jtreg/gc/shenandoah/TestVerifyJCStress.java @@ -40,30 +40,10 @@ * TestVerifyJCStress */ -/* - * @test id=default-debug - * @summary Tests that we pass at least one jcstress-like test with all verification turned on - * @requires vm.gc.Shenandoah - * @requires vm.debug - * @modules java.base/jdk.internal.misc - * java.management - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive - * -XX:+ShenandoahVerify -XX:+ShenandoahVerifyOptoBarriers - * TestVerifyJCStress - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact - * -XX:+ShenandoahVerify -XX:+ShenandoahVerifyOptoBarriers - * TestVerifyJCStress - */ - /* * @test id=default * @summary Tests that we pass at least one jcstress-like test with all verification turned on * @requires vm.gc.Shenandoah - * @requires !vm.debug * @modules java.base/jdk.internal.misc * java.management * @@ -78,25 +58,10 @@ * TestVerifyJCStress */ -/* - * @test id=iu-debug - * @summary Tests that we pass at least one jcstress-like test with all verification turned on - * @requires vm.gc.Shenandoah - * @requires vm.debug - * @modules java.base/jdk.internal.misc - * java.management - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * -XX:+ShenandoahVerify -XX:+ShenandoahVerifyOptoBarriers - * TestVerifyJCStress - */ - /* * @test id=iu * @summary Tests that we pass at least one jcstress-like test with all verification turned on * @requires vm.gc.Shenandoah - * @requires !vm.debug * @modules java.base/jdk.internal.misc * java.management * diff --git a/test/hotspot/jtreg/gc/shenandoah/options/TestSelectiveBarrierFlags.java b/test/hotspot/jtreg/gc/shenandoah/options/TestSelectiveBarrierFlags.java index 1e1627d0fe58b..5b34bfab3a008 100644 --- a/test/hotspot/jtreg/gc/shenandoah/options/TestSelectiveBarrierFlags.java +++ b/test/hotspot/jtreg/gc/shenandoah/options/TestSelectiveBarrierFlags.java @@ -35,9 +35,8 @@ * @summary Test selective barrier enabling works, by aggressively compiling HelloWorld with combinations * of barrier flags * @requires vm.gc.Shenandoah - * @requires vm.debug * @library /test/lib - * @run driver TestSelectiveBarrierFlags -Xbatch -XX:CompileThreshold=100 -XX:-TieredCompilation -XX:+ShenandoahVerifyOptoBarriers + * @run driver TestSelectiveBarrierFlags -Xbatch -XX:CompileThreshold=100 -XX:-TieredCompilation */ import java.util.*; From 940f67c1a62c6f9462266f3a108649aca114cffa Mon Sep 17 00:00:00 2001 From: Harshitha Onkar Date: Wed, 29 Nov 2023 21:53:22 +0000 Subject: [PATCH 003/143] 8318854: [macos14] Running any AWT app prints Secure coding warning Reviewed-by: kcr, kizune, prr --- .../native/libawt_lwawt/awt/AWTWindow.m | 4 +- .../libawt_lwawt/awt/ApplicationDelegate.m | 61 +++++++++++++------ .../macosx/native/libawt_lwawt/awt/CMenuBar.m | 8 ++- .../libosxapp/QueuingApplicationDelegate.m | 15 +++++ 4 files changed, 64 insertions(+), 24 deletions(-) diff --git a/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m b/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m index 73009468fa439..33b986a0d180e 100644 --- a/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m +++ b/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m @@ -841,7 +841,7 @@ - (void) activateWindowMenuBar { isDisabled = !awtWindow.isEnabled; } - if (menuBar == nil) { + if (menuBar == nil && [ApplicationDelegate sharedDelegate] != nil) { menuBar = [[ApplicationDelegate sharedDelegate] defaultMenuBar]; isDisabled = NO; } @@ -1230,7 +1230,7 @@ + (AWTWindow *) lastKeyWindow { window.javaMenuBar = menuBar; CMenuBar* actualMenuBar = menuBar; - if (actualMenuBar == nil) { + if (actualMenuBar == nil && [ApplicationDelegate sharedDelegate] != nil) { actualMenuBar = [[ApplicationDelegate sharedDelegate] defaultMenuBar]; } diff --git a/src/java.desktop/macosx/native/libawt_lwawt/awt/ApplicationDelegate.m b/src/java.desktop/macosx/native/libawt_lwawt/awt/ApplicationDelegate.m index 590ed56e0c6de..a8a821423de44 100644 --- a/src/java.desktop/macosx/native/libawt_lwawt/awt/ApplicationDelegate.m +++ b/src/java.desktop/macosx/native/libawt_lwawt/awt/ApplicationDelegate.m @@ -116,8 +116,9 @@ + (ApplicationDelegate *)sharedDelegate { // don't install the EAWT delegate if another kind of NSApplication is installed, like say, Safari BOOL shouldInstall = NO; + BOOL overrideDelegate = (getenv("AWT_OVERRIDE_NSDELEGATE") != NULL); if (NSApp != nil) { - if ([NSApp isMemberOfClass:[NSApplication class]]) shouldInstall = YES; + if ([NSApp isMemberOfClass:[NSApplication class]] && overrideDelegate) shouldInstall = YES; if ([NSApp isKindOfClass:[NSApplicationAWT class]]) shouldInstall = YES; } checked = YES; @@ -409,6 +410,19 @@ - (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)app { return NSTerminateLater; } +- (BOOL)applicationSupportsSecureRestorableState:(NSApplication *)app { + static BOOL checked = NO; + static BOOL supportsSecureState = YES; + + if (checked == NO) { + checked = YES; + if (getenv("AWT_DISABLE_NSDELEGATE_SECURE_SAVE") != NULL) { + supportsSecureState = NO; + } + } + return supportsSecureState; +} + + (void)_systemWillPowerOff { [self _notifyJava:com_apple_eawt__AppEventHandler_NOTIFY_SHUTDOWN]; } @@ -506,8 +520,10 @@ + (void)_setDockIconImage:(NSImage *)image { [dockImageView setImageScaling:NSImageScaleProportionallyUpOrDown]; [dockImageView setImage:image]; - [[ApplicationDelegate sharedDelegate].fProgressIndicator removeFromSuperview]; - [dockImageView addSubview:[ApplicationDelegate sharedDelegate].fProgressIndicator]; + if ([ApplicationDelegate sharedDelegate] != nil) { + [[ApplicationDelegate sharedDelegate].fProgressIndicator removeFromSuperview]; + [dockImageView addSubview:[ApplicationDelegate sharedDelegate].fProgressIndicator]; + } // add it to the NSDockTile [dockTile setContentView: dockImageView]; @@ -520,14 +536,15 @@ + (void)_setDockIconProgress:(NSNumber *)value { AWT_ASSERT_APPKIT_THREAD; ApplicationDelegate *delegate = [ApplicationDelegate sharedDelegate]; - if ([value doubleValue] >= 0 && [value doubleValue] <=100) { - [delegate.fProgressIndicator setDoubleValue:[value doubleValue]]; - [delegate.fProgressIndicator setHidden:NO]; - } else { - [delegate.fProgressIndicator setHidden:YES]; + if (delegate != nil) { + if ([value doubleValue] >= 0 && [value doubleValue] <=100) { + [delegate.fProgressIndicator setDoubleValue:[value doubleValue]]; + [delegate.fProgressIndicator setHidden:NO]; + } else { + [delegate.fProgressIndicator setHidden:YES]; + } + [[NSApp dockTile] display]; } - - [[NSApp dockTile] display]; } // Obtains the image of the Dock icon, either manually set, a drawn copy, or the default NSApplicationIcon @@ -638,7 +655,9 @@ + (NSImage *)_dockIconImage { NSMenu *menu = (NSMenu *)jlong_to_ptr(nsMenuPtr); [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ - [ApplicationDelegate sharedDelegate].fDockMenu = menu; + if ([ApplicationDelegate sharedDelegate] != nil) { + [ApplicationDelegate sharedDelegate].fDockMenu = menu; + } }]; JNI_COCOA_EXIT(env); @@ -818,13 +837,15 @@ + (NSImage *)_dockIconImage { [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ ApplicationDelegate *delegate = [ApplicationDelegate sharedDelegate]; - switch (menuID) { - case com_apple_eawt__AppMenuBarHandler_MENU_ABOUT: - [delegate _updateAboutMenu:visible enabled:enabled]; - break; - case com_apple_eawt__AppMenuBarHandler_MENU_PREFS: - [delegate _updatePreferencesMenu:visible enabled:enabled]; - break; + if (delegate != nil) { + switch (menuID) { + case com_apple_eawt__AppMenuBarHandler_MENU_ABOUT: + [delegate _updateAboutMenu:visible enabled:enabled]; + break; + case com_apple_eawt__AppMenuBarHandler_MENU_PREFS: + [delegate _updatePreferencesMenu:visible enabled:enabled]; + break; + } } }]; @@ -843,7 +864,9 @@ + (NSImage *)_dockIconImage { CMenuBar *menu = (CMenuBar *)jlong_to_ptr(cMenuBarPtr); [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ - [ApplicationDelegate sharedDelegate].fDefaultMenuBar = menu; + if ([ApplicationDelegate sharedDelegate] != nil) { + [ApplicationDelegate sharedDelegate].fDefaultMenuBar = menu; + } }]; JNI_COCOA_EXIT(env); diff --git a/src/java.desktop/macosx/native/libawt_lwawt/awt/CMenuBar.m b/src/java.desktop/macosx/native/libawt_lwawt/awt/CMenuBar.m index 49a6a80da213c..b02cc81806392 100644 --- a/src/java.desktop/macosx/native/libawt_lwawt/awt/CMenuBar.m +++ b/src/java.desktop/macosx/native/libawt_lwawt/awt/CMenuBar.m @@ -210,9 +210,11 @@ -(void) deactivate { // In theory, this might cause flickering if the window gaining focus // has its own menu. However, I couldn't reproduce it on practice, so // perhaps this is a non issue. - CMenuBar* defaultMenu = [[ApplicationDelegate sharedDelegate] defaultMenuBar]; - if (defaultMenu != nil) { - [CMenuBar activate:defaultMenu modallyDisabled:NO]; + if ([ApplicationDelegate sharedDelegate] != nil) { + CMenuBar* defaultMenu = [[ApplicationDelegate sharedDelegate] defaultMenuBar]; + if (defaultMenu != nil) { + [CMenuBar activate:defaultMenu modallyDisabled:NO]; + } } } } diff --git a/src/java.desktop/macosx/native/libosxapp/QueuingApplicationDelegate.m b/src/java.desktop/macosx/native/libosxapp/QueuingApplicationDelegate.m index 034a990ebc802..ced48c72a3683 100644 --- a/src/java.desktop/macosx/native/libosxapp/QueuingApplicationDelegate.m +++ b/src/java.desktop/macosx/native/libosxapp/QueuingApplicationDelegate.m @@ -200,6 +200,21 @@ - (void)_appDidUnhide } copy]]; } + +- (BOOL)applicationSupportsSecureRestorableState:(NSApplication *)app +{ + static BOOL checked = NO; + static BOOL supportsSecureState = YES; + + if (checked == NO) { + checked = YES; + if (getenv("AWT_DISABLE_NSDELEGATE_SECURE_SAVE") != NULL) { + supportsSecureState = NO; + } + } + return supportsSecureState; +} + - (void)processQueuedEventsWithTargetDelegate:(id )delegate { self.realDelegate = delegate; From 7766785098816cfcdae3479540cdc866c1ed18ad Mon Sep 17 00:00:00 2001 From: Roland Westrelin Date: Thu, 30 Nov 2023 08:09:06 +0000 Subject: [PATCH 004/143] 8319372: C2 compilation fails with "Bad immediate dominator info" Reviewed-by: kvn, chagedorn, thartmann --- src/hotspot/share/opto/castnode.cpp | 73 ------------------- .../c2/TestTopCastIIOnUndetectedDeadPath.java | 58 +++++++++++++++ .../TestTopCastIIOnUndetectedDeadPath2.java | 55 ++++++++++++++ .../TestTopCastIIOnUndetectedDeadPath3.java | 58 +++++++++++++++ 4 files changed, 171 insertions(+), 73 deletions(-) create mode 100644 test/hotspot/jtreg/compiler/c2/TestTopCastIIOnUndetectedDeadPath.java create mode 100644 test/hotspot/jtreg/compiler/c2/TestTopCastIIOnUndetectedDeadPath2.java create mode 100644 test/hotspot/jtreg/compiler/c2/TestTopCastIIOnUndetectedDeadPath3.java diff --git a/src/hotspot/share/opto/castnode.cpp b/src/hotspot/share/opto/castnode.cpp index 7168cdcf7fe43..ec34e5bdbe8d7 100644 --- a/src/hotspot/share/opto/castnode.cpp +++ b/src/hotspot/share/opto/castnode.cpp @@ -263,79 +263,6 @@ const Type* CastIINode::Value(PhaseGVN* phase) const { res = widen_type(phase, res, T_INT); } - // Try to improve the type of the CastII if we recognize a CmpI/If pattern. - // - // in1 in2 - // | | - // +--- | --+ - // | | | - // CmpINode | - // | | - // BoolNode | - // | | - // IfNode | - // | | - // IfProj | - // | | - // CastIINode - // - if (carry_dependency()) { - if (in(0) != nullptr && in(0)->in(0) != nullptr && in(0)->in(0)->is_If()) { - assert(in(0)->is_IfFalse() || in(0)->is_IfTrue(), "should be If proj"); - Node* proj = in(0); - if (proj->in(0)->in(1)->is_Bool()) { - Node* b = proj->in(0)->in(1); - if (b->in(1)->Opcode() == Op_CmpI) { - Node* cmp = b->in(1); - if (cmp->in(1) == in(1) && phase->type(cmp->in(2))->isa_int()) { - const TypeInt* in2_t = phase->type(cmp->in(2))->is_int(); - const Type* t = TypeInt::INT; - BoolTest test = b->as_Bool()->_test; - if (proj->is_IfFalse()) { - test = test.negate(); - } - BoolTest::mask m = test._test; - jlong lo_long = min_jint; - jlong hi_long = max_jint; - if (m == BoolTest::le || m == BoolTest::lt) { - hi_long = in2_t->_hi; - if (m == BoolTest::lt) { - hi_long -= 1; - } - } else if (m == BoolTest::ge || m == BoolTest::gt) { - lo_long = in2_t->_lo; - if (m == BoolTest::gt) { - lo_long += 1; - } - } else if (m == BoolTest::eq) { - lo_long = in2_t->_lo; - hi_long = in2_t->_hi; - } else if (m == BoolTest::ne) { - // can't do any better - } else { - stringStream ss; - test.dump_on(&ss); - fatal("unexpected comparison %s", ss.freeze()); - } - int lo_int = (int)lo_long; - int hi_int = (int)hi_long; - - if (lo_long != (jlong)lo_int) { - lo_int = min_jint; - } - if (hi_long != (jlong)hi_int) { - hi_int = max_jint; - } - - t = TypeInt::make(lo_int, hi_int, Type::WidenMax); - - res = res->filter_speculative(t); - return res; - } - } - } - } - } return res; } diff --git a/test/hotspot/jtreg/compiler/c2/TestTopCastIIOnUndetectedDeadPath.java b/test/hotspot/jtreg/compiler/c2/TestTopCastIIOnUndetectedDeadPath.java new file mode 100644 index 0000000000000..1b95e13d4f71f --- /dev/null +++ b/test/hotspot/jtreg/compiler/c2/TestTopCastIIOnUndetectedDeadPath.java @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2023, Red Hat, Inc. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact 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 8319372 + * @summary CastII because of condition guarding it becomes top + * @requires vm.compiler2.enabled + * @run main/othervm -Xcomp -XX:CompileOnly=TestTopCastIIOnUndetectedDeadPath::test -XX:CompileCommand=quiet -XX:-TieredCompilation + * -XX:+UnlockDiagnosticVMOptions -XX:StressSeed=426264791 -XX:+StressIGVN TestTopCastIIOnUndetectedDeadPath + * @run main/othervm -Xcomp -XX:CompileOnly=TestTopCastIIOnUndetectedDeadPath::test -XX:CompileCommand=quiet -XX:-TieredCompilation + * -XX:+UnlockDiagnosticVMOptions -XX:+StressIGVN TestTopCastIIOnUndetectedDeadPath + */ + +public class TestTopCastIIOnUndetectedDeadPath { + static class X { + static void m(int[] a) { + + } + } + + static int array[] = new int[10]; + + static void test(int val) { + for (int i = 1; i < 10; ++i) { + for (int j = i; j < 10; ++j) { + if (i == 0 && j != 0) { + X.m(array); + } + array[j - 1] = val; + } + } + } + + public static void main(String[] arg) { + test(42); + } +} diff --git a/test/hotspot/jtreg/compiler/c2/TestTopCastIIOnUndetectedDeadPath2.java b/test/hotspot/jtreg/compiler/c2/TestTopCastIIOnUndetectedDeadPath2.java new file mode 100644 index 0000000000000..98121b3b7542e --- /dev/null +++ b/test/hotspot/jtreg/compiler/c2/TestTopCastIIOnUndetectedDeadPath2.java @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2023, Red Hat, Inc. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact 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 8319372 + * @summary CastII because of condition guarding it becomes top + * @requires vm.compiler2.enabled + * @run main/othervm -XX:CompileCommand=quiet -XX:CompileCommand=compileonly,TestTopCastIIOnUndetectedDeadPath2::test -XX:-TieredCompilation + * -Xbatch -XX:+UnlockDiagnosticVMOptions -XX:+StressIGVN -XX:StressSeed=256120824 TestTopCastIIOnUndetectedDeadPath2 + * @run main/othervm -XX:CompileCommand=quiet -XX:CompileCommand=compileonly,TestTopCastIIOnUndetectedDeadPath2::test -XX:-TieredCompilation + * -Xbatch -XX:+UnlockDiagnosticVMOptions -XX:+StressIGVN TestTopCastIIOnUndetectedDeadPath2 + */ + +public class TestTopCastIIOnUndetectedDeadPath2 { + static int array[] = new int[100]; + + static int test() { + int res = 0; + for (int i = 1; i < 100; ++i) { + try { + res = array[i - 1]; + int x = (42 % i); + } catch (ArithmeticException e) { + } + } + return res; + } + + public static void main(String[] args) { + for (int i = 0; i < 10_000; i++) { + test(); + } + } +} diff --git a/test/hotspot/jtreg/compiler/c2/TestTopCastIIOnUndetectedDeadPath3.java b/test/hotspot/jtreg/compiler/c2/TestTopCastIIOnUndetectedDeadPath3.java new file mode 100644 index 0000000000000..86f26b22295e7 --- /dev/null +++ b/test/hotspot/jtreg/compiler/c2/TestTopCastIIOnUndetectedDeadPath3.java @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2023, Red Hat, Inc. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact 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 8319372 + * @summary CastII because of condition guarding it becomes top + * @run main/othervm -Xcomp -XX:CompileOnly=TestTopCastIIOnUndetectedDeadPath3::* -XX:-TieredCompilation TestTopCastIIOnUndetectedDeadPath3 + */ + +public class TestTopCastIIOnUndetectedDeadPath3 { + + static long test() { + int x = 6, y = 5; + int[] iArr = new int[200]; + for (int i = 129; i > 5; i -= 2) { // OSR compiled + try { + y = iArr[i - 1]; + x = iArr[i + 1]; + x = 1 / i; + } catch (ArithmeticException a_e) { + } + } + Foo.empty(); + return x + y; + } + + public static void main(String[] strArr) { + new TestTopCastIIOnUndetectedDeadPath3(); + for (int i = 0; i < 2000; i++) { + test(); + } + } +} + +class Foo { + public static void empty() {} +} From d6b4aa01a20eb7ecd44602a9fab3e3380bff3d3a Mon Sep 17 00:00:00 2001 From: Olga Mikhaltsova Date: Thu, 30 Nov 2023 08:15:34 +0000 Subject: [PATCH 005/143] 8318157: RISC-V: implement ensureMaterializedForStackWalk intrinsic Reviewed-by: fyang --- src/hotspot/cpu/riscv/riscv.ad | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/hotspot/cpu/riscv/riscv.ad b/src/hotspot/cpu/riscv/riscv.ad index 87f240873a85b..70e787206ce7e 100644 --- a/src/hotspot/cpu/riscv/riscv.ad +++ b/src/hotspot/cpu/riscv/riscv.ad @@ -2378,6 +2378,11 @@ encode %{ ciEnv::current()->record_failure("CodeCache is full"); return; } + } else if (_method->intrinsic_id() == vmIntrinsicID::_ensureMaterializedForStackWalk) { + // The NOP here is purely to ensure that eliding a call to + // JVM_EnsureMaterializedForStackWalk doesn't change the code size. + __ nop(); + __ block_comment("call JVM_EnsureMaterializedForStackWalk (elided)"); } else { int method_index = resolved_method_index(cbuf); RelocationHolder rspec = _optimized_virtual ? opt_virtual_call_Relocation::spec(method_index) From 0d146361f27e1415fab9272de1cdde84c074c718 Mon Sep 17 00:00:00 2001 From: Stefan Karlsson Date: Thu, 30 Nov 2023 09:46:26 +0000 Subject: [PATCH 006/143] 8320515: assert(monitor->object_peek() != nullptr) failed: Owned monitors should not have a dead object Reviewed-by: dholmes, ihse, sspitsyn, dcubed --- make/test/JtregNativeHotspot.gmk | 3 +- src/hotspot/share/prims/jvmtiEnvBase.cpp | 7 + src/hotspot/share/runtime/synchronizer.cpp | 1 - src/hotspot/share/runtime/vmOperations.cpp | 6 + .../Monitor/MonitorWithDeadObjectTest.java | 99 ++++++++++ .../Monitor/libMonitorWithDeadObjectTest.c | 172 ++++++++++++++++++ .../GetOwnedMonitorInfoTest.java | 35 +++- .../libGetOwnedMonitorInfoTest.c | 9 + 8 files changed, 325 insertions(+), 7 deletions(-) create mode 100644 test/hotspot/jtreg/runtime/Monitor/MonitorWithDeadObjectTest.java create mode 100644 test/hotspot/jtreg/runtime/Monitor/libMonitorWithDeadObjectTest.c diff --git a/make/test/JtregNativeHotspot.gmk b/make/test/JtregNativeHotspot.gmk index 24fcac2198ebe..98101ee1e86bf 100644 --- a/make/test/JtregNativeHotspot.gmk +++ b/make/test/JtregNativeHotspot.gmk @@ -861,7 +861,7 @@ BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exesigtest := -ljvm ifeq ($(call isTargetOs, windows), true) BUILD_HOTSPOT_JTREG_EXECUTABLES_CFLAGS_exeFPRegs := -MT - BUILD_HOTSPOT_JTREG_EXCLUDE += exesigtest.c libterminatedThread.c libTestJNI.c libCompleteExit.c libTestPsig.c exeGetCreatedJavaVMs.c + BUILD_HOTSPOT_JTREG_EXCLUDE += exesigtest.c libterminatedThread.c libTestJNI.c libCompleteExit.c libMonitorWithDeadObjectTest.c libTestPsig.c exeGetCreatedJavaVMs.c BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libatExit := jvm.lib BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libnativeStack := jvm.lib BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exedaemonDestroy := jvm.lib @@ -1503,6 +1503,7 @@ else BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libterminatedThread += -lpthread BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libatExit += -ljvm BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libCompleteExit += -lpthread + BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libMonitorWithDeadObjectTest += -lpthread BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libnativeStack += -lpthread BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exeGetCreatedJavaVMs := -ljvm -lpthread diff --git a/src/hotspot/share/prims/jvmtiEnvBase.cpp b/src/hotspot/share/prims/jvmtiEnvBase.cpp index 709cc90d5619a..9d6296ee31603 100644 --- a/src/hotspot/share/prims/jvmtiEnvBase.cpp +++ b/src/hotspot/share/prims/jvmtiEnvBase.cpp @@ -2243,6 +2243,13 @@ JvmtiMonitorClosure::do_monitor(ObjectMonitor* mon) { } // Filter out on stack monitors collected during stack walk. oop obj = mon->object(); + + if (obj == nullptr) { + // This can happen if JNI code drops all references to the + // owning object. + return; + } + bool found = false; for (int j = 0; j < _owned_monitors_list->length(); j++) { jobject jobj = ((jvmtiMonitorStackDepthInfo*)_owned_monitors_list->at(j))->monitor; diff --git a/src/hotspot/share/runtime/synchronizer.cpp b/src/hotspot/share/runtime/synchronizer.cpp index 4d01037380d88..7c41010fdb894 100644 --- a/src/hotspot/share/runtime/synchronizer.cpp +++ b/src/hotspot/share/runtime/synchronizer.cpp @@ -1115,7 +1115,6 @@ void ObjectSynchronizer::owned_monitors_iterate_filtered(MonitorClosure* closure // ObjectMonitor cannot be async deflated. if (monitor->has_owner() && filter(monitor->owner_raw())) { assert(!monitor->is_being_async_deflated(), "Owned monitors should not be deflating"); - assert(monitor->object_peek() != nullptr, "Owned monitors should not have a dead object"); closure->do_monitor(monitor); } diff --git a/src/hotspot/share/runtime/vmOperations.cpp b/src/hotspot/share/runtime/vmOperations.cpp index cad9dd2ad54c5..3469e3f2cc0ba 100644 --- a/src/hotspot/share/runtime/vmOperations.cpp +++ b/src/hotspot/share/runtime/vmOperations.cpp @@ -347,6 +347,12 @@ class ObjectMonitorsDump : public MonitorClosure, public ObjectMonitorsView { return; } + if (monitor->object_peek() == nullptr) { + // JNI code doesn't necessarily keep the monitor object + // alive. Filter out monitors with dead objects. + return; + } + add(monitor); } diff --git a/test/hotspot/jtreg/runtime/Monitor/MonitorWithDeadObjectTest.java b/test/hotspot/jtreg/runtime/Monitor/MonitorWithDeadObjectTest.java new file mode 100644 index 0000000000000..31aeaccf07a43 --- /dev/null +++ b/test/hotspot/jtreg/runtime/Monitor/MonitorWithDeadObjectTest.java @@ -0,0 +1,99 @@ +/* + * Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. + * 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. + * + */ + +/* + * @bug 8320515 + * @summary This test checks that ObjectMonitors with dead objects don't + * cause asserts, crashes, or failures when various sub-systems + * in the JVM find them. + * @library /testlibrary /test/lib + * @modules jdk.management + */ + +/* + * @requires os.family != "windows" & os.family != "aix" + * @test id=DetachThread + * @run main/othervm/native MonitorWithDeadObjectTest 0 + */ + +/* + * @requires os.family != "windows" & os.family != "aix" + * @test id=DumpThreadsBeforeDetach + * @run main/othervm/native MonitorWithDeadObjectTest 1 + */ + +/* + * @requires os.family != "windows" & os.family != "aix" + * @test id=DumpThreadsAfterDetach + * @run main/othervm/native MonitorWithDeadObjectTest 2 + */ + +import java.lang.management.ManagementFactory; +import java.lang.management.ThreadMXBean; + +public class MonitorWithDeadObjectTest { + public static native void createMonitorWithDeadObject(); + public static native void createMonitorWithDeadObjectDumpThreadsBeforeDetach(); + + static { + System.loadLibrary("MonitorWithDeadObjectTest"); + } + + private static void dumpThreadsWithLockedMonitors() { + ThreadMXBean threadBean = ManagementFactory.getThreadMXBean(); + threadBean.dumpAllThreads(true, false); + } + + private static void testDetachThread() { + // Create an ObjectMonitor with a dead object from an attached thread. + // This used to provoke an assert in DetachCurrentThread. + createMonitorWithDeadObject(); + } + + private static void testDumpThreadsBeforeDetach() { + // Create an ObjectMonitor with a dead object from an attached thread + // and perform a thread dump before detaching the thread. + createMonitorWithDeadObjectDumpThreadsBeforeDetach(); + } + + private static void testDumpThreadsAfterDetach() { + createMonitorWithDeadObject(); + + // The thread dumping code used to not tolerate monitors with dead + // objects and the detach code used to not unlock these monitors, so + // test that we don't end up with a bug where these monitors are not + // unlocked and then passed to the thread dumping code. + dumpThreadsWithLockedMonitors(); + } + + public static void main(String[] args) throws Exception { + int test = Integer.parseInt(args[0]); + switch (test) { + case 0: testDetachThread(); break; + case 1: testDumpThreadsBeforeDetach(); break; + case 2: testDumpThreadsAfterDetach(); break; + default: throw new RuntimeException("Unknown test"); + }; + } +} diff --git a/test/hotspot/jtreg/runtime/Monitor/libMonitorWithDeadObjectTest.c b/test/hotspot/jtreg/runtime/Monitor/libMonitorWithDeadObjectTest.c new file mode 100644 index 0000000000000..7e12eac2ea2ba --- /dev/null +++ b/test/hotspot/jtreg/runtime/Monitor/libMonitorWithDeadObjectTest.c @@ -0,0 +1,172 @@ +/* + * Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +static JavaVM* jvm; +static pthread_t attacher; + +#define die(x) do { printf("%s:%s\n",x , __func__); perror(x); exit(EXIT_FAILURE); } while (0) + +static void check_exception(JNIEnv* env, const char* msg) { + if ((*env)->ExceptionCheck(env)) { + fprintf(stderr, "Error: %s", msg); + exit(-1); + } +} + +#define check(env, what, msg) \ + check_exception((env), (msg)); \ + do { \ + if ((what) == 0) { \ + fprintf(stderr, #what "is null: %s", (msg)); \ + exit(-2); \ + } \ + } while (0) + +static jobject create_object(JNIEnv* env) { + jclass clazz = (*env)->FindClass(env, "java/lang/Object"); + check(env, clazz, "No class"); + + jmethodID constructor = (*env)->GetMethodID(env, clazz, "", "()V"); + check(env, constructor, "No constructor"); + + jobject obj = (*env)->NewObject(env, clazz, constructor); + check(env, constructor, "No object"); + + return obj; +} + +static void system_gc(JNIEnv* env) { + jclass clazz = (*env)->FindClass(env, "java/lang/System"); + check(env, clazz, "No class"); + + jmethodID method = (*env)->GetStaticMethodID(env, clazz, "gc", "()V"); + check(env, method, "No method"); + + (*env)->CallStaticVoidMethod(env, clazz, method); + check_exception(env, "Calling System.gc()"); +} + +static void thread_dump_with_locked_monitors(JNIEnv* env) { + jclass ManagementFactoryClass = (*env)->FindClass(env, "java/lang/management/ManagementFactory"); + check(env, ManagementFactoryClass, "No ManagementFactory class"); + + jmethodID getThreadMXBeanMethod = (*env)->GetStaticMethodID(env, ManagementFactoryClass, "getThreadMXBean", "()Ljava/lang/management/ThreadMXBean;"); + check(env, getThreadMXBeanMethod, "No getThreadMXBean method"); + + jobject threadBean = (*env)->CallStaticObjectMethod(env, ManagementFactoryClass, getThreadMXBeanMethod); + check(env, threadBean, "Calling getThreadMXBean()"); + + jclass ThreadMXBeanClass = (*env)->FindClass(env, "java/lang/management/ThreadMXBean"); + check(env, ThreadMXBeanClass, "No ThreadMXBean class"); + + jmethodID dumpAllThreadsMethod = (*env)->GetMethodID(env, ThreadMXBeanClass, "dumpAllThreads", "(ZZ)[Ljava/lang/management/ThreadInfo;"); + check(env, dumpAllThreadsMethod, "No dumpAllThreads method"); + + // The 'lockedMonitors == true' is what causes the monitor with a dead object to be examined. + jobject array = (*env)->CallObjectMethod(env, threadBean, dumpAllThreadsMethod, JNI_TRUE /* lockedMonitors */, JNI_FALSE /* lockedSynchronizers*/); + check(env, array, "Calling dumpAllThreads(true, false)"); +} + +static void create_monitor_with_dead_object(JNIEnv* env) { + jobject obj = create_object(env); + + if ((*env)->MonitorEnter(env, obj) != 0) die("MonitorEnter"); + + // Drop the last strong reference to the object associated with the monitor. + // The monitor only keeps a weak reference to the object. + (*env)->DeleteLocalRef(env, obj); + + // Let the GC clear the weak reference to the object. + system_gc(env); +} + +static void* create_monitor_with_dead_object_in_thread(void* arg) { + JNIEnv* env; + int res = (*jvm)->AttachCurrentThread(jvm, (void**)&env, NULL); + if (res != JNI_OK) die("AttachCurrentThread"); + + // Make the correct incantation to create a monitor with a dead object. + create_monitor_with_dead_object(env); + + // DetachCurrentThread will try to unlock held monitors. This has been a + // source of at least two bugs: + // - When the object reference in the monitor was cleared, the monitor + // iterator code would skip it, preventing it from being unlocked when + // the owner thread detached, leaving it lingering in the system. + // - When the monitor iterator API was rewritten the code was changed to + // assert that we didn't have "owned" monitors with dead objects. This + // test provokes that situation and that asserts. + if ((*jvm)->DetachCurrentThread(jvm) != JNI_OK) die("DetachCurrentThread"); + + return NULL; +} + +static void* create_monitor_with_dead_object_and_dump_threads_in_thread(void* arg) { + JNIEnv* env; + int res = (*jvm)->AttachCurrentThread(jvm, (void**)&env, NULL); + if (res != JNI_OK) die("AttachCurrentThread"); + + // Make the correct incantation to create a monitor with a dead object. + create_monitor_with_dead_object(env); + + // Perform a thread dump that checks for all thread's monitors. + // That code didn't expect the monitor iterators to return monitors + // with dead objects and therefore asserted/crashed. + thread_dump_with_locked_monitors(env); + + if ((*jvm)->DetachCurrentThread(jvm) != JNI_OK) die("DetachCurrentThread"); + + return NULL; +} + +JNIEXPORT void JNICALL Java_MonitorWithDeadObjectTest_createMonitorWithDeadObject(JNIEnv* env, jclass jc) { + void* ret; + + (*env)->GetJavaVM(env, &jvm); + + if (pthread_create(&attacher, NULL, create_monitor_with_dead_object_in_thread, NULL) != 0) die("pthread_create"); + if (pthread_join(attacher, &ret) != 0) die("pthread_join"); +} + +JNIEXPORT void JNICALL Java_MonitorWithDeadObjectTest_createMonitorWithDeadObjectDumpThreadsBeforeDetach(JNIEnv* env, jclass jc) { + void* ret; + + (*env)->GetJavaVM(env, &jvm); + + if (pthread_create(&attacher, NULL, create_monitor_with_dead_object_and_dump_threads_in_thread, NULL) != 0) die("pthread_create"); + if (pthread_join(attacher, &ret) != 0) die("pthread_join"); +} + +#ifdef __cplusplus +} +#endif diff --git a/test/hotspot/jtreg/serviceability/jvmti/GetOwnedMonitorInfo/GetOwnedMonitorInfoTest.java b/test/hotspot/jtreg/serviceability/jvmti/GetOwnedMonitorInfo/GetOwnedMonitorInfoTest.java index 7d40301222cb7..7b99104670f9b 100644 --- a/test/hotspot/jtreg/serviceability/jvmti/GetOwnedMonitorInfo/GetOwnedMonitorInfoTest.java +++ b/test/hotspot/jtreg/serviceability/jvmti/GetOwnedMonitorInfo/GetOwnedMonitorInfoTest.java @@ -24,8 +24,10 @@ /** * @test - * @bug 8185164 - * @summary Checks that a contended monitor does not show up in the list of owned monitors + * @bug 8185164 8320515 + * @summary Checks that a contended monitor does not show up in the list of owned monitors. + * 8320515 piggy-backs on this test and injects an owned monitor with a dead object, + and checks that that monitor isn't exposed to GetOwnedMonitorInfo. * @requires vm.jvmti * @compile GetOwnedMonitorInfoTest.java * @run main/othervm/native -agentlib:GetOwnedMonitorInfoTest GetOwnedMonitorInfoTest @@ -46,19 +48,42 @@ public class GetOwnedMonitorInfoTest { } } + private static native void jniMonitorEnter(Object obj); private static native int check(); private static native boolean hasEventPosted(); + private static void jniMonitorEnterAndLetObjectDie() { + // The monitor iterator used by GetOwnedMonitorInfo used to + // assert when an owned monitor with a dead object was found. + // Inject this situation into this test that performs other + // GetOwnedMonitorInfo testing. + Object obj = new Object() {}; + jniMonitorEnter(obj); + if (!Thread.holdsLock(obj)) { + throw new RuntimeException("The object is not locked"); + } + obj = null; + System.gc(); + } + public static void main(String[] args) throws Exception { - runTest(true); - runTest(false); + runTest(true, true); + runTest(true, false); + runTest(false, true); + runTest(false, false); } - public static void runTest(boolean isVirtual) throws Exception { + public static void runTest(boolean isVirtual, boolean jni) throws Exception { var threadFactory = isVirtual ? Thread.ofVirtual().factory() : Thread.ofPlatform().factory(); final GetOwnedMonitorInfoTest lock = new GetOwnedMonitorInfoTest(); Thread t1 = threadFactory.newThread(() -> { + Thread.currentThread().setName("Worker-Thread"); + + if (jni) { + jniMonitorEnterAndLetObjectDie(); + } + synchronized (lock) { System.out.println("Thread in sync section: " + Thread.currentThread().getName()); diff --git a/test/hotspot/jtreg/serviceability/jvmti/GetOwnedMonitorInfo/libGetOwnedMonitorInfoTest.c b/test/hotspot/jtreg/serviceability/jvmti/GetOwnedMonitorInfo/libGetOwnedMonitorInfoTest.c index 5147fae53045b..af4fd51f3b342 100644 --- a/test/hotspot/jtreg/serviceability/jvmti/GetOwnedMonitorInfo/libGetOwnedMonitorInfoTest.c +++ b/test/hotspot/jtreg/serviceability/jvmti/GetOwnedMonitorInfo/libGetOwnedMonitorInfoTest.c @@ -22,6 +22,7 @@ */ #include +#include #include #include "jvmti.h" #include "jni.h" @@ -264,6 +265,14 @@ jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) { return JNI_OK; } +JNIEXPORT void JNICALL +Java_GetOwnedMonitorInfoTest_jniMonitorEnter(JNIEnv* env, jclass cls, jobject obj) { + if ((*env)->MonitorEnter(env, obj) != 0) { + fprintf(stderr, "MonitorEnter failed"); + exit(-1); + } +} + JNIEXPORT jint JNICALL Java_GetOwnedMonitorInfoTest_check(JNIEnv *env, jclass cls) { return status; From 694136909c058370a5833322ebaf2e71a0a15164 Mon Sep 17 00:00:00 2001 From: Aleksey Shipilev Date: Thu, 30 Nov 2023 10:18:23 +0000 Subject: [PATCH 007/143] 8320921: GHA: Parallelize hotspot_compiler test jobs Reviewed-by: stuefe, ihse --- .github/workflows/test.yml | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6f2757fe97ff9..b3590166264bf 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -60,7 +60,9 @@ jobs: - 'jdk/tier1 part 3' - 'langtools/tier1' - 'hs/tier1 common' - - 'hs/tier1 compiler' + - 'hs/tier1 compiler part 1' + - 'hs/tier1 compiler part 2' + - 'hs/tier1 compiler part 3' - 'hs/tier1 gc' - 'hs/tier1 runtime' - 'hs/tier1 serviceability' @@ -83,8 +85,16 @@ jobs: test-suite: 'test/hotspot/jtreg/:tier1_common' debug-suffix: -debug - - test-name: 'hs/tier1 compiler' - test-suite: 'test/hotspot/jtreg/:tier1_compiler' + - test-name: 'hs/tier1 compiler part 1' + test-suite: 'test/hotspot/jtreg/:tier1_compiler_1' + debug-suffix: -debug + + - test-name: 'hs/tier1 compiler part 2' + test-suite: 'test/hotspot/jtreg/:tier1_compiler_2 test/hotspot/jtreg/:tier1_compiler_not_xcomp' + debug-suffix: -debug + + - test-name: 'hs/tier1 compiler part 3' + test-suite: 'test/hotspot/jtreg/:tier1_compiler_3' debug-suffix: -debug - test-name: 'hs/tier1 gc' From 8b102ed6b4f595f07c0e741328f5fcac65320461 Mon Sep 17 00:00:00 2001 From: Aleksey Shipilev Date: Thu, 30 Nov 2023 10:51:48 +0000 Subject: [PATCH 008/143] 8321063: AArch64: Zero build fails after JDK-8320368 Reviewed-by: stuefe, haosun --- src/hotspot/share/oops/compressedKlass.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hotspot/share/oops/compressedKlass.cpp b/src/hotspot/share/oops/compressedKlass.cpp index f9d0466dda4ec..4a94eb9bde02d 100644 --- a/src/hotspot/share/oops/compressedKlass.cpp +++ b/src/hotspot/share/oops/compressedKlass.cpp @@ -84,7 +84,7 @@ char* CompressedKlassPointers::reserve_address_space_for_16bit_move(size_t size, return reserve_address_space_X(nth_bit(32), nth_bit(48), size, nth_bit(32), aslr); } -#ifndef AARCH64 +#if !defined(AARCH64) || defined(ZERO) // On aarch64 we have an own version; all other platforms use the default version void CompressedKlassPointers::initialize(address addr, size_t len) { // The default version of this code tries, in order of preference: @@ -115,7 +115,7 @@ void CompressedKlassPointers::initialize(address addr, size_t len) { DEBUG_ONLY(assert_is_valid_encoding(addr, len, _base, _shift);) } -#endif // !AARCH64 +#endif // !AARCH64 || ZERO void CompressedKlassPointers::print_mode(outputStream* st) { st->print_cr("Narrow klass base: " PTR_FORMAT ", Narrow klass shift: %d, " From 61653a1ff166816a6af6875c42bcd85023f3859d Mon Sep 17 00:00:00 2001 From: Joachim Kern Date: Thu, 30 Nov 2023 11:19:58 +0000 Subject: [PATCH 009/143] 8320830: [AIX] Dont mix os::dll_load() with direct dlclose() calls Reviewed-by: stuefe, clanger --- src/hotspot/os/aix/libodm_aix.cpp | 6 +++--- src/hotspot/os/aix/libperfstat_aix.cpp | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/hotspot/os/aix/libodm_aix.cpp b/src/hotspot/os/aix/libodm_aix.cpp index d62a94939a46b..9fe0fb7abd842 100644 --- a/src/hotspot/os/aix/libodm_aix.cpp +++ b/src/hotspot/os/aix/libodm_aix.cpp @@ -35,7 +35,7 @@ dynamicOdm::dynamicOdm() { const char* libodmname = "/usr/lib/libodm.a(shr_64.o)"; char ebuf[512]; - void* _libhandle = os::dll_load(libodmname, ebuf, sizeof(ebuf)); + _libhandle = os::dll_load(libodmname, ebuf, sizeof(ebuf)); if (!_libhandle) { trcVerbose("Cannot load %s (error %s)", libodmname, ebuf); @@ -48,14 +48,14 @@ dynamicOdm::dynamicOdm() { _odm_terminate = (fun_odm_terminate )dlsym(_libhandle, "odm_terminate" ); if (!_odm_initialize || !_odm_set_path || !_odm_mount_class || !_odm_get_obj || !_odm_terminate) { trcVerbose("Couldn't find all required odm symbols from %s", libodmname); - dlclose(_libhandle); + os::dll_unload(_libhandle); _libhandle = nullptr; return; } } dynamicOdm::~dynamicOdm() { - if (_libhandle) { dlclose(_libhandle); } + if (_libhandle) { os::dll_unload(_libhandle); } } diff --git a/src/hotspot/os/aix/libperfstat_aix.cpp b/src/hotspot/os/aix/libperfstat_aix.cpp index 69f6224536528..f547b4c78e77c 100644 --- a/src/hotspot/os/aix/libperfstat_aix.cpp +++ b/src/hotspot/os/aix/libperfstat_aix.cpp @@ -114,7 +114,7 @@ bool libperfstat::init() { void libperfstat::cleanup() { if (g_libhandle) { - dlclose(g_libhandle); + os::dll_unload(g_libhandle); g_libhandle = nullptr; } From c9d15f7d5ee616bf48d85647ee504714ac5fafc2 Mon Sep 17 00:00:00 2001 From: Evgeny Astigeevich Date: Thu, 30 Nov 2023 11:33:02 +0000 Subject: [PATCH 010/143] 8321025: Enable Neoverse N1 optimizations for Neoverse V2 Reviewed-by: ngasson, shade --- src/hotspot/cpu/aarch64/vm_version_aarch64.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/hotspot/cpu/aarch64/vm_version_aarch64.cpp b/src/hotspot/cpu/aarch64/vm_version_aarch64.cpp index df28ca284c5cf..37b0c44a593be 100644 --- a/src/hotspot/cpu/aarch64/vm_version_aarch64.cpp +++ b/src/hotspot/cpu/aarch64/vm_version_aarch64.cpp @@ -204,8 +204,9 @@ void VM_Version::initialize() { } } - // Neoverse N1, N2 and V1 - if (_cpu == CPU_ARM && (model_is(0xd0c) || model_is(0xd49) || model_is(0xd40))) { + // Neoverse N1, N2, V1, V2 + if (_cpu == CPU_ARM && (model_is(0xd0c) || model_is(0xd49) || + model_is(0xd40) || model_is(0xd4f))) { if (FLAG_IS_DEFAULT(UseSIMDForMemoryOps)) { FLAG_SET_DEFAULT(UseSIMDForMemoryOps, true); } From da7cf258bb5b24788409dde084ad012bd64a032a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20=C5=A0ipka?= Date: Thu, 30 Nov 2023 12:09:20 +0000 Subject: [PATCH 011/143] 8320665: update jdk_core at open/test/jdk/TEST.groups Reviewed-by: msheppar --- test/jdk/TEST.groups | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/jdk/TEST.groups b/test/jdk/TEST.groups index 4b332b94ca357..d15b79ea91c14 100644 --- a/test/jdk/TEST.groups +++ b/test/jdk/TEST.groups @@ -647,3 +647,7 @@ jdk_containers_extended = \ :jdk_io \ :jdk_nio \ :jdk_svc + +jdk_core_no_security = \ + :jdk_core \ + -:jdk_security \ No newline at end of file From 03759e892df1f1de5d5ede93f5ded21e468cff5a Mon Sep 17 00:00:00 2001 From: Stefan Karlsson Date: Thu, 30 Nov 2023 12:40:23 +0000 Subject: [PATCH 012/143] 8320304: Refactor and simplify monitor deflation functions Reviewed-by: dcubed, dholmes --- src/hotspot/share/runtime/synchronizer.cpp | 266 ++++++++++++--------- src/hotspot/share/runtime/synchronizer.hpp | 13 +- 2 files changed, 155 insertions(+), 124 deletions(-) diff --git a/src/hotspot/share/runtime/synchronizer.cpp b/src/hotspot/share/runtime/synchronizer.cpp index 7c41010fdb894..34eafb01c6d74 100644 --- a/src/hotspot/share/runtime/synchronizer.cpp +++ b/src/hotspot/share/runtime/synchronizer.cpp @@ -63,6 +63,8 @@ #include "utilities/linkedlist.hpp" #include "utilities/preserveException.hpp" +class ObjectMonitorDeflationLogging; + void MonitorList::add(ObjectMonitor* m) { ObjectMonitor* head; do { @@ -84,17 +86,26 @@ size_t MonitorList::max() const { return Atomic::load(&_max); } +class ObjectMonitorDeflationSafepointer : public StackObj { + JavaThread* const _current; + ObjectMonitorDeflationLogging* const _log; + +public: + ObjectMonitorDeflationSafepointer(JavaThread* current, ObjectMonitorDeflationLogging* log) + : _current(current), _log(log) {} + + void block_for_safepoint(const char* op_name, const char* count_name, size_t counter); +}; + // Walk the in-use list and unlink deflated ObjectMonitors. // Returns the number of unlinked ObjectMonitors. -size_t MonitorList::unlink_deflated(Thread* current, LogStream* ls, - elapsedTimer* timer_p, - size_t deflated_count, - GrowableArray* unlinked_list) { +size_t MonitorList::unlink_deflated(size_t deflated_count, + GrowableArray* unlinked_list, + ObjectMonitorDeflationSafepointer* safepointer) { size_t unlinked_count = 0; ObjectMonitor* prev = nullptr; ObjectMonitor* m = Atomic::load_acquire(&_head); - // The in-use list head can be null during the final audit. while (m != nullptr) { if (m->is_being_async_deflated()) { // Find next live ObjectMonitor. Batch up the unlinkable monitors, so we can @@ -154,12 +165,8 @@ size_t MonitorList::unlink_deflated(Thread* current, LogStream* ls, m = m->next_om(); } - if (current->is_Java_thread()) { - // A JavaThread must check for a safepoint/handshake and honor it. - ObjectSynchronizer::chk_for_block_req(JavaThread::cast(current), "unlinking", - "unlinked_count", unlinked_count, - ls, timer_p); - } + // Must check for a safepoint/handshake and honor it. + safepointer->block_for_safepoint("unlinking", "unlinked_count", unlinked_count); } #ifdef ASSERT @@ -1536,40 +1543,10 @@ ObjectMonitor* ObjectSynchronizer::inflate(Thread* current, oop object, } } -void ObjectSynchronizer::chk_for_block_req(JavaThread* current, const char* op_name, - const char* cnt_name, size_t cnt, - LogStream* ls, elapsedTimer* timer_p) { - if (!SafepointMechanism::should_process(current)) { - return; - } - - // A safepoint/handshake has started. - if (ls != nullptr) { - timer_p->stop(); - ls->print_cr("pausing %s: %s=" SIZE_FORMAT ", in_use_list stats: ceiling=" - SIZE_FORMAT ", count=" SIZE_FORMAT ", max=" SIZE_FORMAT, - op_name, cnt_name, cnt, in_use_list_ceiling(), - _in_use_list.count(), _in_use_list.max()); - } - - { - // Honor block request. - ThreadBlockInVM tbivm(current); - } - - if (ls != nullptr) { - ls->print_cr("resuming %s: in_use_list stats: ceiling=" SIZE_FORMAT - ", count=" SIZE_FORMAT ", max=" SIZE_FORMAT, op_name, - in_use_list_ceiling(), _in_use_list.count(), _in_use_list.max()); - timer_p->start(); - } -} - // Walk the in-use list and deflate (at most MonitorDeflationMax) idle // ObjectMonitors. Returns the number of deflated ObjectMonitors. // -size_t ObjectSynchronizer::deflate_monitor_list(Thread* current, LogStream* ls, - elapsedTimer* timer_p) { +size_t ObjectSynchronizer::deflate_monitor_list(ObjectMonitorDeflationSafepointer* safepointer) { MonitorList::Iterator iter = _in_use_list.iterator(); size_t deflated_count = 0; @@ -1582,11 +1559,8 @@ size_t ObjectSynchronizer::deflate_monitor_list(Thread* current, LogStream* ls, deflated_count++; } - if (current->is_Java_thread()) { - // A JavaThread must check for a safepoint/handshake and honor it. - chk_for_block_req(JavaThread::cast(current), "deflation", "deflated_count", - deflated_count, ls, timer_p); - } + // Must check for a safepoint/handshake and honor it. + safepointer->block_for_safepoint("deflation", "deflated_count", deflated_count); } return deflated_count; @@ -1612,104 +1586,162 @@ class VM_RendezvousGCThreads : public VM_Operation { }; }; -static size_t delete_monitors(JavaThread* current, GrowableArray* delete_list, - LogStream* ls, elapsedTimer* timer_p) { +static size_t delete_monitors(GrowableArray* delete_list, + ObjectMonitorDeflationSafepointer* safepointer) { NativeHeapTrimmer::SuspendMark sm("monitor deletion"); size_t deleted_count = 0; for (ObjectMonitor* monitor: *delete_list) { delete monitor; deleted_count++; // A JavaThread must check for a safepoint/handshake and honor it. - ObjectSynchronizer::chk_for_block_req(current, "deletion", "deleted_count", - deleted_count, ls, timer_p); + safepointer->block_for_safepoint("deletion", "deleted_count", deleted_count); } return deleted_count; } -// This function is called by the MonitorDeflationThread to deflate -// ObjectMonitors. -size_t ObjectSynchronizer::deflate_idle_monitors() { - Thread* current = Thread::current(); - if (current->is_Java_thread()) { - // The async deflation request has been processed. - _last_async_deflation_time_ns = os::javaTimeNanos(); - set_is_async_deflation_requested(false); +class ObjectMonitorDeflationLogging: public StackObj { + LogStreamHandle(Debug, monitorinflation) _debug; + LogStreamHandle(Info, monitorinflation) _info; + LogStream* _stream; + elapsedTimer _timer; + + size_t ceiling() const { return ObjectSynchronizer::in_use_list_ceiling(); } + size_t count() const { return ObjectSynchronizer::_in_use_list.count(); } + size_t max() const { return ObjectSynchronizer::_in_use_list.max(); } + +public: + ObjectMonitorDeflationLogging() + : _debug(), _info(), _stream(nullptr) { + if (_debug.is_enabled()) { + _stream = &_debug; + } else if (_info.is_enabled()) { + _stream = &_info; + } } - LogStreamHandle(Debug, monitorinflation) lsh_debug; - LogStreamHandle(Info, monitorinflation) lsh_info; - LogStream* ls = nullptr; - if (log_is_enabled(Debug, monitorinflation)) { - ls = &lsh_debug; - } else if (log_is_enabled(Info, monitorinflation)) { - ls = &lsh_info; + void begin() { + if (_stream != nullptr) { + _stream->print_cr("begin deflating: in_use_list stats: ceiling=" SIZE_FORMAT ", count=" SIZE_FORMAT ", max=" SIZE_FORMAT, + ceiling(), count(), max()); + _timer.start(); + } + } + + void before_handshake(size_t unlinked_count) { + if (_stream != nullptr) { + _timer.stop(); + _stream->print_cr("before handshaking: unlinked_count=" SIZE_FORMAT + ", in_use_list stats: ceiling=" SIZE_FORMAT ", count=" + SIZE_FORMAT ", max=" SIZE_FORMAT, + unlinked_count, ceiling(), count(), max()); + } + } + + void after_handshake() { + if (_stream != nullptr) { + _stream->print_cr("after handshaking: in_use_list stats: ceiling=" + SIZE_FORMAT ", count=" SIZE_FORMAT ", max=" SIZE_FORMAT, + ceiling(), count(), max()); + _timer.start(); + } } - elapsedTimer timer; - if (ls != nullptr) { - ls->print_cr("begin deflating: in_use_list stats: ceiling=" SIZE_FORMAT ", count=" SIZE_FORMAT ", max=" SIZE_FORMAT, - in_use_list_ceiling(), _in_use_list.count(), _in_use_list.max()); - timer.start(); + void end(size_t deflated_count, size_t unlinked_count) { + if (_stream != nullptr) { + _timer.stop(); + if (deflated_count != 0 || unlinked_count != 0 || _debug.is_enabled()) { + _stream->print_cr("deflated_count=" SIZE_FORMAT ", {unlinked,deleted}_count=" SIZE_FORMAT " monitors in %3.7f secs", + deflated_count, unlinked_count, _timer.seconds()); + } + _stream->print_cr("end deflating: in_use_list stats: ceiling=" SIZE_FORMAT ", count=" SIZE_FORMAT ", max=" SIZE_FORMAT, + ceiling(), count(), max()); + } + } + + void before_block_for_safepoint(const char* op_name, const char* cnt_name, size_t cnt) { + if (_stream != nullptr) { + _timer.stop(); + _stream->print_cr("pausing %s: %s=" SIZE_FORMAT ", in_use_list stats: ceiling=" + SIZE_FORMAT ", count=" SIZE_FORMAT ", max=" SIZE_FORMAT, + op_name, cnt_name, cnt, ceiling(), count(), max()); + } } + void after_block_for_safepoint(const char* op_name) { + if (_stream != nullptr) { + _stream->print_cr("resuming %s: in_use_list stats: ceiling=" SIZE_FORMAT + ", count=" SIZE_FORMAT ", max=" SIZE_FORMAT, op_name, + ceiling(), count(), max()); + _timer.start(); + } + } +}; + +void ObjectMonitorDeflationSafepointer::block_for_safepoint(const char* op_name, const char* count_name, size_t counter) { + if (!SafepointMechanism::should_process(_current)) { + return; + } + + // A safepoint/handshake has started. + _log->before_block_for_safepoint(op_name, count_name, counter); + + { + // Honor block request. + ThreadBlockInVM tbivm(_current); + } + + _log->after_block_for_safepoint(op_name); +} + +// This function is called by the MonitorDeflationThread to deflate +// ObjectMonitors. +size_t ObjectSynchronizer::deflate_idle_monitors() { + JavaThread* current = JavaThread::current(); + assert(current->is_monitor_deflation_thread(), "The only monitor deflater"); + + // The async deflation request has been processed. + _last_async_deflation_time_ns = os::javaTimeNanos(); + set_is_async_deflation_requested(false); + + ObjectMonitorDeflationLogging log; + ObjectMonitorDeflationSafepointer safepointer(current, &log); + + log.begin(); + // Deflate some idle ObjectMonitors. - size_t deflated_count = deflate_monitor_list(current, ls, &timer); + size_t deflated_count = deflate_monitor_list(&safepointer); + + // Unlink the deflated ObjectMonitors from the in-use list. size_t unlinked_count = 0; size_t deleted_count = 0; if (deflated_count > 0) { - // There are ObjectMonitors that have been deflated. - - // Unlink deflated ObjectMonitors from the in-use list. - ResourceMark rm; + ResourceMark rm(current); GrowableArray delete_list((int)deflated_count); - unlinked_count = _in_use_list.unlink_deflated(current, ls, &timer, deflated_count, &delete_list); - if (current->is_monitor_deflation_thread()) { - if (ls != nullptr) { - timer.stop(); - ls->print_cr("before handshaking: unlinked_count=" SIZE_FORMAT - ", in_use_list stats: ceiling=" SIZE_FORMAT ", count=" - SIZE_FORMAT ", max=" SIZE_FORMAT, - unlinked_count, in_use_list_ceiling(), - _in_use_list.count(), _in_use_list.max()); - } + unlinked_count = _in_use_list.unlink_deflated(deflated_count, &delete_list, &safepointer); - // A JavaThread needs to handshake in order to safely free the - // ObjectMonitors that were deflated in this cycle. - HandshakeForDeflation hfd_hc; - Handshake::execute(&hfd_hc); - // Also, we sync and desync GC threads around the handshake, so that they can - // safely read the mark-word and look-through to the object-monitor, without - // being afraid that the object-monitor is going away. - VM_RendezvousGCThreads sync_gc; - VMThread::execute(&sync_gc); - - if (ls != nullptr) { - ls->print_cr("after handshaking: in_use_list stats: ceiling=" - SIZE_FORMAT ", count=" SIZE_FORMAT ", max=" SIZE_FORMAT, - in_use_list_ceiling(), _in_use_list.count(), _in_use_list.max()); - timer.start(); - } - } else { - // This is not a monitor deflation thread. - // No handshake or rendezvous is needed when we are already at safepoint. - assert_at_safepoint(); - } + log.before_handshake(unlinked_count); + + // A JavaThread needs to handshake in order to safely free the + // ObjectMonitors that were deflated in this cycle. + HandshakeForDeflation hfd_hc; + Handshake::execute(&hfd_hc); + // Also, we sync and desync GC threads around the handshake, so that they can + // safely read the mark-word and look-through to the object-monitor, without + // being afraid that the object-monitor is going away. + VM_RendezvousGCThreads sync_gc; + VMThread::execute(&sync_gc); + + log.after_handshake(); // After the handshake, safely free the ObjectMonitors that were // deflated and unlinked in this cycle. - deleted_count = delete_monitors(JavaThread::cast(current), &delete_list, ls, &timer); + + // Delete the unlinked ObjectMonitors. + deleted_count = delete_monitors(&delete_list, &safepointer); assert(unlinked_count == deleted_count, "must be"); } - if (ls != nullptr) { - timer.stop(); - if (deflated_count != 0 || unlinked_count != 0 || log_is_enabled(Debug, monitorinflation)) { - ls->print_cr("deflated_count=" SIZE_FORMAT ", {unlinked,deleted}_count=" SIZE_FORMAT " monitors in %3.7f secs", - deflated_count, unlinked_count, timer.seconds()); - } - ls->print_cr("end deflating: in_use_list stats: ceiling=" SIZE_FORMAT ", count=" SIZE_FORMAT ", max=" SIZE_FORMAT, - in_use_list_ceiling(), _in_use_list.count(), _in_use_list.max()); - } + log.end(deflated_count, unlinked_count); OM_PERFDATA_OP(MonExtant, set_value(_in_use_list.count())); OM_PERFDATA_OP(Deflations, inc(deflated_count)); diff --git a/src/hotspot/share/runtime/synchronizer.hpp b/src/hotspot/share/runtime/synchronizer.hpp index 4dea13432e78e..b2315ac8d2449 100644 --- a/src/hotspot/share/runtime/synchronizer.hpp +++ b/src/hotspot/share/runtime/synchronizer.hpp @@ -34,6 +34,7 @@ template class GrowableArray; class LogStream; class ObjectMonitor; +class ObjectMonitorDeflationSafepointer; class ThreadsList; class MonitorList { @@ -46,9 +47,9 @@ class MonitorList { public: void add(ObjectMonitor* monitor); - size_t unlink_deflated(Thread* current, LogStream* ls, elapsedTimer* timer_p, - size_t deflated_count, - GrowableArray* unlinked_list); + size_t unlink_deflated(size_t deflated_count, + GrowableArray* unlinked_list, + ObjectMonitorDeflationSafepointer* safepointer); size_t count() const; size_t max() const; @@ -67,6 +68,7 @@ class MonitorList::Iterator { class ObjectSynchronizer : AllStatic { friend class VMStructs; + friend class ObjectMonitorDeflationLogging; public: typedef enum { @@ -148,10 +150,7 @@ class ObjectSynchronizer : AllStatic { static size_t deflate_idle_monitors(); // Deflate idle monitors: - static void chk_for_block_req(JavaThread* current, const char* op_name, - const char* cnt_name, size_t cnt, LogStream* ls, - elapsedTimer* timer_p); - static size_t deflate_monitor_list(Thread* current, LogStream* ls, elapsedTimer* timer_p); + static size_t deflate_monitor_list(ObjectMonitorDeflationSafepointer* safepointer); static size_t in_use_list_ceiling(); static void dec_in_use_list_ceiling(); static void inc_in_use_list_ceiling(); From 04ad98ed32cf899404a3ae13e24407e53be7ebc6 Mon Sep 17 00:00:00 2001 From: Jim Laskey Date: Thu, 30 Nov 2023 12:49:49 +0000 Subject: [PATCH 013/143] 8315458: Implement JEP 463: Implicitly Declared Classes and Instance Main Method (Second Preview) Reviewed-by: jlahoda, mcimadamore, vromero, rriggs, alanb, mchung --- .../share/classes/java/lang/Class.java | 78 +++----- .../share/classes/java/lang/System.java | 3 + .../jdk/internal/access/JavaLangAccess.java | 5 + .../jdk/internal/javac/PreviewFeature.java | 4 +- .../jdk/internal/misc/MainMethodFinder.java | 169 ------------------ .../jdk/internal/misc/MethodFinder.java | 108 +++++++++++ .../classes/sun/launcher/LauncherHelper.java | 82 +++------ .../launcher/resources/launcher.properties | 19 +- src/java.base/share/native/libjli/java.c | 151 +++++++++------- .../javax/annotation/processing/Filer.java | 22 ++- .../javax/lang/model/element/TypeElement.java | 23 +-- .../com/sun/tools/javac/code/ClassFinder.java | 3 - .../com/sun/tools/javac/code/Flags.java | 6 +- .../com/sun/tools/javac/code/Preview.java | 2 +- .../com/sun/tools/javac/code/Source.java | 2 +- .../com/sun/tools/javac/code/Symbol.java | 14 +- .../com/sun/tools/javac/comp/Attr.java | 2 +- .../com/sun/tools/javac/comp/Check.java | 5 +- .../com/sun/tools/javac/comp/Enter.java | 2 +- .../com/sun/tools/javac/jvm/ClassReader.java | 8 - .../com/sun/tools/javac/launcher/Main.java | 29 +-- .../sun/tools/javac/parser/JavacParser.java | 43 +++-- .../javac/processing/PrintingProcessor.java | 17 +- .../tools/javac/resources/compiler.properties | 12 +- .../com/sun/tools/javac/tree/TreeMaker.java | 2 +- .../javadoc/internal/tool/ElementsTable.java | 2 +- .../internal/tool/ToolEnvironment.java | 4 - .../Class/UnnamedClass/TestUnnamedClass.java | 93 ---------- test/jdk/tools/launcher/Arrrghs.java | 10 +- test/jdk/tools/launcher/InstanceMainTest.java | 12 +- .../modules/basic/LauncherErrors.java | 7 +- .../{TestUnnamed.java => TestImplicit.java} | 10 +- .../tools/javac/ImplicitClass/Implicit.java} | 4 +- .../ImplicitClassRecovery.java} | 2 +- .../ImplicitClass/ImplicitClassRecovery.out | 4 + .../javac/ImplicitClass/NestedClasses.java | 109 +++++++++++ .../NestedEnum.java | 0 .../SourceLevelErrorPosition.java | 2 +- .../SourceLevelErrorPosition.out | 2 +- .../ImplicitClass/TestImplicitClass.java | 91 ++++++++++ .../{UnnamedClass.java => ImplicitClass.java} | 2 +- ...me.java => ImplicitClassBad-Filename.java} | 0 ...kage.java => ImplicitClassHasPackage.java} | 4 +- ...ssNoMain.java => ImplicitClassNoMain.java} | 2 +- .../javac/launcher/SourceLauncherTest.java | 4 +- .../tools/javac/parser/JavacParserTest.java | 2 +- ...namedClass.java => TestImplicitClass.java} | 95 +++++----- .../javac/unnamed/UnnamedClassRecovery.out | 4 - 48 files changed, 612 insertions(+), 664 deletions(-) delete mode 100644 src/java.base/share/classes/jdk/internal/misc/MainMethodFinder.java create mode 100644 src/java.base/share/classes/jdk/internal/misc/MethodFinder.java delete mode 100644 test/jdk/java/lang/Class/UnnamedClass/TestUnnamedClass.java rename test/langtools/jdk/javadoc/doclet/testUnnamed/{TestUnnamed.java => TestImplicit.java} (91%) rename test/{jdk/java/lang/Class/UnnamedClass/Unnamed.java => langtools/tools/javac/ImplicitClass/Implicit.java} (95%) rename test/langtools/tools/javac/{unnamed/UnnamedClassRecovery.java => ImplicitClass/ImplicitClassRecovery.java} (53%) create mode 100644 test/langtools/tools/javac/ImplicitClass/ImplicitClassRecovery.out create mode 100644 test/langtools/tools/javac/ImplicitClass/NestedClasses.java rename test/langtools/tools/javac/{unnamedclass => ImplicitClass}/NestedEnum.java (100%) rename test/langtools/tools/javac/{unnamedclass => ImplicitClass}/SourceLevelErrorPosition.java (74%) rename test/langtools/tools/javac/{unnamedclass => ImplicitClass}/SourceLevelErrorPosition.out (55%) create mode 100644 test/langtools/tools/javac/ImplicitClass/TestImplicitClass.java rename test/langtools/tools/javac/diags/examples/{UnnamedClass.java => ImplicitClass.java} (96%) rename test/langtools/tools/javac/diags/examples/{UnnamedClassBad-Filename.java => ImplicitClassBad-Filename.java} (100%) rename test/langtools/tools/javac/diags/examples/{UnnamedClassHasPackage.java => ImplicitClassHasPackage.java} (92%) rename test/langtools/tools/javac/diags/examples/{UnnamedClassNoMain.java => ImplicitClassNoMain.java} (95%) rename test/langtools/tools/javac/processing/model/element/{TestUnnamedClass.java => TestImplicitClass.java} (61%) delete mode 100644 test/langtools/tools/javac/unnamed/UnnamedClassRecovery.out diff --git a/src/java.base/share/classes/java/lang/Class.java b/src/java.base/share/classes/java/lang/Class.java index c95aa764ee6bf..766509f1f2315 100644 --- a/src/java.base/share/classes/java/lang/Class.java +++ b/src/java.base/share/classes/java/lang/Class.java @@ -190,30 +190,21 @@ * a class or interface is hidden has no bearing on the characteristics * exposed by the methods of class {@code Class}. * - *

Unnamed Classes

- * - * A {@code class} file representing an {@linkplain #isUnnamedClass unnamed class} - * is generated by a Java compiler from a source file for an unnamed class. - * The {@code Class} object representing an unnamed class is top-level, - * {@linkplain #isSynthetic synthetic}, and {@code final}. While an - * unnamed class does not have a name in its Java source - * form, several of the name-related methods of {@code java.lang.Class} - * do return non-null and non-empty results for the {@code Class} - * object representing an unnamed class. + *

Implicit Classes

* * Conventionally, a Java compiler, starting from a source file for an - * unnamed class, say {@code HelloWorld.java}, creates a + * implicit class, say {@code HelloWorld.java}, creates a * similarly-named {@code class} file, {@code HelloWorld.class}, where * the class stored in that {@code class} file is named {@code * "HelloWorld"}, matching the base names of the source and {@code * class} files. * - * For the {@code Class} object of an unnamed class {@code + * For the {@code Class} object of an implicit class {@code * HelloWorld}, the methods to get the {@linkplain #getName name} and * {@linkplain #getTypeName type name} return results * equal to {@code "HelloWorld"}. The {@linkplain #getSimpleName - * simple name} of such an unnamed class is the empty string and the - * {@linkplain #getCanonicalName canonical name} is {@code null}. + * simple name} of such an implicit class is {@code "HelloWorld"} and the + * {@linkplain #getCanonicalName canonical name} is {@code "HelloWorld"}. * * @param the type of the class modeled by this {@code Class} * object. For example, the type of {@code String.class} is {@code @@ -1809,7 +1800,7 @@ public Class getEnclosingClass() throws SecurityException { /** * Returns the simple name of the underlying class as given in the * source code. An empty string is returned if the underlying class is - * {@linkplain #isAnonymousClass() anonymous} or {@linkplain #isUnnamedClass() unnamed}. + * {@linkplain #isAnonymousClass() anonymous}. * A {@linkplain #isSynthetic() synthetic class}, one not present * in source code, can have a non-empty name including special * characters, such as "{@code $}". @@ -1822,9 +1813,6 @@ public Class getEnclosingClass() throws SecurityException { * @since 1.5 */ public String getSimpleName() { - if (isUnnamedClass()) { - return ""; - } ReflectionData rd = reflectionData(); String simpleName = rd.simpleName; if (simpleName == null) { @@ -1874,7 +1862,6 @@ public String getTypeName() { *
    *
  • a {@linkplain #isLocalClass() local class} *
  • a {@linkplain #isAnonymousClass() anonymous class} - *
  • an {@linkplain #isUnnamedClass() unnamed class} *
  • a {@linkplain #isHidden() hidden class} *
  • an array whose component type does not have a canonical name
  • *
@@ -1894,9 +1881,6 @@ public String getTypeName() { * @since 1.5 */ public String getCanonicalName() { - if (isUnnamedClass()) { - return null; - } ReflectionData rd = reflectionData(); String canonicalName = rd.canonicalName; if (canonicalName == null) { @@ -1931,33 +1915,12 @@ private String getCanonicalName0() { } } - /** - * {@return {@code true} if and only if the underlying class - * is an unnamed class} - * - * @apiNote - * An unnamed class is not an {@linkplain #isAnonymousClass anonymous class}. - * - * @since 21 - * - * @jls 7.3 Compilation Units - */ - @PreviewFeature(feature=PreviewFeature.Feature.UNNAMED_CLASSES, - reflective=true) - public boolean isUnnamedClass() { - return PreviewFeatures.isEnabled() && isSynthetic() - && isTopLevelClass() - && Modifier.isFinal(getModifiers()); - } - - /** * Returns {@code true} if and only if the underlying class * is an anonymous class. * * @apiNote * An anonymous class is not a {@linkplain #isHidden() hidden class}. - * An anonymous class is not an {@linkplain #isUnnamedClass() unnamed class}. * * @return {@code true} if and only if this class is an anonymous class. * @since 1.5 @@ -2922,6 +2885,21 @@ List getDeclaredPublicMethods(String name, Class... parameterTypes) { return result; } + /** + * Returns the most specific {@code Method} object of this class, super class or + * interface that have the specified method name and parameter types. + * + * @param publicOnly true if only public methods are examined, otherwise all methods + * @param name the name of the method + * @param parameterTypes the parameter array + * @return the {@code Method} object for the method found from this class matching + * the specified name and parameters, or null if not found + */ + Method findMethod(boolean publicOnly, String name, Class... parameterTypes) { + PublicMethods.MethodList res = getMethodsRecursive(name, parameterTypes, true, publicOnly); + return res == null ? null : getReflectionFactory().copyMethod(res.getMostSpecific()); + } + /** * Returns a {@code Constructor} object that reflects the specified * constructor of the class represented by this @@ -3750,7 +3728,7 @@ private Method getMethod0(String name, Class[] parameterTypes) { PublicMethods.MethodList res = getMethodsRecursive( name, parameterTypes == null ? EMPTY_CLASS_ARRAY : parameterTypes, - /* includeStatic */ true); + /* includeStatic */ true, /* publicOnly */ true); return res == null ? null : res.getMostSpecific(); } @@ -3759,9 +3737,10 @@ private Method getMethod0(String name, Class[] parameterTypes) { // via ReflectionFactory.copyMethod. private PublicMethods.MethodList getMethodsRecursive(String name, Class[] parameterTypes, - boolean includeStatic) { - // 1st check declared public methods - Method[] methods = privateGetDeclaredMethods(/* publicOnly */ true); + boolean includeStatic, + boolean publicOnly) { + // 1st check declared methods + Method[] methods = privateGetDeclaredMethods(publicOnly); PublicMethods.MethodList res = PublicMethods.MethodList .filter(methods, name, parameterTypes, includeStatic); // if there is at least one match among declared methods, we need not @@ -3775,15 +3754,14 @@ private PublicMethods.MethodList getMethodsRecursive(String name, // we must consult the superclass (if any) recursively... Class sc = getSuperclass(); if (sc != null) { - res = sc.getMethodsRecursive(name, parameterTypes, includeStatic); + res = sc.getMethodsRecursive(name, parameterTypes, includeStatic, publicOnly); } // ...and coalesce the superclass methods with methods obtained // from directly implemented interfaces excluding static methods... for (Class intf : getInterfaces(/* cloneArray */ false)) { res = PublicMethods.MethodList.merge( - res, intf.getMethodsRecursive(name, parameterTypes, - /* includeStatic */ false)); + res, intf.getMethodsRecursive(name, parameterTypes, /* includeStatic */ false, publicOnly)); } return res; diff --git a/src/java.base/share/classes/java/lang/System.java b/src/java.base/share/classes/java/lang/System.java index 6c7de7c779879..0c10079316722 100644 --- a/src/java.base/share/classes/java/lang/System.java +++ b/src/java.base/share/classes/java/lang/System.java @@ -2345,6 +2345,9 @@ private static void setJavaLangAccess() { public List getDeclaredPublicMethods(Class klass, String name, Class... parameterTypes) { return klass.getDeclaredPublicMethods(name, parameterTypes); } + public Method findMethod(Class klass, boolean publicOnly, String name, Class... parameterTypes) { + return klass.findMethod(publicOnly, name, parameterTypes); + } public jdk.internal.reflect.ConstantPool getConstantPool(Class klass) { return klass.getConstantPool(); } diff --git a/src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java b/src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java index f3ea43f17aa8c..93815009a543f 100644 --- a/src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java +++ b/src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java @@ -65,6 +65,11 @@ public interface JavaLangAccess { */ List getDeclaredPublicMethods(Class klass, String name, Class... parameterTypes); + /** + * Return most specific method that matches name and parameterTypes. + */ + Method findMethod(Class klass, boolean publicOnly, String name, Class... parameterTypes); + /** * Return the constant pool for a class. */ diff --git a/src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java b/src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java index e9a9fdeb138e7..f7ce449b981c5 100644 --- a/src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java +++ b/src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java @@ -69,8 +69,10 @@ public enum Feature { FOREIGN, @JEP(number=459, title="String Templates", status="Second Preview") STRING_TEMPLATES, - @JEP(number=445, title="Unnamed Classes and Instance Main Methods") + @JEP(number=445, title="Unnamed Classes and Instance Main Methods", status="Deprecated") UNNAMED_CLASSES, + @JEP(number=463, title="Implicit Classes and Instance Main Methods", status="Preview") + IMPLICIT_CLASSES, @JEP(number=446, title="Scoped Values", status="Preview") SCOPED_VALUES, @JEP(number=453, title="Structured Concurrency", status="Preview") diff --git a/src/java.base/share/classes/jdk/internal/misc/MainMethodFinder.java b/src/java.base/share/classes/jdk/internal/misc/MainMethodFinder.java deleted file mode 100644 index be4ebc38238d4..0000000000000 --- a/src/java.base/share/classes/jdk/internal/misc/MainMethodFinder.java +++ /dev/null @@ -1,169 +0,0 @@ -/* - * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. - * 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 jdk.internal.misc; - -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.util.ArrayList; -import java.util.List; - -public class MainMethodFinder { - private static boolean correctArgs(Method method) { - int argc = method.getParameterCount(); - - return argc == 0 || argc == 1 && method.getParameterTypes()[0] == String[].class; - } - - /** - * Gather all the "main" methods in the class hierarchy. - * - * @param refc the main class or super class - * @param mains accumulated main methods - * @param isMainClass the class is the main class and not a super class - */ - private static void gatherMains(Class refc, List mains, boolean isMainClass) { - if (refc != null && refc != Object.class) { - for (Method method : refc.getDeclaredMethods()) { - int mods = method.getModifiers(); - // Must be named "main", public|protected|package-private, not synthetic (bridge) and either - // no arguments or one string array argument. Only statics in the Main class are acceptable. - if ("main".equals(method.getName()) && - !method.isSynthetic() && - !Modifier.isPrivate(mods) && - correctArgs(method) && - (isMainClass || !Modifier.isStatic(mods))) - { - mains.add(method); - } - } - - gatherMains(refc.getSuperclass(), mains, false); - } - } - - /** - * Comparator for two methods. - * Priority order is; - * sub-class < super-class. - * static < non-static, - * string arg < no arg and - * - * @param a first method - * @param b second method - * - * @return -1, 0 or 1 to represent higher priority. equals priority or lesser priority. - */ - private static int compareMethods(Method a, Method b) { - Class aClass = a.getDeclaringClass(); - Class bClass = b.getDeclaringClass(); - - if (aClass != bClass) { - if (bClass.isAssignableFrom(aClass)) { - return -1; - } else { - return 1; - } - } - - int aMods = a.getModifiers(); - int bMods = b.getModifiers(); - boolean aIsStatic = Modifier.isStatic(aMods); - boolean bIsStatic = Modifier.isStatic(bMods); - - if (aIsStatic && !bIsStatic) { - return -1; - } else if (!aIsStatic && bIsStatic) { - return 1; - } - - int aCount = a.getParameterCount(); - int bCount = b.getParameterCount(); - - if (bCount < aCount) { - return -1; - } else if (aCount < bCount) { - return 1; - } - - return 0; - } - - /** - * Return the traditional main method or null if not found. - * - * @param mainClass main class - * - * @return main method or null - */ - private static Method getTraditionalMain(Class mainClass) { - try { - Method traditionalMain = mainClass.getMethod("main", String[].class); - int mods = traditionalMain.getModifiers(); - - if (Modifier.isStatic(mods) && Modifier.isPublic(mods) && traditionalMain.getReturnType() == void.class) { - return traditionalMain; - } - } catch (NoSuchMethodException ex) { - // not found - } - - return null; - } - - /** - * {@return priority main method if none found} - * - * @param mainClass main class - * - * @throws NoSuchMethodException when not preview and no method found - */ - public static Method findMainMethod(Class mainClass) throws NoSuchMethodException { - boolean isTraditionMain = !PreviewFeatures.isEnabled(); - if (isTraditionMain) { - return mainClass.getMethod("main", String[].class); - } - - List mains = new ArrayList<>(); - gatherMains(mainClass, mains, true); - - if (mains.isEmpty()) { - throw new NoSuchMethodException("No main method found"); - } - - if (1 < mains.size()) { - mains.sort(MainMethodFinder::compareMethods); - } - - Method mainMethod = mains.get(0); - Method traditionalMain = getTraditionalMain(mainClass); - - if (traditionalMain != null && !traditionalMain.equals(mainMethod)) { - System.err.println("WARNING: \"" + mains.get(0) + "\" chosen over \"" + traditionalMain + "\""); - } - - return mains.get(0); - } -} diff --git a/src/java.base/share/classes/jdk/internal/misc/MethodFinder.java b/src/java.base/share/classes/jdk/internal/misc/MethodFinder.java new file mode 100644 index 0000000000000..970cebe74ed34 --- /dev/null +++ b/src/java.base/share/classes/jdk/internal/misc/MethodFinder.java @@ -0,0 +1,108 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 jdk.internal.misc; + +import java.lang.reflect.Method; +import java.lang.reflect.Modifier; + +import jdk.internal.access.JavaLangAccess; +import jdk.internal.access.SharedSecrets; + +/** + * A collection of static methods that return specific method objects of interest. + */ +public class MethodFinder { + + private static final JavaLangAccess JLA = SharedSecrets.getJavaLangAccess(); + + private MethodFinder() { + throw new AssertionError("private constructor"); + } + + /** + * Return the first method that meets the requirements of an application main method + * {@jls 12.1.4}. The method must: + *
    + *
  • be declared in this class's hierarchy
  • + *
  • have the name "main"
  • + *
  • have a single argument of type {@code String[]}, {@code String...} or no argument
  • + *
  • have the return type of void
  • + *
  • be public, protected or package private
  • + *
  • not be abstract
  • + *
+ * + * The method returned would be used by a launcher to initiate the execution of an + * application. + * + * Searching continues until a main method is found or the search is exhausted. The + * primary search occurs in two phases, once for a main method with a {@code + * String[]} or {@code String...} argument and failing that, once for a main method + * with a no arguments. The search itself uses recursion to first look at methods + * in this class, then default methods in this class's interface hierarchy and + * then repeating these steps with the class's super class. + * + * @apiNote The method returned may be declared in this class, a super class + * or as a default method of an interface that the class or super class + * implements. + *

It is not possible to declare a static main method and instance main + * method with the same signature in the same class. {@jls 8.4.2} states that + * "It is a compile-time error to declare two methods with override-equivalent + * signatures in a class." + *

{@link SecurityException SecurityExceptions} can halt + * the search. In this case, a null is returned. + * + * @return the main method if a method found or null if no method is found + * + * @jls 8.2 Class Members + * @jls 8.4 Method Declarations + * @jls 8.4.2 Method Signature + * @jls 12.1.4 Invoke a main method + */ + public static Method findMainMethod(Class cls) { + boolean isPreview = PreviewFeatures.isEnabled(); + Method mainMethod = JLA.findMethod(cls, !isPreview, "main", String[].class); + + if (isPreview && mainMethod == null) { + mainMethod = JLA.findMethod(cls, false, "main"); + } + + if (mainMethod == null) { + return null; + } + + int mods = mainMethod.getModifiers(); + + if (Modifier.isAbstract(mods) || + mainMethod.getReturnType() != void.class || + (isPreview && Modifier.isPrivate(mods)) || + (!isPreview && !Modifier.isStatic(mods))) { + return null; + } + + return mainMethod; + } + +} diff --git a/src/java.base/share/classes/sun/launcher/LauncherHelper.java b/src/java.base/share/classes/sun/launcher/LauncherHelper.java index 05f797da70f4a..5cda08f60095a 100644 --- a/src/java.base/share/classes/sun/launcher/LauncherHelper.java +++ b/src/java.base/share/classes/sun/launcher/LauncherHelper.java @@ -71,7 +71,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; -import jdk.internal.misc.MainMethodFinder; +import jdk.internal.misc.MethodFinder; import jdk.internal.misc.PreviewFeatures; import jdk.internal.misc.VM; import jdk.internal.module.ModuleBootstrap; @@ -709,7 +709,7 @@ static void abort(Throwable t, String msgKey, Object... args) { /** * This method: * 1. Loads the main class from the module or class path - * 2. Checks the public static void main method. + * 2. Checks for a valid main method. * 3. If the main class extends FX Application then call on FXHelper to * perform the launch. * @@ -753,7 +753,7 @@ public static Class checkAndLoadMain(boolean printToStderr, mainClass = FXHelper.class; } - validateMainClass(mainClass); + validateMainMethod(mainClass); return mainClass; } @@ -859,7 +859,7 @@ private static Class loadMainClass(int mode, String what) { } } } catch (LinkageError le) { - abort(le, "java.launcher.cls.error6", cn, + abort(le, "java.launcher.cls.error4", cn, le.getClass().getName() + ": " + le.getLocalizedMessage()); } return mainClass; @@ -890,54 +890,28 @@ private static boolean doesExtendFXApplication(Class mainClass) { return false; } - /* - * main type flags - */ - private static final int MAIN_WITHOUT_ARGS = 1; - private static final int MAIN_NONSTATIC = 2; - private static int mainType = 0; - - /* - * Return type so that launcher invokes the correct main - */ - public static int getMainType() { - return mainType; - } - - private static void setMainType(Method mainMethod) { - int mods = mainMethod.getModifiers(); - boolean isStatic = Modifier.isStatic(mods); - boolean noArgs = mainMethod.getParameterCount() == 0; - mainType = (isStatic ? 0 : MAIN_NONSTATIC) | (noArgs ? MAIN_WITHOUT_ARGS : 0); - } - - // Check the existence and signature of main and abort if incorrect - static void validateMainClass(Class mainClass) { + // Check the existence and signature of main and abort if incorrect. + private static void validateMainMethod(Class mainClass) { Method mainMethod = null; try { - mainMethod = MainMethodFinder.findMainMethod(mainClass); - } catch (NoSuchMethodException nsme) { - // invalid main or not FX application, abort with an error - abort(null, "java.launcher.cls.error4", mainClass.getName(), - JAVAFX_APPLICATION_CLASS_NAME); + mainMethod = MethodFinder.findMainMethod(mainClass); + + if (mainMethod == null) { + // invalid main or not FX application, abort with an error + abort(null, "java.launcher.cls.error2", mainClass.getName(), + JAVAFX_APPLICATION_CLASS_NAME); + } } catch (Throwable e) { if (mainClass.getModule().isNamed()) { - abort(e, "java.launcher.module.error5", + abort(e, "java.launcher.module.error3", mainClass.getName(), mainClass.getModule().getName(), e.getClass().getName(), e.getLocalizedMessage()); } else { - abort(e, "java.launcher.cls.error7", mainClass.getName(), + abort(e, "java.launcher.cls.error5", mainClass.getName(), e.getClass().getName(), e.getLocalizedMessage()); } } - setMainType(mainMethod); - - /* - * findMainMethod (above) will choose the correct method, based - * on its name and parameter type, however, we still have to - * ensure that the method is static (non-preview) and returns a void. - */ int mods = mainMethod.getModifiers(); boolean isStatic = Modifier.isStatic(mods); boolean isPublic = Modifier.isPublic(mods); @@ -945,32 +919,26 @@ static void validateMainClass(Class mainClass) { if (!PreviewFeatures.isEnabled()) { if (!isStatic || !isPublic || noArgs) { - abort(null, "java.launcher.cls.error2", "static", - mainMethod.getDeclaringClass().getName()); + abort(null, "java.launcher.cls.error2", mainClass.getName(), + JAVAFX_APPLICATION_CLASS_NAME); } + return; } if (!isStatic) { + String className = mainMethod.getDeclaringClass().getName(); if (mainClass.isMemberClass() && !Modifier.isStatic(mainClass.getModifiers())) { - abort(null, "java.launcher.cls.error9", - mainMethod.getDeclaringClass().getName()); + abort(null, "java.launcher.cls.error7", className); } try { Constructor constructor = mainClass.getDeclaredConstructor(); if (Modifier.isPrivate(constructor.getModifiers())) { - abort(null, "java.launcher.cls.error8", - mainMethod.getDeclaringClass().getName()); + abort(null, "java.launcher.cls.error6", className); } } catch (Throwable ex) { - abort(null, "java.launcher.cls.error8", - mainMethod.getDeclaringClass().getName()); + abort(null, "java.launcher.cls.error6", className); } } - - if (mainMethod.getReturnType() != java.lang.Void.TYPE) { - abort(null, "java.launcher.cls.error3", - mainMethod.getDeclaringClass().getName()); - } } private static final String encprop = "sun.jnu.encoding"; @@ -1122,13 +1090,13 @@ private static void setFXLaunchParameters(String what, int mode) { // find the module with the FX launcher Optional om = ModuleLayer.boot().findModule(JAVAFX_GRAPHICS_MODULE_NAME); if (om.isEmpty()) { - abort(null, "java.launcher.cls.error5"); + abort(null, "java.launcher.cls.error3"); } // load the FX launcher class fxLauncherClass = Class.forName(om.get(), JAVAFX_LAUNCHER_CLASS_NAME); if (fxLauncherClass == null) { - abort(null, "java.launcher.cls.error5"); + abort(null, "java.launcher.cls.error3"); } try { @@ -1149,7 +1117,7 @@ private static void setFXLaunchParameters(String what, int mode) { abort(null, "java.launcher.javafx.error1"); } } catch (NoSuchMethodException ex) { - abort(ex, "java.launcher.cls.error5", ex); + abort(ex, "java.launcher.cls.error3", ex); } fxLaunchName = what; diff --git a/src/java.base/share/classes/sun/launcher/resources/launcher.properties b/src/java.base/share/classes/sun/launcher/resources/launcher.properties index 219f0d977b556..6bea2e1f51f00 100644 --- a/src/java.base/share/classes/sun/launcher/resources/launcher.properties +++ b/src/java.base/share/classes/sun/launcher/resources/launcher.properties @@ -238,29 +238,22 @@ java.launcher.cls.error1=\ Error: Could not find or load main class {0}\n\ Caused by: {1}: {2} java.launcher.cls.error2=\ - Error: Main method is not {0} in class {1}, please define the main method as:\n\ -\ public static void main(String[] args) -java.launcher.cls.error3=\ - Error: Main method must return a value of type void in class {0}, please \n\ - define the main method as:\n\ -\ public static void main(String[] args) -java.launcher.cls.error4=\ Error: Main method not found in class {0}, please define the main method as:\n\ \ public static void main(String[] args)\n\ or a JavaFX application class must extend {1} -java.launcher.cls.error5=\ +java.launcher.cls.error3=\ Error: JavaFX runtime components are missing, and are required to run this application -java.launcher.cls.error6=\ +java.launcher.cls.error4=\ Error: LinkageError occurred while loading main class {0}\n\ \t{1} -java.launcher.cls.error7=\ +java.launcher.cls.error5=\ Error: Unable to initialize main class {0}\n\ Caused by: {1}: {2} -java.launcher.cls.error8=\ +java.launcher.cls.error6=\ Error: no non-private zero argument constructor found in class {0}\n\ remove private from existing constructor or define as:\n\ \ public {0}() -java.launcher.cls.error9=\ +java.launcher.cls.error7=\ Error: non-static inner class {0} constructor can not be invoked \n\ make inner class static or move inner class out to separate source file java.launcher.jar.error1=\ @@ -280,7 +273,7 @@ java.launcher.module.error2=\ Error: Could not find or load main class {0} in module {1} java.launcher.module.error3=\ Error: Unable to load main class {0} in module {1}\n\ - \t{2} + Caused by: {2} java.launcher.module.error4=\ {0} not found java.launcher.module.error5=\ diff --git a/src/java.base/share/native/libjli/java.c b/src/java.base/share/native/libjli/java.c index 2f9d0718e934e..fbc9ecb1c4e21 100644 --- a/src/java.base/share/native/libjli/java.c +++ b/src/java.base/share/native/libjli/java.c @@ -387,6 +387,84 @@ JLI_Launch(int argc, char ** argv, /* main argc, argv */ } \ } while (JNI_FALSE) +#define CHECK_EXCEPTION_FAIL() \ + do { \ + if ((*env)->ExceptionOccurred(env)) { \ + (*env)->ExceptionClear(env); \ + return 0; \ + } \ + } while (JNI_FALSE) + + +#define CHECK_EXCEPTION_NULL_FAIL(mainObject) \ + do { \ + if ((*env)->ExceptionOccurred(env)) { \ + (*env)->ExceptionClear(env); \ + return 0; \ + } else if (mainObject == NULL) { \ + return 0; \ + } \ + } while (JNI_FALSE) + +/* + * Invoke a static main with arguments. Returns 1 (true) if successful otherwise + * processes the pending exception from GetStaticMethodID and returns 0 (false). + */ +int +invokeStaticMainWithArgs(JNIEnv *env, jclass mainClass, jobjectArray mainArgs) { + jmethodID mainID = (*env)->GetStaticMethodID(env, mainClass, "main", + "([Ljava/lang/String;)V"); + CHECK_EXCEPTION_FAIL(); + (*env)->CallStaticVoidMethod(env, mainClass, mainID, mainArgs); + return 1; +} + +/* + * Invoke an instance main with arguments. Returns 1 (true) if successful otherwise + * processes the pending exception from GetMethodID and returns 0 (false). + */ +int +invokeInstanceMainWithArgs(JNIEnv *env, jclass mainClass, jobjectArray mainArgs) { + jmethodID constructor = (*env)->GetMethodID(env, mainClass, "", "()V"); + CHECK_EXCEPTION_FAIL(); + jobject mainObject = (*env)->NewObject(env, mainClass, constructor); + CHECK_EXCEPTION_NULL_FAIL(mainObject); + jmethodID mainID = (*env)->GetMethodID(env, mainClass, "main", + "([Ljava/lang/String;)V"); + CHECK_EXCEPTION_FAIL(); + (*env)->CallVoidMethod(env, mainObject, mainID, mainArgs); + return 1; + } + +/* + * Invoke a static main without arguments. Returns 1 (true) if successful otherwise + * processes the pending exception from GetStaticMethodID and returns 0 (false). + */ +int +invokeStaticMainWithoutArgs(JNIEnv *env, jclass mainClass) { + jmethodID mainID = (*env)->GetStaticMethodID(env, mainClass, "main", + "()V"); + CHECK_EXCEPTION_FAIL(); + (*env)->CallStaticVoidMethod(env, mainClass, mainID); + return 1; +} + +/* + * Invoke an instance main without arguments. Returns 1 (true) if successful otherwise + * processes the pending exception from GetMethodID and returns 0 (false). + */ +int +invokeInstanceMainWithoutArgs(JNIEnv *env, jclass mainClass) { + jmethodID constructor = (*env)->GetMethodID(env, mainClass, "", "()V"); + CHECK_EXCEPTION_FAIL(); + jobject mainObject = (*env)->NewObject(env, mainClass, constructor); + CHECK_EXCEPTION_NULL_FAIL(mainObject); + jmethodID mainID = (*env)->GetMethodID(env, mainClass, "main", + "()V"); + CHECK_EXCEPTION_FAIL(); + (*env)->CallVoidMethod(env, mainObject, mainID); + return 1; +} int JavaMain(void* _args) @@ -403,9 +481,6 @@ JavaMain(void* _args) jclass mainClass = NULL; jclass appClass = NULL; // actual application class being launched jobjectArray mainArgs; - jmethodID mainID; - jmethodID constructor; - jobject mainObject; int ret = 0; jlong start = 0, end = 0; @@ -491,9 +566,6 @@ JavaMain(void* _args) ret = 1; /* - * Get the application's main class. It also checks if the main - * method exists. - * * See bugid 5030265. The Main-Class name has already been parsed * from the manifest, but not parsed properly for UTF-8 support. * Hence the code here ignores the value previously extracted and @@ -523,7 +595,7 @@ JavaMain(void* _args) * consistent in the UI we need to track and report the application main class. */ appClass = GetApplicationClass(env); - NULL_CHECK_RETURN_VALUE(appClass, -1); + CHECK_EXCEPTION_NULL_LEAVE(appClass); /* Build platform specific argument array */ mainArgs = CreateApplicationArgs(env, argv, argc); @@ -545,59 +617,15 @@ JavaMain(void* _args) CHECK_EXCEPTION_LEAVE(1); /* - * The LoadMainClass not only loads the main class, it will also ensure - * that the main method's signature is correct, therefore further checking - * is not required. The main method is invoked here so that extraneous java - * stacks are not in the application stack trace. + * The main method is invoked here so that extraneous java stacks are not in + * the application stack trace. */ -#define MAIN_WITHOUT_ARGS 1 -#define MAIN_NONSTATIC 2 - - jclass helperClass = GetLauncherHelperClass(env); - jmethodID getMainType = (*env)->GetStaticMethodID(env, helperClass, - "getMainType", - "()I"); - CHECK_EXCEPTION_NULL_LEAVE(getMainType); - int mainType = (*env)->CallStaticIntMethod(env, helperClass, getMainType); - CHECK_EXCEPTION_LEAVE(mainType); - - switch (mainType) { - case 0: { - mainID = (*env)->GetStaticMethodID(env, mainClass, "main", - "([Ljava/lang/String;)V"); - CHECK_EXCEPTION_NULL_LEAVE(mainID); - (*env)->CallStaticVoidMethod(env, mainClass, mainID, mainArgs); - break; - } - case MAIN_WITHOUT_ARGS: { - mainID = (*env)->GetStaticMethodID(env, mainClass, "main", - "()V"); - CHECK_EXCEPTION_NULL_LEAVE(mainID); - (*env)->CallStaticVoidMethod(env, mainClass, mainID); - break; - } - case MAIN_NONSTATIC: { - constructor = (*env)->GetMethodID(env, mainClass, "", "()V"); - CHECK_EXCEPTION_NULL_LEAVE(constructor); - mainObject = (*env)->NewObject(env, mainClass, constructor); - CHECK_EXCEPTION_NULL_LEAVE(mainObject); - mainID = (*env)->GetMethodID(env, mainClass, "main", - "([Ljava/lang/String;)V"); - CHECK_EXCEPTION_NULL_LEAVE(mainID); - (*env)->CallVoidMethod(env, mainObject, mainID, mainArgs); - break; - } - case MAIN_NONSTATIC | MAIN_WITHOUT_ARGS: { - constructor = (*env)->GetMethodID(env, mainClass, "", "()V"); - CHECK_EXCEPTION_NULL_LEAVE(constructor); - mainObject = (*env)->NewObject(env, mainClass, constructor); - CHECK_EXCEPTION_NULL_LEAVE(mainObject); - mainID = (*env)->GetMethodID(env, mainClass, "main", - "()V"); - CHECK_EXCEPTION_NULL_LEAVE(mainID); - (*env)->CallVoidMethod(env, mainObject, mainID); - break; - } + if (!invokeStaticMainWithArgs(env, mainClass, mainArgs) && + !invokeInstanceMainWithArgs(env, mainClass, mainArgs) && + !invokeStaticMainWithoutArgs(env, mainClass) && + !invokeInstanceMainWithoutArgs(env, mainClass)) { + ret = 1; + LEAVE(); } /* @@ -1593,8 +1621,9 @@ NewPlatformStringArray(JNIEnv *env, char **strv, int strc) } /* - * Loads a class and verifies that the main class is present and it is ok to - * call it for more details refer to the java implementation. + * Calls LauncherHelper::checkAndLoadMain to verify that the main class + * is present, it is ok to load the main class and then load the main class. + * For more details refer to the java implementation. */ static jclass LoadMainClass(JNIEnv *env, int mode, char *name) diff --git a/src/java.compiler/share/classes/javax/annotation/processing/Filer.java b/src/java.compiler/share/classes/javax/annotation/processing/Filer.java index 9ebcf2c59084a..7487c1fb2361c 100644 --- a/src/java.compiler/share/classes/javax/annotation/processing/Filer.java +++ b/src/java.compiler/share/classes/javax/annotation/processing/Filer.java @@ -177,12 +177,11 @@ public interface Filer { *

Creating a source file in or for an unnamed package in a named * module is not supported. * - *

If the environment is configured to support {@linkplain - * TypeElement#isUnnamed unnamed classes}, the name argument is - * used to provide the leading component of the name used for the - * output file. For example {@code filer.createSourceFile("Foo")} - * to create an unnamed class hosted in {@code Foo.java}. All - * unnamed classes must be in an unnamed package. + *

If the environment is configured to support implicitly declared + * classes, the name argument is used to provide the leading component of the + * name used for the output file. For example {@code filer.createSourceFile("Foo")} + * to create an implicitly declared class hosted in {@code Foo.java}. All + * implicit classes must be in an unnamed package. * * @apiNote To use a particular {@linkplain * java.nio.charset.Charset charset} to encode the contents of the @@ -263,12 +262,11 @@ JavaFileObject createSourceFile(CharSequence name, *

Creating a class file in or for an unnamed package in a named * module is not supported. * - *

If the environment is configured to support {@linkplain - * TypeElement#isUnnamed unnamed classes}, the name argument is - * used to provide the leading component of the name used for the - * output file. For example {@code filer.createClassFile("Foo")} to - * create an unnamed class hosted in {@code Foo.class}. All unnamed - * classes must be in an unnamed package. + *

If the environment is configured to support implicitly declared + * classes, the name argument is used to provide the leading component of the + * name used for the output file. For example {@code filer.createSourceFile("Foo")} + * to create an implicitly declared class hosted in {@code Foo.java}. All + * implicit classes must be in an unnamed package. * * @apiNote To avoid subsequent errors, the contents of the class * file should be compatible with the {@linkplain diff --git a/src/java.compiler/share/classes/javax/lang/model/element/TypeElement.java b/src/java.compiler/share/classes/javax/lang/model/element/TypeElement.java index d430e33e59139..a8c3b91f8b504 100644 --- a/src/java.compiler/share/classes/javax/lang/model/element/TypeElement.java +++ b/src/java.compiler/share/classes/javax/lang/model/element/TypeElement.java @@ -155,7 +155,7 @@ public interface TypeElement extends Element, Parameterizable, QualifiedNameable /** * Returns the fully qualified name of this class or interface * element. More precisely, it returns the canonical name. - * For local, anonymous, and {@linkplain #isUnnamed() unnamed} classes, which do not have canonical + * For local, and anonymous classes, which do not have canonical * names, an {@linkplain Name##empty_name empty name} is * returned. * @@ -171,7 +171,6 @@ public interface TypeElement extends Element, Parameterizable, QualifiedNameable * * @see Elements#getBinaryName * @jls 6.7 Fully Qualified Names and Canonical Names - * @jls 7.3 Compilation Units */ Name getQualifiedName(); @@ -181,10 +180,6 @@ public interface TypeElement extends Element, Parameterizable, QualifiedNameable * For an anonymous class, an {@linkplain Name##empty_name empty * name} is returned. * - * For an {@linkplain #isUnnamed() unnamed} class, a name matching - * the base name of the hosting file, minus any extension, is - * returned. - * * @return the simple name of this class or interface, * an empty name for an anonymous class * @@ -192,22 +187,6 @@ public interface TypeElement extends Element, Parameterizable, QualifiedNameable @Override Name getSimpleName(); - /** - * {@return {@code true} if this is an unnamed class and {@code - * false} otherwise} - * - * @implSpec - * The default implementation of this method returns {@code false}. - * - * @jls 7.3 Compilation Units - * @since 21 - */ - @PreviewFeature(feature=PreviewFeature.Feature.UNNAMED_CLASSES, - reflective=true) - default boolean isUnnamed() { - return false; - } - /** * Returns the direct superclass of this class or interface element. * If this class or interface element represents an interface or the class diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/ClassFinder.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/ClassFinder.java index 56b692fb7ccff..770adbebc2ebf 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/ClassFinder.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/ClassFinder.java @@ -444,9 +444,6 @@ public ClassSymbol loadClass(ModuleSymbol msym, Name flatname) throws Completion if (c.members_field == null) { try { c.complete(); - if ((c.flags_field & UNNAMED_CLASS) != 0) { - syms.removeClass(ps.modle, flatname); - } } catch (CompletionFailure ex) { if (absent) { syms.removeClass(ps.modle, flatname); diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java index 8856654aed349..c6b8f2cd44eea 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java @@ -123,9 +123,9 @@ public static EnumSet asFlagSet(long flags) { */ public static final int HASINIT = 1<<18; - /** Class is a unnamed top level class. + /** Class is a implicit top level class. */ - public static final int UNNAMED_CLASS = 1<<19; + public static final int IMPLICIT_CLASS = 1<<19; /** Flag is set for compiler-generated anonymous method symbols * that `own' an initializer block. @@ -499,7 +499,7 @@ public enum Flag { ANNOTATION(Flags.ANNOTATION), DEPRECATED(Flags.DEPRECATED), HASINIT(Flags.HASINIT), - UNNAMED_CLASS(Flags.UNNAMED_CLASS), + IMPLICIT_CLASS(Flags.IMPLICIT_CLASS), BLOCK(Flags.BLOCK), FROM_SOURCE(Flags.FROM_SOURCE), ENUM(Flags.ENUM), diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Preview.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Preview.java index ad859bb45077f..3c696a3e65df7 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Preview.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Preview.java @@ -210,7 +210,7 @@ public boolean isEnabled() { public boolean isPreview(Feature feature) { return switch (feature) { case STRING_TEMPLATES -> true; - case UNNAMED_CLASSES -> true; + case IMPLICIT_CLASSES -> true; case SUPER_INIT -> true; //Note: this is a backdoor which allows to optionally treat all features as 'preview' (for testing). //When real preview features will be added, this method can be implemented to return 'true' diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java index 0290f8bc75214..ffff623dc4fe5 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java @@ -245,7 +245,7 @@ public enum Feature { UNCONDITIONAL_PATTERN_IN_INSTANCEOF(JDK21, Fragments.FeatureUnconditionalPatternsInInstanceof, DiagKind.PLURAL), RECORD_PATTERNS(JDK21, Fragments.FeatureDeconstructionPatterns, DiagKind.PLURAL), STRING_TEMPLATES(JDK21, Fragments.FeatureStringTemplates, DiagKind.PLURAL), - UNNAMED_CLASSES(JDK21, Fragments.FeatureUnnamedClasses, DiagKind.PLURAL), + IMPLICIT_CLASSES(JDK21, Fragments.FeatureImplicitClasses, DiagKind.PLURAL), WARN_ON_ILLEGAL_UTF8(MIN, JDK21), UNNAMED_VARIABLES(JDK22, Fragments.FeatureUnnamedVariables, DiagKind.PLURAL), SUPER_INIT(JDK22, Fragments.FeatureSuperInit, DiagKind.NORMAL), diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java index b3dcde6c8cfb6..d583a86ca3f8d 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java @@ -435,6 +435,10 @@ public boolean isFinal() { return (flags_field & FINAL) != 0; } + public boolean isImplicit() { + return (flags_field & IMPLICIT_CLASS) != 0; + } + /** Is this symbol declared (directly or indirectly) local * to a method or variable initializer? * Also includes fields of inner classes which are in @@ -1256,7 +1260,6 @@ public RootPackageSymbol(Name name, Symbol owner, /** A class for class symbols */ - @SuppressWarnings("preview") // isUnnamed() public static class ClassSymbol extends TypeSymbol implements TypeElement { /** a scope for all class members; variables, methods and inner classes @@ -1370,7 +1373,7 @@ public String className() { @Override @DefinedBy(Api.LANGUAGE_MODEL) public Name getQualifiedName() { - return isUnnamed() ? fullname.subName(0, 0) /* empty name */ : fullname; + return fullname; } @Override @DefinedBy(Api.LANGUAGE_MODEL) @@ -1551,7 +1554,7 @@ public void setRecordComponents(List recordComponents) { @DefinedBy(Api.LANGUAGE_MODEL) public NestingKind getNestingKind() { apiComplete(); - if (owner.kind == PCK) // Handles unnamed classes as well + if (owner.kind == PCK) // Handles implicit classes as well return NestingKind.TOP_LEVEL; else if (name.isEmpty()) return NestingKind.ANONYMOUS; @@ -1642,11 +1645,6 @@ public boolean isRecord() { public List getPermittedSubclasses() { return permitted.map(s -> s.type); } - - @Override @DefinedBy(Api.LANGUAGE_MODEL) - public boolean isUnnamed() { - return (flags_field & Flags.UNNAMED_CLASS) != 0 ; - } } diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java index b69c2156e1d86..567cf0a191f25 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java @@ -5507,7 +5507,7 @@ void attribClass(ClassSymbol c) throws CompletionFailure { chk.checkFunctionalInterface((JCClassDecl) env.tree, c); chk.checkLeaksNotAccessible(env, (JCClassDecl) env.tree); - if ((c.flags_field & Flags.UNNAMED_CLASS) != 0) { + if (c.isImplicit()) { chk.checkHasMain(env.tree.pos(), c); } } finally { diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java index ead1ecf3c633f..f9b228203d4ba 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java @@ -452,7 +452,8 @@ boolean checkUniqueClassName(DiagnosticPosition pos, Name name, Scope s) { } } for (Symbol sym = s.owner; sym != null; sym = sym.owner) { - if (sym.kind == TYP && sym.name == name && sym.name != names.error) { + if (sym.kind == TYP && sym.name == name && sym.name != names.error && + !sym.isImplicit()) { duplicateError(pos, sym); return true; } @@ -2276,7 +2277,7 @@ public void checkHasMain(DiagnosticPosition pos, ClassSymbol c) { } if (!found) { - log.error(pos, Errors.UnnamedClassDoesNotHaveMainMethod); + log.error(pos, Errors.ImplicitClassDoesNotHaveMainMethod); } } diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Enter.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Enter.java index 90d482438417f..7478ef1c907c8 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Enter.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Enter.java @@ -442,7 +442,7 @@ public void visitClassDef(JCClassDecl tree) { log.error(tree.pos(), Errors.ClassPublicShouldBeInFile(topElement, tree.name)); } - if ((tree.mods.flags & UNNAMED_CLASS) != 0) { + if ((tree.mods.flags & IMPLICIT_CLASS) != 0) { syms.removeClass(env.toplevel.modle, tree.name); } } else { diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java index 51486b997d3c3..8d12ba5ccaa56 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java @@ -3047,14 +3047,6 @@ private void readClassBuffer(ClassSymbol c) throws IOException { signatureBuffer = new byte[ns]; } readClass(c); - if (previewClassFile) { - if ((c.flags_field & SYNTHETIC) != 0 && - c.owner.kind == PCK && - (c.flags_field & AUXILIARY) == 0 && - (c.flags_field & FINAL) != 0) { - c.flags_field |= UNNAMED_CLASS; - } - } } public void readClassFile(ClassSymbol c) { diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/launcher/Main.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/launcher/Main.java index 729d1cf2b057b..cd35ccaa3b74d 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/launcher/Main.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/launcher/Main.java @@ -85,7 +85,7 @@ import com.sun.tools.javac.resources.LauncherProperties.Errors; import com.sun.tools.javac.util.JCDiagnostic.Error; -import jdk.internal.misc.MainMethodFinder; +import jdk.internal.misc.MethodFinder; import jdk.internal.misc.PreviewFeatures; import jdk.internal.misc.VM; @@ -407,8 +407,8 @@ private String compile(Path file, List javacOpts, Context context) throw throw new Fault(Errors.NoClass); } TypeElement mainClass = l.mainClass; - String mainClassName = (mainClass.isUnnamed() ? mainClass.getSimpleName() - : mainClass.getQualifiedName()).toString(); + String mainClassName = mainClass.getQualifiedName().toString(); + return mainClassName; } @@ -434,26 +434,13 @@ private void execute(String mainClassName, String[] mainArgs, Context context) throw new Fault(Errors.CantFindClass(mainClassName)); } - Method mainMethod; - try { - mainMethod = MainMethodFinder.findMainMethod(appClass); - } catch (NoSuchMethodException e) { - throw new Fault(Errors.CantFindMainMethod(mainClassName)); - } - - int mods = mainMethod.getModifiers(); - boolean isStatic = Modifier.isStatic(mods); - boolean isPublic = Modifier.isPublic(mods); - boolean noArgs = mainMethod.getParameterCount() == 0; - - if (!PreviewFeatures.isEnabled() && (!isStatic || !isPublic)) { - throw new Fault(Errors.MainNotPublicStatic); - } + Method mainMethod = MethodFinder.findMainMethod(appClass); - if (!mainMethod.getReturnType().equals(void.class)) { - throw new Fault(Errors.MainNotVoid); + if (mainMethod == null) { + throw new Fault(Errors.CantFindMainMethod(mainClassName)); } + boolean isStatic = Modifier.isStatic(mainMethod.getModifiers()); Object instance = null; if (!isStatic) { @@ -478,7 +465,7 @@ private void execute(String mainClassName, String[] mainArgs, Context context) mainMethod.setAccessible(true); Object receiver = isStatic ? appClass : instance; - if (noArgs) { + if (mainMethod.getParameterCount() == 0) { mainMethod.invoke(receiver); } else { mainMethod.invoke(receiver, (Object)mainArgs); diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java index 0713739050a98..bf124bc35bc66 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java @@ -206,9 +206,9 @@ protected JavacParser(JavacParser parser, this.source = parser.source; this.preview = parser.preview; this.allowStringFolding = parser.allowStringFolding; - this.keepDocComments = false; + this.keepDocComments = parser.keepDocComments; this.parseModuleInfo = false; - this.docComments = null; + this.docComments = parser.docComments; this.errorTree = F.Erroneous(); this.endPosTable = newEndPosTable(false); this.allowYieldStatement = Feature.SWITCH_EXPRESSION.allowedInSource(source); @@ -3916,8 +3916,8 @@ public JCTree.JCCompilationUnit parseCompilationUnit() { defs.append(pd); } - boolean firstTypeDecl = true; // have we see a class, enum, or interface declaration yet? - boolean isUnnamedClass = false; + boolean firstTypeDecl = true; // have we seen a class, enum, or interface declaration yet? + boolean isImplicitClass = false; OUTER: while (token.kind != EOF) { if (token.pos <= endPosTable.errorEndPos) { // error recovery @@ -3984,13 +3984,13 @@ public JCTree.JCCompilationUnit parseCompilationUnit() { // this code speculatively tests to see if a top level method // or field can parse. If the method or field can parse then // it is parsed. Otherwise, parsing continues as though - // unnamed classes did not exist and error reporting + // implicit classes did not exist and error reporting // is the same as in the past. - if (Feature.UNNAMED_CLASSES.allowedInSource(source) && !isDeclaration()) { + if (Feature.IMPLICIT_CLASSES.allowedInSource(source) && !isDeclaration()) { final JCModifiers finalMods = mods; JavacParser speculative = new VirtualParser(this); List speculativeResult = - speculative.topLevelMethodOrFieldDeclaration(finalMods); + speculative.topLevelMethodOrFieldDeclaration(finalMods, null); if (speculativeResult.head.hasTag(METHODDEF) || speculativeResult.head.hasTag(VARDEF)) { isTopLevelMethodOrField = true; @@ -3998,9 +3998,9 @@ public JCTree.JCCompilationUnit parseCompilationUnit() { } if (isTopLevelMethodOrField) { - checkSourceLevel(token.pos, Feature.UNNAMED_CLASSES); - defs.appendList(topLevelMethodOrFieldDeclaration(mods)); - isUnnamedClass = true; + checkSourceLevel(token.pos, Feature.IMPLICIT_CLASSES); + defs.appendList(topLevelMethodOrFieldDeclaration(mods, docComment)); + isImplicitClass = true; } else { JCTree def = typeDeclaration(mods, docComment); if (def instanceof JCExpressionStatement statement) @@ -4012,7 +4012,7 @@ public JCTree.JCCompilationUnit parseCompilationUnit() { firstTypeDecl = false; } } - List topLevelDefs = isUnnamedClass ? constructUnnamedClass(defs.toList()) : defs.toList(); + List topLevelDefs = isImplicitClass ? constructImplictClass(defs.toList()) : defs.toList(); JCTree.JCCompilationUnit toplevel = F.at(firstToken.pos).TopLevel(topLevelDefs); if (!consumedToplevelDoc) attach(toplevel, firstToken.docComment()); @@ -4027,14 +4027,14 @@ public JCTree.JCCompilationUnit parseCompilationUnit() { return toplevel; } - // Restructure top level to be an unnamed class. - private List constructUnnamedClass(List origDefs) { + // Restructure top level to be an implicit class. + private List constructImplictClass(List origDefs) { ListBuffer topDefs = new ListBuffer<>(); ListBuffer defs = new ListBuffer<>(); for (JCTree def : origDefs) { if (def.hasTag(Tag.PACKAGEDEF)) { - log.error(def.pos(), Errors.UnnamedClassShouldNotHavePackageDeclaration); + log.error(def.pos(), Errors.ImplicitClassShouldNotHavePackageDeclaration); } else if (def.hasTag(Tag.IMPORT)) { topDefs.append(def); } else if (!def.hasTag(Tag.SKIP)) { @@ -4053,12 +4053,12 @@ private List constructUnnamedClass(List origDefs) { } Name name = names.fromString(simplename); - JCModifiers unnamedMods = F.at(Position.NOPOS) - .Modifiers(Flags.FINAL|Flags.SYNTHETIC|Flags.UNNAMED_CLASS, List.nil()); - JCClassDecl unnamed = F.at(primaryPos).ClassDef( - unnamedMods, name, List.nil(), null, List.nil(), List.nil(), + JCModifiers implicitMods = F.at(Position.NOPOS) + .Modifiers(Flags.FINAL|Flags.IMPLICIT_CLASS, List.nil()); + JCClassDecl implicit = F.at(primaryPos).ClassDef( + implicitMods, name, List.nil(), null, List.nil(), List.nil(), defs.toList()); - topDefs.append(unnamed); + topDefs.append(implicit); return topDefs.toList(); } @@ -4735,10 +4735,9 @@ private List constructorOrMethodOrFieldDeclaration(JCModifiers mods, Nam return List.of(syntaxError(token.pos, err, Errors.Expected(LPAREN))); } - private List topLevelMethodOrFieldDeclaration(JCModifiers mods) throws AssertionError { - int topPos = token.pos; + private List topLevelMethodOrFieldDeclaration(JCModifiers mods, Comment dc) throws AssertionError { int pos = token.pos; - Comment dc = token.docComment(); + dc = dc == null ? token.docComment() : dc; List typarams = typeParametersOpt(); // if there are type parameters but no modifiers, save the start diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java index ee49a5b344d9c..9cb3b4992f137 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java @@ -126,7 +126,7 @@ public PrintingElementVisitor visitExecutable(ExecutableElement e, Boolean p) { kind != INSTANCE_INIT) { Element enclosing = e.getEnclosingElement(); - // Don't print out the constructor of an anonymous or unnamed class + // Don't print out the constructor of an anonymous class if (kind == CONSTRUCTOR && enclosing != null && (NestingKind.ANONYMOUS == @@ -136,13 +136,6 @@ public PrintingElementVisitor visitExecutable(ExecutableElement e, Boolean p) { public NestingKind visitType(TypeElement e, Void p) { return e.getNestingKind(); } - }).visit(enclosing) - || // Don't print the constructor of an unnamed class - (new SimpleElementVisitor14(false) { - @Override @DefinedBy(Api.LANGUAGE_MODEL) - public Boolean visitType(TypeElement e, Void p) { - return e.isUnnamed(); - } }).visit(enclosing)) ) { return this; } @@ -222,14 +215,6 @@ public PrintingElementVisitor visitType(TypeElement e, Boolean p) { printParameters(constructors.get(0)); } writer.print(")"); - } else if (e.isUnnamed()) { - writer.println("// Unnamed class in file whose name starts with " + e.getSimpleName()); - - for(Element element : e.getEnclosedElements()) { - this.visit(element); - } - - return this; } else { if (nestingKind == TOP_LEVEL) { PackageElement pkg = elementUtils.getPackageOf(e); diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties b/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties index 30756ef6fa6d7..975c3205a364e 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties @@ -524,11 +524,11 @@ compiler.err.duplicate.class=\ compiler.err.bad.file.name=\ bad file name: {0} -compiler.err.unnamed.class.should.not.have.package.declaration=\ - unnamed class should not have package declaration +compiler.err.implicit.class.should.not.have.package.declaration=\ + implicit class should not have package declaration -compiler.err.unnamed.class.does.not.have.main.method=\ - unnamed class does not have main method in the form of void main() or void main(String[] args) +compiler.err.implicit.class.does.not.have.main.method=\ + implicit class does not have main method in the form of void main() or void main(String[] args) # 0: name, 1: name compiler.err.same.binary.name=\ @@ -3218,8 +3218,8 @@ compiler.misc.feature.string.templates=\ compiler.misc.feature.unconditional.patterns.in.instanceof=\ unconditional patterns in instanceof -compiler.misc.feature.unnamed.classes=\ - unnamed classes +compiler.misc.feature.implicit.classes=\ + implicit classes compiler.misc.feature.super.init=\ statements before super() diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java index 7cd0df9295b4b..21ced44c80ebc 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java @@ -1161,7 +1161,7 @@ boolean isUnqualifiable(Symbol sym) { !it.hasNext(); } } - return sym.kind == TYP && (sym.flags_field & Flags.UNNAMED_CLASS) != 0; + return sym.kind == TYP && sym.isImplicit(); } /** The name of synthetic parameter number `i'. diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ElementsTable.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ElementsTable.java index 7f4f31844f5af..b0a6b4dfdf44f 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ElementsTable.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ElementsTable.java @@ -986,7 +986,7 @@ private boolean isTypeElementSelected(TypeElement te) { * @return true if the element is visible */ public boolean isSelected(Element e) { - if (toolEnv.isSynthetic((Symbol) e) && !toolEnv.isUnnamed((Symbol) e)) { + if (toolEnv.isSynthetic((Symbol) e)) { return false; } if (visibleElementVisitor == null) { diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ToolEnvironment.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ToolEnvironment.java index a8cb10651dd60..4b1e1c66258b5 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ToolEnvironment.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ToolEnvironment.java @@ -174,10 +174,6 @@ boolean isSynthetic(Symbol sym) { return (sym.flags() & Flags.SYNTHETIC) != 0; } - boolean isUnnamed(Symbol sym) { - return (sym.flags() & Flags.UNNAMED_CLASS) != 0; - } - void setElementToTreePath(Element e, TreePath tree) { if (e == null || tree == null) return; diff --git a/test/jdk/java/lang/Class/UnnamedClass/TestUnnamedClass.java b/test/jdk/java/lang/Class/UnnamedClass/TestUnnamedClass.java deleted file mode 100644 index 9e4635ab932c1..0000000000000 --- a/test/jdk/java/lang/Class/UnnamedClass/TestUnnamedClass.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. - * 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 8306112 - * @enablePreview - * @build Unnamed TestUnnamedClass - * @run main TestUnnamedClass - * @summary Basic checks of java.lang.Class support for unnamed classes - */ - -import java.lang.reflect.Modifier; - -public class TestUnnamedClass { - public static void main(String... args) throws Exception { - Class unnamedClass = Class.forName("Unnamed"); - - /* - * From JEP 445 JLS changes: - * - * "An unnamed class compilation unit implicitly declares a class that satisfies the following - * properties: - * It is always a top level class. - * It is always an unnamed class (it has no canonical or fully qualified name (6.7)). - * It is never abstract (8.1.1.1). - * It is always final (8.1.1.2). - * It is always a member of an unnamed package (7.4.2) and has package access. - * Its direct superclass type is always Object (8.1.4). - * It never has any direct superinterface types (8.1.5). - */ - - check(unnamedClass.isUnnamedClass(), "Unnamed class was isUnnamedClass() false"); - - check(!(unnamedClass.isInterface() || - unnamedClass.isEnum() || - unnamedClass.isRecord() || - unnamedClass.isHidden()), - "Unnamed class was not a normal class"); - - check(!(unnamedClass.isLocalClass() || - unnamedClass.isMemberClass() || - unnamedClass.isPrimitive() || - unnamedClass.isArray()), - "Unnamed class was not top-level"); - - check("Unnamed".equals(unnamedClass.getName()), "Unexpected Class.getName result"); - check("Unnamed".equals(unnamedClass.getTypeName()), "Unexpected Class.getTypeName result"); - check("".equals(unnamedClass.getSimpleName()), "Unexpected Class.getSimpleName result"); - check(unnamedClass.getCanonicalName() == null, "Unexpected non-null Class.getCanonicalName"); - - int modifiers = unnamedClass.getModifiers(); - check((modifiers & Modifier.ABSTRACT) == 0, "Unnamed class was abstract"); - check((modifiers & Modifier.FINAL) != 0, "Unnamed class was not final"); - check((modifiers & (Modifier.PUBLIC | - Modifier.PRIVATE | - Modifier.PROTECTED)) == 0, "Unnamed class was not package access"); - - check(unnamedClass.isSynthetic(), "Unnamed class was not synthetic"); - - check("".equals(unnamedClass.getPackage().getName()), "Unnamed class not in an unnamed package"); - - check(unnamedClass.getSuperclass() == Object.class, "Superclass was not java.lang.Object"); - - check(unnamedClass.getInterfaces().length == 0, "Unnamed class had super interfaces"); - } - - private static void check(boolean predicate, String message) { - if (!predicate) { - throw new RuntimeException(message); - } - } -} diff --git a/test/jdk/tools/launcher/Arrrghs.java b/test/jdk/tools/launcher/Arrrghs.java index 11a6ab0a52024..efc9505284257 100644 --- a/test/jdk/tools/launcher/Arrrghs.java +++ b/test/jdk/tools/launcher/Arrrghs.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -541,12 +541,12 @@ void testMainMethod() throws FileNotFoundException { createJar(new File("some.jar"), new File("Foo"), "public static int main(String[] args){return 1;}"); tr = doExec(javaCmd, "-jar", "some.jar"); - tr.contains("Error: Main method must return a value of type void in class Foo"); + tr.contains("Error: Main method not found in class Foo"); if (!tr.testStatus) System.out.println(tr); // use classpath to check tr = doExec(javaCmd, "-cp", "some.jar", "Foo"); - tr.contains("Error: Main method must return a value of type void in class Foo"); + tr.contains("Error: Main method not found in class Foo"); if (!tr.testStatus) System.out.println(tr); @@ -567,12 +567,12 @@ void testMainMethod() throws FileNotFoundException { createJar(new File("some.jar"), new File("Foo"), "public void main(String[] args){}"); tr = doExec(javaCmd, "-jar", "some.jar"); - tr.contains("Error: Main method is not static in class Foo"); + tr.contains("Error: Main method not found in class Foo"); if (!tr.testStatus) System.out.println(tr); // use classpath to check tr = doExec(javaCmd, "-cp", "some.jar", "Foo"); - tr.contains("Error: Main method is not static in class Foo"); + tr.contains("Error: Main method not found in class Foo"); if (!tr.testStatus) System.out.println(tr); diff --git a/test/jdk/tools/launcher/InstanceMainTest.java b/test/jdk/tools/launcher/InstanceMainTest.java index 05973557fc35f..08b5cb48dbbec 100644 --- a/test/jdk/tools/launcher/InstanceMainTest.java +++ b/test/jdk/tools/launcher/InstanceMainTest.java @@ -42,13 +42,13 @@ static void main(String[] args) { } """, - // static dominating instance + // instance dominating static """ class MainClass { void main(String[] args) { - throw new AssertionError(); } static void main() { + throw new AssertionError(); } } """, @@ -81,12 +81,12 @@ static void main(String[] args) { } """, - // unnamed class static dominating instance + // main with args dominating main without args """ void main(String[] args) { - throw new AssertionError(); } static void main() { + throw new AssertionError(); } """, @@ -105,15 +105,15 @@ void main() { } """, - // instance main dominating super static + // instance main with args dominating super """ class MainClass extends SuperClass { void main() { + throw new AssertionError(); } } class SuperClass { void main(String[] args) { - throw new AssertionError(); } } """, diff --git a/test/jdk/tools/launcher/modules/basic/LauncherErrors.java b/test/jdk/tools/launcher/modules/basic/LauncherErrors.java index b79238218b379..dd5157fa6127e 100644 --- a/test/jdk/tools/launcher/modules/basic/LauncherErrors.java +++ b/test/jdk/tools/launcher/modules/basic/LauncherErrors.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2019, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -92,9 +92,10 @@ public void testErrorMessage() throws Exception { ProcessTools.executeTestJava("-Djava.security.manager", "--module-path", dir, "--module", mid) .outputTo(System.out) .errorTo(System.out) - .shouldContain("Error: Unable to initialize main class " + MAIN_CLASS + " in module " + TEST_MODULE) - .shouldContain("Caused by: java.security.AccessControlException: access denied") + .shouldContain("Error: Unable to load main class " + MAIN_CLASS + " in module " + TEST_MODULE) + .shouldContain("Caused by: java.security.AccessControlException") .shouldNotHaveExitValue(0); + } } diff --git a/test/langtools/jdk/javadoc/doclet/testUnnamed/TestUnnamed.java b/test/langtools/jdk/javadoc/doclet/testUnnamed/TestImplicit.java similarity index 91% rename from test/langtools/jdk/javadoc/doclet/testUnnamed/TestUnnamed.java rename to test/langtools/jdk/javadoc/doclet/testUnnamed/TestImplicit.java index e9658cd4071b9..fa9a535902f87 100644 --- a/test/langtools/jdk/javadoc/doclet/testUnnamed/TestUnnamed.java +++ b/test/langtools/jdk/javadoc/doclet/testUnnamed/TestImplicit.java @@ -24,11 +24,11 @@ /* * @test * @bug 8309595 - * @summary Allow javadoc to process unnamed classes + * @summary Allow javadoc to process implicit classes * @library /tools/lib ../../lib * @modules jdk.javadoc/jdk.javadoc.internal.tool * @build toolbox.ToolBox javadoc.tester.* - * @run main TestUnnamed + * @run main TestImplicit */ import java.io.File; @@ -39,18 +39,18 @@ import javadoc.tester.JavadocTester; import toolbox.ToolBox; -public class TestUnnamed extends JavadocTester { +public class TestImplicit extends JavadocTester { private static final String thisVersion = System.getProperty("java.specification.version"); private static final ToolBox tb = new ToolBox(); public static void main(String... args) throws Exception { - new TestUnnamed().runTests(); + new TestImplicit().runTests(); } @Test - public void testUnnamed(Path base) throws IOException { + public void testImplicit(Path base) throws IOException { String className = "Sample"; Files.createDirectories(base); Path out = base.resolve("out"); diff --git a/test/jdk/java/lang/Class/UnnamedClass/Unnamed.java b/test/langtools/tools/javac/ImplicitClass/Implicit.java similarity index 95% rename from test/jdk/java/lang/Class/UnnamedClass/Unnamed.java rename to test/langtools/tools/javac/ImplicitClass/Implicit.java index 9545a90f0deaa..10e1fad007ba2 100644 --- a/test/jdk/java/lang/Class/UnnamedClass/Unnamed.java +++ b/test/langtools/tools/javac/ImplicitClass/Implicit.java @@ -23,8 +23,8 @@ /** - * Exemplar unnamed class. + * Exemplar implicit class. */ -public void main() { +void main() { System.out.println("Hello, world."); } diff --git a/test/langtools/tools/javac/unnamed/UnnamedClassRecovery.java b/test/langtools/tools/javac/ImplicitClass/ImplicitClassRecovery.java similarity index 53% rename from test/langtools/tools/javac/unnamed/UnnamedClassRecovery.java rename to test/langtools/tools/javac/ImplicitClass/ImplicitClassRecovery.java index 2c1d533ab6c9d..0057d779f8c73 100644 --- a/test/langtools/tools/javac/unnamed/UnnamedClassRecovery.java +++ b/test/langtools/tools/javac/ImplicitClass/ImplicitClassRecovery.java @@ -1,6 +1,6 @@ /** * @test /nodynamiccopyright/ - * @compile/fail/ref=UnnamedClassRecovery.out -XDrawDiagnostics --enable-preview --source ${jdk.version} UnnamedClassRecovery.java + * @compile/fail/ref=ImplicitClassRecovery.out -XDrawDiagnostics --enable-preview --source ${jdk.version} ImplicitClassRecovery.java */ public void main() { //the following is intentionally missing a semicolon: diff --git a/test/langtools/tools/javac/ImplicitClass/ImplicitClassRecovery.out b/test/langtools/tools/javac/ImplicitClass/ImplicitClassRecovery.out new file mode 100644 index 0000000000000..7de6ac6b3ee1b --- /dev/null +++ b/test/langtools/tools/javac/ImplicitClass/ImplicitClassRecovery.out @@ -0,0 +1,4 @@ +ImplicitClassRecovery.java:7:33: compiler.err.expected: ';' +- compiler.note.preview.filename: ImplicitClassRecovery.java, DEFAULT +- compiler.note.preview.recompile +1 error diff --git a/test/langtools/tools/javac/ImplicitClass/NestedClasses.java b/test/langtools/tools/javac/ImplicitClass/NestedClasses.java new file mode 100644 index 0000000000000..19f070c4d485c --- /dev/null +++ b/test/langtools/tools/javac/ImplicitClass/NestedClasses.java @@ -0,0 +1,109 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 8315458 + * @enablePreview + * @summary Make sure nesting classes don't create symbol conflicts with implicit name. + * @library /tools/lib + * @modules jdk.compiler/com.sun.tools.javac.api + * jdk.compiler/com.sun.tools.javac.main + * @build toolbox.ToolBox toolbox.JavacTask + * @run main NestedClasses + */ + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.List; + +import toolbox.ToolBox; +import toolbox.JavaTask; +import toolbox.JavacTask; +import toolbox.Task; + +public class NestedClasses { + private static ToolBox TOOLBOX = new ToolBox(); + private static final String JAVA_VERSION = System.getProperty("java.specification.version"); + + public static void main(String... arg) throws IOException { + compPass("A.java", """ + void main() {} + class A {} // okay + """); + + compPass("A.java", """ + void main() {} + class B { + class A { } // okay + } + """); + + compFail("A.java", """ + void main() {} + class B { + class B { } //error + } + """); + } + + /* + * Test source for successful compile. + */ + static void compPass(String fileName, String code) throws IOException { + Path path = Path.of(fileName); + Files.writeString(path, code); + String output = new JavacTask(TOOLBOX) + .files(List.of(path)) + .classpath(".") + .options("-encoding", "utf8", "--enable-preview", "-source", JAVA_VERSION) + .run() + .writeAll() + .getOutput(Task.OutputKind.DIRECT); + + if (output.contains("compiler.err")) { + throw new RuntimeException("Error detected"); + } + } + + /* + * Test source for unsuccessful compile and specific error. + */ + static void compFail(String fileName, String code) throws IOException { + Path path = Path.of(fileName); + Files.writeString(path, code); + String output = new JavacTask(TOOLBOX) + .files(List.of(path)) + .classpath(".") + .options("-XDrawDiagnostics", "-encoding", "utf8", "--enable-preview", "-source", JAVA_VERSION) + .run(Task.Expect.FAIL) + .writeAll() + .getOutput(Task.OutputKind.DIRECT); + + if (!output.contains("compiler.err")) { + throw new RuntimeException("No error detected"); + } + } + + } diff --git a/test/langtools/tools/javac/unnamedclass/NestedEnum.java b/test/langtools/tools/javac/ImplicitClass/NestedEnum.java similarity index 100% rename from test/langtools/tools/javac/unnamedclass/NestedEnum.java rename to test/langtools/tools/javac/ImplicitClass/NestedEnum.java diff --git a/test/langtools/tools/javac/unnamedclass/SourceLevelErrorPosition.java b/test/langtools/tools/javac/ImplicitClass/SourceLevelErrorPosition.java similarity index 74% rename from test/langtools/tools/javac/unnamedclass/SourceLevelErrorPosition.java rename to test/langtools/tools/javac/ImplicitClass/SourceLevelErrorPosition.java index 54beb45d90bcc..786c228f11ec1 100644 --- a/test/langtools/tools/javac/unnamedclass/SourceLevelErrorPosition.java +++ b/test/langtools/tools/javac/ImplicitClass/SourceLevelErrorPosition.java @@ -1,7 +1,7 @@ /** * @test /nodynamiccopyright/ * @bug 8310314 - * @summary Ensure proper error position for the "unnamed classes not supported" error + * @summary Ensure proper error position for the "implicit classes not supported" error * @compile/fail/ref=SourceLevelErrorPosition.out -XDrawDiagnostics SourceLevelErrorPosition.java */ class Nested {} diff --git a/test/langtools/tools/javac/unnamedclass/SourceLevelErrorPosition.out b/test/langtools/tools/javac/ImplicitClass/SourceLevelErrorPosition.out similarity index 55% rename from test/langtools/tools/javac/unnamedclass/SourceLevelErrorPosition.out rename to test/langtools/tools/javac/ImplicitClass/SourceLevelErrorPosition.out index 518350810a07e..1376183d9c610 100644 --- a/test/langtools/tools/javac/unnamedclass/SourceLevelErrorPosition.out +++ b/test/langtools/tools/javac/ImplicitClass/SourceLevelErrorPosition.out @@ -1,2 +1,2 @@ -SourceLevelErrorPosition.java:8:1: compiler.err.preview.feature.disabled.plural: (compiler.misc.feature.unnamed.classes) +SourceLevelErrorPosition.java:8:1: compiler.err.preview.feature.disabled.plural: (compiler.misc.feature.implicit.classes) 1 error diff --git a/test/langtools/tools/javac/ImplicitClass/TestImplicitClass.java b/test/langtools/tools/javac/ImplicitClass/TestImplicitClass.java new file mode 100644 index 0000000000000..673c31b621500 --- /dev/null +++ b/test/langtools/tools/javac/ImplicitClass/TestImplicitClass.java @@ -0,0 +1,91 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 8315458 + * @enablePreview + * @build Implicit TestImplicitClass + * @run main TestImplicitClass + * @summary Basic checks of java.lang.Class support for implicit classes + */ + +import java.lang.reflect.Modifier; + +public class TestImplicitClass { + public static void main(String... args) throws Exception { + Class implicitClass = Class.forName("Implicit"); + + /* + * From JEP 463 JLS changes: + * + * "An implicit class compilation unit implicitly declares a class that satisfies the following + * properties: + * It is always a top level class. + * It is never abstract (8.1.1.1). + * It is never synthetic (13.1.11) + * It is always final (8.1.1.2). + * It is always a member of unnamed package (7.4.2) and has package access. + * Its direct superclass type is always Object (8.1.4). + * It never has any direct superinterface types (8.1.5). + */ + + check(!(implicitClass.isInterface() || + implicitClass.isEnum() || + implicitClass.isRecord() || + implicitClass.isHidden()), + "Implicit class was not a normal class"); + + check(!(implicitClass.isLocalClass() || + implicitClass.isMemberClass() || + implicitClass.isPrimitive() || + implicitClass.isArray()), + "Implicit class was not top-level"); + + check("Implicit".equals(implicitClass.getName()), "Unexpected Class.getName result"); + check("Implicit".equals(implicitClass.getTypeName()), "Unexpected Class.getTypeName result"); + check("Implicit".equals(implicitClass.getSimpleName()), "Unexpected Class.getSimpleName result"); + check("Implicit".equals(implicitClass.getCanonicalName()), "Unexpected Class.getCanonicalName result"); + + int modifiers = implicitClass.getModifiers(); + check((modifiers & Modifier.ABSTRACT) == 0, "Implicit class was abstract"); + check((modifiers & Modifier.FINAL) != 0, "Implicit class was not final"); + check((modifiers & (Modifier.PUBLIC | + Modifier.PRIVATE | + Modifier.PROTECTED)) == 0, "Implicit class was not package access"); + + check(!implicitClass.isSynthetic(), "Implicit class was synthetic"); + + check("".equals(implicitClass.getPackage().getName()), "Implicit class not in an implicit package"); + + check(implicitClass.getSuperclass() == Object.class, "Superclass was not java.lang.Object"); + + check(implicitClass.getInterfaces().length == 0, "Implicit class had super interfaces"); + } + + private static void check(boolean predicate, String message) { + if (!predicate) { + throw new RuntimeException(message); + } + } +} diff --git a/test/langtools/tools/javac/diags/examples/UnnamedClass.java b/test/langtools/tools/javac/diags/examples/ImplicitClass.java similarity index 96% rename from test/langtools/tools/javac/diags/examples/UnnamedClass.java rename to test/langtools/tools/javac/diags/examples/ImplicitClass.java index c78dcf14e6c44..c032bdefeffcd 100644 --- a/test/langtools/tools/javac/diags/examples/UnnamedClass.java +++ b/test/langtools/tools/javac/diags/examples/ImplicitClass.java @@ -21,7 +21,7 @@ * questions. */ - // key: compiler.misc.feature.unnamed.classes + // key: compiler.misc.feature.implicit.classes // key: compiler.warn.preview.feature.use.plural // options: -source ${jdk.version} --enable-preview -Xlint:preview diff --git a/test/langtools/tools/javac/diags/examples/UnnamedClassBad-Filename.java b/test/langtools/tools/javac/diags/examples/ImplicitClassBad-Filename.java similarity index 100% rename from test/langtools/tools/javac/diags/examples/UnnamedClassBad-Filename.java rename to test/langtools/tools/javac/diags/examples/ImplicitClassBad-Filename.java diff --git a/test/langtools/tools/javac/diags/examples/UnnamedClassHasPackage.java b/test/langtools/tools/javac/diags/examples/ImplicitClassHasPackage.java similarity index 92% rename from test/langtools/tools/javac/diags/examples/UnnamedClassHasPackage.java rename to test/langtools/tools/javac/diags/examples/ImplicitClassHasPackage.java index 96601f9a9458f..c90e0f3dfbcd2 100644 --- a/test/langtools/tools/javac/diags/examples/UnnamedClassHasPackage.java +++ b/test/langtools/tools/javac/diags/examples/ImplicitClassHasPackage.java @@ -21,12 +21,12 @@ * questions. */ - // key: compiler.err.unnamed.class.should.not.have.package.declaration + // key: compiler.err.implicit.class.should.not.have.package.declaration // key: compiler.note.preview.filename // key: compiler.note.preview.recompile // options: -source ${jdk.version} --enable-preview -package unnamed.classes; +package implicit.classes; public static void main(String... args) { } diff --git a/test/langtools/tools/javac/diags/examples/UnnamedClassNoMain.java b/test/langtools/tools/javac/diags/examples/ImplicitClassNoMain.java similarity index 95% rename from test/langtools/tools/javac/diags/examples/UnnamedClassNoMain.java rename to test/langtools/tools/javac/diags/examples/ImplicitClassNoMain.java index 0caacb60e6619..4c82341f5acaa 100644 --- a/test/langtools/tools/javac/diags/examples/UnnamedClassNoMain.java +++ b/test/langtools/tools/javac/diags/examples/ImplicitClassNoMain.java @@ -21,7 +21,7 @@ * questions. */ - // key: compiler.err.unnamed.class.does.not.have.main.method + // key: compiler.err.implicit.class.does.not.have.main.method // key: compiler.note.preview.filename // key: compiler.note.preview.recompile // options: -source ${jdk.version} --enable-preview diff --git a/test/langtools/tools/javac/launcher/SourceLauncherTest.java b/test/langtools/tools/javac/launcher/SourceLauncherTest.java index 06190546d49f7..9e2ef06936933 100644 --- a/test/langtools/tools/javac/launcher/SourceLauncherTest.java +++ b/test/langtools/tools/javac/launcher/SourceLauncherTest.java @@ -564,7 +564,7 @@ public void testMainNotStatic(Path base) throws IOException { tb.writeJavaFiles(base, "class NotStatic { public void main(String... args) { } }"); testError(base.resolve("NotStatic.java"), "", - "error: 'main' method is not declared 'public static'"); + "error: can't find main(String[]) method in class: NotStatic"); } @Test @@ -572,7 +572,7 @@ public void testMainNotVoid(Path base) throws IOException { tb.writeJavaFiles(base, "class NotVoid { public static int main(String... args) { return 0; } }"); testError(base.resolve("NotVoid.java"), "", - "error: 'main' method is not declared with a return type of 'void'"); + "error: can't find main(String[]) method in class: NotVoid"); } @Test diff --git a/test/langtools/tools/javac/parser/JavacParserTest.java b/test/langtools/tools/javac/parser/JavacParserTest.java index 14f0c506cd1a0..f9ccb39c05e1d 100644 --- a/test/langtools/tools/javac/parser/JavacParserTest.java +++ b/test/langtools/tools/javac/parser/JavacParserTest.java @@ -2472,7 +2472,7 @@ void main() { result, """ \n\ - /*synthetic*/ final class Test { + final class Test { \n\ void main() { (ERROR); diff --git a/test/langtools/tools/javac/processing/model/element/TestUnnamedClass.java b/test/langtools/tools/javac/processing/model/element/TestImplicitClass.java similarity index 61% rename from test/langtools/tools/javac/processing/model/element/TestUnnamedClass.java rename to test/langtools/tools/javac/processing/model/element/TestImplicitClass.java index 13ea7e0fa6d85..bad9fa15f8b4e 100644 --- a/test/langtools/tools/javac/processing/model/element/TestUnnamedClass.java +++ b/test/langtools/tools/javac/processing/model/element/TestImplicitClass.java @@ -24,19 +24,19 @@ /* * @test * @bug 8306112 8309568 - * @summary Test basic processing of unnamed classes. + * @summary Test basic processing of implicitly declared classes. * @library /tools/javac/lib * @modules java.compiler * jdk.compiler - * @build JavacTestingAbstractProcessor TestUnnamedClass - * @compile -processor TestUnnamedClass --enable-preview --release ${jdk.version} Anonymous.java + * @build JavacTestingAbstractProcessor TestImplicitClass + * @compile -processor TestImplicitClass --enable-preview --release ${jdk.version} Anonymous.java * @clean Nameless.java - * @compile/process -processor TestUnnamedClass -proc:only --enable-preview --release ${jdk.version} -Xprefer:newer -AclassOnly Anonymous Nameless + * @compile/process -processor TestImplicitClass -proc:only --enable-preview --release ${jdk.version} -Xprefer:newer -AclassOnly Anonymous Nameless */ // The first @compile line processes Anonymous.java and a -// Nameless.java class generated using the Filer. Both of those -// unnamed classes are then compiled down to class files. The second +// Nameless.java class generated using the Filer. Both of those implicitly +// declared classes are then compiled down to class files. The second // @compile line, as directed by -Xprefer:newer, builds and checks the // language model objects constructed from those class files, ignoring // any source files for those types. @@ -52,12 +52,12 @@ import javax.tools.JavaFileObject; /** - * Test annotation processing representation of unnamed classes + * Test annotation processing representation of implicitly classes * constructed from either a source file or a class file. */ @SuppressWarnings("preview") @SupportedOptions("classOnly") -public class TestUnnamedClass extends JavacTestingAbstractProcessor { +public class TestImplicitClass extends JavacTestingAbstractProcessor { private static int round = 0; private static int checkedClassesCount = 0; @@ -72,14 +72,14 @@ public boolean process(Set annotations, // Don't generate any files if testing pre-existing class files if (!classOnly) { - generateUnnamed(); + generateImplicitClass(); } } else { if (!roundEnv.processingOver()) { // Test generated file(s) checkRoots(roundEnv); } else { // Should have checked at least one class before processing is over if (checkedClassesCount == 0) { - messager.printError("No unnamed classes checked."); + messager.printError("No implicitly declared classes checked."); } } } @@ -95,11 +95,11 @@ private void checkRoots(RoundEnvironment roundEnv) { checkUnnamedClassProperties(type); } if (checks == 0) { - messager.printError("No checking done of any candidate unnamed classes."); + messager.printError("No checking done of any candidate implicitly declared classes."); } } - private void generateUnnamed() { + private void generateImplicitClass() { try { String unnamedSource = """ void main() { @@ -117,12 +117,11 @@ void main() { } /* - * From JEP 445 JLS changes: + * From JEP 463 JLS changes: * - * "An unnamed class compilation unit implicitly declares a class that satisfies the following - * properties: + * "An implicitly declared class compilation unit implicitly declares a class that + * satisfies the following properties: * It is always a top level class. - * It is always an unnamed class (it has no canonical or fully qualified name (6.7)). * It is never abstract (8.1.1.1). * It is always final (8.1.1.2). * It is always a member of an unnamed package (7.4.2) and has package access. @@ -130,8 +129,8 @@ void main() { * It never has any direct superinterface types (8.1.5). * * The body of the class contains every ClassMemberDeclaration - * from the unnamed class compilation unit. It is not possible for - * an unnamed class compilation unit to declare an instance + * from the implicitly declared class compilation unit. It is not possible for + * an implicitly declared class compilation unit to declare an instance * initializer, static initializer, or constructor. * * It has an implicitly declared default constructor (8.8.9). @@ -141,63 +140,55 @@ void main() { * * It is a compile-time error if this class does not declare a candidate main method (12.1.4). */ - void checkUnnamedClassProperties(TypeElement unnamedClass) { + void checkUnnamedClassProperties(TypeElement implicitClass) { checkedClassesCount++; - Name expectedName = unnamedClass.getSimpleName(); + Name expectedName = implicitClass.getSimpleName(); System.out.println("Checking " + expectedName); - if (unnamedClass.getNestingKind() != NestingKind.TOP_LEVEL) { - messager.printError("Unnamed class is not top-level.", unnamedClass); + if (implicitClass.getNestingKind() != NestingKind.TOP_LEVEL) { + messager.printError("Implicitly declared class is not top-level.", implicitClass); } - if (!unnamedClass.isUnnamed()) { - messager.printError("Unnamed class is _not_ indicated as such.", unnamedClass); + if (!implicitClass.getQualifiedName().equals(expectedName)) { + messager.printError("Implicitly declared class qualified name does not match simple name.", implicitClass); } - if (unnamedClass.getSimpleName().isEmpty()) { - messager.printError("Unnamed class has an empty simple name.", unnamedClass); - } - - if (!unnamedClass.getQualifiedName().isEmpty()) { - messager.printError("Unnamed class does _not_ have an empty qualified name.", unnamedClass); - } - - Name binaryName = elements.getBinaryName(unnamedClass); + Name binaryName = elements.getBinaryName(implicitClass); if (!expectedName.equals(binaryName)) { - messager.printError("Unnamed has unexpected binary name" + binaryName + ".", unnamedClass); + messager.printError("Implicitly declared class has unexpected binary name" + binaryName + ".", implicitClass); } - if (unnamedClass.getModifiers().contains(Modifier.ABSTRACT)) { - messager.printError("Unnamed class is abstract.", unnamedClass); + if (implicitClass.getModifiers().contains(Modifier.ABSTRACT)) { + messager.printError("Implicitly declared class is abstract.", implicitClass); } - if (!unnamedClass.getModifiers().contains(Modifier.FINAL)) { - messager.printError("Unnamed class is _not_ final.", unnamedClass); + if (!implicitClass.getModifiers().contains(Modifier.FINAL)) { + messager.printError("Implicitly declared class is _not_ final.", implicitClass); } - if (!elements.getPackageOf(unnamedClass).isUnnamed()) { - messager.printError("Unnamed class is _not_ in an unnamed package.", unnamedClass); + if (!elements.getPackageOf(implicitClass).isUnnamed()) { + messager.printError("Implicitly declared class is _not_ in an unnamed package.", implicitClass); } - if (unnamedClass.getModifiers().contains(Modifier.PUBLIC) || - unnamedClass.getModifiers().contains(Modifier.PRIVATE) || - unnamedClass.getModifiers().contains(Modifier.PROTECTED)) { - messager.printError("Unnamed class does _not_ have package access.", unnamedClass); + if (implicitClass.getModifiers().contains(Modifier.PUBLIC) || + implicitClass.getModifiers().contains(Modifier.PRIVATE) || + implicitClass.getModifiers().contains(Modifier.PROTECTED)) { + messager.printError("Implicitly declared class does _not_ have package access.", implicitClass); } - if ( !types.isSameType(unnamedClass.getSuperclass(), + if ( !types.isSameType(implicitClass.getSuperclass(), elements.getTypeElement("java.lang.Object").asType())) { - messager.printError("Unnamed class does _not_ have java.lang.Object as a superclass.", unnamedClass); + messager.printError("Implicitly declared class does _not_ have java.lang.Object as a superclass.", implicitClass); } - if (!unnamedClass.getInterfaces().isEmpty()) { - messager.printError("Unnamed class has superinterfaces.", unnamedClass); + if (!implicitClass.getInterfaces().isEmpty()) { + messager.printError("Implicitly declared class has superinterfaces.", implicitClass); } - List ctors = constructorsIn(unnamedClass.getEnclosedElements()); + List ctors = constructorsIn(implicitClass.getEnclosedElements()); if (ctors.size() != 1 ) { - messager.printError("Did not find exactly one constructor", unnamedClass); + messager.printError("Did not find exactly one constructor", implicitClass); } if (!classOnly) { @@ -208,7 +199,7 @@ void checkUnnamedClassProperties(TypeElement unnamedClass) { } } - List methods = methodsIn(unnamedClass.getEnclosedElements()); + List methods = methodsIn(implicitClass.getEnclosedElements()); // Just look for a method named "main"; don't check the other details. boolean mainFound = false; Name mainName = elements.getName("main"); @@ -220,7 +211,7 @@ void checkUnnamedClassProperties(TypeElement unnamedClass) { } if (!mainFound) { - messager.printError("No main mehtod found", unnamedClass); + messager.printError("No main method found", implicitClass); } } } diff --git a/test/langtools/tools/javac/unnamed/UnnamedClassRecovery.out b/test/langtools/tools/javac/unnamed/UnnamedClassRecovery.out deleted file mode 100644 index 0389b156f0193..0000000000000 --- a/test/langtools/tools/javac/unnamed/UnnamedClassRecovery.out +++ /dev/null @@ -1,4 +0,0 @@ -UnnamedClassRecovery.java:7:33: compiler.err.expected: ';' -- compiler.note.preview.filename: UnnamedClassRecovery.java, DEFAULT -- compiler.note.preview.recompile -1 error From 33b26f79a986d015abdcd84b89842adc0a4bde64 Mon Sep 17 00:00:00 2001 From: Viktor Klang Date: Thu, 30 Nov 2023 14:45:23 +0000 Subject: [PATCH 014/143] 8319123: Implement JEP 461: Stream Gatherers (Preview) Reviewed-by: tvaleev, alanb, psandoz --- .../java/util/stream/AbstractPipeline.java | 45 +- .../classes/java/util/stream/Gatherer.java | 593 ++++++++++++++ .../classes/java/util/stream/GathererOp.java | 754 ++++++++++++++++++ .../classes/java/util/stream/Gatherers.java | 707 ++++++++++++++++ .../java/util/stream/ReferencePipeline.java | 26 +- .../classes/java/util/stream/Stream.java | 54 ++ .../java/util/stream/package-info.java | 13 + .../jdk/internal/javac/PreviewFeature.java | 2 + .../jdk/java/util/stream/GathererAPITest.java | 230 ++++++ test/jdk/java/util/stream/GathererTest.java | 479 +++++++++++ test/jdk/java/util/stream/GatherersTest.java | 368 +++++++++ .../util/stream/DefaultMethodStreams.java | 2 +- .../ops/ref/BenchmarkGathererImpls.java | 272 +++++++ .../util/stream/ops/ref/GatherFMRPar.java | 136 ++++ .../util/stream/ops/ref/GatherFMRSeq.java | 130 +++ .../ops/ref/GatherFlatMapInfinitySeq.java | 108 +++ .../util/stream/ops/ref/GatherFlatMapSeq.java | 105 +++ .../util/stream/ops/ref/GatherMapPar.java | 171 ++++ .../util/stream/ops/ref/GatherMapSeq.java | 183 +++++ .../util/stream/ops/ref/GatherMiscPar.java | 127 +++ .../util/stream/ops/ref/GatherMiscSeq.java | 164 ++++ .../util/stream/ops/ref/GatherReducePar.java | 94 +++ .../util/stream/ops/ref/GatherReduceSeq.java | 104 +++ .../stream/ops/ref/GatherWhileOrdered.java | 128 +++ 24 files changed, 4988 insertions(+), 7 deletions(-) create mode 100644 src/java.base/share/classes/java/util/stream/Gatherer.java create mode 100644 src/java.base/share/classes/java/util/stream/GathererOp.java create mode 100644 src/java.base/share/classes/java/util/stream/Gatherers.java create mode 100644 test/jdk/java/util/stream/GathererAPITest.java create mode 100644 test/jdk/java/util/stream/GathererTest.java create mode 100644 test/jdk/java/util/stream/GatherersTest.java create mode 100644 test/micro/org/openjdk/bench/java/util/stream/ops/ref/BenchmarkGathererImpls.java create mode 100644 test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherFMRPar.java create mode 100644 test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherFMRSeq.java create mode 100644 test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherFlatMapInfinitySeq.java create mode 100644 test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherFlatMapSeq.java create mode 100644 test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherMapPar.java create mode 100644 test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherMapSeq.java create mode 100644 test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherMiscPar.java create mode 100644 test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherMiscSeq.java create mode 100644 test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherReducePar.java create mode 100644 test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherReduceSeq.java create mode 100644 test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherWhileOrdered.java diff --git a/src/java.base/share/classes/java/util/stream/AbstractPipeline.java b/src/java.base/share/classes/java/util/stream/AbstractPipeline.java index cdf8a6056181f..db75384e4d3de 100644 --- a/src/java.base/share/classes/java/util/stream/AbstractPipeline.java +++ b/src/java.base/share/classes/java/util/stream/AbstractPipeline.java @@ -85,7 +85,7 @@ abstract class AbstractPipeline> * The "upstream" pipeline, or null if this is the source stage. */ @SuppressWarnings("rawtypes") - private final AbstractPipeline previousStage; + protected final AbstractPipeline previousStage; /** * The operation flags for the intermediate operation represented by this @@ -188,9 +188,13 @@ abstract class AbstractPipeline> * Constructor for appending an intermediate operation stage onto an * existing pipeline. * + * The previous stage must be unlinked and unconsumed. + * * @param previousStage the upstream pipeline stage * @param opFlags the operation flags for the new stage, described in * {@link StreamOpFlag} + * @throws IllegalStateException if previousStage is already linked or + * consumed */ AbstractPipeline(AbstractPipeline previousStage, int opFlags) { if (previousStage.linkedOrConsumed) @@ -205,6 +209,41 @@ abstract class AbstractPipeline> this.depth = previousStage.depth + 1; } + /** + * Constructor for replacing an intermediate operation stage onto an + * existing pipeline. + * + * @param previousPreviousStage the upstream pipeline stage of the upstream pipeline stage + * @param previousStage the upstream pipeline stage + * @param opFlags the operation flags for the new stage, described in + * {@link StreamOpFlag} + * @throws IllegalStateException if previousStage is already linked or + * consumed + */ + protected AbstractPipeline(AbstractPipeline previousPreviousStage, AbstractPipeline previousStage, int opFlags) { + if (previousStage.linkedOrConsumed || !previousPreviousStage.linkedOrConsumed || previousPreviousStage.nextStage != previousStage || previousStage.previousStage != previousPreviousStage) + throw new IllegalStateException(MSG_STREAM_LINKED); + + previousStage.linkedOrConsumed = true; + + previousPreviousStage.nextStage = this; + + this.previousStage = previousPreviousStage; + this.sourceOrOpFlags = opFlags & StreamOpFlag.OP_MASK; + this.combinedFlags = StreamOpFlag.combineOpFlags(opFlags, previousPreviousStage.combinedFlags); + this.sourceStage = previousPreviousStage.sourceStage; + this.depth = previousPreviousStage.depth + 1; + } + + /** + * Checks that the current stage has not been already linked or consumed, + * and then sets this stage as being linked or consumed. + */ + protected void linkOrConsume() { + if (linkedOrConsumed) + throw new IllegalStateException(MSG_STREAM_LINKED); + linkedOrConsumed = true; + } // Terminal evaluation methods @@ -402,7 +441,7 @@ protected final boolean hasAnyStateful() { * operation. */ @SuppressWarnings("unchecked") - private Spliterator sourceSpliterator(int terminalFlags) { + protected Spliterator sourceSpliterator(int terminalFlags) { // Get the source spliterator of the pipeline Spliterator spliterator = null; if (sourceStage.sourceSpliterator != null) { @@ -740,6 +779,6 @@ Node opEvaluateParallel(PipelineHelper helper, @SuppressWarnings("unchecked") Spliterator opEvaluateParallelLazy(PipelineHelper helper, Spliterator spliterator) { - return opEvaluateParallel(helper, spliterator, i -> (E_OUT[]) new Object[i]).spliterator(); + return opEvaluateParallel(helper, spliterator, Nodes.castingArray()).spliterator(); } } diff --git a/src/java.base/share/classes/java/util/stream/Gatherer.java b/src/java.base/share/classes/java/util/stream/Gatherer.java new file mode 100644 index 0000000000000..ced746cd67356 --- /dev/null +++ b/src/java.base/share/classes/java/util/stream/Gatherer.java @@ -0,0 +1,593 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +package java.util.stream; + +import jdk.internal.javac.PreviewFeature; +import jdk.internal.vm.annotation.ForceInline; + +import java.util.*; +import java.util.function.BiConsumer; +import java.util.function.BinaryOperator; +import java.util.function.Supplier; + + +/** + * An intermediate operation that transforms a stream of input elements into a + * stream of output elements, optionally applying a final action when the end of + * the upstream is reached. The transformation may be stateless or stateful, + * and may buffer input before producing any output. + * + *

Gatherer operations can be performed either sequentially, + * or be parallelized -- if a combiner function is supplied. + * + *

There are many examples of gathering operations, including but not + * limited to: + * grouping elements into batches (windowing functions); + * de-duplicating consecutively similar elements; incremental accumulation + * functions (prefix scan); incremental reordering functions, etc. The class + * {@link java.util.stream.Gatherers} provides implementations of common + * gathering operations. + * + * @apiNote + *

A {@code Gatherer} is specified by four functions that work together to + * process input elements, optionally using intermediate state, and optionally + * perform a final action at the end of input. They are:

    + *
  • creating a new, potentially mutable, state ({@link #initializer()})
  • + *
  • integrating a new input element ({@link #integrator()})
  • + *
  • combining two states into one ({@link #combiner()})
  • + *
  • performing an optional final action ({@link #finisher()})
  • + *
+ * + *

Each invocation of {@link #initializer()}, {@link #integrator()}, + * {@link #combiner()}, and {@link #finisher()} must return a semantically + * identical result. + * + *

Implementations of Gatherer must not capture, retain, or expose to + * other threads, the references to the state instance, or the downstream + * {@link Downstream} for longer than the invocation duration of the method + * which they are passed to. + * + *

Performing a gathering operation with a {@code Gatherer} should produce a + * result equivalent to: + * + * {@snippet lang = java: + * Gatherer.Downstream downstream = ...; + * A state = gatherer.initializer().get(); + * for (T t : data) { + * gatherer.integrator().integrate(state, t, downstream); + * } + * gatherer.finisher().accept(state, downstream); + * } + * + *

However, the library is free to partition the input, perform the + * integrations on the partitions, and then use the combiner function to + * combine the partial results to achieve a gathering operation. (Depending + * on the specific gathering operation, this may perform better or worse, + * depending on the relative cost of the integrator and combiner functions.) + * + *

In addition to the predefined implementations in {@link Gatherers}, the + * static factory methods {@code of(...)} and {@code ofSequential(...)} + * can be used to construct gatherers. For example, you could create a gatherer + * that implements the equivalent of + * {@link java.util.stream.Stream#map(java.util.function.Function)} with: + * + * {@snippet lang = java: + * public static Gatherer map(Function mapper) { + * return Gatherer.of( + * (unused, element, downstream) -> // integrator + * downstream.push(mapper.apply(element)) + * ); + * } + * } + * + *

Gatherers are designed to be composed; two or more Gatherers can + * be composed into a single Gatherer using the {@link #andThen(Gatherer)} + * method. + * + * {@snippet lang = java: + * // using the implementation of `map` as seen above + * Gatherer increment = map(i -> i + 1); + * + * Gatherer toString = map(i -> i.toString()); + * + * Gatherer incrementThenToString = increment.andThen(toString); + * } + * + *

As an example, a Gatherer implementing a sequential Prefix Scan could + * be done the following way: + * + * {@snippet lang = java: + * public static Gatherer scan( + * Supplier initial, + * BiFunction scanner) { + * + * class State { + * R current = initial.get(); + * } + * + * return Gatherer.ofSequential( + * State::new, + * Gatherer.Integrator.ofGreedy((state, element, downstream) -> { + * state.current = scanner.apply(state.current, element); + * return downstream.push(state.current); + * }) + * ); + * } + * } + * + *

Example of usage: + * + * {@snippet lang = java: + * // will contain: ["1", "12", "123", "1234", "12345", "123456", "1234567", "12345678", "123456789"] + * List numberStrings = + * Stream.of(1,2,3,4,5,6,7,8,9) + * .gather( + * scan(() -> "", (string, number) -> string + number) + * ) + * .toList(); + * } + * + * @implSpec Libraries that implement transformations based on {@code Gatherer}, + * such as {@link Stream#gather(Gatherer)}, must adhere to the following + * constraints: + *

    + *
  • Gatherers whose initializer is {@link #defaultInitializer()} are + * considered to be stateless, and invoking their initializer is optional. + *
  • + *
  • Gatherers whose integrator is an instance of {@link Integrator.Greedy} + * can be assumed not to short-circuit, and the return value of invoking + * {@link Integrator#integrate(Object, Object, Downstream)} does not need to + * be inspected.
  • + *
  • The first argument passed to the integration function, both + * arguments passed to the combiner function, and the argument passed to the + * finisher function must be the result of a previous invocation of the + * initializer or combiner functions.
  • + *
  • The implementation should not do anything with the result of any of + * the initializer or combiner functions other than to + * pass them again to the integrator, combiner, or finisher functions.
  • + *
  • Once a state object is passed to the combiner or finisher function, + * it is never passed to the integrator function again.
  • + *
  • When the integrator function returns {@code false}, + * it shall be interpreted just as if there were no more elements to pass + * it.
  • + *
  • For parallel evaluation, the gathering implementation must manage + * that the input is properly partitioned, that partitions are processed + * in isolation, and combining happens only after integration is complete + * for both partitions.
  • + *
  • Gatherers whose combiner is {@link #defaultCombiner()} may only be + * evaluated sequentially. All other combiners allow the operation to be + * parallelized by initializing each partition in separation, invoking + * the integrator until it returns {@code false}, and then joining each + * partitions state using the combiner, and then invoking the finisher on + * the joined state. Outputs and state later in the input sequence will + * be discarded if processing an earlier partition short-circuits.
  • + *
  • Gatherers whose finisher is {@link #defaultFinisher()} are considered + * to not have an end-of-stream hook and invoking their finisher is + * optional.
  • + *
+ * + * @see Stream#gather(Gatherer) + * @see Gatherers + * + * @param the type of input elements to the gatherer operation + * @param the potentially mutable state type of the gatherer operation + * (often hidden as an implementation detail) + * @param the type of output elements from the gatherer operation + * @since 22 + */ +@PreviewFeature(feature = PreviewFeature.Feature.STREAM_GATHERERS) +public interface Gatherer { + /** + * A function that produces an instance of the intermediate state used for + * this gathering operation. + * + * @implSpec The implementation in this interface returns + * {@link #defaultInitializer()}. + * + * @return A function that produces an instance of the intermediate state + * used for this gathering operation + */ + default Supplier initializer() { + return defaultInitializer(); + }; + + /** + * A function which integrates provided elements, potentially using + * the provided intermediate state, optionally producing output to the + * provided {@link Downstream}. + * + * @return a function which integrates provided elements, potentially using + * the provided state, optionally producing output to the provided + * Downstream + */ + Integrator integrator(); + + /** + * A function which accepts two intermediate states and combines them into + * one. + * + * @implSpec The implementation in this interface returns + * {@link #defaultCombiner()}. + * + * @return a function which accepts two intermediate states and combines + * them into one + */ + default BinaryOperator combiner() { + return defaultCombiner(); + } + + /** + * A function which accepts the final intermediate state + * and a {@link Downstream} object, allowing to perform a final action at + * the end of input elements. + * + * @implSpec The implementation in this interface returns + * {@link #defaultFinisher()}. + * + * @return a function which transforms the intermediate result to the final + * result(s) which are then passed on to the provided Downstream + */ + default BiConsumer> finisher() { + return defaultFinisher(); + } + + /** + * Returns a composed Gatherer which connects the output of this Gatherer + * to the input of that Gatherer. + * + * @implSpec The implementation in this interface returns a new Gatherer + * which is semantically equivalent to the combination of + * {@code this} and {@code that} gatherer. + * + * @param that the other gatherer + * @param The type of output of that Gatherer + * @throws NullPointerException if the argument is {@code null} + * @return returns a composed Gatherer which connects the output of this + * Gatherer as input that Gatherer + */ + default Gatherer andThen(Gatherer that) { + Objects.requireNonNull(that); + return Gatherers.Composite.of(this, that); + } + + /** + * Returns an initializer which is the default initializer of a Gatherer. + * The returned initializer identifies that the owner Gatherer is stateless. + * + * @implSpec This method always returns the same instance. + * + * @see Gatherer#initializer() + * @return the instance of the default initializer + * @param the type of the state of the returned initializer + */ + static Supplier defaultInitializer() { + return Gatherers.Value.DEFAULT.initializer(); + } + + /** + * Returns a combiner which is the default combiner of a Gatherer. + * The returned combiner identifies that the owning Gatherer must only + * be evaluated sequentially. + * + * @implSpec This method always returns the same instance. + * + * @see Gatherer#finisher() + * @return the instance of the default combiner + * @param the type of the state of the returned combiner + */ + static BinaryOperator defaultCombiner() { + return Gatherers.Value.DEFAULT.combiner(); + } + + /** + * Returns a {@code finisher} which is the default finisher of + * a {@code Gatherer}. + * The returned finisher identifies that the owning Gatherer performs + * no additional actions at the end of input. + * + * @implSpec This method always returns the same instance. + * + * @see Gatherer#finisher() + * @return the instance of the default finisher + * @param the type of the state of the returned finisher + * @param the type of the Downstream of the returned finisher + */ + static BiConsumer> defaultFinisher() { + return Gatherers.Value.DEFAULT.finisher(); + } + + /** + * Returns a new, sequential, and stateless {@code Gatherer} described by + * the given {@code integrator}. + * + * @param integrator the integrator function for the new gatherer + * @param the type of input elements for the new gatherer + * @param the type of results for the new gatherer + * @throws NullPointerException if the argument is {@code null} + * @return the new {@code Gatherer} + */ + static Gatherer ofSequential( + Integrator integrator) { + return of( + defaultInitializer(), + integrator, + defaultCombiner(), + defaultFinisher() + ); + } + + /** + * Returns a new, sequential, and stateless {@code Gatherer} described by + * the given {@code integrator} and {@code finisher}. + * + * @param integrator the integrator function for the new gatherer + * @param finisher the finisher function for the new gatherer + * @param the type of input elements for the new gatherer + * @param the type of results for the new gatherer + * @throws NullPointerException if any argument is {@code null} + * @return the new {@code Gatherer} + */ + static Gatherer ofSequential( + Integrator integrator, + BiConsumer> finisher) { + return of( + defaultInitializer(), + integrator, + defaultCombiner(), + finisher + ); + } + + /** + * Returns a new, sequential, {@code Gatherer} described by the given + * {@code initializer} and {@code integrator}. + * + * @param initializer the initializer function for the new gatherer + * @param integrator the integrator function for the new gatherer + * @param the type of input elements for the new gatherer + * @param the type of state for the new gatherer + * @param the type of results for the new gatherer + * @throws NullPointerException if any argument is {@code null} + * @return the new {@code Gatherer} + */ + static Gatherer ofSequential( + Supplier initializer, + Integrator integrator) { + return of( + initializer, + integrator, + defaultCombiner(), + defaultFinisher() + ); + } + + /** + * Returns a new, sequential, {@code Gatherer} described by the given + * {@code initializer}, {@code integrator}, and {@code finisher}. + * + * @param initializer the initializer function for the new gatherer + * @param integrator the integrator function for the new gatherer + * @param finisher the finisher function for the new gatherer + * @param the type of input elements for the new gatherer + * @param the type of state for the new gatherer + * @param the type of results for the new gatherer + * @throws NullPointerException if any argument is {@code null} + * @return the new {@code Gatherer} + */ + static Gatherer ofSequential( + Supplier initializer, + Integrator integrator, + BiConsumer> finisher) { + return of( + initializer, + integrator, + defaultCombiner(), + finisher + ); + } + + /** + * Returns a new, parallelizable, and stateless {@code Gatherer} described + * by the given {@code integrator}. + * + * @param integrator the integrator function for the new gatherer + * @param the type of input elements for the new gatherer + * @param the type of results for the new gatherer + * @throws NullPointerException if any argument is {@code null} + * @return the new {@code Gatherer} + */ + static Gatherer of(Integrator integrator) { + return of( + defaultInitializer(), + integrator, + Gatherers.Value.DEFAULT.statelessCombiner, + defaultFinisher() + ); + } + + /** + * Returns a new, parallelizable, and stateless {@code Gatherer} described + * by the given {@code integrator} and {@code finisher}. + * + * @param integrator the integrator function for the new gatherer + * @param finisher the finisher function for the new gatherer + * @param the type of input elements for the new gatherer + * @param the type of results for the new gatherer + * @throws NullPointerException if any argument is {@code null} + * @return the new {@code Gatherer} + */ + static Gatherer of( + Integrator integrator, + BiConsumer> finisher) { + return of( + defaultInitializer(), + integrator, + Gatherers.Value.DEFAULT.statelessCombiner, + finisher + ); + } + + /** + * Returns a new, parallelizable, {@code Gatherer} described by the given + * {@code initializer}, {@code integrator}, {@code combiner} and + * {@code finisher}. + * + * @param initializer the initializer function for the new gatherer + * @param integrator the integrator function for the new gatherer + * @param combiner the combiner function for the new gatherer + * @param finisher the finisher function for the new gatherer + * @param the type of input elements for the new gatherer + * @param the type of state for the new gatherer + * @param the type of results for the new gatherer + * @throws NullPointerException if any argument is {@code null} + * @return the new {@code Gatherer} + */ + static Gatherer of( + Supplier initializer, + Integrator integrator, + BinaryOperator combiner, + BiConsumer> finisher) { + return new Gatherers.GathererImpl<>( + Objects.requireNonNull(initializer), + Objects.requireNonNull(integrator), + Objects.requireNonNull(combiner), + Objects.requireNonNull(finisher) + ); + } + + /** + * A Downstream object is the next stage in a pipeline of operations, + * to which elements can be sent. + * @param the type of elements this downstream accepts + * @since 22 + */ + @FunctionalInterface + @PreviewFeature(feature = PreviewFeature.Feature.STREAM_GATHERERS) + interface Downstream { + + /** + * Pushes, if possible, the provided element downstream -- to the next + * stage in the pipeline. + * + * @implSpec If this method returns {@code false} then no further + * elements will be accepted and subsequent invocations of this method + * will return {@code false}. + * + * @param element the element to push downstream + * @return {@code true} if more elements can be sent, + * and {@code false} if not. + */ + boolean push(T element); + + /** + * Checks whether the next stage is known to not want + * any more elements sent to it. + * + * @apiNote This is best-effort only, once this returns {@code true} it + * should never return {@code false} again for the same instance. + * + * @implSpec The implementation in this interface returns {@code false}. + * + * @return {@code true} if this Downstream is known not to want any + * more elements sent to it, {@code false} if otherwise + */ + default boolean isRejecting() { return false; } + } + + /** + * An Integrator receives elements and processes them, + * optionally using the supplied state, and optionally sends incremental + * results downstream. + * + * @param the type of state used by this integrator + * @param the type of elements this integrator consumes + * @param the type of results this integrator can produce + * @since 22 + */ + @FunctionalInterface + @PreviewFeature(feature = PreviewFeature.Feature.STREAM_GATHERERS) + interface Integrator { + /** + * Performs an action given: the current state, the next element, and + * a downstream object; potentially inspecting and/or updating + * the state, optionally sending any number of elements downstream + * -- and then returns whether more elements are to be consumed or not. + * + * @param state The state to integrate into + * @param element The element to integrate + * @param downstream The downstream object of this integration + * @return {@code true} if subsequent integration is desired, + * {@code false} if not + */ + boolean integrate(A state, T element, Downstream downstream); + + /** + * Factory method for turning Integrator-shaped lambdas into + * Integrators. + * + * @param integrator a lambda to create as Integrator + * @return the given lambda as an Integrator + * @param the type of state used by this integrator + * @param the type of elements this integrator receives + * @param the type of results this integrator can produce + */ + @ForceInline + static Integrator of(Integrator integrator) { + return integrator; + } + + /** + * Factory method for turning Integrator-shaped lambdas into + * {@link Greedy} Integrators. + * + * @param greedy a lambda to create as Integrator.Greedy + * @return the given lambda as a Greedy Integrator + * @param the type of state used by this integrator + * @param the type of elements this integrator receives + * @param the type of results this integrator can produce + */ + @ForceInline + static Greedy ofGreedy(Greedy greedy) { + return greedy; + } + + /** + * Greedy Integrators consume all their input, and may only relay that + * the downstream does not want more elements. + * + * @implSpec This interface is used to communicate that no + * short-circuiting will be initiated by this Integrator, and that + * information can then be used to optimize evaluation. + * + * @param the type of state used by this integrator + * @param the type of elements this greedy integrator receives + * @param the type of results this greedy integrator can produce + * @since 22 + */ + @FunctionalInterface + @PreviewFeature(feature = PreviewFeature.Feature.STREAM_GATHERERS) + interface Greedy extends Integrator { } + } +} diff --git a/src/java.base/share/classes/java/util/stream/GathererOp.java b/src/java.base/share/classes/java/util/stream/GathererOp.java new file mode 100644 index 0000000000000..24b42fb28adb4 --- /dev/null +++ b/src/java.base/share/classes/java/util/stream/GathererOp.java @@ -0,0 +1,754 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +package java.util.stream; + +import jdk.internal.vm.annotation.ForceInline; + +import java.lang.invoke.MethodHandles; +import java.lang.invoke.VarHandle; +import java.util.Comparator; +import java.util.Iterator; +import java.util.Optional; +import java.util.Spliterator; +import java.util.concurrent.CountedCompleter; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.function.BiConsumer; +import java.util.function.BiFunction; +import java.util.function.BinaryOperator; +import java.util.function.Consumer; +import java.util.function.Function; +import java.util.function.IntFunction; +import java.util.function.Predicate; +import java.util.function.Supplier; +import java.util.function.ToDoubleFunction; +import java.util.function.ToIntFunction; +import java.util.function.ToLongFunction; +import java.util.stream.Gatherer.Integrator; + +/** + * Runtime machinery for evaluating Gatherers under different modes. + * The performance-critical code below contains some more complicated encodings: + * therefore, make sure to run benchmarks to verify changes to prevent regressions. + * + * @since 22 + */ +final class GathererOp extends ReferencePipeline { + @SuppressWarnings("unchecked") + static Stream of( + ReferencePipeline upstream, + Gatherer gatherer) { + // When attaching a gather-operation onto another gather-operation, + // we can fuse them into one + if (upstream.getClass() == GathererOp.class) { + return new GathererOp<>( + ((GathererOp) upstream).gatherer.andThen(gatherer), + (GathererOp) upstream); + } else { + return new GathererOp<>( + (ReferencePipeline) upstream, + gatherer); + } + } + + /* + * GathererOp.NodeBuilder is a lazy accumulator of elements with O(1) + * `append`, and O(8) `join` (concat). + * + * First `append` inflates a growable Builder, the O(8) for `join` is + * because we prefer to delegate to `append` for small concatenations to + * avoid excessive indirections (unbalanced Concat-trees) when joining many + * NodeBuilders together. + */ + static final class NodeBuilder implements Consumer { + private static final int LINEAR_APPEND_MAX = 8; // TODO revisit + static final class Builder extends SpinedBuffer implements Node { + Builder() { + } + } + + NodeBuilder() { + } + + private Builder rightMost; + private Node leftMost; + + private boolean isEmpty() { + return rightMost == null && leftMost == null; + } + + @Override + public void accept(X x) { + final var b = rightMost; + (b == null ? (rightMost = new NodeBuilder.Builder<>()) : b).accept(x); + } + + public NodeBuilder join(NodeBuilder that) { + if (isEmpty()) + return that; + + if (!that.isEmpty()) { + final var tb = that.build(); + if (rightMost != null && tb instanceof NodeBuilder.Builder + && tb.count() < LINEAR_APPEND_MAX) + tb.forEach(this); // Avoid conc for small nodes + else + leftMost = Nodes.conc(StreamShape.REFERENCE, this.build(), tb); + } + + return this; + } + + public Node build() { + if (isEmpty()) + return Nodes.emptyNode(StreamShape.REFERENCE); + + final var rm = rightMost; + + if (rm != null) { + rightMost = null; // Make sure builder isn't reused + final var lm = leftMost; + leftMost = (lm == null) ? rm : Nodes.conc(StreamShape.REFERENCE, lm, rm); + } + + return leftMost; + } + } + + static final class GatherSink implements Sink, Gatherer.Downstream { + private final Sink sink; + private final Gatherer gatherer; + private final Integrator integrator; // Optimization: reuse + private A state; + private boolean proceed = true; + + GatherSink(Gatherer gatherer, Sink sink) { + this.gatherer = gatherer; + this.sink = sink; + this.integrator = gatherer.integrator(); + } + + // java.util.stream.Sink contract below: + + @Override + public void begin(long size) { + final var initializer = gatherer.initializer(); + if (initializer != Gatherer.defaultInitializer()) // Optimization + state = initializer.get(); + sink.begin(size); + } + + @Override + public void accept(T t) { + /* Benchmarks have indicated that doing an unconditional write to + * `proceed` is more efficient than branching. + * We use `&=` here to prevent flips from `false` -> `true`. + * + * As of writing this, taking `greedy` or `stateless` into + * consideration at this point doesn't yield any performance gains. + */ + proceed &= integrator.integrate(state, t, this); + } + + @Override + public boolean cancellationRequested() { + return cancellationRequested(proceed); + } + + private boolean cancellationRequested(boolean knownProceed) { + // Highly performance sensitive + return !(knownProceed && (!sink.cancellationRequested() || (proceed = false))); + } + + @Override + public void end() { + final var finisher = gatherer.finisher(); + if (finisher != Gatherer.defaultFinisher()) // Optimization + finisher.accept(state, this); + sink.end(); + state = null; // GC assistance + } + + // Gatherer.Sink contract below: + + @Override + public boolean isRejecting() { + return !proceed; + } + + @Override + public boolean push(R r) { + var p = proceed; + if (p) + sink.accept(r); + return !cancellationRequested(p); + } + } + + private static int opFlagsFor(Integrator integrator) { + return integrator instanceof Integrator.Greedy + ? GREEDY_FLAGS : SHORT_CIRCUIT_FLAGS; + } + + private static final int DEFAULT_FLAGS = + StreamOpFlag.NOT_SORTED | StreamOpFlag.NOT_DISTINCT | + StreamOpFlag.NOT_SIZED; + + private static final int SHORT_CIRCUIT_FLAGS = + DEFAULT_FLAGS | StreamOpFlag.IS_SHORT_CIRCUIT; + + private static final int GREEDY_FLAGS = + DEFAULT_FLAGS; + + final Gatherer gatherer; + + /* + * This constructor is used for initial .gather() invocations + */ + private GathererOp(ReferencePipeline upstream, Gatherer gatherer) { + /* TODO this is a prime spot for pre-super calls to make sure that + * we only need to call `integrator()` once. + */ + super(upstream, opFlagsFor(gatherer.integrator())); + this.gatherer = gatherer; + } + + /* + * This constructor is used when fusing subsequent .gather() invocations + */ + @SuppressWarnings("unchecked") + private GathererOp(Gatherer gatherer, GathererOp upstream) { + super((AbstractPipeline) upstream.upstream(), + upstream, + opFlagsFor(gatherer.integrator())); + this.gatherer = gatherer; + } + + /* This allows internal access to the previous stage, + * to be able to fuse `gather` followed by `collect`. + */ + @SuppressWarnings("unchecked") + private AbstractPipeline upstream() { + return (AbstractPipeline) super.previousStage; + } + + @Override + boolean opIsStateful() { + // TODO + /* Currently GathererOp is always stateful, but what could be tried is: + * return gatherer.initializer() != Gatherer.defaultInitializer() + * || gatherer.combiner() == Gatherer.defaultCombiner() + * || gatherer.finisher() != Gatherer.defaultFinisher(); + */ + return true; + } + + @Override + Sink opWrapSink(int flags, Sink downstream) { + return new GatherSink<>(gatherer, downstream); + } + + /* + * This is used when evaluating .gather() operations interspersed with + * other Stream operations (in parallel) + */ + @Override + Node opEvaluateParallel(PipelineHelper unused1, + Spliterator spliterator, + IntFunction unused2) { + return this., Node>evaluate( + upstream().wrapSpliterator(spliterator), + true, + gatherer, + NodeBuilder::new, + NodeBuilder::accept, + NodeBuilder::join, + NodeBuilder::build + ); + } + + @Override + Spliterator opEvaluateParallelLazy(PipelineHelper helper, + Spliterator spliterator) { + /* + * There's a very small subset of possible Gatherers which would be + * expressible as Spliterators directly, + * - the Gatherer's initializer is Gatherer.defaultInitializer(), + * - the Gatherer's combiner is NOT Gatherer.defaultCombiner() + * - the Gatherer's finisher is Gatherer.defaultFinisher() + */ + return opEvaluateParallel(null, spliterator, null).spliterator(); + } + + /* gather-operations immediately followed by (terminal) collect-operations + * are fused together to avoid having to first run the gathering to + * completion and only after that be able to run the collection on top of + * the output. This is highly beneficial in the parallel case as stateful + * operations cannot be pipelined in the ReferencePipeline implementation. + * Overriding collect-operations overcomes this limitation. + */ + @Override + public CR collect(Collector c) { + linkOrConsume(); // Important for structural integrity + final var parallel = isParallel(); + final var u = upstream(); + return evaluate( + u.wrapSpliterator(u.sourceSpliterator(0)), + parallel, + gatherer, + c.supplier(), + c.accumulator(), + parallel ? c.combiner() : null, + c.characteristics().contains(Collector.Characteristics.IDENTITY_FINISH) + ? null + : c.finisher() + ); + } + + @Override + public RR collect(Supplier supplier, + BiConsumer accumulator, + BiConsumer combiner) { + linkOrConsume(); // Important for structural integrity + final var parallel = isParallel(); + final var u = upstream(); + return evaluate( + u.wrapSpliterator(u.sourceSpliterator(0)), + parallel, + gatherer, + supplier, + accumulator, + parallel ? (l, r) -> { + combiner.accept(l, r); + return l; + } : null, + null + ); + } + + /* + * evaluate(...) is the primary execution mechanism besides opWrapSink() + * and implements both sequential, hybrid parallel-sequential, and + * parallel evaluation + */ + private CR evaluate(final Spliterator spliterator, + final boolean parallel, + final Gatherer gatherer, + final Supplier collectorSupplier, + final BiConsumer collectorAccumulator, + final BinaryOperator collectorCombiner, + final Function collectorFinisher) { + + // There are two main sections here: sequential and parallel + + final var initializer = gatherer.initializer(); + final var integrator = gatherer.integrator(); + + // Optimization + final boolean greedy = integrator instanceof Integrator.Greedy; + + // Sequential evaluation section starts here. + + // Sequential is the fusion of a Gatherer and a Collector which can + // be evaluated sequentially. + final class Sequential implements Consumer, Gatherer.Downstream { + A state; + CA collectorState; + boolean proceed; + + Sequential() { + if (initializer != Gatherer.defaultInitializer()) + state = initializer.get(); + collectorState = collectorSupplier.get(); + proceed = true; + } + + @ForceInline + Sequential evaluateUsing(Spliterator spliterator) { + if (greedy) + spliterator.forEachRemaining(this); + else + do { + } while (proceed && spliterator.tryAdvance(this)); + + return this; + } + + /* + * No need to override isKnownDone() as the default is `false` + * and collectors can never short-circuit. + */ + @Override + public boolean push(R r) { + collectorAccumulator.accept(collectorState, r); + return true; + } + + @Override + public void accept(T t) { + /* + * Benchmarking has shown that, in this case, conditional + * writing of `proceed` is desirable and if that was not the + * case, then the following line would've been clearer: + * + * proceed &= integrator.integrate(state, t, this); + */ + + var ignore = integrator.integrate(state, t, this) + || (!greedy && (proceed = false)); + } + + @SuppressWarnings("unchecked") + public CR get() { + final var finisher = gatherer.finisher(); + if (finisher != Gatherer.defaultFinisher()) + finisher.accept(state, this); + // IF collectorFinisher == null -> IDENTITY_FINISH + return (collectorFinisher == null) + ? (CR) collectorState + : collectorFinisher.apply(collectorState); + } + } + + /* + * It could be considered to also go to sequential mode if the + * operation is non-greedy AND the combiner is Gatherer.defaultCombiner() + * as those operations will not benefit from upstream parallel + * preprocessing which is the main advantage of the Hybrid evaluation + * strategy. + */ + if (!parallel) + return new Sequential().evaluateUsing(spliterator).get(); + + // Parallel section starts here: + + final var combiner = gatherer.combiner(); + + /* + * The following implementation of hybrid parallel-sequential + * Gatherer processing borrows heavily from ForeachOrderedTask, + * and adds handling of short-circuiting. + */ + @SuppressWarnings("serial") + final class Hybrid extends CountedCompleter { + private final long targetSize; + private final Hybrid leftPredecessor; + private final AtomicBoolean cancelled; + private final Sequential localResult; + + private Spliterator spliterator; + private Hybrid next; + + private static final VarHandle NEXT; + + static { + try { + MethodHandles.Lookup l = MethodHandles.lookup(); + NEXT = l.findVarHandle(Hybrid.class, "next", Hybrid.class); + } catch (Exception e) { + throw new InternalError(e); + } + } + + protected Hybrid(Spliterator spliterator) { + super(null); + this.spliterator = spliterator; + this.targetSize = + AbstractTask.suggestTargetSize(spliterator.estimateSize()); + this.localResult = new Sequential(); + this.cancelled = greedy ? null : new AtomicBoolean(false); + this.leftPredecessor = null; + } + + Hybrid(Hybrid parent, Spliterator spliterator, Hybrid leftPredecessor) { + super(parent); + this.spliterator = spliterator; + this.targetSize = parent.targetSize; + this.localResult = parent.localResult; + this.cancelled = parent.cancelled; + this.leftPredecessor = leftPredecessor; + } + + @Override + public Sequential getRawResult() { + return localResult; + } + + @Override + public void setRawResult(Sequential result) { + if (result != null) throw new IllegalStateException(); + } + + @Override + public void compute() { + var task = this; + Spliterator rightSplit = task.spliterator, leftSplit; + long sizeThreshold = task.targetSize; + boolean forkRight = false; + while ((greedy || !cancelled.get()) + && rightSplit.estimateSize() > sizeThreshold + && (leftSplit = rightSplit.trySplit()) != null) { + + var leftChild = new Hybrid(task, leftSplit, task.leftPredecessor); + var rightChild = new Hybrid(task, rightSplit, leftChild); + + /* leftChild and rightChild were just created and not + * fork():ed yet so no need for a volatile write + */ + leftChild.next = rightChild; + + // Fork the parent task + // Completion of the left and right children "happens-before" + // completion of the parent + task.addToPendingCount(1); + // Completion of the left child "happens-before" completion of + // the right child + rightChild.addToPendingCount(1); + + // If task is not on the left spine + if (task.leftPredecessor != null) { + /* + * Completion of left-predecessor, or left subtree, + * "happens-before" completion of left-most leaf node of + * right subtree. + * The left child's pending count needs to be updated before + * it is associated in the completion map, otherwise the + * left child can complete prematurely and violate the + * "happens-before" constraint. + */ + leftChild.addToPendingCount(1); + // Update association of left-predecessor to left-most + // leaf node of right subtree + if (NEXT.compareAndSet(task.leftPredecessor, task, leftChild)) { + // If replaced, adjust the pending count of the parent + // to complete when its children complete + task.addToPendingCount(-1); + } else { + // Left-predecessor has already completed, parent's + // pending count is adjusted by left-predecessor; + // left child is ready to complete + leftChild.addToPendingCount(-1); + } + } + + if (forkRight) { + rightSplit = leftSplit; + task = leftChild; + rightChild.fork(); + } else { + task = rightChild; + leftChild.fork(); + } + forkRight = !forkRight; + } + + /* + * Task's pending count is either 0 or 1. If 1 then the completion + * map will contain a value that is task, and two calls to + * tryComplete are required for completion, one below and one + * triggered by the completion of task's left-predecessor in + * onCompletion. Therefore there is no data race within the if + * block. + * + * IMPORTANT: Currently we only perform the processing of this + * upstream data if we know the operation is greedy -- as we cannot + * safely speculate on the cost/benefit ratio of parallelizing + * the pre-processing of upstream data under short-circuiting. + */ + if (greedy && task.getPendingCount() > 0) { + // Upstream elements are buffered + NodeBuilder nb = new NodeBuilder<>(); + rightSplit.forEachRemaining(nb); // Run the upstream + task.spliterator = nb.build().spliterator(); + } + task.tryComplete(); + } + + @Override + public void onCompletion(CountedCompleter caller) { + var s = spliterator; + spliterator = null; // GC assistance + + /* Performance sensitive since each leaf-task could have a + * spliterator of size 1 which means that all else is overhead + * which needs minimization. + */ + if (s != null + && (greedy || !cancelled.get()) + && !localResult.evaluateUsing(s).proceed + && !greedy) + cancelled.set(true); + + // The completion of this task *and* the dumping of elements + // "happens-before" completion of the associated left-most leaf task + // of right subtree (if any, which can be this task's right sibling) + @SuppressWarnings("unchecked") + var leftDescendant = (Hybrid) NEXT.getAndSet(this, null); + if (leftDescendant != null) { + leftDescendant.tryComplete(); + } + } + } + + /* + * The following implementation of parallel Gatherer processing + * borrows heavily from AbstractShortCircuitTask + */ + @SuppressWarnings("serial") + final class Parallel extends CountedCompleter { + private Spliterator spliterator; + private Parallel leftChild; // Only non-null if rightChild is + private Parallel rightChild; // Only non-null if leftChild is + private Sequential localResult; + private volatile boolean canceled; + private long targetSize; // lazily initialized + + private Parallel(Parallel parent, Spliterator spliterator) { + super(parent); + this.targetSize = parent.targetSize; + this.spliterator = spliterator; + } + + Parallel(Spliterator spliterator) { + super(null); + this.targetSize = 0L; + this.spliterator = spliterator; + } + + private long getTargetSize(long sizeEstimate) { + long s; + return ((s = targetSize) != 0 + ? s + : (targetSize = AbstractTask.suggestTargetSize(sizeEstimate))); + } + + @Override + public Sequential getRawResult() { + return localResult; + } + + @Override + public void setRawResult(Sequential result) { + if (result != null) throw new IllegalStateException(); + } + + private void doProcess() { + if (!(localResult = new Sequential()).evaluateUsing(spliterator).proceed + && !greedy) + cancelLaterTasks(); + } + + @Override + public void compute() { + Spliterator rs = spliterator, ls; + long sizeEstimate = rs.estimateSize(); + final long sizeThreshold = getTargetSize(sizeEstimate); + Parallel task = this; + boolean forkRight = false; + boolean proceed; + while ((proceed = (greedy || !task.isRequestedToCancel())) + && sizeEstimate > sizeThreshold + && (ls = rs.trySplit()) != null) { + final var leftChild = task.leftChild = new Parallel(task, ls); + final var rightChild = task.rightChild = new Parallel(task, rs); + task.setPendingCount(1); + if (forkRight) { + rs = ls; + task = leftChild; + rightChild.fork(); + } else { + task = rightChild; + leftChild.fork(); + } + forkRight = !forkRight; + sizeEstimate = rs.estimateSize(); + } + if (proceed) + task.doProcess(); + task.tryComplete(); + } + + Sequential merge(Sequential l, Sequential r) { + /* + * Only join the right if the left side didn't short-circuit, + * or when greedy + */ + if (greedy || (l != null && r != null && l.proceed)) { + l.state = combiner.apply(l.state, r.state); + l.collectorState = + collectorCombiner.apply(l.collectorState, r.collectorState); + l.proceed = r.proceed; + return l; + } + + return (l != null) ? l : r; + } + + @Override + public void onCompletion(CountedCompleter caller) { + spliterator = null; // GC assistance + if (leftChild != null) { + /* Results can only be null in the case where there's + * short-circuiting or when Gatherers are stateful but + * uses `null` as their state value. + */ + localResult = merge(leftChild.localResult, rightChild.localResult); + leftChild = rightChild = null; // GC assistance + } + } + + @SuppressWarnings("unchecked") + private Parallel getParent() { + return (Parallel) getCompleter(); + } + + private boolean isRequestedToCancel() { + boolean cancel = canceled; + if (!cancel) { + for (Parallel parent = getParent(); + !cancel && parent != null; + parent = parent.getParent()) + cancel = parent.canceled; + } + return cancel; + } + + private void cancelLaterTasks() { + // Go up the tree, cancel right siblings of this node and all parents + for (Parallel parent = getParent(), node = this; + parent != null; + node = parent, parent = parent.getParent()) { + // If node is a left child of parent, then has a right sibling + if (parent.leftChild == node) + parent.rightChild.canceled = true; + } + } + } + + if (combiner != Gatherer.defaultCombiner()) + return new Parallel(spliterator).invoke().get(); + else + return new Hybrid(spliterator).invoke().get(); + } +} \ No newline at end of file diff --git a/src/java.base/share/classes/java/util/stream/Gatherers.java b/src/java.base/share/classes/java/util/stream/Gatherers.java new file mode 100644 index 0000000000000..c201ee546091c --- /dev/null +++ b/src/java.base/share/classes/java/util/stream/Gatherers.java @@ -0,0 +1,707 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +package java.util.stream; + +import jdk.internal.access.SharedSecrets; +import jdk.internal.javac.PreviewFeature; +import jdk.internal.vm.annotation.ForceInline; + +import java.util.ArrayDeque; +import java.util.List; +import java.util.Objects; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Future; +import java.util.concurrent.FutureTask; +import java.util.concurrent.Semaphore; +import java.util.function.BiConsumer; +import java.util.function.BiFunction; +import java.util.function.BinaryOperator; +import java.util.function.Function; +import java.util.function.Supplier; +import java.util.stream.Gatherer.Integrator; +import java.util.stream.Gatherer.Downstream; + +/** + * Implementations of {@link Gatherer} that provide useful intermediate + * operations, such as windowing functions, folding functions, + * transforming elements concurrently, etc. + * + * @since 22 +*/ +@PreviewFeature(feature = PreviewFeature.Feature.STREAM_GATHERERS) +public final class Gatherers { + private Gatherers() { } // This class is not intended to be instantiated + + // Public built-in Gatherers and factory methods for them + + /** + * Returns a Gatherer that gathers elements into windows + * -- encounter-ordered groups of elements -- of a fixed size. + * If the stream is empty then no window will be produced. + * The last window may contain fewer elements than the supplied window size. + * + *

Example: + * {@snippet lang = java: + * // will contain: [[1, 2, 3], [4, 5, 6], [7, 8]] + * List> windows = + * Stream.of(1,2,3,4,5,6,7,8).gather(Gatherers.windowFixed(3)).toList(); + * } + * + * @implSpec Each window produced is an unmodifiable List; calls to any + * mutator method will always cause {@code UnsupportedOperationException} + * to be thrown. There are no guarantees on the implementation type or + * serializability of the produced Lists. + * + * @apiNote For efficiency reasons, windows may be allocated contiguously + * and eagerly. This means that choosing large window sizes for + * small streams may use excessive memory for the duration of + * evaluation of this operation. + * + * @param windowSize the size of the windows + * @param the type of elements the returned gatherer consumes + * and the contents of the windows it produces + * @return a new gatherer which groups elements into fixed-size windows + * @throws IllegalArgumentException when {@code windowSize} is less than 1 + */ + public static Gatherer> windowFixed(int windowSize) { + if (windowSize < 1) + throw new IllegalArgumentException("'windowSize' must be greater than zero"); + + class FixedWindow { + Object[] window; + int at; + + FixedWindow() { + at = 0; + window = new Object[windowSize]; + } + + boolean integrate(TR element, Downstream> downstream) { + window[at++] = element; + if (at < windowSize) { + return true; + } else { + final var oldWindow = window; + window = new Object[windowSize]; + at = 0; + return downstream.push( + SharedSecrets.getJavaUtilCollectionAccess() + .listFromTrustedArrayNullsAllowed(oldWindow) + ); + } + } + + void finish(Downstream> downstream) { + if (at > 0 && !downstream.isRejecting()) { + var lastWindow = new Object[at]; + System.arraycopy(window, 0, lastWindow, 0, at); + window = null; + at = 0; + downstream.push( + SharedSecrets.getJavaUtilCollectionAccess() + .listFromTrustedArrayNullsAllowed(lastWindow) + ); + } + } + } + return Gatherer.>ofSequential( + // Initializer + FixedWindow::new, + + // Integrator + Integrator.>ofGreedy(FixedWindow::integrate), + + // Finisher + FixedWindow::finish + ); + } + + /** + * Returns a Gatherer that gathers elements into windows -- + * encounter-ordered groups of elements -- of a given size, where each + * subsequent window includes all elements of the previous window except + * for the least recent, and adds the next element in the stream. + * If the stream is empty then no window will be produced. If the size of + * the stream is smaller than the window size then only one window will + * be produced, containing all elements in the stream. + * + *

Example: + * {@snippet lang = java: + * // will contain: [[1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7], [7, 8]] + * List> windows2 = + * Stream.of(1,2,3,4,5,6,7,8).gather(Gatherers.windowSliding(2)).toList(); + * + * // will contain: [[1, 2, 3, 4, 5, 6], [2, 3, 4, 5, 6, 7], [3, 4, 5, 6, 7, 8]] + * List> windows6 = + * Stream.of(1,2,3,4,5,6,7,8).gather(Gatherers.windowSliding(6)).toList(); + * } + * + * @implSpec Each window produced is an unmodifiable List; calls to any + * mutator method will always cause {@code UnsupportedOperationException} + * to be thrown. There are no guarantees on the implementation type or + * serializability of the produced Lists. + * + * @apiNote For efficiency reasons, windows may be allocated contiguously + * and eagerly. This means that choosing large window sizes for + * small streams may use excessive memory for the duration of + * evaluation of this operation. + * + * @param windowSize the size of the windows + * @param the type of elements the returned gatherer consumes + * and the contents of the windows it produces + * @return a new gatherer which groups elements into sliding windows + * @throws IllegalArgumentException when windowSize is less than 1 + */ + public static Gatherer> windowSliding(int windowSize) { + if (windowSize < 1) + throw new IllegalArgumentException("'windowSize' must be greater than zero"); + + class SlidingWindow { + Object[] window; + int at; + boolean firstWindow; + + SlidingWindow() { + firstWindow = true; + at = 0; + window = new Object[windowSize]; + } + + boolean integrate(TR element, Downstream> downstream) { + window[at++] = element; + if (at < windowSize) { + return true; + } else { + final var oldWindow = window; + final var newWindow = new Object[windowSize]; + System.arraycopy(oldWindow,1, newWindow, 0, windowSize - 1); + window = newWindow; + at -= 1; + firstWindow = false; + return downstream.push( + SharedSecrets.getJavaUtilCollectionAccess() + .listFromTrustedArrayNullsAllowed(oldWindow) + ); + } + } + + void finish(Downstream> downstream) { + if (firstWindow && at > 0 && !downstream.isRejecting()) { + var lastWindow = new Object[at]; + System.arraycopy(window, 0, lastWindow, 0, at); + window = null; + at = 0; + downstream.push( + SharedSecrets.getJavaUtilCollectionAccess() + .listFromTrustedArrayNullsAllowed(lastWindow) + ); + } + } + } + return Gatherer.>ofSequential( + // Initializer + SlidingWindow::new, + + // Integrator + Integrator.>ofGreedy(SlidingWindow::integrate), + + // Finisher + SlidingWindow::finish + ); + } + + /** + * Returns a Gatherer that performs an ordered, reduction-like, + * transformation for scenarios where no combiner-function can be + * implemented, or for reductions which are intrinsically + * order-dependent. + * + * @implSpec If no exceptions are thrown during processing, then this + * operation only ever produces a single element. + * + *

Example: + * {@snippet lang = java: + * // will contain: Optional["123456789"] + * Optional numberString = + * Stream.of(1,2,3,4,5,6,7,8,9) + * .gather( + * Gatherers.fold(() -> "", (string, number) -> string + number) + * ) + * .findFirst(); + * } + * + * @see java.util.stream.Stream#reduce(Object, BinaryOperator) + * + * @param initial the identity value for the fold operation + * @param folder the folding function + * @param the type of elements the returned gatherer consumes + * @param the type of elements the returned gatherer produces + * @return a new Gatherer + * @throws NullPointerException if any of the parameters are {@code null} + */ + public static Gatherer fold( + Supplier initial, + BiFunction folder) { + Objects.requireNonNull(initial, "'initial' must not be null"); + Objects.requireNonNull(folder, "'folder' must not be null"); + + class State { + R value = initial.get(); + State() {} + } + + return Gatherer.ofSequential( + State::new, + Integrator.ofGreedy((state, element, downstream) -> { + state.value = folder.apply(state.value, element); + return true; + }), + (state, downstream) -> downstream.push(state.value) + ); + } + + /** + * Returns a Gatherer that performs a Prefix Scan -- an incremental + * accumulation -- using the provided functions. Starting with an + * initial value obtained from the {@code Supplier}, each subsequent + * value is obtained by applying the {@code BiFunction} to the current + * value and the next input element, after which the resulting value is + * produced downstream. + * + *

Example: + * {@snippet lang = java: + * // will contain: ["1", "12", "123", "1234", "12345", "123456", "1234567", "12345678", "123456789"] + * List numberStrings = + * Stream.of(1,2,3,4,5,6,7,8,9) + * .gather( + * Gatherers.scan(() -> "", (string, number) -> string + number) + * ) + * .toList(); + * } + * + * @param initial the supplier of the initial value for the scanner + * @param scanner the function to apply for each element + * @param the type of element which this gatherer consumes + * @param the type of element which this gatherer produces + * @return a new Gatherer which performs a prefix scan + * @throws NullPointerException if any of the parameters are {@code null} + */ + public static Gatherer scan( + Supplier initial, + BiFunction scanner) { + Objects.requireNonNull(initial, "'initial' must not be null"); + Objects.requireNonNull(scanner, "'scanner' must not be null"); + + class State { + R current = initial.get(); + boolean integrate(T element, Downstream downstream) { + return downstream.push(current = scanner.apply(current, element)); + } + } + + return Gatherer.ofSequential(State::new, + Integrator.ofGreedy(State::integrate)); + } + + /** + * An operation which executes a function concurrently + * with a configured level of max concurrency, using + * virtual threads. + * This operation preserves the ordering of the stream. + * + * @apiNote In progress tasks will be attempted to be cancelled, + * on a best-effort basis, in situations where the downstream no longer + * wants to receive any more elements. + * + * @implSpec If a result of the function is to be pushed downstream but + * instead the function completed exceptionally then the corresponding + * exception will instead be rethrown by this method as an instance of + * {@link RuntimeException}, after which any remaining tasks are canceled. + * + * @param maxConcurrency the maximum concurrency desired + * @param mapper a function to be executed concurrently + * @param the type of input + * @param the type of output + * @return a new Gatherer + * @throws IllegalArgumentException if {@code maxConcurrency} is less than 1 + * @throws NullPointerException if {@code mapper} is {@code null} + */ + public static Gatherer mapConcurrent( + final int maxConcurrency, + final Function mapper) { + if (maxConcurrency < 1) + throw new IllegalArgumentException( + "'maxConcurrency' must be greater than 0"); + + Objects.requireNonNull(mapper, "'mapper' must not be null"); + + class State { + // ArrayDeque default initial size is 16 + final ArrayDeque> window = + new ArrayDeque<>(Math.min(maxConcurrency, 16)); + final Semaphore windowLock = new Semaphore(maxConcurrency); + + final boolean integrate(T element, + Downstream downstream) { + if (!downstream.isRejecting()) + createTaskFor(element); + return flush(0, downstream); + } + + final void createTaskFor(T element) { + windowLock.acquireUninterruptibly(); + + var task = new FutureTask(() -> { + try { + return mapper.apply(element); + } finally { + windowLock.release(); + } + }); + + var wasAddedToWindow = window.add(task); + assert wasAddedToWindow; + + Thread.startVirtualThread(task); + } + + final boolean flush(long atLeastN, + Downstream downstream) { + boolean proceed = !downstream.isRejecting(); + boolean interrupted = false; + try { + Future current; + while (proceed + && (current = window.peek()) != null + && (current.isDone() || atLeastN > 0)) { + proceed &= downstream.push(current.get()); + atLeastN -= 1; + + var correctRemoval = window.pop() == current; + assert correctRemoval; + } + } catch(InterruptedException ie) { + proceed = false; + interrupted = true; + } catch (ExecutionException e) { + proceed = false; // Ensure cleanup + final var cause = e.getCause(); + throw (cause instanceof RuntimeException re) + ? re + : new RuntimeException(cause == null ? e : cause); + } finally { + // Clean up + if (!proceed) { + Future next; + while ((next = window.pollFirst()) != null) { + next.cancel(true); + } + } + } + + if (interrupted) + Thread.currentThread().interrupt(); + + return proceed; + } + } + + return Gatherer.ofSequential( + State::new, + Integrator.ofGreedy(State::integrate), + (state, downstream) -> state.flush(Long.MAX_VALUE, downstream) + ); + } + + // Implementation details + + /* + * This enum is used to provide the default functions for the + * factory methods + * and for the default methods for when implementing the Gatherer interface. + * + * This serves the following purposes: + * 1. removes the need for using `null` for signalling absence of specified + * value and thereby hiding user bugs + * 2. allows to check against these default values to avoid calling methods + * needlessly + * 3. allows for more efficient composition and evaluation + */ + @SuppressWarnings("rawtypes") + enum Value implements Supplier, BinaryOperator, BiConsumer { + DEFAULT; + + final BinaryOperator statelessCombiner = new BinaryOperator<>() { + @Override public Void apply(Void left, Void right) { return null; } + }; + + // BiConsumer + @Override public void accept(Object state, Object downstream) {} + + // BinaryOperator + @Override public Object apply(Object left, Object right) { + throw new UnsupportedOperationException("This combiner cannot be used!"); + } + + // Supplier + @Override public Object get() { return null; } + + @ForceInline + @SuppressWarnings("unchecked") + Supplier initializer() { return (Supplier)this; } + + @ForceInline + @SuppressWarnings("unchecked") + BinaryOperator combiner() { return (BinaryOperator) this; } + + @ForceInline + @SuppressWarnings("unchecked") + BiConsumer> finisher() { + return (BiConsumer>) this; + } + } + + record GathererImpl( + @Override Supplier initializer, + @Override Integrator integrator, + @Override BinaryOperator combiner, + @Override BiConsumer> finisher) implements Gatherer { + + static GathererImpl of( + Supplier initializer, + Integrator integrator, + BinaryOperator combiner, + BiConsumer> finisher) { + return new GathererImpl<>( + Objects.requireNonNull(initializer,"initializer"), + Objects.requireNonNull(integrator, "integrator"), + Objects.requireNonNull(combiner, "combiner"), + Objects.requireNonNull(finisher, "finisher") + ); + } + } + + static final class Composite implements Gatherer { + private final Gatherer left; + private final Gatherer right; + // FIXME change `impl` to a computed constant when available + private GathererImpl impl; + + static Composite of( + Gatherer left, + Gatherer right) { + return new Composite<>(left, right); + } + + private Composite(Gatherer left, + Gatherer right) { + this.left = left; + this.right = right; + } + + @SuppressWarnings("unchecked") + private GathererImpl impl() { + // ATTENTION: this method currently relies on a "benign" data-race + // as it should deterministically produce the same result even if + // initialized concurrently on different threads. + var i = impl; + return i != null + ? i + : (impl = (GathererImpl)impl(left, right)); + } + + @Override public Supplier initializer() { + return impl().initializer(); + } + + @Override public Integrator integrator() { + return impl().integrator(); + } + + @Override public BinaryOperator combiner() { + return impl().combiner(); + } + + @Override public BiConsumer> finisher() { + return impl().finisher(); + } + + @Override + public Gatherer andThen( + Gatherer that) { + if (that.getClass() == Composite.class) { + @SuppressWarnings("unchecked") + final var c = + (Composite) that; + return left.andThen(right.andThen(c.left).andThen(c.right)); + } else { + return left.andThen(right.andThen(that)); + } + } + + static final GathererImpl impl( + Gatherer left, Gatherer right) { + final var leftInitializer = left.initializer(); + final var leftIntegrator = left.integrator(); + final var leftCombiner = left.combiner(); + final var leftFinisher = left.finisher(); + + final var rightInitializer = right.initializer(); + final var rightIntegrator = right.integrator(); + final var rightCombiner = right.combiner(); + final var rightFinisher = right.finisher(); + + final var leftStateless = leftInitializer == Gatherer.defaultInitializer(); + final var rightStateless = rightInitializer == Gatherer.defaultInitializer(); + + final var leftGreedy = leftIntegrator instanceof Integrator.Greedy; + final var rightGreedy = rightIntegrator instanceof Integrator.Greedy; + + /* + * For pairs of stateless and greedy Gatherers, we can optimize + * evaluation as we do not need to track any state nor any + * short-circuit signals. This can provide significant + * performance improvements. + */ + if (leftStateless && rightStateless && leftGreedy && rightGreedy) { + return new GathererImpl<>( + Gatherer.defaultInitializer(), + Gatherer.Integrator.ofGreedy((unused, element, downstream) -> + leftIntegrator.integrate( + null, + element, + r -> rightIntegrator.integrate(null, r, downstream)) + ), + (leftCombiner == Gatherer.defaultCombiner() + || rightCombiner == Gatherer.defaultCombiner()) + ? Gatherer.defaultCombiner() + : Value.DEFAULT.statelessCombiner + , + (leftFinisher == Gatherer.defaultFinisher() + && rightFinisher == Gatherer.defaultFinisher()) + ? Gatherer.defaultFinisher() + : (unused, downstream) -> { + if (leftFinisher != Gatherer.defaultFinisher()) + leftFinisher.accept( + null, + r -> rightIntegrator.integrate(null, r, downstream)); + if (rightFinisher != Gatherer.defaultFinisher()) + rightFinisher.accept(null, downstream); + } + ); + } else { + class State { + final A leftState; + final AA rightState; + boolean leftProceed; + boolean rightProceed; + + private State(A leftState, AA rightState, + boolean leftProceed, boolean rightProceed) { + this.leftState = leftState; + this.rightState = rightState; + this.leftProceed = leftProceed; + this.rightProceed = rightProceed; + } + + State() { + this(leftStateless ? null : leftInitializer.get(), + rightStateless ? null : rightInitializer.get(), + true, true); + } + + State joinLeft(State right) { + return new State( + leftStateless ? null : leftCombiner.apply(this.leftState, right.leftState), + rightStateless ? null : rightCombiner.apply(this.rightState, right.rightState), + this.leftProceed && this.rightProceed, + right.leftProceed && right.rightProceed); + } + + boolean integrate(T t, Downstream c) { + /* + * rightProceed must be checked after integration of + * left since that can cause right to short-circuit + * We always want to conditionally write leftProceed + * here, which means that we only do so if we are + * known to be not-greedy. + */ + return (leftIntegrator.integrate(leftState, t, r -> rightIntegrate(r, c)) + || leftGreedy + || (leftProceed = false)) + && (rightGreedy || rightProceed); + } + + void finish(Downstream c) { + if (leftFinisher != Gatherer.defaultFinisher()) + leftFinisher.accept(leftState, r -> rightIntegrate(r, c)); + if (rightFinisher != Gatherer.defaultFinisher()) + rightFinisher.accept(rightState, c); + } + + /* + * Currently we use the following to ferry elements from + * the left Gatherer to the right Gatherer, but we create + * the Gatherer.Downstream as a lambda which means that + * the default implementation of `isKnownDone()` is used. + * + * If it is determined that we want to be able to support + * the full interface of Gatherer.Downstream then we have + * the following options: + * 1. Have State implement Downstream + * and store the passed in Downstream + * downstream as an instance field in integrate() + * and read it in push(R r). + * 2. Allocate a new Gatherer.Downstream for + * each invocation of integrate() which might prove + * costly. + */ + public boolean rightIntegrate(R r, Downstream downstream) { + // The following logic is highly performance sensitive + return (rightGreedy || rightProceed) + && (rightIntegrator.integrate(rightState, r, downstream) + || rightGreedy + || (rightProceed = false)); + } + } + + return new GathererImpl( + State::new, + (leftGreedy && rightGreedy) + ? Integrator.ofGreedy(State::integrate) + : Integrator.of(State::integrate), + (leftCombiner == Gatherer.defaultCombiner() + || rightCombiner == Gatherer.defaultCombiner()) + ? Gatherer.defaultCombiner() + : State::joinLeft, + (leftFinisher == Gatherer.defaultFinisher() + && rightFinisher == Gatherer.defaultFinisher()) + ? Gatherer.defaultFinisher() + : State::finish + ); + } + } + } +} diff --git a/src/java.base/share/classes/java/util/stream/ReferencePipeline.java b/src/java.base/share/classes/java/util/stream/ReferencePipeline.java index e0b9c79025b0d..5058440335fe1 100644 --- a/src/java.base/share/classes/java/util/stream/ReferencePipeline.java +++ b/src/java.base/share/classes/java/util/stream/ReferencePipeline.java @@ -90,12 +90,27 @@ abstract class ReferencePipeline * Constructor for appending an intermediate operation onto an existing * pipeline. * - * @param upstream the upstream element source. + * @param upstream the upstream element source + * @param opFlags The operation flags for this operation, described in + * {@link StreamOpFlag} */ ReferencePipeline(AbstractPipeline upstream, int opFlags) { super(upstream, opFlags); } + /** + * Constructor for appending an intermediate operation onto an existing + * pipeline. + * + * @param upupstream the upstream of the upstream element source + * @param upstream the upstream element source + * @param opFlags The operation flags for this operation, described in + * {@link StreamOpFlag} + */ + protected ReferencePipeline(AbstractPipeline upupstream, AbstractPipeline upstream, int opFlags) { + super(upupstream, upstream, opFlags); + } + // Shape-specific methods @Override @@ -667,9 +682,14 @@ public final R reduce(R identity, BiFunction accumulato return evaluate(ReduceOps.makeRef(identity, accumulator, combiner)); } + @Override + public final Stream gather(Gatherer gatherer) { + return GathererOp.of(this, gatherer); + } + @Override @SuppressWarnings("unchecked") - public final R collect(Collector collector) { + public R collect(Collector collector) { A container; if (isParallel() && (collector.characteristics().contains(Collector.Characteristics.CONCURRENT)) @@ -687,7 +707,7 @@ public final R collect(Collector collector) { } @Override - public final R collect(Supplier supplier, + public R collect(Supplier supplier, BiConsumer accumulator, BiConsumer combiner) { return evaluate(ReduceOps.makeRef(supplier, accumulator, combiner)); diff --git a/src/java.base/share/classes/java/util/stream/Stream.java b/src/java.base/share/classes/java/util/stream/Stream.java index 284ec632d7425..30b87bd8b5496 100644 --- a/src/java.base/share/classes/java/util/stream/Stream.java +++ b/src/java.base/share/classes/java/util/stream/Stream.java @@ -24,6 +24,8 @@ */ package java.util.stream; +import jdk.internal.javac.PreviewFeature; + import java.nio.file.Files; import java.nio.file.Path; import java.util.*; @@ -1051,6 +1053,58 @@ U reduce(U identity, BiFunction accumulator, BinaryOperator combiner); + /** + * Returns a stream consisting of the results of applying the given + * {@link Gatherer} to the elements of this stream. + * + *

This is a stateful + * intermediate operation that is an + * extension point. + * + *

Gatherers are highly flexible and can describe a vast array of + * possibly stateful operations, with support for short-circuiting, and + * parallelization. + * + *

When executed in parallel, multiple intermediate results may be + * instantiated, populated, and merged so as to maintain isolation of + * mutable data structures. Therefore, even when executed in parallel + * with non-thread-safe data structures (such as {@code ArrayList}), no + * additional synchronization is needed for a parallel reduction. + * + *

Implementations are allowed, but not required, to detect consecutive + * invocations and compose them into a single, fused, operation. This would + * make the first expression below behave like the second: + * + *

{@code
+     *     var stream1 = Stream.of(...).gather(gatherer1).gather(gatherer2);
+     *     var stream2 = Stream.of(...).gather(gatherer1.andThen(gatherer2));
+     * }
+ * + * @implSpec + * The default implementation obtains the {@link #spliterator() spliterator} + * of this stream, wraps that spliterator so as to support the semantics + * of this operation on traversal, and returns a new stream associated with + * the wrapped spliterator. The returned stream preserves the execution + * characteristics of this stream (namely parallel or sequential execution + * as per {@link #isParallel()}) but the wrapped spliterator may choose to + * not support splitting. When the returned stream is closed, the close + * handlers for both the returned and this stream are invoked. + * Implementations of this interface should provide their own + * implementation of this method. + * + * @see Gatherers + * @param The element type of the new stream + * @param gatherer a gatherer + * @return the new stream + * @since 22 + */ + @PreviewFeature(feature = PreviewFeature.Feature.STREAM_GATHERERS) + default Stream gather(Gatherer gatherer) { + return StreamSupport.stream(spliterator(), isParallel()) + .gather(gatherer) + .onClose(this::close); + } + /** * Performs a mutable * reduction operation on the elements of this stream. A mutable diff --git a/src/java.base/share/classes/java/util/stream/package-info.java b/src/java.base/share/classes/java/util/stream/package-info.java index 85700bfbab1a9..951dc41ea44e9 100644 --- a/src/java.base/share/classes/java/util/stream/package-info.java +++ b/src/java.base/share/classes/java/util/stream/package-info.java @@ -620,6 +620,19 @@ * but in some cases equivalence may be relaxed to account for differences in * order. * + *

Extensibility

+ * + *

Implementing {@link java.util.stream.Collector}; + * using the factory method {@code java.util.stream.Collector.of(...)}; or + * using the predefined collectors in {@link java.util.stream.Collectors} allows + * for user-defined, reusable, terminal operations. + * + *

Implementing {@link java.util.stream.Gatherer}; using the factory + * methods {@code java.util.stream.Gatherer.of(...)} and + * {@code java.util.stream.Gatherer.ofSequential(...)}; + * or using the predefined gatherers in {@link java.util.stream.Gatherers} + * allows for user-defined, reusable, intermediate operations. + * *

Reduction, concurrency, and ordering

* * With some complex reduction operations, for example a {@code collect()} that diff --git a/src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java b/src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java index f7ce449b981c5..77dec6dce494d 100644 --- a/src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java +++ b/src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java @@ -77,6 +77,8 @@ public enum Feature { SCOPED_VALUES, @JEP(number=453, title="Structured Concurrency", status="Preview") STRUCTURED_CONCURRENCY, + @JEP(number=461, title="Stream Gatherers", status="Preview") + STREAM_GATHERERS, /** * A key for testing. */ diff --git a/test/jdk/java/util/stream/GathererAPITest.java b/test/jdk/java/util/stream/GathererAPITest.java new file mode 100644 index 0000000000000..4bcda85ccbc05 --- /dev/null +++ b/test/jdk/java/util/stream/GathererAPITest.java @@ -0,0 +1,230 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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.util.List; +import java.util.Set; +import java.util.function.BiConsumer; +import java.util.function.BinaryOperator; +import java.util.function.Supplier; +import java.util.stream.*; +import java.util.stream.Gatherer; + +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assumptions.*; + +/** + * @test + * @summary Testing public API of Gatherer + * @enablePreview + * @run junit GathererAPITest + */ + +public class GathererAPITest { + final static Supplier initializer = () -> (Void)null; + final static Gatherer.Integrator integrator = (v,e,d) -> d.push(e); + final static BinaryOperator combiner = (l,r) -> l; + final static BiConsumer> finisher = (v,d) -> {}; + + final static Supplier nullInitializer = null; + final static Gatherer.Integrator nullIntegrator = null; + final static BinaryOperator nullCombiner = null; + final static BiConsumer> nullFinisher = null; + + private final static Gatherer passthrough() { + return Gatherer.of( + () -> (Void)null, + Gatherer.Integrator.ofGreedy((v,e,d) -> d.push(e)), + (l,r) -> l, + (v,d) -> {} + ); + } + + private final static Gatherer verifyGathererContract(Gatherer gatherer) { + // basics + assertNotNull(gatherer); + + // components + assertNotNull(gatherer.initializer()); + assertNotNull(gatherer.integrator()); + assertNotNull(gatherer.combiner()); + assertNotNull(gatherer.finisher()); + assertNotNull(gatherer.andThen(passthrough())); + + return gatherer; + } + + private final static Gatherer verifyGathererStructure( + Gatherer gatherer, + Supplier expectedSupplier, + Gatherer.Integrator expectedIntegrator, + BinaryOperator expectedCombiner, + BiConsumer> expectedFinisher + ) { + // basics + assertNotNull(gatherer); + + // components + assertSame(expectedSupplier, gatherer.initializer()); + assertSame(expectedIntegrator, gatherer.integrator()); + assertSame(expectedCombiner, gatherer.combiner()); + assertSame(expectedFinisher, gatherer.finisher()); + + return gatherer; + } + + @Test + public void testGathererDefaults() { + final Gatherer.Integrator expectedIntegrator = + (a,b,c) -> false; + + class Test implements Gatherer { + @Override + public Integrator integrator() { + return expectedIntegrator; + } + } + + var t = new Test(); + assertSame(Gatherer.defaultInitializer(), t.initializer()); + assertSame(expectedIntegrator, t.integrator()); + assertSame(Gatherer.defaultCombiner(), t.combiner()); + assertSame(Gatherer.>defaultFinisher(), t.finisher()); + } + + @Test + public void testDownstreamDefaults() { + class Test implements Gatherer.Downstream { + @Override public boolean push(Void v) { return false; } + } + + var t = new Test(); + assertEquals(false, t.isRejecting()); + } + + @Test + public void testGathererFactoriesNPE() { + assertThrows(NullPointerException.class, + () -> Gatherer.of(nullInitializer, integrator, combiner, finisher)); + assertThrows(NullPointerException.class, + () -> Gatherer.of(initializer, nullIntegrator, combiner, finisher)); + assertThrows(NullPointerException.class, + () -> Gatherer.of(initializer, integrator, nullCombiner, finisher)); + assertThrows(NullPointerException.class, + () -> Gatherer.of(initializer, integrator, combiner, nullFinisher)); + + assertThrows(NullPointerException.class, + () -> Gatherer.of(nullIntegrator)); + + assertThrows(NullPointerException.class, + () -> Gatherer.of(nullIntegrator, finisher)); + assertThrows(NullPointerException.class, + () -> Gatherer.of(integrator, nullFinisher)); + + assertThrows(NullPointerException.class, + () -> Gatherer.ofSequential(nullInitializer, integrator)); + assertThrows(NullPointerException.class, + () -> Gatherer.ofSequential(initializer, nullIntegrator)); + + assertThrows(NullPointerException.class, + () -> Gatherer.ofSequential(nullIntegrator)); + + assertThrows(NullPointerException.class, + () -> Gatherer.ofSequential(nullIntegrator, finisher)); + assertThrows(NullPointerException.class, + () -> Gatherer.ofSequential(integrator, nullFinisher)); + + assertThrows(NullPointerException.class, + () -> Gatherer.ofSequential(nullInitializer, integrator, finisher)); + assertThrows(NullPointerException.class, + () -> Gatherer.ofSequential(initializer, nullIntegrator, finisher)); + assertThrows(NullPointerException.class, + () -> Gatherer.ofSequential(initializer, integrator, nullFinisher)); + } + + @Test + public void testGathererFactoriesAPI() { + final var defaultInitializer = Gatherer.defaultInitializer(); + final var defaultCombiner = Gatherer.defaultCombiner(); + final var defaultFinisher = Gatherer.defaultFinisher(); + + var g1 = verifyGathererContract(passthrough()); // Quis custodiet ipsos custodes? + verifyGathererContract(g1.andThen(g1)); + + var g2 = verifyGathererContract(Gatherer.of(integrator)); + verifyGathererContract(g2.andThen(g2)); + assertSame(defaultInitializer, g2.initializer()); + assertSame(integrator, g2.integrator()); + assertNotSame(defaultCombiner, g2.combiner()); + assertSame(defaultFinisher, g2.finisher()); + + var g3 = verifyGathererContract(Gatherer.of(integrator, finisher)); + verifyGathererContract(g3.andThen(g3)); + assertSame(integrator, g3.integrator()); + assertNotSame(defaultCombiner, g3.combiner()); + assertSame(finisher, g3.finisher()); + + var g4 = verifyGathererContract(Gatherer.ofSequential(integrator)); + verifyGathererContract(g4.andThen(g4)); + verifyGathererStructure(g4, defaultInitializer, integrator, defaultCombiner, defaultFinisher); + + var g5 = verifyGathererContract(Gatherer.ofSequential(initializer, integrator)); + verifyGathererContract(g5.andThen(g5)); + verifyGathererStructure(g5, initializer, integrator, defaultCombiner, defaultFinisher); + + var g6 = verifyGathererContract(Gatherer.ofSequential(integrator, finisher)); + verifyGathererContract(g6.andThen(g6)); + verifyGathererStructure(g6, defaultInitializer, integrator, defaultCombiner, finisher); + + var g7 = verifyGathererContract(Gatherer.ofSequential(initializer, integrator, finisher)); + verifyGathererContract(g7.andThen(g7)); + verifyGathererStructure(g7, initializer, integrator, defaultCombiner, finisher); + + var g8 = verifyGathererContract(Gatherer.of(initializer, integrator, combiner, finisher)); + verifyGathererContract(g8.andThen(g8)); + verifyGathererStructure(g8, initializer, integrator, combiner, finisher); + } + + @Test + public void testGathererVariance() { + + // Make sure that Gatherers can pass-through type + Gatherer nums = Gatherer.of((unused, element, downstream) -> downstream.push(element)); + + // Make sure that Gatherers can upcast the output type from the input type + Gatherer upcast = Gatherer.of((unused, element, downstream) -> downstream.push(element)); + + // Make sure that Gatherers can consume a supertype of the Stream output + assertEquals(List.of(1,2,3,4,5), Stream.of(1,2,3,4,5).gather(nums).toList()); + + Gatherer ints = Gatherer.of((unused, element, downstream) -> downstream.push(element)); + + // Make sure that Gatherers can be composed where the output is a subtype of the input type of the next + Gatherer composition = ints.andThen(nums); + + // Make sure that composition works transitively, typing-wise + Gatherer upcastComposition = ints.andThen(nums.andThen(upcast)); + + assertEquals(List.of(1,2,3,4,5), Stream.of(1,2,3,4,5).gather(composition).toList()); + assertEquals(List.of(1,2,3,4,5), Stream.of(1,2,3,4,5).gather(upcastComposition).toList()); + } +} diff --git a/test/jdk/java/util/stream/GathererTest.java b/test/jdk/java/util/stream/GathererTest.java new file mode 100644 index 0000000000000..5d5f0b517aa09 --- /dev/null +++ b/test/jdk/java/util/stream/GathererTest.java @@ -0,0 +1,479 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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.util.ArrayList; +import java.util.List; +import java.util.function.Predicate; +import java.util.function.Supplier; +import java.util.stream.*; +import java.util.stream.Gatherer; +import static java.util.stream.DefaultMethodStreams.delegateTo; + +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; +import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assumptions.*; + +/** + * @test + * @summary Testing the Gatherer contract + * @enablePreview + * @library /lib/testlibrary/bootlib + * @build java.base/java.util.stream.DefaultMethodStreams + * @run junit GathererTest + */ + +public class GathererTest { + + record Config(int streamSize, boolean parallel, boolean defaultImpl) { + + Stream countTo(int n) { + return Stream.iterate(1, i -> i + 1).limit(n); + } + + Stream stream() { + return wrapStream(countTo(streamSize)); + } + + Stream wrapStream(Stream stream) { + stream = parallel ? stream.parallel() : stream.sequential(); + stream = defaultImpl ? delegateTo(stream) : stream; + return stream; + } + + List list() { + return stream().toList(); + } + } + + final static Stream configurations() { + return Stream.of(0,1,10,33,99,9999) + .flatMap(size -> + Stream.of(false, true) + .flatMap(parallel -> + Stream.of(false, true).map( defaultImpl -> + new Config(size, parallel, + defaultImpl)) ) + ); + } + + final class TestException extends RuntimeException { + TestException(String message) { + super(message); + } + } + + final static class InvocationTracker { + int initialize; + int integrate; + int combine; + int finish; + + void copyFrom(InvocationTracker other) { + initialize = other.initialize; + integrate = other.integrate; + combine = other.combine; + finish = other.finish; + } + + void combine(InvocationTracker other) { + if (other != this) { + initialize += other.initialize; + integrate += other.integrate; + combine += other.combine + 1; // track this merge + finish += other.finish; + } + } + } + + final Gatherer addOne = Gatherer.of( + Gatherer.Integrator.ofGreedy((vöid, element, downstream) -> downstream.push(element + 1)) + ); + + final Gatherer timesTwo = Gatherer.of( + Gatherer.Integrator.ofGreedy((vöid, element, downstream) -> downstream.push(element * 2)) + ); + + @ParameterizedTest + @MethodSource("configurations") + public void testInvocationSemanticsGreedy(Config config) { + var result = new InvocationTracker(); + var g = Gatherer.of( + () -> { + var t = new InvocationTracker(); + t.initialize++; + return t; + }, + Gatherer.Integrator.ofGreedy((t, e, d) -> { + t.integrate++; + return d.push(e); + }), + (t1, t2) -> { + t1.combine(t2); + return t1; + }, + (t, d) -> { + t.finish++; + result.copyFrom(t); + }); + var res = config.stream().gather(g).toList(); + assertEquals(config.countTo(config.streamSize).toList(), res); + if (config.parallel) { + assertTrue(result.initialize > 0); + assertEquals(config.streamSize, result.integrate); + assertTrue(config.streamSize < 2 || result.combine > 0); + assertEquals(1, result.finish); + } else { + assertEquals(1, result.initialize); + assertEquals(config.streamSize, result.integrate); + assertEquals(0, result.combine); + assertEquals(1, result.finish); + } + } + + @ParameterizedTest + @MethodSource("configurations") + public void testInvocationSemanticsShortCircuit(Config config) { + final int CONSUME_UNTIL = Math.min(config.streamSize, 5); + var result = new InvocationTracker(); + var g = Gatherer.of( + () -> { + var t = new InvocationTracker(); + t.initialize++; + return t; + }, + (t, e, d) -> { + ++t.integrate; + return e <= CONSUME_UNTIL && d.push(e) && e != CONSUME_UNTIL; + }, + (t1, t2) -> { + t1.combine(t2); + return t1; + }, + (t, d) -> { + t.finish++; + result.copyFrom(t); + }); + var res = config.stream().gather(g).toList(); + assertEquals(config.countTo(CONSUME_UNTIL).toList(), res); + if (config.parallel) { + assertTrue(result.initialize > 0); + assertEquals(CONSUME_UNTIL, result.integrate); + assertTrue(result.combine >= 0); // We can't guarantee split sizes + assertEquals(1, result.finish); + } else { + assertEquals(1, result.initialize); + assertEquals(CONSUME_UNTIL, result.integrate); + assertEquals(0, result.combine); + assertEquals(1, result.finish); + } + } + + @ParameterizedTest + @MethodSource("configurations") + public void testEmissionDuringFinisher(Config config) { + var g = Gatherer.of( + () -> { + var t = new InvocationTracker(); + t.initialize++; + return t; + }, + (t, e, d) -> { + t.integrate++; + return true; + }, + (t1, t2) -> { + t1.combine(t2); + return t1; + }, + (t, d) -> { + t.finish++; + d.push(t); + }); + var resultList = config.stream().gather(g).collect(Collectors.toList()); + assertEquals(resultList.size(), 1); + + var t = resultList.get(0); + + if (config.parallel) { + assertTrue(t.initialize > 0); + assertEquals(config.streamSize, t.integrate); + assertTrue(config.streamSize < 2 || t.combine > 0); + assertEquals(1, t.finish); + } else { + assertEquals(1, t.initialize); + assertEquals(config.streamSize, t.integrate); + assertEquals(0, t.combine); + assertEquals(1, t.finish); + } + } + + @ParameterizedTest + @MethodSource("configurations") + public void testInvocationSemanticsShortCircuitDuringCollect(Config config) { + final int CONSUME_UNTIL = Math.min(config.streamSize, 5); + var result = new InvocationTracker(); + var g = Gatherer.of( + () -> { + var t = new InvocationTracker(); + t.initialize++; + return t; + }, + (t, e, d) -> { + t.integrate++; + return e <= CONSUME_UNTIL && d.push(e) && e != CONSUME_UNTIL; + }, + (t1, t2) -> { + t1.combine(t2); + return t1; + }, + (t, d) -> { + t.finish++; + result.copyFrom(t); + }); + var res = config.stream().gather(g).collect(Collectors.toList()); + assertEquals(config.countTo(CONSUME_UNTIL).toList(), res); + if (config.parallel) { + assertTrue(result.initialize > 0); + assertEquals(CONSUME_UNTIL, result.integrate); + assertTrue(result.combine >= 0); // We can't guarantee split sizes + assertEquals(result.finish, 1); + } else { + assertEquals(result.initialize, 1); + assertEquals(CONSUME_UNTIL, result.integrate); + assertEquals(result.combine, 0); + assertEquals(result.finish, 1); + } + } + + @ParameterizedTest + @MethodSource("configurations") + public void testCompositionOfStatelessGatherers(Config config) { + var range = config.stream().toList(); + var gRes = range.stream().gather(addOne.andThen(timesTwo)).toList(); + var rRes = range.stream().map(j -> j + 1).map(j -> j * 2).toList(); + assertEquals(config.streamSize, gRes.size()); + assertEquals(config.streamSize, rRes.size()); + assertEquals(gRes, rRes); + } + + @ParameterizedTest + @MethodSource("configurations") + public void testCompositionOfStatefulGatherers(Config config) { + var t1 = new InvocationTracker(); + var g1 = Gatherer.of( + () -> { + var t = new InvocationTracker(); + t.initialize++; + return t; + }, + (t, e, d) -> { + t.integrate++; + return d.push(e); + }, + (l, r) -> { + l.combine(r); + return l; + }, + (t, d) -> { + t.finish++; + t1.copyFrom(t); + }); + + var t2 = new InvocationTracker(); + var g2 = Gatherer.of( + () -> { + var t = new InvocationTracker(); + t.initialize++; + return t; + }, + (t, e, d) -> { + t.integrate++; + return d.push(e); + }, + (l, r) -> { + l.combine(r); + return l; + }, + (t, d) -> { + t.finish++; + t2.copyFrom(t); + }); + + var res = config.stream().gather(g1.andThen(g2)).toList(); + assertEquals(config.stream().toList(), res); + + if (config.parallel) { + assertTrue(t1.initialize > 0); + assertEquals(config.streamSize, t1.integrate); + assertTrue(config.streamSize < 2 || t1.combine > 0); + assertEquals(1, t1.finish); + + assertTrue(t2.initialize > 0); + assertEquals(config.streamSize, t2.integrate); + assertTrue(config.streamSize < 2 || t2.combine > 0); + assertEquals(1, t2.finish); + } else { + assertEquals(1, t1.initialize); + assertEquals(config.streamSize, t1.integrate); + assertEquals(0, t1.combine); + assertEquals(1, t1.finish); + + assertEquals(1, t2.initialize); + assertEquals(config.streamSize, t2.integrate); + assertEquals(0, t2.combine); + assertEquals(1, t2.finish); + } + } + + @ParameterizedTest + @MethodSource("configurations") + public void testMassivelyComposedGatherers(Config config) { + final int ITERATIONS = 512; // Total number of compositions is 1 + (iterations*2) + Gatherer g = addOne; + for(int i = 0;i < ITERATIONS;++i) { + g = g.andThen(timesTwo).andThen(addOne); + } + + g = g.andThen(timesTwo); + + var ref = config.stream().map(n -> n + 1); + for(int c = 0; c < ITERATIONS; ++c) { + ref = ref.map(n -> n * 2).map(n -> n + 1); + } + ref = ref.map(n -> n * 2); + + var gatherered = config.stream().gather(g).toList(); + var reference = ref.toList(); + assertEquals(gatherered, reference); + } + + @Test + public void testUnboundedEmissions() { + Gatherer g = Gatherer.of( + () -> (Void)null, + (v,e,d) -> { do {} while(d.push(e)); return false; }, + (l,r) -> l, + (v,d) -> {} + ); + assertEquals(Stream.of(1).gather(g).limit(1).toList(), List.of(1)); + assertEquals(Stream.of(1).gather(g.andThen(g)).limit(1).toList(), List.of(1)); + } + + @ParameterizedTest + @MethodSource("configurations") + public void testCompositionSymmetry(Config config) { + var consecutiveResult = config.stream().gather(addOne).gather(timesTwo).toList(); + var interspersedResult = config.stream().gather(addOne).map(id -> id).gather(timesTwo).toList(); + var composedResult = config.stream().gather(addOne.andThen(timesTwo)).toList(); + + var reference = config.stream().map(j -> j + 1).map(j -> j * 2).toList(); + + assertEquals(config.streamSize, consecutiveResult.size()); + assertEquals(config.streamSize, interspersedResult.size()); + assertEquals(config.streamSize, composedResult.size()); + assertEquals(config.streamSize, reference.size()); + + assertEquals(consecutiveResult, reference); + assertEquals(interspersedResult, reference); + assertEquals(composedResult, reference); + } + + @ParameterizedTest + @MethodSource("configurations") + public void testExceptionInInitializer(Config config) { + final var expectedMessage = "testExceptionInInitializer()"; + assertThrowsTestException(() -> + config.stream().gather( + Gatherer.of( + () -> { throw new TestException(expectedMessage); }, + (i, e, d) -> true, + (l,r) -> l, + (i,d) -> {} + ) + ).toList(), expectedMessage); + } + + @ParameterizedTest + @MethodSource("configurations") + public void testExceptionInIntegrator(Config config) { + if (config.streamSize < 1) return; // No exceptions expected + + final var expectedMessage = "testExceptionInIntegrator()"; + assertThrowsTestException(() -> + config.stream().gather( + Gatherer.of( + () -> 1, + (i, e, d) -> { throw new TestException(expectedMessage); }, + (l,r) -> l, + (i,d) -> {} + ) + ).toList() + , expectedMessage); + } + + @ParameterizedTest + @MethodSource("configurations") + public void testExceptionInCombiner(Config config) { + if (config.streamSize < 2 || !config.parallel) return; // No exceptions expected + + final var expectedMessage = "testExceptionInCombiner()"; + assertThrowsTestException(() -> + config.stream().gather( + Gatherer.of( + () -> 1, + (i, e, d) -> true, + (l,r) -> { throw new TestException(expectedMessage); }, + (i,d) -> {} + ) + ).toList() + , expectedMessage); + } + + @ParameterizedTest + @MethodSource("configurations") + public void testExceptionInFinisher(Config config) { + final var expectedMessage = "testExceptionInFinisher()"; + assertThrowsTestException(() -> + config.stream().gather( + Gatherer.of( + () -> 1, + (i, e, d) -> true, + (l,r) -> l, + (v, d) -> { throw new TestException(expectedMessage); } + ) + ).toList() + , expectedMessage); + } + + private final static void assertThrowsTestException(Supplier supplier, String expectedMessage) { + try { + var discard = supplier.get(); + } catch (TestException e) { + assertSame(TestException.class, e.getClass()); + assertEquals(expectedMessage, e.getMessage()); + return; + } + fail("Expected TestException but wasn't thrown!"); + } +} diff --git a/test/jdk/java/util/stream/GatherersTest.java b/test/jdk/java/util/stream/GatherersTest.java new file mode 100644 index 0000000000000..e2cbee38fc2b5 --- /dev/null +++ b/test/jdk/java/util/stream/GatherersTest.java @@ -0,0 +1,368 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Set; +import java.util.concurrent.ConcurrentLinkedQueue; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Semaphore; +import java.util.function.Predicate; +import java.util.function.Supplier; +import java.util.stream.*; +import java.util.stream.Gatherer; + +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; +import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assumptions.*; + +/** + * @test + * @summary Testing the built-in Gatherer implementations and their contracts + * @enablePreview + * @run junit GatherersTest + */ + +public class GatherersTest { + + record Config(int streamSize, boolean parallel) { + Stream stream() { + return wrapStream(Stream.iterate(1, i -> i + 1).limit(streamSize)); + } + + Stream wrapStream(Stream stream) { + stream = parallel ? stream.parallel() : stream.sequential(); + return stream; + } + } + + final static Stream configurations() { + return Stream.of(0,1,10,33,99,9999) + .flatMap(size -> + Stream.of(false, true) + .map(parallel -> + new Config(size, parallel)) + ); + } + + final class TestException extends RuntimeException { + TestException(String message) { + super(message); + } + } + + @ParameterizedTest + @MethodSource("configurations") + public void testFixedWindowAPIandContract(Config config) { + // Groups must be greater than 0 + assertThrows(IllegalArgumentException.class, () -> Gatherers.windowFixed(0)); + + final var streamSize = config.streamSize(); + + // We're already covering less-than-one scenarios above + if (streamSize > 0) { + //Test creating a window of the same size as the stream + { + final var result = config.stream() + .gather(Gatherers.windowFixed(streamSize)) + .toList(); + assertEquals(1, result.size()); + assertEquals(config.stream().toList(), result.get(0)); + } + + //Test nulls as elements + { + assertEquals( + config.stream() + .map(n -> Arrays.asList(null, null)) + .toList(), + config.stream() + .flatMap(n -> Stream.of(null, null)) + .gather(Gatherers.windowFixed(2)) + .toList()); + } + + // Test unmodifiability of windows + { + var window = config.stream() + .gather(Gatherers.windowFixed(1)) + .findFirst() + .get(); + assertThrows(UnsupportedOperationException.class, + () -> window.add(2)); + } + } + + + // Tests that the layout of the returned data is as expected + for (var windowSize : List.of(1, 2, 3, 10)) { + final var expectLastWindowSize = streamSize % windowSize == 0 ? windowSize : streamSize % windowSize; + final var expectedSize = (streamSize / windowSize) + ((streamSize % windowSize == 0) ? 0 : 1); + + final var expected = config.stream().toList().iterator(); + + final var result = config.stream() + .gather(Gatherers.windowFixed(windowSize)) + .toList(); + + int currentWindow = 0; + for (var window : result) { + ++currentWindow; + assertEquals(currentWindow < expectedSize ? windowSize : expectLastWindowSize, window.size()); + for (var element : window) + assertEquals(expected.next(), element); + } + + assertEquals(expectedSize, currentWindow); + } + } + + @ParameterizedTest + @MethodSource("configurations") + public void testSlidingAPIandContract(Config config) { + // Groups must be greater than 0 + assertThrows(IllegalArgumentException.class, () -> Gatherers.windowSliding(0)); + + final var streamSize = config.streamSize(); + + // We're already covering less-than-one scenarios above + if (streamSize > 0) { + //Test greating a window larger than the size of the stream + { + final var result = config.stream() + .gather(Gatherers.windowSliding(streamSize + 1)) + .toList(); + assertEquals(1, result.size()); + assertEquals(config.stream().toList(), result.get(0)); + } + + //Test nulls as elements + { + assertEquals( + List.of( + Arrays.asList(null, null), + Arrays.asList(null, null) + ), + config.wrapStream(Stream.of(null, null, null)) + .gather(Gatherers.windowSliding(2)) + .toList()); + } + + // Test unmodifiability of windows + { + var window = config.stream() + .gather(Gatherers.windowSliding(1)) + .findFirst() + .get(); + assertThrows(UnsupportedOperationException.class, + () -> window.add(2)); + } + } + + // Tests that the layout of the returned data is as expected + for (var windowSize : List.of(1, 2, 3, 10)) { + final var expectLastWindowSize = streamSize < windowSize ? streamSize : windowSize; + final var expectedNumberOfWindows = streamSize == 0 ? 0 : Math.max(1, 1 + streamSize - windowSize); + + int expectedElement = 0; + int currentWindow = 0; + + final var result = config.stream() + .gather(Gatherers.windowSliding(windowSize)) + .toList(); + + for (var window : result) { + ++currentWindow; + assertEquals(currentWindow < expectedNumberOfWindows ? windowSize : expectLastWindowSize, window.size()); + for (var element : window) { + assertEquals(++expectedElement, element.intValue()); + } + // rewind for the sliding motion + expectedElement -= (window.size() - 1); + } + + assertEquals(expectedNumberOfWindows, currentWindow); + } + } + + @ParameterizedTest + @MethodSource("configurations") + public void testFoldAPIandContract(Config config) { + // Verify prereqs + assertThrows(NullPointerException.class, () -> Gatherers.fold(null, (state, next) -> state)); + assertThrows(NullPointerException.class, () -> Gatherers.fold(() -> "", null)); + + final var expectedResult = List.of( + config.stream() + .sequential() + .reduce("", (acc, next) -> acc + next, (l,r) -> { throw new IllegalStateException(); }) + ); + + final var result = config.stream() + .gather(Gatherers.fold(() -> "", (acc, next) -> acc + next)) + .toList(); + + assertEquals(expectedResult, result); + } + + @ParameterizedTest + @MethodSource("configurations") + public void testMapConcurrentAPIandContract(Config config) throws InterruptedException { + // Verify prereqs + assertThrows(IllegalArgumentException.class, () -> Gatherers.mapConcurrent(0, s -> s)); + assertThrows(NullPointerException.class, () -> Gatherers.mapConcurrent(2, null)); + + // Test exception during processing + { + final var stream = config.parallel() ? Stream.of(1).parallel() : Stream.of(1); + + assertThrows(RuntimeException.class, + () -> stream.gather(Gatherers.mapConcurrent(2, x -> { + throw new RuntimeException(); + })).toList()); + } + + // Test cancellation after exception during processing + if (config.streamSize > 2) { // We need streams of a minimum size to test this + final var firstLatch = new CountDownLatch(1); + final var secondLatch = new CountDownLatch(1); + final var cancellationLatch = new CountDownLatch(config.streamSize - 2); // all but two will get cancelled + + try { + config.stream() + .gather( + Gatherers.mapConcurrent(config.streamSize(), i -> { + switch (i) { + case 1 -> { + try { + firstLatch.await(); // the first waits for the last element to start + } catch (InterruptedException ie) { + throw new IllegalStateException(ie); + } + throw new TestException("expected"); + } + + case Integer n when n == config.streamSize - 1 -> { // last element + firstLatch.countDown(); // ensure that the first element can now proceed + } + + default -> { + try { + secondLatch.await(); // These should all get interrupted + } catch (InterruptedException ie) { + cancellationLatch.countDown(); // used to ensure that they all were interrupted + } + } + } + + return i; + }) + ) + .toList(); + fail("This should not be reached"); + } catch (RuntimeException re) { + assertSame(TestException.class, re.getClass()); + assertEquals("expected", re.getMessage()); + cancellationLatch.await(); + return; + } + + fail("This should not be reached"); + } + + // Test cancellation during short-circuiting + if (config.streamSize > 2) { + final var firstLatch = new CountDownLatch(1); + final var secondLatch = new CountDownLatch(1); + final var cancellationLatch = new CountDownLatch(config.streamSize - 2); // all but two will get cancelled + + final var result = + config.stream() + .gather( + Gatherers.mapConcurrent(config.streamSize(), i -> { + switch (i) { + case 1 -> { + try { + firstLatch.await(); // the first waits for the last element to start + } catch (InterruptedException ie) { + throw new IllegalStateException(ie); + } + } + + case Integer n when n == config.streamSize - 1 -> { // last element + firstLatch.countDown(); // ensure that the first element can now proceed + } + + default -> { + try { + secondLatch.await(); // These should all get interrupted + } catch (InterruptedException ie) { + cancellationLatch.countDown(); // used to ensure that they all were interrupted + } + } + } + + return i; + }) + ) + .limit(2) + .toList(); + cancellationLatch.await(); // If this hangs, then we didn't cancel and interrupt the tasks + assertEquals(List.of(1,2), result); + } + + for (var concurrency : List.of(1, 2, 3, 10, 1000)) { + // Test normal operation + { + final var expectedResult = config.stream() + .map(x -> x * x) + .toList(); + + final var result = config.stream() + .gather(Gatherers.mapConcurrent(concurrency, x -> x * x)) + .toList(); + + assertEquals(expectedResult, result); + } + + // Test short-circuiting + { + final var limitTo = Math.max(config.streamSize() / 2, 1); + + final var expectedResult = config.stream() + .map(x -> x * x) + .limit(limitTo) + .toList(); + + final var result = config.stream() + .gather(Gatherers.mapConcurrent(concurrency, x -> x * x)) + .limit(limitTo) + .toList(); + + assertEquals(expectedResult, result); + } + } + } +} diff --git a/test/jdk/lib/testlibrary/bootlib/java.base/java/util/stream/DefaultMethodStreams.java b/test/jdk/lib/testlibrary/bootlib/java.base/java/util/stream/DefaultMethodStreams.java index d16603e9cf8bb..bc7c3bc471d26 100644 --- a/test/jdk/lib/testlibrary/bootlib/java.base/java/util/stream/DefaultMethodStreams.java +++ b/test/jdk/lib/testlibrary/bootlib/java.base/java/util/stream/DefaultMethodStreams.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it diff --git a/test/micro/org/openjdk/bench/java/util/stream/ops/ref/BenchmarkGathererImpls.java b/test/micro/org/openjdk/bench/java/util/stream/ops/ref/BenchmarkGathererImpls.java new file mode 100644 index 0000000000000..623500f16c246 --- /dev/null +++ b/test/micro/org/openjdk/bench/java/util/stream/ops/ref/BenchmarkGathererImpls.java @@ -0,0 +1,272 @@ +package org.openjdk.bench.java.util.stream.ops.ref; + +import java.util.Objects; +import java.util.Optional; +import java.util.function.BiConsumer; +import java.util.function.BinaryOperator; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.function.Supplier; +import java.util.stream.Collector; +import java.util.stream.Gatherer; +import java.util.stream.Stream; + +// Utility Gatherer and Collector implementations used by Gatherer micro-benchmarks +public final class BenchmarkGathererImpls { + + public static Gatherer filter(Predicate predicate) { + return new FilteringGatherer<>(predicate); + } + + public final static Gatherer map(Function mapper) { + return new MappingGatherer<>(Objects.requireNonNull(mapper)); + } + + public static Gatherer reduce(BinaryOperator reduce) { + Objects.requireNonNull(reduce); + return new ReducingGatherer<>(reduce); + } + + public final static Gatherer takeWhile(Predicate predicate) { + return new TakeWhileGatherer<>(Objects.requireNonNull(predicate)); + } + + @SuppressWarnings("unchecked") + public final static Collector> findFirst() { + return (Collector>)FIND_FIRST; + } + + @SuppressWarnings("unchecked") + public final static Collector> findLast() { + return (Collector>)FIND_LAST; + } + + @SuppressWarnings("rawtypes") + private final static Collector FIND_FIRST = + Collector.,Optional>of( + () -> new Box<>(), + (b,e) -> { + if (!b.hasValue) { + b.value = e; + b.hasValue = true; + } + }, + (l,r) -> l.hasValue ? l : r, + b -> b.hasValue ? Optional.of(b.value) : Optional.empty() + ); + + @SuppressWarnings("rawtypes") + private final static Collector FIND_LAST = + Collector.,Optional>of( + () -> new Box<>(), + (b,e) -> { + b.value = e; + if (!b.hasValue) + b.hasValue = true; + }, + (l,r) -> r.hasValue ? r : l, + b -> b.hasValue ? Optional.of(b.value) : Optional.empty() + ); + + public final static Gatherer flatMap(Function> mapper) { + Objects.requireNonNull(mapper); + + class FlatMappingGatherer implements Gatherer, Gatherer.Integrator, BinaryOperator { + @Override public Integrator integrator() { return this; } + + // Ideal encoding, but performance-wise suboptimal due to cost of allMatch--about factor-10 worse. + /*@Override public boolean integrate(Void state, T element, Gatherer.Downstream downstream) { + try(Stream s = mapper.apply(element)) { + return s != null ? s.sequential().allMatch(downstream::flush) : true; + } + }*/ + + //The version below performs better, but is not nice to maintain or explain. + + private final static RuntimeException SHORT_CIRCUIT = new RuntimeException() { + @Override public synchronized Throwable fillInStackTrace() { return this; } + }; + + @Override public boolean integrate(Void state, T element, Gatherer.Downstream downstream) { + try (Stream s = mapper.apply(element)) { + if (s != null) { + s.sequential().spliterator().forEachRemaining(e -> { + if (!downstream.push(e)) throw SHORT_CIRCUIT; + }); + } + return true; + } catch (RuntimeException e) { + if (e == SHORT_CIRCUIT) + return false; + + throw e; // Rethrow anything else + } + } + + @Override public BinaryOperator combiner() { return this; } + @Override public Void apply(Void unused, Void unused2) { return unused; } + } + + return new FlatMappingGatherer(); + } + + final static class MappingGatherer implements Gatherer, Gatherer.Integrator.Greedy, BinaryOperator { + final Function mapper; + + MappingGatherer(Function mapper) { this.mapper = mapper; } + + @Override public Integrator integrator() { return this; } + @Override public BinaryOperator combiner() { return this; } + @Override public Void apply(Void left, Void right) { return left; } + + @Override + public Gatherer andThen(Gatherer that) { + if (that.getClass() == MappingGatherer.class) { // Implicit null-check of that + @SuppressWarnings("unchecked") + var thatMapper = ((MappingGatherer)that).mapper; + return new MappingGatherer<>(this.mapper.andThen(thatMapper)); + } else + return Gatherer.super.andThen(that); + } + + @Override + public boolean integrate(Void state, T element, Gatherer.Downstream downstream) { + return downstream.push(mapper.apply(element)); + } + } + + + final static class FilteringGatherer implements Gatherer, Gatherer.Integrator.Greedy, BinaryOperator { + final Predicate predicate; + + protected FilteringGatherer(Predicate predicate) { this.predicate = predicate; } + + @Override public Integrator integrator() { return this; } + @Override public BinaryOperator combiner() { return this; } + + @Override public Void apply(Void left, Void right) { return left; } + + @Override + public boolean integrate(Void state, TR element, Gatherer.Downstream downstream) { + return predicate.test(element) ? downstream.push(element) : true; + } + + @Override + @SuppressWarnings("unchecked") + public Gatherer andThen(Gatherer that) { + if (that.getClass() == FilteringGatherer.class) { + var first = predicate; + var second = ((FilteringGatherer) that).predicate; + return (Gatherer) new FilteringGatherer(e -> first.test(e) && second.test(e)); + } else if (that.getClass() == MappingGatherer.class) { + final var thatMapper = (MappingGatherer)that; + return new FilteringMappingGatherer<>(predicate, thatMapper.mapper); + } else if (that.getClass() == FilteringMappingGatherer.class) { + var first = predicate; + var thatFilterMapper = ((FilteringMappingGatherer) that); + var second = thatFilterMapper.predicate; + return new FilteringMappingGatherer<>(e -> first.test(e) && second.test(e), thatFilterMapper.mapper); + } else + return Gatherer.super.andThen(that); + } + } + + final static class FilteringMappingGatherer implements Gatherer, Gatherer.Integrator.Greedy, BinaryOperator { + final Predicate predicate; + final Function mapper; + + FilteringMappingGatherer(Predicate predicate, Function mapper) { + this.predicate = predicate; + this.mapper = mapper; + } + + @Override public Integrator integrator() { return this; } + @Override public BinaryOperator combiner() { return this; } + @Override public Void apply(Void left, Void right) { return left; } + + @Override + public Gatherer andThen(Gatherer that) { + if (that.getClass() == MappingGatherer.class) { // Implicit null-check of that + @SuppressWarnings("unchecked") + var thatMapper = ((MappingGatherer)that).mapper; + return new FilteringMappingGatherer<>(this.predicate, this.mapper.andThen(thatMapper)); + } else + return Gatherer.super.andThen(that); + } + + @Override + public boolean integrate(Void state, T element, Gatherer.Downstream downstream) { + return !predicate.test(element) || downstream.push(mapper.apply(element)); + } + } + + final static class ReducingGatherer implements Gatherer, TR>, + Supplier>, + Gatherer.Integrator.Greedy, TR, TR>, + BinaryOperator>, + BiConsumer, Gatherer.Downstream> { + private final BinaryOperator reduce; + ReducingGatherer(BinaryOperator reduce) { this.reduce = reduce; } + + @Override public Box get() { return new Box<>(); } + + @Override + public boolean integrate(Box state, TR m, Gatherer.Downstream downstream) { + state.value = state.hasValue || !(state.hasValue = true) ? reduce.apply(state.value, m) : m; + return true; + } + + @Override public Box apply(Box left, Box right) { + if (right.hasValue) + integrate(left, right.value, null); + return left; + } + + @Override public void accept(Box box, Gatherer.Downstream downstream) { + if (box.hasValue) + downstream.push(box.value); + } + + @Override public Supplier> initializer() { return this; } + @Override public Integrator, TR, TR> integrator() { return this; } + @Override public BinaryOperator> combiner() { return this; } + @Override public BiConsumer, Gatherer.Downstream> finisher() { return this; } + } + + final static class TakeWhileGatherer implements Gatherer, Gatherer.Integrator, BinaryOperator { + final Predicate predicate; + TakeWhileGatherer(Predicate predicate) { this.predicate = predicate; } + + @Override public Integrator integrator() { return this; } + @Override public BinaryOperator combiner() { return this; } + + @Override public Void apply(Void left, Void right) { return left; } + + @Override public boolean integrate(Void state, TR element, Gatherer.Downstream downstream) { + return predicate.test(element) && downstream.push(element); + } + + @Override + @SuppressWarnings("unchecked") + public final Gatherer andThen(Gatherer that) { + if (that.getClass() == TakeWhileGatherer.class) { + final var thisPredicate = predicate; + final var thatPredicate = ((TakeWhileGatherer)that).predicate; + return (Gatherer)new TakeWhileGatherer(e -> thisPredicate.test(e) && thatPredicate.test(e)); + } + else + return Gatherer.super.andThen(that); + } + } + + final static class Box { + T value; + boolean hasValue; + + Box() {} + } +} \ No newline at end of file diff --git a/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherFMRPar.java b/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherFMRPar.java new file mode 100644 index 0000000000000..476299df76e5a --- /dev/null +++ b/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherFMRPar.java @@ -0,0 +1,136 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 org.openjdk.bench.java.util.stream.ops.ref; + +import org.openjdk.bench.java.util.stream.ops.LongAccumulator; +import org.openjdk.jmh.annotations.Benchmark; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.OutputTimeUnit; +import org.openjdk.jmh.annotations.Param; +import org.openjdk.jmh.annotations.Scope; +import org.openjdk.jmh.annotations.Setup; +import org.openjdk.jmh.annotations.State; +import org.openjdk.jmh.annotations.Warmup; + +import java.util.concurrent.TimeUnit; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.Arrays; +import java.util.stream.Gatherer; +import static org.openjdk.bench.java.util.stream.ops.ref.BenchmarkGathererImpls.filter; +import static org.openjdk.bench.java.util.stream.ops.ref.BenchmarkGathererImpls.map; + +/** + * Benchmark for filter+map+reduce operations implemented as Gatherer, with the default map implementation of Stream as baseline. + */ +@BenchmarkMode(Mode.Throughput) +@Warmup(iterations = 4, time = 5, timeUnit = TimeUnit.SECONDS) +@Measurement(iterations = 7, time = 5, timeUnit = TimeUnit.SECONDS) +@Fork(jvmArgsAppend = "--enable-preview", value = 1) +@OutputTimeUnit(TimeUnit.SECONDS) +@State(Scope.Thread) +public class GatherFMRPar { + + @Param({"10","100","1000000"}) + private int size; + + private Function squared; + private Predicate evens; + + private Gatherer gathered; + private Gatherer ga_map_squared; + private Gatherer ga_filter_evens; + + private Long[] cachedInputArray; + + @Setup + public void setup() { + cachedInputArray = new Long[size]; + for(int i = 0;i < size;++i) + cachedInputArray[i] = Long.valueOf(i); + + squared = new Function() { @Override public Long apply(Long l) { return l*l; } }; + evens = new Predicate() { @Override public boolean test(Long l) { + return l % 2 == 0; + } }; + + ga_map_squared = map(squared); + ga_filter_evens = filter(evens); + + gathered = ga_filter_evens.andThen(ga_map_squared); + } + + @Benchmark + public long par_fmr_baseline() { + return Arrays.stream(cachedInputArray) + .parallel() + .filter(evens) + .map(squared) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long par_fmr_gather() { + return Arrays.stream(cachedInputArray) + .parallel() + .gather(filter(evens)) + .gather(map(squared)) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long par_fmr_gather_preallocated() { + return Arrays.stream(cachedInputArray) + .parallel() + .gather(ga_filter_evens) + .gather(ga_map_squared) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long par_fmr_gather_composed() { + return Arrays.stream(cachedInputArray) + .parallel() + .gather(filter(evens).andThen(map(squared))) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long par_fmr_gather_composed_preallocated() { + return Arrays.stream(cachedInputArray) + .parallel() + .gather(filter(evens).andThen(map(squared))) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long par_fmr_gather_precomposed() { + return Arrays.stream(cachedInputArray) + .parallel() + .gather(gathered) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } +} diff --git a/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherFMRSeq.java b/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherFMRSeq.java new file mode 100644 index 0000000000000..05e48e16d075b --- /dev/null +++ b/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherFMRSeq.java @@ -0,0 +1,130 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 org.openjdk.bench.java.util.stream.ops.ref; + +import org.openjdk.bench.java.util.stream.ops.LongAccumulator; +import org.openjdk.jmh.annotations.Benchmark; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.OutputTimeUnit; +import org.openjdk.jmh.annotations.Param; +import org.openjdk.jmh.annotations.Scope; +import org.openjdk.jmh.annotations.Setup; +import org.openjdk.jmh.annotations.State; +import org.openjdk.jmh.annotations.Warmup; + +import java.util.concurrent.TimeUnit; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.Arrays; +import java.util.stream.Gatherer; +import static org.openjdk.bench.java.util.stream.ops.ref.BenchmarkGathererImpls.filter; +import static org.openjdk.bench.java.util.stream.ops.ref.BenchmarkGathererImpls.map; + +/** + * Benchmark for filter+map+reduce operations implemented as Gatherer, with the default map implementation of Stream as baseline. + */ +@BenchmarkMode(Mode.Throughput) +@Warmup(iterations = 4, time = 5, timeUnit = TimeUnit.SECONDS) +@Measurement(iterations = 7, time = 5, timeUnit = TimeUnit.SECONDS) +@Fork(jvmArgsAppend = "--enable-preview", value = 1) +@OutputTimeUnit(TimeUnit.SECONDS) +@State(Scope.Thread) +public class GatherFMRSeq { + + @Param({"10","100","1000000"}) + private int size; + + private Function squared; + private Predicate evens; + + private Gatherer gathered; + private Gatherer ga_map_squared; + private Gatherer ga_filter_evens; + + private Long[] cachedInputArray; + + @Setup + public void setup() { + cachedInputArray = new Long[size]; + for(int i = 0;i < size;++i) + cachedInputArray[i] = Long.valueOf(i); + + squared = new Function() { @Override public Long apply(Long l) { return l*l; } }; + evens = new Predicate() { @Override public boolean test(Long l) { + return l % 2 == 0; + } }; + + ga_map_squared = map(squared); + ga_filter_evens = filter(evens); + + gathered = ga_filter_evens.andThen(ga_map_squared); + } + + @Benchmark + public long seq_fmr_baseline() { + return Arrays.stream(cachedInputArray) + .filter(evens) + .map(squared) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long seq_fmr_gather() { + return Arrays.stream(cachedInputArray) + .gather(filter(evens)) + .gather(map(squared)) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long seq_fmr_gather_preallocated() { + return Arrays.stream(cachedInputArray) + .gather(ga_filter_evens) + .gather(ga_map_squared) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long seq_fmr_gather_composed() { + return Arrays.stream(cachedInputArray) + .gather(filter(evens).andThen(map(squared))) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long seq_fmr_gather_composed_preallocated() { + return Arrays.stream(cachedInputArray) + .gather(filter(evens).andThen(map(squared))) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long seq_fmr_gather_precomposed() { + return Arrays.stream(cachedInputArray) + .gather(gathered) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } +} diff --git a/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherFlatMapInfinitySeq.java b/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherFlatMapInfinitySeq.java new file mode 100644 index 0000000000000..09c38f8348432 --- /dev/null +++ b/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherFlatMapInfinitySeq.java @@ -0,0 +1,108 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 org.openjdk.bench.java.util.stream.ops.ref; + +import org.openjdk.bench.java.util.stream.ops.LongAccumulator; +import org.openjdk.jmh.annotations.Benchmark; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.OutputTimeUnit; +import org.openjdk.jmh.annotations.Param; +import org.openjdk.jmh.annotations.Scope; +import org.openjdk.jmh.annotations.Setup; +import org.openjdk.jmh.annotations.State; +import org.openjdk.jmh.annotations.Warmup; + +import java.util.concurrent.TimeUnit; +import java.util.function.Function; +import java.util.Arrays; +import java.util.stream.Stream; +import java.util.stream.Gatherer; +import static org.openjdk.bench.java.util.stream.ops.ref.BenchmarkGathererImpls.flatMap; + +/** + * Benchmark for map() operation implemented as Gatherer, with the default map implementation of Stream as baseline. + */ +@BenchmarkMode(Mode.Throughput) +@Warmup(iterations = 4, time = 5, timeUnit = TimeUnit.SECONDS) +@Measurement(iterations = 7, time = 5, timeUnit = TimeUnit.SECONDS) +@Fork(jvmArgsAppend = "--enable-preview", value = 1) +@OutputTimeUnit(TimeUnit.SECONDS) +@State(Scope.Thread) +public class GatherFlatMapInfinitySeq { + + /** + * Implementation notes: + * - parallel version requires thread-safe sink, we use the same for sequential version for better comparison + * - operations are explicit inner classes to untangle unwanted lambda effects + * - the result of applying consecutive operations is the same, in order to have the same number of elements in sink + */ + + @Param({"10", "100", "1000"}) + private int size; + + private Function> funInf; + + private Long[] cachedInputArray; + + private Gatherer gather_flatMap_inf; + + @Setup + public void setup() { + cachedInputArray = new Long[size]; + for(int i = 0;i < size;++i) + cachedInputArray[i] = Long.valueOf(i); + + funInf = new Function>() { @Override public Stream apply(Long l) { + return Stream.generate(() -> l); + } }; + + gather_flatMap_inf = flatMap(funInf); + } + + @Benchmark + public long seq_invoke_baseline() { + return Arrays.stream(cachedInputArray) + .flatMap(funInf) + .limit(size * 5) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long seq_invoke_gather() { + return Arrays.stream(cachedInputArray) + .gather(flatMap(funInf)) + .limit(size * 5) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long seq_invoke_gather_preallocated() { + return Arrays.stream(cachedInputArray) + .gather(gather_flatMap_inf) + .limit(size * 5) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } +} diff --git a/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherFlatMapSeq.java b/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherFlatMapSeq.java new file mode 100644 index 0000000000000..a13ee01a8514b --- /dev/null +++ b/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherFlatMapSeq.java @@ -0,0 +1,105 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 org.openjdk.bench.java.util.stream.ops.ref; + +import org.openjdk.bench.java.util.stream.ops.LongAccumulator; +import org.openjdk.jmh.annotations.Benchmark; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.OutputTimeUnit; +import org.openjdk.jmh.annotations.Param; +import org.openjdk.jmh.annotations.Scope; +import org.openjdk.jmh.annotations.Setup; +import org.openjdk.jmh.annotations.State; +import org.openjdk.jmh.annotations.Warmup; + +import java.util.concurrent.TimeUnit; +import java.util.function.Function; +import java.util.Arrays; +import java.util.stream.Stream; +import java.util.stream.Gatherer; +import static org.openjdk.bench.java.util.stream.ops.ref.BenchmarkGathererImpls.flatMap; + +/** + * Benchmark for map() operation implemented as Gatherer, with the default map implementation of Stream as baseline. + */ +@BenchmarkMode(Mode.Throughput) +@Warmup(iterations = 4, time = 5, timeUnit = TimeUnit.SECONDS) +@Measurement(iterations = 7, time = 5, timeUnit = TimeUnit.SECONDS) +@Fork(jvmArgsAppend = "--enable-preview", value = 1) +@OutputTimeUnit(TimeUnit.SECONDS) +@State(Scope.Thread) +public class GatherFlatMapSeq { + + /** + * Implementation notes: + * - parallel version requires thread-safe sink, we use the same for sequential version for better comparison + * - operations are explicit inner classes to untangle unwanted lambda effects + * - the result of applying consecutive operations is the same, in order to have the same number of elements in sink + */ + + @Param({"10", "100", "1000"}) + private int size; + + private Function> fun; + + private Gatherer gather_flatMap; + + private Long[] cachedInputArray; + + @Setup + public void setup() { + cachedInputArray = new Long[size]; + for(int i = 0;i < size;++i) + cachedInputArray[i] = Long.valueOf(i); + + fun = new Function>() { @Override public Stream apply(Long l) { + return Arrays.stream(cachedInputArray); + } }; + + gather_flatMap = flatMap(fun); + } + + @Benchmark + public long seq_invoke_baseline() { + return Arrays.stream(cachedInputArray) + .flatMap(fun) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long seq_invoke_gather() { + return Arrays.stream(cachedInputArray) + .gather(flatMap(fun)) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long seq_invoke_gather_preallocated() { + return Arrays.stream(cachedInputArray) + .gather(gather_flatMap) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } +} diff --git a/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherMapPar.java b/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherMapPar.java new file mode 100644 index 0000000000000..62c2d03b1b1af --- /dev/null +++ b/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherMapPar.java @@ -0,0 +1,171 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 org.openjdk.bench.java.util.stream.ops.ref; + +import org.openjdk.bench.java.util.stream.ops.LongAccumulator; +import org.openjdk.jmh.annotations.Benchmark; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.OutputTimeUnit; +import org.openjdk.jmh.annotations.Param; +import org.openjdk.jmh.annotations.Scope; +import org.openjdk.jmh.annotations.Setup; +import org.openjdk.jmh.annotations.State; +import org.openjdk.jmh.annotations.Warmup; + +import java.util.Arrays; +import java.util.concurrent.TimeUnit; +import java.util.function.Function; +import java.util.stream.Stream; +import java.util.stream.Gatherer; +import static org.openjdk.bench.java.util.stream.ops.ref.BenchmarkGathererImpls.map; + +/** + * Benchmark for map() operation implemented as Gatherer, with the default map implementation of Stream as baseline. + */ +@BenchmarkMode(Mode.Throughput) +@Warmup(iterations = 4, time = 5, timeUnit = TimeUnit.SECONDS) +@Measurement(iterations = 7, time = 5, timeUnit = TimeUnit.SECONDS) +@Fork(jvmArgsAppend = "--enable-preview", value = 1) +@OutputTimeUnit(TimeUnit.SECONDS) +@State(Scope.Thread) +public class GatherMapPar { + + /** + * Implementation notes: + * - parallel version requires thread-safe sink, we use the same for sequential version for better comparison + * - operations are explicit inner classes to untangle unwanted lambda effects + * - the result of applying consecutive operations is the same, in order to have the same number of elements in sink + */ + @Param({"10","100","1000000"}) + private int size; + + private Function m1, m2, m3; + + private Gatherer gather_m1, gather_m2, gather_m3, gather_all, gather_m1_111; + + private Long[] cachedInputArray; + + @Setup + public void setup() { + cachedInputArray = new Long[size]; + for(int i = 0;i < size;++i) + cachedInputArray[i] = Long.valueOf(i); + + m1 = new Function() { @Override public Long apply(Long l) { return l*2; } }; + m2 = new Function() { @Override public Long apply(Long l) { return l*2; } }; + m3 = new Function() { @Override public Long apply(Long l) { return l*2; } }; + gather_m1 = map(m1); + gather_m2 = map(m2); + gather_m3 = map(m3); + gather_all = gather_m1.andThen(gather_m2.andThen(gather_m3)); + gather_m1_111 = gather_m1.andThen(gather_m1.andThen(gather_m1)); + } + + @Benchmark + public long par_invoke_baseline() { + return Arrays.stream(cachedInputArray).parallel() + .map(m1) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long par_invoke_gather() { + return Arrays.stream(cachedInputArray).parallel() + .gather(map(m1)) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long par_invoke_gather_preallocated() { + return Arrays.stream(cachedInputArray).parallel() + .gather(gather_m1) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long par_chain_111_baseline() { + return Arrays.stream(cachedInputArray).parallel() + .map(m1) + .map(m1) + .map(m1) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long par_chain_111_gather_separate() { + return Arrays.stream(cachedInputArray).parallel() + .gather(map(m1)) + .gather(map(m1)) + .gather(map(m1)) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long par_chain_111_gather_composed() { + return Arrays.stream(cachedInputArray).parallel() + .gather(gather_m1.andThen(gather_m1).andThen(gather_m1)) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long par_chain_111_gather_precomposed() { + return Arrays.stream(cachedInputArray).parallel() + .gather(gather_m1_111) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long par_chain_123_baseline() { + return Arrays.stream(cachedInputArray).parallel() + .map(m1) + .map(m2) + .map(m3) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long par_chain_123_gather_separate() { + return Arrays.stream(cachedInputArray).parallel() + .gather(map(m1)) + .gather(map(m2)) + .gather(map(m3)) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long par_chain_123_gather_composed() { + return Arrays.stream(cachedInputArray).parallel() + .gather(map(m1).andThen(map(m2).andThen(map(m3)))) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long par_chain_123_gather_precomposed() { + return Arrays.stream(cachedInputArray).parallel() + .gather(gather_all) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } +} diff --git a/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherMapSeq.java b/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherMapSeq.java new file mode 100644 index 0000000000000..1e842c0c09e7d --- /dev/null +++ b/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherMapSeq.java @@ -0,0 +1,183 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 org.openjdk.bench.java.util.stream.ops.ref; + +import org.openjdk.bench.java.util.stream.ops.LongAccumulator; +import org.openjdk.jmh.annotations.Benchmark; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.OutputTimeUnit; +import org.openjdk.jmh.annotations.Param; +import org.openjdk.jmh.annotations.Scope; +import org.openjdk.jmh.annotations.Setup; +import org.openjdk.jmh.annotations.State; +import org.openjdk.jmh.annotations.Warmup; + +import java.util.concurrent.TimeUnit; +import java.util.function.Function; +import java.util.Arrays; +import java.util.stream.Collector; +import java.util.stream.Gatherer; +import static org.openjdk.bench.java.util.stream.ops.ref.BenchmarkGathererImpls.map; + +/** + * Benchmark for map() operation implemented as Gatherer, with the default map implementation of Stream as baseline. + */ +@BenchmarkMode(Mode.Throughput) +@Warmup(iterations = 4, time = 5, timeUnit = TimeUnit.SECONDS) +@Measurement(iterations = 7, time = 5, timeUnit = TimeUnit.SECONDS) +@Fork(jvmArgsAppend = "--enable-preview", value = 1) +@OutputTimeUnit(TimeUnit.SECONDS) +@State(Scope.Thread) +public class GatherMapSeq { + + /** + * Implementation notes: + * - parallel version requires thread-safe sink, we use the same for sequential version for better comparison + * - operations are explicit inner classes to untangle unwanted lambda effects + * - the result of applying consecutive operations is the same, in order to have the same number of elements in sink + */ + + @Param({"10", "100", "1000000"}) + private int size; + + private Function m1, m2, m3; + + private Gatherer gather_m1, gather_m2, gather_m3, gather_all, gather_m1_111; + + private Long[] cachedInputArray; + + private final static Collector accumulate = + Collector.of(LongAccumulator::new, + LongAccumulator::add, + (l,r) -> { l.merge(r); return l; }, + LongAccumulator::get); + + @Setup + public void setup() { + cachedInputArray = new Long[size]; + for(int i = 0;i < size;++i) + cachedInputArray[i] = Long.valueOf(i); + m1 = new Function() { @Override public Long apply(Long l) { + return l*2; + } }; + m2 = new Function() { @Override public Long apply(Long l) { + return l*2; + } }; + m3 = new Function() { @Override public Long apply(Long l) { + return l*2; + } }; + gather_m1 = map(m1); + gather_m2 = map(m2); + gather_m3 = map(m3); + gather_all = gather_m1.andThen(gather_m2.andThen(gather_m3)); + gather_m1_111 = gather_m1.andThen(gather_m1.andThen(gather_m1)); + } + + @Benchmark + public long seq_invoke_baseline() { + return Arrays.stream(cachedInputArray) + .map(m1) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long seq_invoke_gather() { + return Arrays.stream(cachedInputArray) + .gather(map(m1)) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long seq_invoke_gather_preallocated() { + return Arrays.stream(cachedInputArray) + .gather(gather_m1) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long seq_chain_111_baseline() { + return Arrays.stream(cachedInputArray) + .map(m1) + .map(m1) + .map(m1) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long seq_chain_111_gather_separate() { + return Arrays.stream(cachedInputArray) + .gather(map(m1)) + .gather(map(m1)) + .gather(map(m1)) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long seq_chain_111_gather_composed() { + return Arrays.stream(cachedInputArray) + .gather(map(m1).andThen(map(m1)).andThen(map(m1))) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long seq_chain_111_gather_precomposed() { + return Arrays.stream(cachedInputArray) + .gather(gather_m1_111) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long seq_chain_123_baseline() { + return Arrays.stream(cachedInputArray) + .map(m1) + .map(m2) + .map(m3) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long seq_chain_123_gather_separate() { + return Arrays.stream(cachedInputArray) + .gather(map(m1)) + .gather(map(m2)) + .gather(map(m3)) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long seq_chain_123_gather_composed() { + return Arrays.stream(cachedInputArray) + .gather(map(m1).andThen(map(m2)).andThen(map(m3))) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long seq_chain_123_gather_precomposed() { + return Arrays.stream(cachedInputArray) + .gather(gather_all) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } +} diff --git a/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherMiscPar.java b/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherMiscPar.java new file mode 100644 index 0000000000000..578e470ec5cb3 --- /dev/null +++ b/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherMiscPar.java @@ -0,0 +1,127 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 org.openjdk.bench.java.util.stream.ops.ref; + +import org.openjdk.bench.java.util.stream.ops.LongAccumulator; +import org.openjdk.jmh.annotations.Benchmark; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.OutputTimeUnit; +import org.openjdk.jmh.annotations.Param; +import org.openjdk.jmh.annotations.Scope; +import org.openjdk.jmh.annotations.Setup; +import org.openjdk.jmh.annotations.State; +import org.openjdk.jmh.annotations.Warmup; + +import java.util.concurrent.TimeUnit; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.Arrays; +import java.util.stream.Gatherer; +import static org.openjdk.bench.java.util.stream.ops.ref.BenchmarkGathererImpls.filter; +import static org.openjdk.bench.java.util.stream.ops.ref.BenchmarkGathererImpls.map; + +/** + * Benchmark for misc operations implemented as Gatherer, with the default map implementation of Stream as baseline. + */ +@BenchmarkMode(Mode.Throughput) +@Warmup(iterations = 4, time = 5, timeUnit = TimeUnit.SECONDS) +@Measurement(iterations = 7, time = 5, timeUnit = TimeUnit.SECONDS) +@Fork(jvmArgsAppend = "--enable-preview", value = 1) +@OutputTimeUnit(TimeUnit.SECONDS) +@State(Scope.Thread) +public class GatherMiscPar { + + /** + * Implementation notes: + * - parallel version requires thread-safe sink, we use the same for sequential version for better comparison + * - operations are explicit inner classes to untangle unwanted lambda effects + * - the result of applying consecutive operations is the same, in order to have the same number of elements in sink + */ + + @Param({"10","100","1000000"}) + private int size; + + private Function timesTwo, halved; + private Predicate evens, odds; + + private Gatherer gathered; + + private Long[] cachedInputArray; + + @Setup + public void setup() { + cachedInputArray = new Long[size]; + for(int i = 0;i < size;++i) + cachedInputArray[i] = Long.valueOf(i); + + timesTwo = new Function() { @Override public Long apply(Long l) { + return l*2; + } }; + halved = new Function() { @Override public Long apply(Long l) { return l/2; } }; + + evens = new Predicate() { @Override public boolean test(Long l) { + return l % 2 == 0; + } }; + odds = new Predicate() { @Override public boolean test(Long l) { + return l % 2 != 0; + } }; + + gathered = filter(odds) + .andThen(map(timesTwo)) + .andThen(map(halved)) + .andThen(filter(evens)); + } + + @Benchmark + public long par_misc_baseline() { + return Arrays.stream(cachedInputArray) + .parallel() + .filter(odds) + .map(timesTwo) + .map(halved) + .filter(evens) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long par_misc_gather() { + return Arrays.stream(cachedInputArray) + .parallel() + .gather(filter(odds)) + .gather(map(timesTwo)) + .gather(map(halved)) + .gather(filter(evens)) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long par_misc_gather_precomposed() { + return Arrays.stream(cachedInputArray) + .parallel() + .gather(gathered) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } +} diff --git a/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherMiscSeq.java b/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherMiscSeq.java new file mode 100644 index 0000000000000..0d7d9bdef9f49 --- /dev/null +++ b/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherMiscSeq.java @@ -0,0 +1,164 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 org.openjdk.bench.java.util.stream.ops.ref; + +import org.openjdk.bench.java.util.stream.ops.LongAccumulator; +import org.openjdk.jmh.annotations.Benchmark; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.OutputTimeUnit; +import org.openjdk.jmh.annotations.Param; +import org.openjdk.jmh.annotations.Scope; +import org.openjdk.jmh.annotations.Setup; +import org.openjdk.jmh.annotations.State; +import org.openjdk.jmh.annotations.Warmup; + +import java.util.concurrent.TimeUnit; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.Arrays; +import java.util.Optional; +import java.util.stream.Gatherer; +import static org.openjdk.bench.java.util.stream.ops.ref.BenchmarkGathererImpls.filter; +import static org.openjdk.bench.java.util.stream.ops.ref.BenchmarkGathererImpls.findLast; +import static org.openjdk.bench.java.util.stream.ops.ref.BenchmarkGathererImpls.map; + +/** + * Benchmark for misc operations implemented as Gatherer, with the default map implementation of Stream as baseline. + */ +@BenchmarkMode(Mode.Throughput) +@Warmup(iterations = 4, time = 5, timeUnit = TimeUnit.SECONDS) +@Measurement(iterations = 7, time = 5, timeUnit = TimeUnit.SECONDS) +@Fork(jvmArgsAppend = "--enable-preview", value = 1) +@OutputTimeUnit(TimeUnit.SECONDS) +@State(Scope.Thread) +public class GatherMiscSeq { + + /** + * Implementation notes: + * - parallel version requires thread-safe sink, we use the same for sequential version for better comparison + * - operations are explicit inner classes to untangle unwanted lambda effects + * - the result of applying consecutive operations is the same, in order to have the same number of elements in sink + */ + + @Param({"10","100","1000000"}) + private int size; + + private Function timesTwo, squared; + private Predicate evens, odds; + + private Gatherer gathered; + private Gatherer ga_filter_odds; + private Gatherer ga_map_timesTwo; + private Gatherer ga_map_squared; + private Gatherer ga_filter_evens; + + private Long[] cachedInputArray; + + @Setup + public void setup() { + cachedInputArray = new Long[size]; + for(int i = 0;i < size;++i) + cachedInputArray[i] = Long.valueOf(i); + + timesTwo = new Function() { @Override public Long apply(Long l) { + return l*2; + } }; + squared = new Function() { @Override public Long apply(Long l) { return l*l; } }; + + evens = new Predicate() { @Override public boolean test(Long l) { + return l % 2 == 0; + } }; + odds = new Predicate() { @Override public boolean test(Long l) { + return l % 2 != 0; + } }; + + ga_filter_odds = filter(odds); + ga_map_timesTwo = map(timesTwo); + ga_map_squared = map(squared); + ga_filter_evens = filter(evens); + + gathered = ga_filter_odds.andThen(ga_map_timesTwo).andThen(ga_map_squared).andThen(ga_filter_evens); + } + + @Benchmark + public long seq_misc_baseline() { + return Arrays.stream(cachedInputArray) + .filter(odds) + .map(timesTwo) + .map(squared) + .filter(evens) + .collect(findLast()).get(); + } + + @Benchmark + public long seq_misc_gather() { + return Arrays.stream(cachedInputArray) + .gather(filter(odds)) + .gather(map(timesTwo)) + .gather(map(squared)) + .gather(filter(evens)) + .collect(findLast()).get(); + } + + @Benchmark + public long seq_misc_gather_preallocated() { + return Arrays.stream(cachedInputArray) + .gather(ga_filter_odds) + .gather(ga_map_timesTwo) + .gather(ga_map_squared) + .gather(ga_filter_evens) + .collect(findLast()).get(); + } + + @Benchmark + public long seq_misc_gather_composed() { + return Arrays.stream(cachedInputArray) + .gather(filter(odds) + .andThen(map(timesTwo)) + .andThen(map(squared)) + .andThen(filter(evens)) + ) + .collect(findLast()).get(); + } + + @Benchmark + public long seq_misc_gather_composed_preallocated() { + return Arrays.stream(cachedInputArray) + .gather(ga_filter_odds + .andThen(ga_map_timesTwo) + .andThen(ga_map_squared) + .andThen(ga_filter_evens) + ) + .collect(findLast()).get(); + } + + @Benchmark + public long seq_misc_gather_precomposed() { + return Arrays.stream(cachedInputArray) + .gather(gathered) + .collect(findLast()).get(); + } +} diff --git a/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherReducePar.java b/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherReducePar.java new file mode 100644 index 0000000000000..2f2d0b06bd7a6 --- /dev/null +++ b/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherReducePar.java @@ -0,0 +1,94 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 org.openjdk.bench.java.util.stream.ops.ref; + +import org.openjdk.jmh.annotations.Benchmark; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.OutputTimeUnit; +import org.openjdk.jmh.annotations.Param; +import org.openjdk.jmh.annotations.Scope; +import org.openjdk.jmh.annotations.Setup; +import org.openjdk.jmh.annotations.State; +import org.openjdk.jmh.annotations.Warmup; + +import java.util.Optional; +import java.util.concurrent.TimeUnit; +import java.util.function.BinaryOperator; +import java.util.Arrays; +import java.util.stream.Collector; +import java.util.stream.Gatherer; +import static org.openjdk.bench.java.util.stream.ops.ref.BenchmarkGathererImpls.findFirst; +import static org.openjdk.bench.java.util.stream.ops.ref.BenchmarkGathererImpls.reduce; + +/** + * Benchmark for comparing the built-in reduce() operation with the Gatherer-based reduce-operation. + */ +@BenchmarkMode(Mode.Throughput) +@Warmup(iterations = 4, time = 5, timeUnit = TimeUnit.SECONDS) +@Measurement(iterations = 7, time = 5, timeUnit = TimeUnit.SECONDS) +@Fork(jvmArgsAppend = "--enable-preview", value = 1) +@OutputTimeUnit(TimeUnit.SECONDS) +@State(Scope.Thread) +public class GatherReducePar { + + /** + * Implementation notes: + * - parallel version requires thread-safe sink, we use the same for sequential version for better comparison + * - operations are explicit inner classes to untangle unwanted lambda effects + */ + + @Param({"100000"}) + private int size; + + private BinaryOperator op1; + + private Gatherer gather_op1; + + private Long[] cachedInputArray; + + @Setup + public void setup() { + cachedInputArray = new Long[size]; + for(int i = 0;i < size;++i) + cachedInputArray[i] = Long.valueOf(i); + + op1 = new BinaryOperator() { + @Override public Long apply(Long l, Long r) { + return (l < r) ? r : l; + } + }; + } + + @Benchmark + public long par_invoke_baseline() { + return Arrays.stream(cachedInputArray).parallel().reduce(op1).get(); + } + + @Benchmark + public long par_invoke_gather() { + return Arrays.stream(cachedInputArray).parallel().gather(reduce(op1)).collect(findFirst()).get(); + } +} diff --git a/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherReduceSeq.java b/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherReduceSeq.java new file mode 100644 index 0000000000000..7d8540d0ed46d --- /dev/null +++ b/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherReduceSeq.java @@ -0,0 +1,104 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 org.openjdk.bench.java.util.stream.ops.ref; + +import org.openjdk.jmh.annotations.Benchmark; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.OutputTimeUnit; +import org.openjdk.jmh.annotations.Param; +import org.openjdk.jmh.annotations.Scope; +import org.openjdk.jmh.annotations.Setup; +import org.openjdk.jmh.annotations.State; +import org.openjdk.jmh.annotations.Warmup; + +import java.util.concurrent.TimeUnit; +import java.util.function.BinaryOperator; +import java.util.Arrays; +import java.util.Optional; +import java.util.stream.Gatherer; +import java.util.stream.Collector; +import java.util.stream.Stream; + +import static org.openjdk.bench.java.util.stream.ops.ref.BenchmarkGathererImpls.findFirst; +import static org.openjdk.bench.java.util.stream.ops.ref.BenchmarkGathererImpls.reduce; + +/** + * Benchmark for comparing the built-in reduce() operation with the Gatherer-based reduce-operation. + */ +@BenchmarkMode(Mode.Throughput) +@Warmup(iterations = 4, time = 5, timeUnit = TimeUnit.SECONDS) +@Measurement(iterations = 7, time = 5, timeUnit = TimeUnit.SECONDS) +@Fork(jvmArgsAppend = "--enable-preview", value = 1) +@OutputTimeUnit(TimeUnit.SECONDS) +@State(Scope.Thread) +public class GatherReduceSeq { + + /** + * Implementation notes: + * - parallel version requires thread-safe sink, we use the same for sequential version for better comparison + * - operations are explicit inner classes to untangle unwanted lambda effects + */ + + @Param({"100", "100000"}) + private int size; + + private BinaryOperator op1; + + private Gatherer gather_op1; + + private Long[] cachedInputArray; + + @Setup + public void setup() { + cachedInputArray = new Long[size]; + for(int i = 0;i < size;++i) + cachedInputArray[i] = Long.valueOf(i); + + op1 = new BinaryOperator() { + @Override + public Long apply(Long l, Long r) { + return (l < r) ? r : l; + } + }; + + gather_op1 = reduce(op1); + } + + @Benchmark + public long seq_invoke_baseline() { + return Arrays.stream(cachedInputArray).reduce(op1).get(); + } + + @Benchmark + public long seq_invoke_gather() { + return Arrays.stream(cachedInputArray).gather(reduce(op1)).collect(findFirst()).get(); + } + + @Benchmark + public long seq_invoke_gather_preallocated() { + return Arrays.stream(cachedInputArray).gather(gather_op1).collect(findFirst()).get(); + } +} diff --git a/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherWhileOrdered.java b/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherWhileOrdered.java new file mode 100644 index 0000000000000..6e9e5fec1faf8 --- /dev/null +++ b/test/micro/org/openjdk/bench/java/util/stream/ops/ref/GatherWhileOrdered.java @@ -0,0 +1,128 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 org.openjdk.bench.java.util.stream.ops.ref; + +import org.openjdk.bench.java.util.stream.ops.LongAccumulator; +import org.openjdk.jmh.annotations.Benchmark; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.OutputTimeUnit; +import org.openjdk.jmh.annotations.Param; +import org.openjdk.jmh.annotations.Scope; +import org.openjdk.jmh.annotations.Setup; +import org.openjdk.jmh.annotations.State; +import org.openjdk.jmh.annotations.Warmup; + +import java.util.concurrent.TimeUnit; +import java.util.function.BinaryOperator; +import java.util.function.Predicate; +import java.util.Objects; +import java.util.Arrays; +import java.util.stream.Gatherer; +import static org.openjdk.bench.java.util.stream.ops.ref.BenchmarkGathererImpls.takeWhile; + +/** + * Benchmark for comparing the built-in takeWhile-operation with the Gatherer-based takeWhile-operation for ordered streams. + */ +@BenchmarkMode(Mode.Throughput) +@Warmup(iterations = 4, time = 5, timeUnit = TimeUnit.SECONDS) +@Measurement(iterations = 7, time = 5, timeUnit = TimeUnit.SECONDS) +@Fork(jvmArgsAppend = "--enable-preview", value = 1) +@OutputTimeUnit(TimeUnit.SECONDS) +@State(Scope.Thread) +public class GatherWhileOrdered { + + /** + * Implementation notes: + * - parallel version requires thread-safe sink, we use the same for sequential version for better comparison + * - operations are explicit inner classes to untangle unwanted lambda effects + */ + + @Param("100000") + private int size; + + @Param({"0", "49999", "99999"}) + private int find; + + private Predicate predicate; + + private Gatherer gather_takeWhile; + + private Long[] cachedInputArray; + + @Setup + public void setup() { + final int limit = find; + + cachedInputArray = new Long[size]; + for(int i = 0;i < size;++i) + cachedInputArray[i] = Long.valueOf(i); + + predicate = new Predicate() { + @Override + public boolean test(Long v) { + return v < limit; + } + }; + + gather_takeWhile = takeWhile(predicate); + } + + @Benchmark + public long seq_invoke_baseline() { + return Arrays.stream(cachedInputArray).takeWhile(predicate) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long seq_invoke_gather() { + return Arrays.stream(cachedInputArray).gather(takeWhile(predicate)) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long seq_invoke_gather_preallocated() { + return Arrays.stream(cachedInputArray).gather(gather_takeWhile) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long par_invoke_baseline() { + return Arrays.stream(cachedInputArray).parallel().takeWhile(predicate) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long par_invoke_gather() { + return Arrays.stream(cachedInputArray).parallel().gather(takeWhile(predicate)) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } + + @Benchmark + public long par_invoke_gather_preallocated() { + return Arrays.stream(cachedInputArray).parallel().gather(gather_takeWhile) + .collect(LongAccumulator::new, LongAccumulator::add, LongAccumulator::merge).get(); + } +} From da09eabdfc51599d0a34b07c538fba4009af57c5 Mon Sep 17 00:00:00 2001 From: Tom Rodriguez Date: Thu, 30 Nov 2023 14:58:18 +0000 Subject: [PATCH 015/143] 8319980: [JVMCI] libgraal should reuse Thread instances as C2 does Reviewed-by: dnsimon, kvn --- src/hotspot/share/compiler/compileBroker.cpp | 52 +++++++++----------- src/hotspot/share/compiler/compileBroker.hpp | 1 - 2 files changed, 23 insertions(+), 30 deletions(-) diff --git a/src/hotspot/share/compiler/compileBroker.cpp b/src/hotspot/share/compiler/compileBroker.cpp index dce935a14d8cb..bdaa64c5e4f08 100644 --- a/src/hotspot/share/compiler/compileBroker.cpp +++ b/src/hotspot/share/compiler/compileBroker.cpp @@ -278,7 +278,7 @@ bool CompileBroker::can_remove(CompilerThread *ct, bool do_it) { if (ct->idle_time_millis() < (c1 ? 500 : 100)) return false; #if INCLUDE_JVMCI - if (compiler->is_jvmci()) { + if (compiler->is_jvmci() && !UseJVMCINativeLibrary) { // Handles for JVMCI thread objects may get released concurrently. if (do_it) { assert(CompileThread_lock->owner() == ct, "must be holding lock"); @@ -297,7 +297,7 @@ bool CompileBroker::can_remove(CompilerThread *ct, bool do_it) { assert_locked_or_safepoint(CompileThread_lock); // Update must be consistent. compiler->set_num_compiler_threads(compiler_count - 1); #if INCLUDE_JVMCI - if (compiler->is_jvmci()) { + if (compiler->is_jvmci() && !UseJVMCINativeLibrary) { // Old j.l.Thread object can die when no longer referenced elsewhere. JNIHandles::destroy_global(compiler2_object(compiler_count - 1)); _compiler2_objects[compiler_count - 1] = nullptr; @@ -772,11 +772,6 @@ void CompileBroker::compilation_init(JavaThread* THREAD) { _initialized = true; } -Handle CompileBroker::create_thread_oop(const char* name, TRAPS) { - Handle thread_oop = JavaThread::create_system_thread_object(name, CHECK_NH); - return thread_oop; -} - #if defined(ASSERT) && COMPILER2_OR_JVMCI // Stress testing. Dedicated threads revert optimizations based on escape analysis concurrently to // the running java application. Configured with vm options DeoptimizeObjectsALot*. @@ -923,6 +918,13 @@ static bool trace_compiler_threads() { return TraceCompilerThreads || lt.is_enabled(); } +static jobject create_compiler_thread(AbstractCompiler* compiler, int i, TRAPS) { + char name_buffer[256]; + os::snprintf_checked(name_buffer, sizeof(name_buffer), "%s CompilerThread%d", compiler->name(), i); + Handle thread_oop = JavaThread::create_system_thread_object(name_buffer, CHECK_NULL); + return JNIHandles::make_global(thread_oop); +} + static void print_compiler_threads(stringStream& msg) { if (TraceCompilerThreads) { tty->print_cr("%7d %s", (int)tty->time_stamp().milliseconds(), msg.as_string()); @@ -953,18 +955,9 @@ void CompileBroker::init_compiler_threads() { _compiler1_logs = NEW_C_HEAP_ARRAY(CompileLog*, _c1_count, mtCompiler); } - char name_buffer[256]; - for (int i = 0; i < _c2_count; i++) { - jobject thread_handle = nullptr; - // Create all j.l.Thread objects for C1 and C2 threads here, but only one - // for JVMCI compiler which can create further ones on demand. - JVMCI_ONLY(if (!UseJVMCICompiler || !UseDynamicNumberOfCompilerThreads || i == 0) {) // Create a name for our thread. - os::snprintf_checked(name_buffer, sizeof(name_buffer), "%s CompilerThread%d", _compilers[1]->name(), i); - Handle thread_oop = create_thread_oop(name_buffer, CHECK); - thread_handle = JNIHandles::make_global(thread_oop); - JVMCI_ONLY(}) + jobject thread_handle = create_compiler_thread(_compilers[1], i, CHECK); _compiler2_objects[i] = thread_handle; _compiler2_logs[i] = nullptr; @@ -985,9 +978,7 @@ void CompileBroker::init_compiler_threads() { for (int i = 0; i < _c1_count; i++) { // Create a name for our thread. - os::snprintf_checked(name_buffer, sizeof(name_buffer), "C1 CompilerThread%d", i); - Handle thread_oop = create_thread_oop(name_buffer, CHECK); - jobject thread_handle = JNIHandles::make_global(thread_oop); + jobject thread_handle = create_compiler_thread(_compilers[0], i, CHECK); _compiler1_objects[i] = thread_handle; _compiler1_logs[i] = nullptr; @@ -1015,7 +1006,7 @@ void CompileBroker::init_compiler_threads() { // Initialize and start the object deoptimizer threads const int total_count = DeoptimizeObjectsALotThreadCountSingle + DeoptimizeObjectsALotThreadCountAll; for (int count = 0; count < total_count; count++) { - Handle thread_oop = create_thread_oop("Deoptimize objects a lot single mode", CHECK); + Handle thread_oop = JavaThread::create_system_thread_object("Deoptimize objects a lot single mode", CHECK); jobject thread_handle = JNIHandles::make_local(THREAD, thread_oop()); make_thread(deoptimizer_t, thread_handle, nullptr, nullptr, THREAD); } @@ -1042,13 +1033,15 @@ void CompileBroker::possibly_add_compiler_threads(JavaThread* THREAD) { for (int i = old_c2_count; i < new_c2_count; i++) { #if INCLUDE_JVMCI - if (UseJVMCICompiler) { - // Native compiler threads as used in C1/C2 can reuse the j.l.Thread - // objects as their existence is completely hidden from the rest of - // the VM (and those compiler threads can't call Java code to do the - // creation anyway). For JVMCI we have to create new j.l.Thread objects - // as they are visible and we can see unexpected thread lifecycle - // transitions if we bind them to new JavaThreads. + if (UseJVMCICompiler && !UseJVMCINativeLibrary && _compiler2_objects[i] == nullptr) { + // Native compiler threads as used in C1/C2 can reuse the j.l.Thread objects as their + // existence is completely hidden from the rest of the VM (and those compiler threads can't + // call Java code to do the creation anyway). + // + // For pure Java JVMCI we have to create new j.l.Thread objects as they are visible and we + // can see unexpected thread lifecycle transitions if we bind them to new JavaThreads. For + // native library JVMCI it's preferred to use the C1/C2 strategy as this avoids unnecessary + // coupling with Java. if (!THREAD->can_call_java()) break; char name_buffer[256]; os::snprintf_checked(name_buffer, sizeof(name_buffer), "%s CompilerThread%d", _compilers[1]->name(), i); @@ -1056,7 +1049,7 @@ void CompileBroker::possibly_add_compiler_threads(JavaThread* THREAD) { { // We have to give up the lock temporarily for the Java calls. MutexUnlocker mu(CompileThread_lock); - thread_oop = create_thread_oop(name_buffer, THREAD); + thread_oop = JavaThread::create_system_thread_object(name_buffer, THREAD); } if (HAS_PENDING_EXCEPTION) { if (trace_compiler_threads()) { @@ -1076,6 +1069,7 @@ void CompileBroker::possibly_add_compiler_threads(JavaThread* THREAD) { _compiler2_objects[i] = thread_handle; } #endif + guarantee(compiler2_object(i) != nullptr, "Thread oop must exist"); JavaThread *ct = make_thread(compiler_t, compiler2_object(i), _c2_compile_queue, _compilers[1], THREAD); if (ct == nullptr) break; _compilers[1]->set_num_compiler_threads(i + 1); diff --git a/src/hotspot/share/compiler/compileBroker.hpp b/src/hotspot/share/compiler/compileBroker.hpp index d136045102a8b..71a9c9dd6bbb0 100644 --- a/src/hotspot/share/compiler/compileBroker.hpp +++ b/src/hotspot/share/compiler/compileBroker.hpp @@ -241,7 +241,6 @@ class CompileBroker: AllStatic { deoptimizer_t }; - static Handle create_thread_oop(const char* name, TRAPS); static JavaThread* make_thread(ThreadType type, jobject thread_oop, CompileQueue* queue, AbstractCompiler* comp, JavaThread* THREAD); static void init_compiler_threads(); static void possibly_add_compiler_threads(JavaThread* THREAD); From 693847452f208446a34186f142fe2c56a49ceceb Mon Sep 17 00:00:00 2001 From: Albert Mingkun Yang Date: Thu, 30 Nov 2023 15:48:00 +0000 Subject: [PATCH 016/143] 8320916: jdk/jfr/event/gc/stacktrace/TestParallelMarkSweepAllocationPendingStackTrace.java failed with "OutOfMemoryError: GC overhead limit exceeded" Reviewed-by: sjohanss, tschatzl --- .../jdk/jdk/jfr/event/gc/stacktrace/AllocationStackTrace.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/jdk/jdk/jfr/event/gc/stacktrace/AllocationStackTrace.java b/test/jdk/jdk/jfr/event/gc/stacktrace/AllocationStackTrace.java index 5e3b56d2c8602..c5dbcd2b42ecd 100644 --- a/test/jdk/jdk/jfr/event/gc/stacktrace/AllocationStackTrace.java +++ b/test/jdk/jdk/jfr/event/gc/stacktrace/AllocationStackTrace.java @@ -79,7 +79,7 @@ public void allocate() { class OldGenMemoryAllocator extends MemoryAllocator { private List list = new ArrayList(); - private int counter = 6000; + private int counter = 5000; @Override public void allocate() { @@ -87,7 +87,7 @@ public void allocate() { list.add(new byte[10 * KB]); } else { list = new ArrayList(); - counter = 6000; + counter = 5000; } garbage = list; From 6aba6aa6f14c022ae70aee4e7a65ee74464de3a2 Mon Sep 17 00:00:00 2001 From: Volodymyr Paprotski <101140609+vpaprotsk@users.noreply.github.com> Date: Thu, 30 Nov 2023 16:10:54 +0000 Subject: [PATCH 017/143] 8320347: Emulate vblendvp[sd] on ECore Reviewed-by: sviswanathan, jbhateja --- src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp | 94 ++++++++++++++----- src/hotspot/cpu/x86/macroAssembler_x86.cpp | 50 ++++++++++ src/hotspot/cpu/x86/macroAssembler_x86.hpp | 4 + src/hotspot/cpu/x86/x86.ad | 20 +++- src/hotspot/cpu/x86/x86_64.ad | 74 +++------------ .../vectorization/TestSignumVector.java | 26 ++++- .../runner/BasicDoubleOpTest.java | 57 ++++++++++- .../runner/BasicFloatOpTest.java | 66 ++++++++++++- 8 files changed, 296 insertions(+), 95 deletions(-) diff --git a/src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp b/src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp index 29413e5457c57..54e5f55fa2b00 100644 --- a/src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp +++ b/src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp @@ -1094,32 +1094,78 @@ void C2_MacroAssembler::vminmax_fp(int opcode, BasicType elem_bt, bool is_min = (opcode == Op_MinV || opcode == Op_MinReductionV); bool is_double_word = is_double_word_type(elem_bt); + /* Note on 'non-obvious' assembly sequence: + * + * While there are vminps/vmaxps instructions, there are two important differences between hardware + * and Java on how they handle floats: + * a. -0.0 and +0.0 are considered equal (vminps/vmaxps will return second parameter when inputs are equal) + * b. NaN is not necesarily propagated (vminps/vmaxps will return second parameter when either input is NaN) + * + * It is still more efficient to use vminps/vmaxps, but with some pre/post-processing: + * a. -0.0/+0.0: Bias negative (positive) numbers to second parameter before vminps (vmaxps) + * (only useful when signs differ, noop otherwise) + * b. NaN: Check if it was the first parameter that had the NaN (with vcmp[UNORD_Q]) + + * Following pseudo code describes the algorithm for max[FD] (Min algorithm is on similar lines): + * btmp = (b < +0.0) ? a : b + * atmp = (b < +0.0) ? b : a + * Tmp = Max_Float(atmp , btmp) + * Res = (atmp == NaN) ? atmp : Tmp + */ + + void (MacroAssembler::*vblend)(XMMRegister, XMMRegister, XMMRegister, XMMRegister, int, bool, XMMRegister); + void (MacroAssembler::*vmaxmin)(XMMRegister, XMMRegister, XMMRegister, int); + void (MacroAssembler::*vcmp)(XMMRegister, XMMRegister, XMMRegister, int, int); + XMMRegister mask; + if (!is_double_word && is_min) { - vblendvps(atmp, a, b, a, vlen_enc); - vblendvps(btmp, b, a, a, vlen_enc); - vminps(tmp, atmp, btmp, vlen_enc); - vcmpps(btmp, atmp, atmp, Assembler::UNORD_Q, vlen_enc); - vblendvps(dst, tmp, atmp, btmp, vlen_enc); + mask = a; + vblend = &MacroAssembler::vblendvps; + vmaxmin = &MacroAssembler::vminps; + vcmp = &MacroAssembler::vcmpps; } else if (!is_double_word && !is_min) { - vblendvps(btmp, b, a, b, vlen_enc); - vblendvps(atmp, a, b, b, vlen_enc); - vmaxps(tmp, atmp, btmp, vlen_enc); - vcmpps(btmp, atmp, atmp, Assembler::UNORD_Q, vlen_enc); - vblendvps(dst, tmp, atmp, btmp, vlen_enc); + mask = b; + vblend = &MacroAssembler::vblendvps; + vmaxmin = &MacroAssembler::vmaxps; + vcmp = &MacroAssembler::vcmpps; } else if (is_double_word && is_min) { - vblendvpd(atmp, a, b, a, vlen_enc); - vblendvpd(btmp, b, a, a, vlen_enc); - vminpd(tmp, atmp, btmp, vlen_enc); - vcmppd(btmp, atmp, atmp, Assembler::UNORD_Q, vlen_enc); - vblendvpd(dst, tmp, atmp, btmp, vlen_enc); + mask = a; + vblend = &MacroAssembler::vblendvpd; + vmaxmin = &MacroAssembler::vminpd; + vcmp = &MacroAssembler::vcmppd; } else { assert(is_double_word && !is_min, "sanity"); - vblendvpd(btmp, b, a, b, vlen_enc); - vblendvpd(atmp, a, b, b, vlen_enc); - vmaxpd(tmp, atmp, btmp, vlen_enc); - vcmppd(btmp, atmp, atmp, Assembler::UNORD_Q, vlen_enc); - vblendvpd(dst, tmp, atmp, btmp, vlen_enc); + mask = b; + vblend = &MacroAssembler::vblendvpd; + vmaxmin = &MacroAssembler::vmaxpd; + vcmp = &MacroAssembler::vcmppd; } + + // Make sure EnableX86ECoreOpts isn't disabled on register overlaps + XMMRegister maxmin, scratch; + if (dst == btmp) { + maxmin = btmp; + scratch = tmp; + } else { + maxmin = tmp; + scratch = btmp; + } + + bool precompute_mask = EnableX86ECoreOpts && UseAVX>1; + if (precompute_mask && !is_double_word) { + vpsrad(tmp, mask, 32, vlen_enc); + mask = tmp; + } else if (precompute_mask && is_double_word) { + vpxor(tmp, tmp, tmp, vlen_enc); + vpcmpgtq(tmp, tmp, mask, vlen_enc); + mask = tmp; + } + + (this->*vblend)(atmp, a, b, mask, vlen_enc, !precompute_mask, btmp); + (this->*vblend)(btmp, b, a, mask, vlen_enc, !precompute_mask, tmp); + (this->*vmaxmin)(maxmin, atmp, btmp, vlen_enc); + (this->*vcmp)(scratch, atmp, atmp, Assembler::UNORD_Q, vlen_enc); + (this->*vblend)(dst, maxmin, atmp, scratch, vlen_enc, false, scratch); } void C2_MacroAssembler::evminmax_fp(int opcode, BasicType elem_bt, @@ -5318,18 +5364,18 @@ void C2_MacroAssembler::vector_signum_avx(int opcode, XMMRegister dst, XMMRegist if (opcode == Op_SignumVD) { vsubpd(dst, zero, one, vec_enc); // if src < 0 ? -1 : 1 - vblendvpd(dst, one, dst, src, vec_enc); + vblendvpd(dst, one, dst, src, vec_enc, true, xtmp1); // if src == NaN, -0.0 or 0.0 return src. vcmppd(xtmp1, src, zero, Assembler::EQ_UQ, vec_enc); - vblendvpd(dst, dst, src, xtmp1, vec_enc); + vblendvpd(dst, dst, src, xtmp1, vec_enc, false, xtmp1); } else { assert(opcode == Op_SignumVF, ""); vsubps(dst, zero, one, vec_enc); // if src < 0 ? -1 : 1 - vblendvps(dst, one, dst, src, vec_enc); + vblendvps(dst, one, dst, src, vec_enc, true, xtmp1); // if src == NaN, -0.0 or 0.0 return src. vcmpps(xtmp1, src, zero, Assembler::EQ_UQ, vec_enc); - vblendvps(dst, dst, src, xtmp1, vec_enc); + vblendvps(dst, dst, src, xtmp1, vec_enc, false, xtmp1); } } diff --git a/src/hotspot/cpu/x86/macroAssembler_x86.cpp b/src/hotspot/cpu/x86/macroAssembler_x86.cpp index ed8a23771d34c..6f04cdef50898 100644 --- a/src/hotspot/cpu/x86/macroAssembler_x86.cpp +++ b/src/hotspot/cpu/x86/macroAssembler_x86.cpp @@ -3566,6 +3566,56 @@ void MacroAssembler::vbroadcastss(XMMRegister dst, AddressLiteral src, int vecto } } +// Vector float blend +// vblendvps(XMMRegister dst, XMMRegister nds, XMMRegister src, XMMRegister mask, int vector_len, bool compute_mask = true, XMMRegister scratch = xnoreg) +void MacroAssembler::vblendvps(XMMRegister dst, XMMRegister src1, XMMRegister src2, XMMRegister mask, int vector_len, bool compute_mask, XMMRegister scratch) { + // WARN: Allow dst == (src1|src2), mask == scratch + bool blend_emulation = EnableX86ECoreOpts && UseAVX > 1; + bool scratch_available = scratch != xnoreg && scratch != src1 && scratch != src2 && scratch != dst; + bool dst_available = dst != mask && (dst != src1 || dst != src2); + if (blend_emulation && scratch_available && dst_available) { + if (compute_mask) { + vpsrad(scratch, mask, 32, vector_len); + mask = scratch; + } + if (dst == src1) { + vpandn(dst, mask, src1, vector_len); // if mask == 0, src1 + vpand (scratch, mask, src2, vector_len); // if mask == 1, src2 + } else { + vpand (dst, mask, src2, vector_len); // if mask == 1, src2 + vpandn(scratch, mask, src1, vector_len); // if mask == 0, src1 + } + vpor(dst, dst, scratch, vector_len); + } else { + Assembler::vblendvps(dst, src1, src2, mask, vector_len); + } +} + +// vblendvpd(XMMRegister dst, XMMRegister nds, XMMRegister src, XMMRegister mask, int vector_len, bool compute_mask = true, XMMRegister scratch = xnoreg) +void MacroAssembler::vblendvpd(XMMRegister dst, XMMRegister src1, XMMRegister src2, XMMRegister mask, int vector_len, bool compute_mask, XMMRegister scratch) { + // WARN: Allow dst == (src1|src2), mask == scratch + bool blend_emulation = EnableX86ECoreOpts && UseAVX > 1; + bool scratch_available = scratch != xnoreg && scratch != src1 && scratch != src2 && scratch != dst && (!compute_mask || scratch != mask); + bool dst_available = dst != mask && (dst != src1 || dst != src2); + if (blend_emulation && scratch_available && dst_available) { + if (compute_mask) { + vpxor(scratch, scratch, scratch, vector_len); + vpcmpgtq(scratch, scratch, mask, vector_len); + mask = scratch; + } + if (dst == src1) { + vpandn(dst, mask, src1, vector_len); // if mask == 0, src + vpand (scratch, mask, src2, vector_len); // if mask == 1, src2 + } else { + vpand (dst, mask, src2, vector_len); // if mask == 1, src2 + vpandn(scratch, mask, src1, vector_len); // if mask == 0, src + } + vpor(dst, dst, scratch, vector_len); + } else { + Assembler::vblendvpd(dst, src1, src2, mask, vector_len); + } +} + void MacroAssembler::vpcmpeqb(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len) { assert(((dst->encoding() < 16 && src->encoding() < 16 && nds->encoding() < 16) || VM_Version::supports_avx512vlbw()),"XMM register should be 0-15"); Assembler::vpcmpeqb(dst, nds, src, vector_len); diff --git a/src/hotspot/cpu/x86/macroAssembler_x86.hpp b/src/hotspot/cpu/x86/macroAssembler_x86.hpp index 47943576dcec9..ea6a37d16edba 100644 --- a/src/hotspot/cpu/x86/macroAssembler_x86.hpp +++ b/src/hotspot/cpu/x86/macroAssembler_x86.hpp @@ -1130,6 +1130,10 @@ class MacroAssembler: public Assembler { using Assembler::vbroadcastss; void vbroadcastss(XMMRegister dst, AddressLiteral src, int vector_len, Register rscratch = noreg); + // Vector float blend + void vblendvps(XMMRegister dst, XMMRegister nds, XMMRegister src, XMMRegister mask, int vector_len, bool compute_mask = true, XMMRegister scratch = xnoreg); + void vblendvpd(XMMRegister dst, XMMRegister nds, XMMRegister src, XMMRegister mask, int vector_len, bool compute_mask = true, XMMRegister scratch = xnoreg); + void divsd(XMMRegister dst, XMMRegister src) { Assembler::divsd(dst, src); } void divsd(XMMRegister dst, Address src) { Assembler::divsd(dst, src); } void divsd(XMMRegister dst, AddressLiteral src, Register rscratch = noreg); diff --git a/src/hotspot/cpu/x86/x86.ad b/src/hotspot/cpu/x86/x86.ad index 681abd7199fee..694ec2ddbd6aa 100644 --- a/src/hotspot/cpu/x86/x86.ad +++ b/src/hotspot/cpu/x86/x86.ad @@ -7801,7 +7801,7 @@ instruct blendvp(vec dst, vec src, vec mask, rxmm0 tmp) %{ %} instruct vblendvpI(legVec dst, legVec src1, legVec src2, legVec mask) %{ - predicate(UseAVX > 0 && + predicate(UseAVX > 0 && !EnableX86ECoreOpts && n->in(2)->bottom_type()->isa_vectmask() == NULL && Matcher::vector_length_in_bytes(n) <= 32 && is_integral_type(Matcher::vector_element_basic_type(n))); @@ -7815,7 +7815,7 @@ instruct vblendvpI(legVec dst, legVec src1, legVec src2, legVec mask) %{ %} instruct vblendvpFD(legVec dst, legVec src1, legVec src2, legVec mask) %{ - predicate(UseAVX > 0 && + predicate(UseAVX > 0 && !EnableX86ECoreOpts && n->in(2)->bottom_type()->isa_vectmask() == NULL && Matcher::vector_length_in_bytes(n) <= 32 && !is_integral_type(Matcher::vector_element_basic_type(n))); @@ -7828,6 +7828,22 @@ instruct vblendvpFD(legVec dst, legVec src1, legVec src2, legVec mask) %{ ins_pipe( pipe_slow ); %} +instruct vblendvp(legVec dst, legVec src1, legVec src2, legVec mask, legVec vtmp) %{ + predicate(UseAVX > 0 && EnableX86ECoreOpts && + n->in(2)->bottom_type()->isa_vectmask() == NULL && + Matcher::vector_length_in_bytes(n) <= 32); + match(Set dst (VectorBlend (Binary src1 src2) mask)); + format %{ "vector_blend $dst,$src1,$src2,$mask\t! using $vtmp as TEMP" %} + effect(TEMP vtmp, TEMP dst); + ins_encode %{ + int vlen_enc = vector_length_encoding(this); + __ vpandn($vtmp$$XMMRegister, $mask$$XMMRegister, $src1$$XMMRegister, vlen_enc); + __ vpand ($dst$$XMMRegister, $mask$$XMMRegister, $src2$$XMMRegister, vlen_enc); + __ vpor ($dst$$XMMRegister, $dst$$XMMRegister, $vtmp$$XMMRegister, vlen_enc); + %} + ins_pipe( pipe_slow ); +%} + instruct evblendvp64(vec dst, vec src1, vec src2, vec mask, kReg ktmp) %{ predicate(Matcher::vector_length_in_bytes(n) == 64 && n->in(2)->bottom_type()->isa_vectmask() == NULL); diff --git a/src/hotspot/cpu/x86/x86_64.ad b/src/hotspot/cpu/x86/x86_64.ad index 94844cd4e7f9d..759dd8a1d485b 100644 --- a/src/hotspot/cpu/x86/x86_64.ad +++ b/src/hotspot/cpu/x86/x86_64.ad @@ -4478,34 +4478,15 @@ instruct loadD(regD dst, memory mem) ins_pipe(pipe_slow); // XXX %} - -// Following pseudo code describes the algorithm for max[FD]: -// Min algorithm is on similar lines -// btmp = (b < +0.0) ? a : b -// atmp = (b < +0.0) ? b : a -// Tmp = Max_Float(atmp , btmp) -// Res = (atmp == NaN) ? atmp : Tmp - // max = java.lang.Math.max(float a, float b) instruct maxF_reg(legRegF dst, legRegF a, legRegF b, legRegF tmp, legRegF atmp, legRegF btmp) %{ predicate(UseAVX > 0 && !SuperWord::is_reduction(n)); match(Set dst (MaxF a b)); effect(USE a, USE b, TEMP tmp, TEMP atmp, TEMP btmp); - format %{ - "vblendvps $btmp,$b,$a,$b \n\t" - "vblendvps $atmp,$a,$b,$b \n\t" - "vmaxss $tmp,$atmp,$btmp \n\t" - "vcmpps.unordered $btmp,$atmp,$atmp \n\t" - "vblendvps $dst,$tmp,$atmp,$btmp \n\t" - %} - ins_encode %{ - int vector_len = Assembler::AVX_128bit; - __ vblendvps($btmp$$XMMRegister, $b$$XMMRegister, $a$$XMMRegister, $b$$XMMRegister, vector_len); - __ vblendvps($atmp$$XMMRegister, $a$$XMMRegister, $b$$XMMRegister, $b$$XMMRegister, vector_len); - __ vmaxss($tmp$$XMMRegister, $atmp$$XMMRegister, $btmp$$XMMRegister); - __ vcmpps($btmp$$XMMRegister, $atmp$$XMMRegister, $atmp$$XMMRegister, Assembler::_false, vector_len); - __ vblendvps($dst$$XMMRegister, $tmp$$XMMRegister, $atmp$$XMMRegister, $btmp$$XMMRegister, vector_len); - %} + format %{ "maxF $dst, $a, $b \t! using tmp, atmp and btmp as TEMP" %} + ins_encode %{ + __ vminmax_fp(Op_MaxV, T_FLOAT, $dst$$XMMRegister, $a$$XMMRegister, $b$$XMMRegister, $tmp$$XMMRegister, $atmp$$XMMRegister, $btmp$$XMMRegister, Assembler::AVX_128bit); + %} ins_pipe( pipe_slow ); %} @@ -4527,20 +4508,9 @@ instruct maxD_reg(legRegD dst, legRegD a, legRegD b, legRegD tmp, legRegD atmp, predicate(UseAVX > 0 && !SuperWord::is_reduction(n)); match(Set dst (MaxD a b)); effect(USE a, USE b, TEMP atmp, TEMP btmp, TEMP tmp); - format %{ - "vblendvpd $btmp,$b,$a,$b \n\t" - "vblendvpd $atmp,$a,$b,$b \n\t" - "vmaxsd $tmp,$atmp,$btmp \n\t" - "vcmppd.unordered $btmp,$atmp,$atmp \n\t" - "vblendvpd $dst,$tmp,$atmp,$btmp \n\t" - %} + format %{ "maxD $dst, $a, $b \t! using tmp, atmp and btmp as TEMP" %} ins_encode %{ - int vector_len = Assembler::AVX_128bit; - __ vblendvpd($btmp$$XMMRegister, $b$$XMMRegister, $a$$XMMRegister, $b$$XMMRegister, vector_len); - __ vblendvpd($atmp$$XMMRegister, $a$$XMMRegister, $b$$XMMRegister, $b$$XMMRegister, vector_len); - __ vmaxsd($tmp$$XMMRegister, $atmp$$XMMRegister, $btmp$$XMMRegister); - __ vcmppd($btmp$$XMMRegister, $atmp$$XMMRegister, $atmp$$XMMRegister, Assembler::_false, vector_len); - __ vblendvpd($dst$$XMMRegister, $tmp$$XMMRegister, $atmp$$XMMRegister, $btmp$$XMMRegister, vector_len); + __ vminmax_fp(Op_MaxV, T_DOUBLE, $dst$$XMMRegister, $a$$XMMRegister, $b$$XMMRegister, $tmp$$XMMRegister, $atmp$$XMMRegister, $btmp$$XMMRegister, Assembler::AVX_128bit); %} ins_pipe( pipe_slow ); %} @@ -4563,20 +4533,9 @@ instruct minF_reg(legRegF dst, legRegF a, legRegF b, legRegF tmp, legRegF atmp, predicate(UseAVX > 0 && !SuperWord::is_reduction(n)); match(Set dst (MinF a b)); effect(USE a, USE b, TEMP tmp, TEMP atmp, TEMP btmp); - format %{ - "vblendvps $atmp,$a,$b,$a \n\t" - "vblendvps $btmp,$b,$a,$a \n\t" - "vminss $tmp,$atmp,$btmp \n\t" - "vcmpps.unordered $btmp,$atmp,$atmp \n\t" - "vblendvps $dst,$tmp,$atmp,$btmp \n\t" - %} + format %{ "minF $dst, $a, $b \t! using tmp, atmp and btmp as TEMP" %} ins_encode %{ - int vector_len = Assembler::AVX_128bit; - __ vblendvps($atmp$$XMMRegister, $a$$XMMRegister, $b$$XMMRegister, $a$$XMMRegister, vector_len); - __ vblendvps($btmp$$XMMRegister, $b$$XMMRegister, $a$$XMMRegister, $a$$XMMRegister, vector_len); - __ vminss($tmp$$XMMRegister, $atmp$$XMMRegister, $btmp$$XMMRegister); - __ vcmpps($btmp$$XMMRegister, $atmp$$XMMRegister, $atmp$$XMMRegister, Assembler::_false, vector_len); - __ vblendvps($dst$$XMMRegister, $tmp$$XMMRegister, $atmp$$XMMRegister, $btmp$$XMMRegister, vector_len); + __ vminmax_fp(Op_MinV, T_FLOAT, $dst$$XMMRegister, $a$$XMMRegister, $b$$XMMRegister, $tmp$$XMMRegister, $atmp$$XMMRegister, $btmp$$XMMRegister, Assembler::AVX_128bit); %} ins_pipe( pipe_slow ); %} @@ -4599,20 +4558,9 @@ instruct minD_reg(legRegD dst, legRegD a, legRegD b, legRegD tmp, legRegD atmp, predicate(UseAVX > 0 && !SuperWord::is_reduction(n)); match(Set dst (MinD a b)); effect(USE a, USE b, TEMP tmp, TEMP atmp, TEMP btmp); - format %{ - "vblendvpd $atmp,$a,$b,$a \n\t" - "vblendvpd $btmp,$b,$a,$a \n\t" - "vminsd $tmp,$atmp,$btmp \n\t" - "vcmppd.unordered $btmp,$atmp,$atmp \n\t" - "vblendvpd $dst,$tmp,$atmp,$btmp \n\t" - %} - ins_encode %{ - int vector_len = Assembler::AVX_128bit; - __ vblendvpd($atmp$$XMMRegister, $a$$XMMRegister, $b$$XMMRegister, $a$$XMMRegister, vector_len); - __ vblendvpd($btmp$$XMMRegister, $b$$XMMRegister, $a$$XMMRegister, $a$$XMMRegister, vector_len); - __ vminsd($tmp$$XMMRegister, $atmp$$XMMRegister, $btmp$$XMMRegister); - __ vcmppd($btmp$$XMMRegister, $atmp$$XMMRegister, $atmp$$XMMRegister, Assembler::_false, vector_len); - __ vblendvpd($dst$$XMMRegister, $tmp$$XMMRegister, $atmp$$XMMRegister, $btmp$$XMMRegister, vector_len); + format %{ "minD $dst, $a, $b \t! using tmp, atmp and btmp as TEMP" %} + ins_encode %{ + __ vminmax_fp(Op_MinV, T_DOUBLE, $dst$$XMMRegister, $a$$XMMRegister, $b$$XMMRegister, $tmp$$XMMRegister, $atmp$$XMMRegister, $btmp$$XMMRegister, Assembler::AVX_128bit); %} ins_pipe( pipe_slow ); %} diff --git a/test/hotspot/jtreg/compiler/vectorization/TestSignumVector.java b/test/hotspot/jtreg/compiler/vectorization/TestSignumVector.java index bf6a10b855f42..db85a61cc7585 100644 --- a/test/hotspot/jtreg/compiler/vectorization/TestSignumVector.java +++ b/test/hotspot/jtreg/compiler/vectorization/TestSignumVector.java @@ -33,6 +33,8 @@ package compiler.vectorization; +import java.util.Random; + import compiler.lib.ir_framework.*; public class TestSignumVector { @@ -62,12 +64,22 @@ public void test_signum_double(double[] dout, double[] dinp) { public void kernel_test_signum_double() { dinp = new double[ARRLEN]; dout = new double[ARRLEN]; + Random rnd = new Random(20); for(int i = 0 ; i < ARRLEN; i++) { - dinp[i] = (double)i*1.4; + dinp[i] = (i-ARRLEN/2)*rnd.nextDouble(); } for (int i = 0; i < ITERS; i++) { test_signum_double(dout , dinp); } + for(int i = 0 ; i < ARRLEN; i++) { + if (i-ARRLEN/2<0) { + if (dout[i] != -1.0) throw new RuntimeException("Expected negative numbers in first half of array: " + java.util.Arrays.toString(dout)); + } else if (i-ARRLEN/2==0) { + if (dout[i] != 0) throw new RuntimeException("Expected zero in the middle of array: " + java.util.Arrays.toString(dout)); + } else { + if (dout[i] != 1.0) throw new RuntimeException("Expected positive numbers in second half of array: " + java.util.Arrays.toString(dout)); + } + } } @Test @@ -82,11 +94,21 @@ public void test_signum_float(float[] fout, float[] finp) { public void kernel_test_round() { finp = new float[ARRLEN]; fout = new float[ARRLEN]; + Random rnd = new Random(20); for(int i = 0 ; i < ARRLEN; i++) { - finp[i] = (float)i*1.4f; + finp[i] = (i-ARRLEN/2)*rnd.nextFloat(); } for (int i = 0; i < ITERS; i++) { test_signum_float(fout , finp); } + for(int i = 0 ; i < ARRLEN; i++) { + if (i-ARRLEN/2<0) { + if (fout[i] != -1.0) throw new RuntimeException("Expected negative numbers in first half of array: " + java.util.Arrays.toString(fout)); + } else if (i-ARRLEN/2==0) { + if (fout[i] != 0) throw new RuntimeException("Expected zero in the middle of array: " + java.util.Arrays.toString(fout)); + } else { + if (fout[i] != 1.0) throw new RuntimeException("Expected positive numbers in second half of array: " + java.util.Arrays.toString(fout)); + } + } } } diff --git a/test/hotspot/jtreg/compiler/vectorization/runner/BasicDoubleOpTest.java b/test/hotspot/jtreg/compiler/vectorization/runner/BasicDoubleOpTest.java index 92ccca40c8a23..0f758be4ed0c7 100644 --- a/test/hotspot/jtreg/compiler/vectorization/runner/BasicDoubleOpTest.java +++ b/test/hotspot/jtreg/compiler/vectorization/runner/BasicDoubleOpTest.java @@ -42,6 +42,7 @@ package compiler.vectorization.runner; import compiler.lib.ir_framework.*; +import java.util.Random; public class BasicDoubleOpTest extends VectorizationTestRunner { @@ -50,11 +51,63 @@ public class BasicDoubleOpTest extends VectorizationTestRunner { private double[] a; private double[] b; private double[] c; + private double[] d; + private double[] e; public BasicDoubleOpTest() { + // Positive test values sign | exponent | mantisa + double smallPositive = Double.longBitsToDouble(0<<63 | 0x03f << 52 | 0x30000f); + double positive = Double.longBitsToDouble(0<<63 | 0x07f << 52 | 0x30000f); + double bigPositive = Double.longBitsToDouble(0<<63 | 0x07f << 52 | 0x30100f); + double biggerPositive = Double.longBitsToDouble(0<<63 | 0x7fe << 52 | 0x30000f); + double maxPositive = Double.MAX_VALUE; + + // Special positive + double nan1 = Double.longBitsToDouble(0<<63 | 0x7ff << 52 | 0x7fffff); + double nan2 = Double.longBitsToDouble(0<<63 | 0x7ff << 52 | 0x30000f); + double inf = Double.longBitsToDouble(0<<63 | 0x7ff << 52); + double zero = 0.0; + + // Negative test values sign | exponent | mantisa + double smallNegative = Double.longBitsToDouble(1<<63 | 0x003 << 52 | 0x30000f); + double negative = Double.longBitsToDouble(1<<63 | 0x783 << 52 | 0x30100f); + double bigNegative = Double.longBitsToDouble(1<<63 | 0x783 << 52 | 0x30000f); + double biggerNegative = Double.longBitsToDouble(1<<63 | 0x786 << 52 | 0x30000f); + double maxNegative = Double.longBitsToDouble(1<<63 | 0x7fe << 52 | 0x7fffff); + + // Special negative + double nNan1 = Double.longBitsToDouble(1<<63 | 0x7ff << 52 | 0x7fffff); + double nNan2 = Double.longBitsToDouble(1<<63 | 0x7ff << 52 | 0x30000f); + double nInf = Double.longBitsToDouble(1<<63 | 0x7ff << 52); + double nZero = -0.0; + + double[] numberList = new double[] { + nInf, maxNegative, biggerNegative, bigNegative, negative, smallNegative, nZero, + zero, smallPositive, positive, bigPositive, biggerPositive, maxPositive, inf, + nan1, nan2, nNan1, nNan2 + }; + + Random rnd = new Random(10); a = new double[SIZE]; b = new double[SIZE]; c = new double[SIZE]; + d = new double[SIZE]; + e = new double[SIZE]; + + for (int i = 0; i < SIZE;) { + for (int j = 0; j < numberList.length && i < SIZE; j++, i++) { + for (int k = j; k < numberList.length && i < SIZE; k++, i++) { + if (rnd.nextBoolean()) { + d[i] = numberList[j]; + e[i] = numberList[k]; + } else { + d[i] = numberList[k]; + e[i] = numberList[j]; + } + } + } + } + for (int i = 0; i < SIZE; i++) { a[i] = 850.0 * i + 22222.22; b[i] = -12345.678; @@ -179,7 +232,7 @@ public double[] vectorDiv() { public double[] vectorMax() { double[] res = new double[SIZE]; for (int i = 0; i < SIZE; i++) { - res[i] = Math.max(a[i], b[i]); + res[i] = Math.max(d[i], e[i]); } return res; } @@ -190,7 +243,7 @@ public double[] vectorMax() { public double[] vectorMin() { double[] res = new double[SIZE]; for (int i = 0; i < SIZE; i++) { - res[i] = Math.min(a[i], b[i]); + res[i] = Math.min(d[i], e[i]); } return res; } diff --git a/test/hotspot/jtreg/compiler/vectorization/runner/BasicFloatOpTest.java b/test/hotspot/jtreg/compiler/vectorization/runner/BasicFloatOpTest.java index 72e8aa640cae4..e2bf0492d2a64 100644 --- a/test/hotspot/jtreg/compiler/vectorization/runner/BasicFloatOpTest.java +++ b/test/hotspot/jtreg/compiler/vectorization/runner/BasicFloatOpTest.java @@ -42,6 +42,7 @@ package compiler.vectorization.runner; import compiler.lib.ir_framework.*; +import java.util.Random; public class BasicFloatOpTest extends VectorizationTestRunner { @@ -50,11 +51,72 @@ public class BasicFloatOpTest extends VectorizationTestRunner { private float[] a; private float[] b; private float[] c; + private float[] d; + private float[] e; public BasicFloatOpTest() { + // Positive test values sign | exponent | mantisa + float smallPositive = Float.intBitsToFloat(0<<31 | 0x3f << 23 | 0x30000f); + float positive = Float.intBitsToFloat(0<<31 | 0x7f << 23 | 0x30000f); + float bigPositive = Float.intBitsToFloat(0<<31 | 0x7f << 23 | 0x30100f); + float biggerPositive = Float.intBitsToFloat(0<<31 | 0xfe << 23 | 0x30000f); + float maxPositive = Float.MAX_VALUE; + + // Special positive + float nan1 = Float.intBitsToFloat(0<<31 | 0xff << 23 | 0x7fffff); + float nan2 = Float.intBitsToFloat(0<<31 | 0xff << 23 | 0x30000f); + float inf = Float.intBitsToFloat(0<<31 | 0xff << 23); + float zero = 0.0f; + + // Negative test values sign | exponent | mantisa + float smallNegative = Float.intBitsToFloat(1<<31 | 0x03 << 23 | 0x30000f); + float negative = Float.intBitsToFloat(1<<31 | 0x83 << 23 | 0x30100f); + float bigNegative = Float.intBitsToFloat(1<<31 | 0x83 << 23 | 0x30000f); + float biggerNegative = Float.intBitsToFloat(1<<31 | 0x86 << 23 | 0x30000f); + float maxNegative = Float.intBitsToFloat(1<<31 | 0xfe << 23 | 0x7fffff); + + // Special negative + float nNan1 = Float.intBitsToFloat(1<<31 | 0xff << 23 | 0x7fffff); + float nNan2 = Float.intBitsToFloat(1<<31 | 0xff << 23 | 0x30000f); + float nInf = Float.intBitsToFloat(1<<31 | 0xff << 23); + float nZero = -0.0f; + + float[] orderedList = new float[] { + nInf, maxNegative, biggerNegative, bigNegative, negative, smallNegative, nZero, + zero, smallPositive, positive, bigPositive, biggerPositive, maxPositive, inf + }; + + float[] NaNs = new float[] { + nan1, nan2, nNan1, nNan2 + }; + + float[] numberList = new float[] { + nInf, maxNegative, biggerNegative, bigNegative, negative, smallNegative, nZero, + zero, smallPositive, positive, bigPositive, biggerPositive, maxPositive, inf, + nan1, nan2, nNan1, nNan2 + }; + + Random rnd = new Random(11); a = new float[SIZE]; b = new float[SIZE]; c = new float[SIZE]; + d = new float[SIZE]; + e = new float[SIZE]; + + for (int i = 0; i < SIZE;) { + for (int j = 0; j < numberList.length && i < SIZE; j++, i++) { + for (int k = j; k < numberList.length && i < SIZE; k++, i++) { + if (rnd.nextBoolean()) { + d[i] = numberList[j]; + e[i] = numberList[k]; + } else { + d[i] = numberList[k]; + e[i] = numberList[j]; + } + } + } + } + for (int i = 0; i < SIZE; i++) { a[i] = 850.0f * i + 22222.22f; b[i] = -12345.678f; @@ -146,7 +208,7 @@ public float[] vectorDiv() { public float[] vectorMax() { float[] res = new float[SIZE]; for (int i = 0; i < SIZE; i++) { - res[i] = Math.max(a[i], b[i]); + res[i] = Math.max(d[i], e[i]); } return res; } @@ -157,7 +219,7 @@ public float[] vectorMax() { public float[] vectorMin() { float[] res = new float[SIZE]; for (int i = 0; i < SIZE; i++) { - res[i] = Math.min(a[i], b[i]); + res[i] = Math.min(d[i], e[i]); } return res; } From a3eb6640773620331692da40356522ff618c3c44 Mon Sep 17 00:00:00 2001 From: Alisen Chung Date: Thu, 30 Nov 2023 16:11:09 +0000 Subject: [PATCH 018/143] 8315701: [macos] Regression: KeyEvent has different keycode on different keyboard layouts Reviewed-by: aivanov, kizune --- .../classes/sun/lwawt/LWWindowPeer.java | 12 +- .../sun/lwawt/PlatformEventNotifier.java | 2 +- .../sun/lwawt/macosx/CPlatformResponder.java | 14 +- .../sun/lwawt/macosx/CWarningWindow.java | 2 +- .../macosx/native/libawt_lwawt/awt/AWTEvent.m | 13 +- .../AcceleratorTest/AcceleratorTest.html | 43 -- .../AcceleratorTest/AcceleratorTest.java | 427 ++++++------------ 7 files changed, 170 insertions(+), 343 deletions(-) delete mode 100644 test/jdk/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.html diff --git a/src/java.desktop/macosx/classes/sun/lwawt/LWWindowPeer.java b/src/java.desktop/macosx/classes/sun/lwawt/LWWindowPeer.java index 7f218e4d1baa7..4ec8d87fee3f7 100644 --- a/src/java.desktop/macosx/classes/sun/lwawt/LWWindowPeer.java +++ b/src/java.desktop/macosx/classes/sun/lwawt/LWWindowPeer.java @@ -1044,7 +1044,7 @@ public void notifyMouseWheelEvent(long when, int x, int y, int absX, */ @Override public void notifyKeyEvent(int id, long when, int modifiers, - int keyCode, char keyChar, int keyLocation) + int keyCode, char keyChar, int keyLocation, int extendedKeyCode) { LWKeyboardFocusManagerPeer kfmPeer = LWKeyboardFocusManagerPeer.getInstance(); Component focusOwner = kfmPeer.getCurrentFocusOwner(); @@ -1058,9 +1058,13 @@ public void notifyKeyEvent(int id, long when, int modifiers, KeyEvent keyEvent = new KeyEvent(focusOwner, id, when, modifiers, keyCode, keyChar, keyLocation); - AWTAccessor.getKeyEventAccessor().setExtendedKeyCode(keyEvent, - (keyChar == KeyEvent.CHAR_UNDEFINED) ? keyCode - : ExtendedKeyCodes.getExtendedKeyCodeForChar(keyChar)); + if (extendedKeyCode >= 0) { + AWTAccessor.getKeyEventAccessor().setExtendedKeyCode(keyEvent, extendedKeyCode); + } else { + AWTAccessor.getKeyEventAccessor().setExtendedKeyCode(keyEvent, + (keyChar == KeyEvent.CHAR_UNDEFINED) ? keyCode + : ExtendedKeyCodes.getExtendedKeyCodeForChar(keyChar)); + } postEvent(keyEvent); } diff --git a/src/java.desktop/macosx/classes/sun/lwawt/PlatformEventNotifier.java b/src/java.desktop/macosx/classes/sun/lwawt/PlatformEventNotifier.java index d613b9cea25a8..aea8ff2e6a930 100644 --- a/src/java.desktop/macosx/classes/sun/lwawt/PlatformEventNotifier.java +++ b/src/java.desktop/macosx/classes/sun/lwawt/PlatformEventNotifier.java @@ -61,5 +61,5 @@ void notifyMouseWheelEvent(long when, int x, int y, final int absX, * Called by the delegate when a key is pressed. */ void notifyKeyEvent(int id, long when, int modifiers, - int keyCode, char keyChar, int keyLocation); + int keyCode, char keyChar, int keyLocation, int extendedKeyCode); } diff --git a/src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformResponder.java b/src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformResponder.java index 2cbf308fafbb3..f14c7b40cbab2 100644 --- a/src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformResponder.java +++ b/src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformResponder.java @@ -143,6 +143,7 @@ void handleKeyEvent(int eventType, int modifierFlags, String chars, String chars int jeventType = KeyEvent.KEY_PRESSED; int jkeyCode = KeyEvent.VK_UNDEFINED; + int jextendedkeyCode = -1; int jkeyLocation = KeyEvent.KEY_LOCATION_UNKNOWN; boolean postsTyped = false; boolean spaceKeyTyped = false; @@ -173,7 +174,7 @@ void handleKeyEvent(int eventType, int modifierFlags, String chars, String chars charsIgnoringModifiers.charAt(0) : KeyEvent.CHAR_UNDEFINED; int[] in = new int[] {testCharIgnoringModifiers, isDeadChar ? 1 : 0, modifierFlags, keyCode}; - int[] out = new int[3]; // [jkeyCode, jkeyLocation, deadChar] + int[] out = new int[4]; // [jkeyCode, jkeyLocation, deadChar, extendedKeyCode] postsTyped = NSEvent.nsToJavaKeyInfo(in, out); if (!postsTyped) { @@ -201,6 +202,7 @@ void handleKeyEvent(int eventType, int modifierFlags, String chars, String chars } jkeyCode = out[0]; + jextendedkeyCode = out[3]; jkeyLocation = out[1]; jeventType = isNpapiCallback ? NSEvent.npToJavaEventType(eventType) : NSEvent.nsToJavaEventType(eventType); @@ -221,7 +223,7 @@ void handleKeyEvent(int eventType, int modifierFlags, String chars, String chars lastKeyPressCode = jkeyCode; } eventNotifier.notifyKeyEvent(jeventType, when, jmodifiers, - jkeyCode, javaChar, jkeyLocation); + jkeyCode, javaChar, jkeyLocation, jextendedkeyCode); // Current browser may be sending input events, so don't // post the KEY_TYPED here. @@ -241,12 +243,12 @@ void handleKeyEvent(int eventType, int modifierFlags, String chars, String chars } eventNotifier.notifyKeyEvent(KeyEvent.KEY_TYPED, when, jmodifiers, KeyEvent.VK_UNDEFINED, javaChar, - KeyEvent.KEY_LOCATION_UNKNOWN); + KeyEvent.KEY_LOCATION_UNKNOWN, jextendedkeyCode); //If events come from Firefox, released events should also be generated. if (needsKeyReleased) { eventNotifier.notifyKeyEvent(KeyEvent.KEY_RELEASED, when, jmodifiers, jkeyCode, javaChar, - KeyEvent.KEY_LOCATION_UNKNOWN); + KeyEvent.KEY_LOCATION_UNKNOWN, jextendedkeyCode); } } } @@ -260,13 +262,13 @@ void handleInputEvent(String text) { eventNotifier.notifyKeyEvent(KeyEvent.KEY_TYPED, System.currentTimeMillis(), 0, KeyEvent.VK_UNDEFINED, c, - KeyEvent.KEY_LOCATION_UNKNOWN); + KeyEvent.KEY_LOCATION_UNKNOWN, -1); index++; } eventNotifier.notifyKeyEvent(KeyEvent.KEY_RELEASED, System.currentTimeMillis(), 0, lastKeyPressCode, c, - KeyEvent.KEY_LOCATION_UNKNOWN); + KeyEvent.KEY_LOCATION_UNKNOWN, -1); } } diff --git a/src/java.desktop/macosx/classes/sun/lwawt/macosx/CWarningWindow.java b/src/java.desktop/macosx/classes/sun/lwawt/macosx/CWarningWindow.java index 52e85e338415a..bcb18c76ae10d 100644 --- a/src/java.desktop/macosx/classes/sun/lwawt/macosx/CWarningWindow.java +++ b/src/java.desktop/macosx/classes/sun/lwawt/macosx/CWarningWindow.java @@ -245,7 +245,7 @@ public void notifyMouseWheelEvent(long when, int x, int y, int absX, @Override public void notifyKeyEvent(int id, long when, int modifiers, int keyCode, - char keyChar, int keyLocation) { + char keyChar, int keyLocation, int jextendedkeyCode) { } protected int getInitialStyleBits() { diff --git a/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTEvent.m b/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTEvent.m index 0f09c59c2c0da..d26def5694fb0 100644 --- a/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTEvent.m +++ b/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTEvent.m @@ -429,7 +429,7 @@ static unichar NsGetDeadKeyChar(unsigned short keyCode) NsCharToJavaVirtualKeyCode(unichar ch, BOOL isDeadChar, NSUInteger flags, unsigned short key, jint *keyCode, jint *keyLocation, BOOL *postsTyped, - unichar *deadChar) + unichar *deadChar, jint *extendedkeyCode) { static size_t size = sizeof(keyTable) / sizeof(struct _key); NSInteger offset; @@ -469,10 +469,9 @@ static unichar NsGetDeadKeyChar(unsigned short keyCode) *postsTyped = YES; // do quick conversion // the keyCode is off by 32, so adding it here - *keyCode = java_awt_event_KeyEvent_VK_A + offset + 32; + *extendedkeyCode = java_awt_event_KeyEvent_VK_A + offset + 32; *keyLocation = java_awt_event_KeyEvent_KEY_LOCATION_STANDARD; -return; - } + } } if ([[NSCharacterSet decimalDigitCharacterSet] characterIsMember:ch]) { @@ -695,18 +694,20 @@ jlong UTC(NSEvent *event) { jshort keyCode = (jshort)data[3]; jint jkeyCode = java_awt_event_KeyEvent_VK_UNDEFINED; + jint jextendedkeyCode = -1; jint jkeyLocation = java_awt_event_KeyEvent_KEY_LOCATION_UNKNOWN; jint testDeadChar = 0; NsCharToJavaVirtualKeyCode((unichar)testChar, isDeadChar, (NSUInteger)modifierFlags, (unsigned short)keyCode, &jkeyCode, &jkeyLocation, &postsTyped, - (unichar *) &testDeadChar); + (unichar *) &testDeadChar, &jextendedkeyCode); - // out = [jkeyCode, jkeyLocation, deadChar]; + // out = [jkeyCode, jkeyLocation, deadChar, jextendedkeyCode]; (*env)->SetIntArrayRegion(env, outData, 0, 1, &jkeyCode); (*env)->SetIntArrayRegion(env, outData, 1, 1, &jkeyLocation); (*env)->SetIntArrayRegion(env, outData, 2, 1, &testDeadChar); + (*env)->SetIntArrayRegion(env, outData, 3, 1, &jextendedkeyCode); (*env)->ReleaseIntArrayElements(env, inData, data, 0); diff --git a/test/jdk/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.html b/test/jdk/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.html deleted file mode 100644 index e6f7dcb9d5d6f..0000000000000 --- a/test/jdk/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - AcceleratorTest - - - -

AcceleratorTest
Bug ID:

- -

See the dialog box (usually in upper left corner) for instructions

- - - - diff --git a/test/jdk/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.java b/test/jdk/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.java index 8d983461d7453..1d9635d58caa1 100644 --- a/test/jdk/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.java +++ b/test/jdk/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2023, Oracle and/or its affiliates. All rights reserved. * 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,307 +22,170 @@ */ /* - test - @bug 6680988 - @summary verify that various shortcuts and accelerators work - @author yuri.nesterenko : area=awt.keyboard - @run applet/manual=yesno AcceleratorTest.html -*/ - -/** - * AcceleratorTest.java - * - * summary: + * @test + * @bug 6680988 + * @key headful + * @summary verify that various shortcuts and accelerators work + * @library /java/awt/regtesthelpers + * @build PassFailJFrame + * @run main/manual AcceleratorTest */ -//import java.applet.Applet; -import javax.swing.*; -import java.awt.*; -import java.awt.event.*; +import java.awt.BorderLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.InputEvent; +import java.awt.event.KeyEvent; import java.util.Hashtable; - - -public class AcceleratorTest extends JApplet -{ - //Declare things used in the test, like buttons and labels here - static int pressed = 0; - Hashtable cmdHash = new Hashtable(); - String[] CMD = { - "\u042E, keep me in focus", - "Item Cyrl Be", - "Item English Period", - "Item English N", - "\u0436" +import javax.swing.AbstractAction; +import javax.swing.InputMap; +import javax.swing.JButton; +import javax.swing.JComponent; +import javax.swing.JFrame; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.JTextArea; +import javax.swing.KeyStroke; +import javax.swing.SwingUtilities; + +public class AcceleratorTest { + static JFrame output; + static JTextArea text; + static JFrame jfr; + static Hashtable cmdHash = new Hashtable(); + static String[] CMD = { + "\u042E, keep me in focus", + "Item Ctrl Be", + "Item Ctrl English Period", + "Item Ctrl English N", + "\u0436" }; - JFrame jfr; - - public void init() - { - //Create instructions for the user here, as well as set up - // the environment -- set the layout manager, add buttons, - // etc. - this.setLayout (new BorderLayout ()); - - String[] instructions = - { - " Ensure you have Russian keyboard layout as a currently active.", - "(1) Press Ctrl+\u0411 (a key with \",<\" on it) ", - "(2) Find a . (period) in this layout (perhaps \"/?\" or \"7&\" key).", - "Press Ctrl+.", - "(3) Press Crtl+ regular English . (period) key (on \".>\" )", - "(4) Press Ctrl+ key with English N.", - "(5) Press Alt+\u042E (key with \".>\")", - "(6) Press Alt+\u0436 (key with \";:\")", - "If all expected commands will be fired, look for message", - "\"All tests passed\"" - }; - Sysout.createDialogWithInstructions( instructions ); - for(int i = 0; i < CMD.length; i++) { + public static void main(String[] args) throws Exception { + String instructions = + "Ensure you have Russian keyboard layout as a currently active.\n" + + "(1) Press Ctrl + \u0411 (a key with \",<\" on it) \n" + + "(2) Find a . (period) in this layout (perhaps \"/?\" or \"7&\" key). " + + "Press Ctrl + .\n" + + "(3) Press Ctrl + regular English . (period) key (on \".>\" )\n" + + "(4) Press Ctrl + key with English N.\n" + + "(5) Press Alt + \u042E (key with \".>\")\n" + + "(6) Press Alt + \u0436 (key with \";:\")\n" + + "If all expected commands will be fired, look for message\n" + + "\"All tests passed\""; + + for (int i = 0; i < CMD.length; i++) { cmdHash.put(CMD[i], 0); } - jfr = new JFrame(); - JButton jbu; - jfr.add((jbu = new JButton(CMD[0]))); - jbu.setMnemonic(java.awt.event.KeyEvent.getExtendedKeyCodeForChar('\u042E')); - jbu.addActionListener( new ALi(CMD[0])); - - - JMenuBar menuBar = new JMenuBar(); - jfr.setJMenuBar(menuBar); - JMenu menu = new JMenu("Menu"); - menuBar.add(menu); + PassFailJFrame testFrame = new PassFailJFrame.Builder() + .title("Test Instructions Frame") + .instructions(instructions) + .testTimeOut(10) + .rows(10) + .columns(45) + .build(); + + SwingUtilities.invokeAndWait(() -> { + output = new JFrame("output"); + text = new JTextArea(); + output.getContentPane().add(text); + + jfr = new JFrame("AcceleratorTest"); + jfr.setLayout(new BorderLayout()); + JButton jbu; + jfr.add((jbu = new JButton(CMD[0]))); + jbu.setMnemonic(java.awt.event.KeyEvent.getExtendedKeyCodeForChar('\u042E')); + jbu.addActionListener(new ALi(CMD[0])); + + JMenuBar menuBar = new JMenuBar(); + jfr.setJMenuBar(menuBar); + JMenu menu = new JMenu("Menu"); + menuBar.add(menu); + + JMenuItem menuItem = new JMenuItem(CMD[1]); + menuItem.setAccelerator(KeyStroke.getKeyStroke(java.awt.event.KeyEvent + .getExtendedKeyCodeForChar('\u0431'), InputEvent.CTRL_DOWN_MASK)); + + JMenuItem menuItemEnglish = new JMenuItem(CMD[2]); + menuItemEnglish.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_PERIOD, + InputEvent.CTRL_DOWN_MASK)); + + JMenuItem menuItemE1 = new JMenuItem(CMD[3]); + menuItemE1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, + InputEvent.CTRL_DOWN_MASK)); + + menuItem.addActionListener(new ALi(CMD[1])); + menuItemEnglish.addActionListener(new ALi(CMD[2])); + menuItemE1.addActionListener(new ALi(CMD[3])); + + menu.add(menuItem); + menu.add(menuItemEnglish); + menu.add(menuItemE1); + + KeyStroke ks; + InputMap im = new InputMap(); + ks = KeyStroke.getKeyStroke(KeyEvent.getExtendedKeyCodeForChar('\u0436'), + java.awt.event.InputEvent.ALT_DOWN_MASK); + im.put(ks, "pushAction"); + im.setParent(jbu.getInputMap(JComponent.WHEN_FOCUSED)); + jbu.setInputMap(JComponent.WHEN_FOCUSED, im); + + jbu.getActionMap().put("pushAction", + new AbstractAction("pushAction") { + public void actionPerformed(ActionEvent evt) { + if (evt.getActionCommand().equals(CMD[4])) { + cmdHash.put(CMD[4], 1); + } + boolean notYet = false; + for (int i = 0; i < CMD.length; i++) { + if (cmdHash.get(CMD[i]) == 0) notYet = true; + } + text.append(evt.getActionCommand() + " FIRED\n"); + if (!notYet) { + text.append("All tests passed."); + } + } + } + ); + }); + + testFrame.addTestWindow(jfr); + testFrame.addTestWindow(output); + + PassFailJFrame.positionTestWindow(jfr, PassFailJFrame.Position.HORIZONTAL); + jfr.setSize(200, 200); + + PassFailJFrame.positionTestWindow(output, PassFailJFrame.Position.HORIZONTAL); + output.setSize(200, 200); - JMenuItem menuItem = new JMenuItem(CMD[1]); - menuItem.setAccelerator(KeyStroke.getKeyStroke(java.awt.event.KeyEvent.getExtendedKeyCodeForChar('\u0431'), - InputEvent.CTRL_DOWN_MASK)); - - JMenuItem menuItemEnglish = new JMenuItem(CMD[2]); - menuItemEnglish.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_PERIOD, - InputEvent.CTRL_DOWN_MASK)); - JMenuItem menuItemE1 = new JMenuItem(CMD[3]); - menuItemE1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, - InputEvent.CTRL_DOWN_MASK)); - menuItem.addActionListener( new ALi(CMD[1])); - menuItemEnglish.addActionListener( new ALi(CMD[2])); - menuItemE1.addActionListener( new ALi(CMD[3])); - menu.add(menuItem); - menu.add(menuItemEnglish); - menu.add(menuItemE1); - - KeyStroke ks; - InputMap im = new InputMap(); - ks = KeyStroke.getKeyStroke(KeyEvent.getExtendedKeyCodeForChar('\u0436'), java.awt.event.InputEvent.ALT_DOWN_MASK); - im.put(ks, "pushAction"); - im.setParent(jbu.getInputMap(JComponent.WHEN_FOCUSED)); - jbu.setInputMap(JComponent.WHEN_FOCUSED, im); - - jbu.getActionMap().put("pushAction", - new AbstractAction("pushAction") { - public void actionPerformed(ActionEvent evt) { - if( evt.getActionCommand().equals(CMD[4])) { - cmdHash.put(CMD[4], 1); - } - boolean notYet = false; - for(int i = 0; i < CMD.length; i++) { - if(cmdHash.get(CMD[i]) == 0 ) notYet = true; - } - Sysout.println("Fired"); - if( !notYet ) { - Sysout.println("All tests passed."); - } - } - } - ); - - - jfr.setBounds(650,0,200,200); jfr.setVisible(true); + output.setVisible(true); - }//End init() - - public void start () - { - //Get things going. Request focus, set size, et cetera - setSize (200,200); - setVisible(true); - validate(); + testFrame.awaitAndCheck(); + } - }// start() - public class ALi implements ActionListener { + public static class ALi implements ActionListener { String expectedCmd; - public ALi( String eCmd ) { + + public ALi(String eCmd) { expectedCmd = eCmd; } + public void actionPerformed(ActionEvent ae) { - if( cmdHash.containsKey(ae.getActionCommand()) ) { + if (cmdHash.containsKey(ae.getActionCommand())) { cmdHash.put(expectedCmd, 1); } boolean notYet = false; - for(int i = 0; i < CMD.length; i++) { - if(cmdHash.get(CMD[i]) == 0 ) notYet = true; - //Sysout.println(CMD[i]+":"+cmdHash.get(CMD[i])); + for (int i = 0; i < CMD.length; i++) { + if (cmdHash.get(CMD[i]) == 0) notYet = true; + //text.append(CMD[i]+":"+cmdHash.get(CMD[i])); } - Sysout.println("FIRED"); - if( !notYet ) { - Sysout.println("All tests passed."); + text.append(ae.getActionCommand() + " FIRED\n"); + if (!notYet) { + text.append("All tests passed.\n"); } } } - - -}// class AcceleratorTest - -/* Place other classes related to the test after this line */ - - - - - -/**************************************************** - Standard Test Machinery - DO NOT modify anything below -- it's a standard - chunk of code whose purpose is to make user - interaction uniform, and thereby make it simpler - to read and understand someone else's test. - ****************************************************/ - -/** - This is part of the standard test machinery. - It creates a dialog (with the instructions), and is the interface - for sending text messages to the user. - To print the instructions, send an array of strings to Sysout.createDialog - WithInstructions method. Put one line of instructions per array entry. - To display a message for the tester to see, simply call Sysout.println - with the string to be displayed. - This mimics System.out.println but works within the test harness as well - as standalone. - */ - -class Sysout -{ - private static TestDialog dialog; - private static boolean numbering = false; - private static int messageNumber = 0; - - public static void createDialogWithInstructions( String[] instructions ) - { - dialog = new TestDialog( new Frame(), "Instructions" ); - dialog.printInstructions( instructions ); - dialog.setVisible(true); - println( "Any messages for the tester will display here." ); - } - - public static void createDialog( ) - { - dialog = new TestDialog( new Frame(), "Instructions" ); - String[] defInstr = { "Instructions will appear here. ", "" } ; - dialog.printInstructions( defInstr ); - dialog.setVisible(true); - println( "Any messages for the tester will display here." ); - } - - /* Enables message counting for the tester. */ - public static void enableNumbering(boolean enable){ - numbering = enable; - } - - public static void printInstructions( String[] instructions ) - { - dialog.printInstructions( instructions ); - } - - - public static void println( String messageIn ) - { - if (numbering) { - messageIn = "" + messageNumber + " " + messageIn; - messageNumber++; - } - dialog.displayMessage( messageIn ); - } - -}// Sysout class - -/** - This is part of the standard test machinery. It provides a place for the - test instructions to be displayed, and a place for interactive messages - to the user to be displayed. - To have the test instructions displayed, see Sysout. - To have a message to the user be displayed, see Sysout. - Do not call anything in this dialog directly. - */ -class TestDialog extends Dialog -{ - - TextArea instructionsText; - TextArea messageText; - int maxStringLength = 80; - - //DO NOT call this directly, go through Sysout - public TestDialog( Frame frame, String name ) - { - super( frame, name ); - int scrollBoth = TextArea.SCROLLBARS_BOTH; - instructionsText = new TextArea( "", 15, maxStringLength, scrollBoth ); - add( "North", instructionsText ); - - messageText = new TextArea( "", 5, maxStringLength, scrollBoth ); - add("Center", messageText); - - pack(); - - setVisible(true); - }// TestDialog() - - //DO NOT call this directly, go through Sysout - public void printInstructions( String[] instructions ) - { - //Clear out any current instructions - instructionsText.setText( "" ); - - //Go down array of instruction strings - - String printStr, remainingStr; - for( int i=0; i < instructions.length; i++ ) - { - //chop up each into pieces maxSringLength long - remainingStr = instructions[ i ]; - while( remainingStr.length() > 0 ) - { - //if longer than max then chop off first max chars to print - if( remainingStr.length() >= maxStringLength ) - { - //Try to chop on a word boundary - int posOfSpace = remainingStr. - lastIndexOf( ' ', maxStringLength - 1 ); - - if( posOfSpace <= 0 ) posOfSpace = maxStringLength - 1; - - printStr = remainingStr.substring( 0, posOfSpace + 1 ); - remainingStr = remainingStr.substring( posOfSpace + 1 ); - } - //else just print - else - { - printStr = remainingStr; - remainingStr = ""; - } - - instructionsText.append( printStr + "\n" ); - - }// while - - }// for - - }//printInstructions() - - //DO NOT call this directly, go through Sysout - public void displayMessage( String messageIn ) - { - messageText.append( messageIn + "\n" ); - System.out.println(messageIn); - } - -}// TestDialog class +} From c6a827836277f753652815ce6a6bedd426468b87 Mon Sep 17 00:00:00 2001 From: "Daniel D. Daugherty" Date: Thu, 30 Nov 2023 16:16:59 +0000 Subject: [PATCH 019/143] 8321127: ProblemList java/util/stream/GatherersTest.java Reviewed-by: shade, alanb --- test/jdk/ProblemList.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/test/jdk/ProblemList.txt b/test/jdk/ProblemList.txt index a76ed37aced08..4fa926b366c23 100644 --- a/test/jdk/ProblemList.txt +++ b/test/jdk/ProblemList.txt @@ -723,6 +723,7 @@ com/sun/jdi/InvokeHangTest.java 8218463 linux-al java/util/Locale/LocaleProvidersRun.java 8268379 macosx-x64 sun/util/locale/provider/CalendarDataRegression.java 8268379 macosx-x64 +java/util/stream/GatherersTest.java 8321124 generic-all ############################################################################ From b1cbf55859c26cfca89c556b0db0e551ad58e4a6 Mon Sep 17 00:00:00 2001 From: Albert Mingkun Yang Date: Thu, 30 Nov 2023 16:32:23 +0000 Subject: [PATCH 020/143] 8321018: Parallel: Make some methods in ParCompactionManager private Reviewed-by: sjohanss, tschatzl --- src/hotspot/share/gc/parallel/psCompactionManager.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hotspot/share/gc/parallel/psCompactionManager.hpp b/src/hotspot/share/gc/parallel/psCompactionManager.hpp index 65409f5785f04..458d33af74a87 100644 --- a/src/hotspot/share/gc/parallel/psCompactionManager.hpp +++ b/src/hotspot/share/gc/parallel/psCompactionManager.hpp @@ -105,7 +105,8 @@ class ParCompactionManager : public CHeapObj { // Returns true and a valid task if there has not been enough space in the shared // objArray stack, otherwise returns false and the task is invalid. bool publish_or_pop_objarray_tasks(ObjArrayTask& task); - protected: + + ParCompactionManager(); // Array of task queues. Needed by the task terminator. static RegionTaskQueueSet* region_task_queues() { return _region_task_queues; } OopTaskQueue* oop_stack() { return &_oop_stack; } @@ -155,7 +156,6 @@ class ParCompactionManager : public CHeapObj { // Simply use the first compaction manager here. static ParCompactionManager* get_vmthread_cm() { return _manager_array[0]; } - ParCompactionManager(); ParMarkBitMap* mark_bitmap() { return _mark_bitmap; } From 8bedb28bbc0698dd0592f8e121ce0a4b7b0ac03d Mon Sep 17 00:00:00 2001 From: Jorn Vernee Date: Thu, 30 Nov 2023 16:35:12 +0000 Subject: [PATCH 021/143] 8321119: Disable java/foreign/TestHandshake.java on Zero VMs Reviewed-by: eosterlund, shade --- test/jdk/java/foreign/TestHandshake.java | 1 + 1 file changed, 1 insertion(+) diff --git a/test/jdk/java/foreign/TestHandshake.java b/test/jdk/java/foreign/TestHandshake.java index 79825ce4750b3..efa175eb5c403 100644 --- a/test/jdk/java/foreign/TestHandshake.java +++ b/test/jdk/java/foreign/TestHandshake.java @@ -23,6 +23,7 @@ /* * @test + * @requires vm.flavor != "zero" * @modules java.base/jdk.internal.vm.annotation java.base/jdk.internal.misc * @key randomness * @run testng/othervm TestHandshake From 7c135c3697eafedc6e244f5c866a40127247e26a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20=C3=96sterlund?= Date: Thu, 30 Nov 2023 16:37:33 +0000 Subject: [PATCH 022/143] 8321066: Multiple JFR tests have started failing Reviewed-by: mcimadamore, jvernee, dcubed --- src/hotspot/share/prims/unsafe.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/hotspot/share/prims/unsafe.cpp b/src/hotspot/share/prims/unsafe.cpp index 3d732f3292d66..ece60d32f9a64 100644 --- a/src/hotspot/share/prims/unsafe.cpp +++ b/src/hotspot/share/prims/unsafe.cpp @@ -83,7 +83,7 @@ // to unsafe functions, if we have such async exception conditions, // and return immediately if that is the case. // -// We also use NoSafepointVerifier to block potential safepoints. +// We can't have safepoints in this code. // It would be problematic if an async exception handshake were installed later on // during another safepoint in the function, but before the memory access happens, // as the memory will be freed after the handshake is installed. We must notice @@ -97,8 +97,7 @@ // that is about to be freed. (i.e. there can be no UNSAFE_LEAF_SCOPED) #define UNSAFE_ENTRY_SCOPED(result_type, header) \ JVM_ENTRY(static result_type, header) \ - if (thread->has_async_exception_condition()) {return (result_type)0;} \ - NoSafepointVerifier nsv; + if (thread->has_async_exception_condition()) {return (result_type)0;} #define UNSAFE_END JVM_END From 41daa3b934255420dcf414cf9045289ba05a9f48 Mon Sep 17 00:00:00 2001 From: Serguei Spitsyn Date: Thu, 30 Nov 2023 16:58:27 +0000 Subject: [PATCH 023/143] 8320239: add dynamic switch for JvmtiVTMSTransitionDisabler sync protocol Reviewed-by: lmesnik, pchilanomate, amenkov --- src/hotspot/share/prims/jvmtiThreadState.cpp | 41 ++++++++++++++++---- src/hotspot/share/prims/jvmtiThreadState.hpp | 9 +++++ 2 files changed, 43 insertions(+), 7 deletions(-) diff --git a/src/hotspot/share/prims/jvmtiThreadState.cpp b/src/hotspot/share/prims/jvmtiThreadState.cpp index 432bbba71af92..0004feb54b4e3 100644 --- a/src/hotspot/share/prims/jvmtiThreadState.cpp +++ b/src/hotspot/share/prims/jvmtiThreadState.cpp @@ -228,6 +228,12 @@ volatile bool JvmtiVTMSTransitionDisabler::_SR_mode = false; // Notifications from VirtualThread about VTMS events are enabled. bool JvmtiVTMSTransitionDisabler::_VTMS_notify_jvmti_events = false; +// The JvmtiVTMSTransitionDisabler sync protocol is enabled if this count > 0. +volatile int JvmtiVTMSTransitionDisabler::_sync_protocol_enabled_count = 0; + +// JvmtiVTMSTraansitionDisabler sync protocol is enabled permanently after seeing a suspender. +volatile bool JvmtiVTMSTransitionDisabler::_sync_protocol_enabled_permanently = false; + #ifdef ASSERT void JvmtiVTMSTransitionDisabler::print_info() { @@ -255,6 +261,9 @@ JvmtiVTMSTransitionDisabler::JvmtiVTMSTransitionDisabler(jthread thread) if (Thread::current_or_null() == nullptr) { return; // Detached thread, can be a call from Agent_OnLoad. } + if (!sync_protocol_enabled_permanently()) { + JvmtiVTMSTransitionDisabler::inc_sync_protocol_enabled_count(); + } if (_thread != nullptr) { VTMS_transition_disable_for_one(); // disable VTMS transitions for one virtual thread } else { @@ -272,6 +281,12 @@ JvmtiVTMSTransitionDisabler::JvmtiVTMSTransitionDisabler(bool is_SR) if (Thread::current_or_null() == nullptr) { return; // Detached thread, can be a call from Agent_OnLoad. } + if (!sync_protocol_enabled_permanently()) { + JvmtiVTMSTransitionDisabler::inc_sync_protocol_enabled_count(); + if (is_SR) { + Atomic::store(&_sync_protocol_enabled_permanently, true); + } + } VTMS_transition_disable_for_all(); } @@ -287,6 +302,9 @@ JvmtiVTMSTransitionDisabler::~JvmtiVTMSTransitionDisabler() { } else { VTMS_transition_enable_for_all(); // enable VTMS transitions for all virtual threads } + if (!sync_protocol_enabled_permanently()) { + JvmtiVTMSTransitionDisabler::dec_sync_protocol_enabled_count(); + } } // disable VTMS transitions for one virtual thread @@ -404,14 +422,21 @@ JvmtiVTMSTransitionDisabler::VTMS_transition_enable_for_all() { void JvmtiVTMSTransitionDisabler::start_VTMS_transition(jthread vthread, bool is_mount) { JavaThread* thread = JavaThread::current(); - HandleMark hm(thread); - Handle vth = Handle(thread, JNIHandles::resolve_external_guard(vthread)); - int attempts = 50000; + oop vt = JNIHandles::resolve_external_guard(vthread); + assert(!thread->is_in_VTMS_transition(), "VTMS_transition sanity check"); // Avoid using MonitorLocker on performance critical path, use // two-level synchronization with lock-free operations on counters. Atomic::inc(&_VTMS_transition_count); // Try to enter VTMS transition section optmistically. - java_lang_Thread::set_is_in_VTMS_transition(vth(), true); + java_lang_Thread::set_is_in_VTMS_transition(vt, true); + + if (!sync_protocol_enabled()) { + thread->set_is_in_VTMS_transition(true); + return; + } + HandleMark hm(thread); + Handle vth = Handle(thread, vt); + int attempts = 50000; // Do not allow suspends inside VTMS transitions. // Block while transitions are disabled or there are suspend requests. @@ -458,7 +483,6 @@ JvmtiVTMSTransitionDisabler::start_VTMS_transition(jthread vthread, bool is_moun } #endif // Enter VTMS transition section. - assert(!thread->is_in_VTMS_transition(), "VTMS_transition sanity check"); thread->set_is_in_VTMS_transition(true); } @@ -469,11 +493,14 @@ JvmtiVTMSTransitionDisabler::finish_VTMS_transition(jthread vthread, bool is_mou assert(thread->is_in_VTMS_transition(), "sanity check"); thread->set_is_in_VTMS_transition(false); oop vt = JNIHandles::resolve_external_guard(vthread); - int64_t thread_id = java_lang_Thread::thread_id(vt); java_lang_Thread::set_is_in_VTMS_transition(vt, false); - Atomic::dec(&_VTMS_transition_count); + if (!sync_protocol_enabled()) { + return; + } + int64_t thread_id = java_lang_Thread::thread_id(vt); + // Unblock waiting VTMS transition disablers. if (_VTMS_transition_disable_for_one_count > 0 || _VTMS_transition_disable_for_all_count > 0) { diff --git a/src/hotspot/share/prims/jvmtiThreadState.hpp b/src/hotspot/share/prims/jvmtiThreadState.hpp index 4dc24487058df..c15e328f36388 100644 --- a/src/hotspot/share/prims/jvmtiThreadState.hpp +++ b/src/hotspot/share/prims/jvmtiThreadState.hpp @@ -83,6 +83,8 @@ class JvmtiVTMSTransitionDisabler { static volatile int _VTMS_transition_disable_for_all_count; // transitions for all virtual threads are disabled while it is positive static volatile bool _SR_mode; // there is an active suspender or resumer static volatile int _VTMS_transition_count; // current number of VTMS transitions + static volatile int _sync_protocol_enabled_count; // current number of JvmtiVTMSTransitionDisablers enabled sync protocol + static volatile bool _sync_protocol_enabled_permanently; // seen a suspender: JvmtiVTMSTraansitionDisabler protocol is enabled permanently bool _is_SR; // is suspender or resumer jthread _thread; // virtual thread to disable transitions for, no-op if it is a platform thread @@ -100,6 +102,13 @@ class JvmtiVTMSTransitionDisabler { static void set_VTMS_transition_count(bool val) { _VTMS_transition_count = val; } + static void inc_sync_protocol_enabled_count() { Atomic::inc(&_sync_protocol_enabled_count); } + static void dec_sync_protocol_enabled_count() { Atomic::dec(&_sync_protocol_enabled_count); } + static int sync_protocol_enabled_count() { return Atomic::load(&_sync_protocol_enabled_count); } + static bool sync_protocol_enabled_permanently() { return Atomic::load(&_sync_protocol_enabled_permanently); } + + static bool sync_protocol_enabled() { return sync_protocol_enabled_permanently() || sync_protocol_enabled_count() > 0; } + // parameter is_SR: suspender or resumer JvmtiVTMSTransitionDisabler(bool is_SR = false); JvmtiVTMSTransitionDisabler(jthread thread); From 7ad700596fbc58c27fedfa46755e80ea57712fac Mon Sep 17 00:00:00 2001 From: Weibing Xiao Date: Thu, 30 Nov 2023 17:34:49 +0000 Subject: [PATCH 024/143] 8315034: File.mkdirs() occasionally fails to create folders on Windows shared folder Reviewed-by: bpb --- src/java.base/windows/native/libjava/canonicalize_md.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/java.base/windows/native/libjava/canonicalize_md.c b/src/java.base/windows/native/libjava/canonicalize_md.c index 1ec990ff5a439..ecfdf63d09162 100644 --- a/src/java.base/windows/native/libjava/canonicalize_md.c +++ b/src/java.base/windows/native/libjava/canonicalize_md.c @@ -138,7 +138,8 @@ lastErrorReportable() || (errval == ERROR_BAD_NET_NAME) || (errval == ERROR_ACCESS_DENIED) || (errval == ERROR_NETWORK_UNREACHABLE) - || (errval == ERROR_NETWORK_ACCESS_DENIED)) { + || (errval == ERROR_NETWORK_ACCESS_DENIED) + || (errval == ERROR_NO_MORE_FILES)) { return 0; } return 1; From 0a60b0f99efb38d2cc97f3862ef95a0d26ba49a7 Mon Sep 17 00:00:00 2001 From: Weijun Wang Date: Thu, 30 Nov 2023 19:14:29 +0000 Subject: [PATCH 025/143] 8302233: HSS/LMS: keytool and jarsigner changes Reviewed-by: mullan --- .../classes/sun/security/pkcs/PKCS7.java | 65 +----------------- .../classes/sun/security/pkcs/SignerInfo.java | 66 ++++++++++++++----- .../classes/sun/security/util/KeyUtil.java | 39 +++++++++-- .../security/util/SignatureFileVerifier.java | 19 +++--- .../sun/security/util/SignatureUtil.java | 32 ++++----- .../jdk/security/jarsigner/JarSigner.java | 2 +- .../sun/security/tools/jarsigner/Main.java | 6 +- .../sun/security/pkcs/pkcs7/NewSigAlg.java | 2 +- test/jdk/sun/security/pkcs/pkcs7/TwoHash.java | 2 +- .../lib/security/timestamp/TsaSigner.java | 5 +- 10 files changed, 120 insertions(+), 118 deletions(-) diff --git a/src/java.base/share/classes/sun/security/pkcs/PKCS7.java b/src/java.base/share/classes/sun/security/pkcs/PKCS7.java index 82d1a4d0bd9b7..23925869b9f3f 100644 --- a/src/java.base/share/classes/sun/security/pkcs/PKCS7.java +++ b/src/java.base/share/classes/sun/security/pkcs/PKCS7.java @@ -720,7 +720,7 @@ public boolean isOldStyle() { * * @param sigalg signature algorithm to be used * @param sigProvider (optional) provider - * @param privateKey signer's private ky + * @param privateKey signer's private key * @param signerChain signer's certificate chain * @param content the content to sign * @param internalsf whether the content should be included in output @@ -732,7 +732,7 @@ public boolean isOldStyle() { * @throws IOException should not happen here, all byte array * @throws NoSuchAlgorithmException if siglag is bad */ - public static byte[] generateNewSignedData( + public static byte[] generateSignedData( String sigalg, Provider sigProvider, PrivateKey privateKey, X509Certificate[] signerChain, byte[] content, boolean internalsf, boolean directsign, @@ -743,7 +743,7 @@ public static byte[] generateNewSignedData( Signature signer = SignatureUtil.fromKey(sigalg, privateKey, sigProvider); AlgorithmId digAlgID = SignatureUtil.getDigestAlgInPkcs7SignerInfo( - signer, sigalg, privateKey, directsign); + signer, sigalg, privateKey, signerChain[0].getPublicKey(), directsign); AlgorithmId sigAlgID = SignatureUtil.fromSignature(signer, privateKey); PKCS9Attributes authAttrs = null; @@ -837,65 +837,6 @@ private static byte[] constructToken(byte[] signature, return p7out.toByteArray(); } - /** - * Assembles a PKCS #7 signed data message that optionally includes a - * signature timestamp. - * - * @param signature the signature bytes - * @param signerChain the signer's X.509 certificate chain - * @param content the content that is signed; specify null to not include - * it in the PKCS7 data - * @param signatureAlgorithm the name of the signature algorithm - * @param tsaURI the URI of the Timestamping Authority; or null if no - * timestamp is requested - * @param tSAPolicyID the TSAPolicyID of the Timestamping Authority as a - * numerical object identifier; or null if we leave the TSA server - * to choose one. This argument is only used when tsaURI is provided - * @return the bytes of the encoded PKCS #7 signed data message - * @throws NoSuchAlgorithmException The exception is thrown if the signature - * algorithm is unrecognised. - * @throws CertificateException The exception is thrown if an error occurs - * while processing the signer's certificate or the TSA's - * certificate. - * @throws IOException The exception is thrown if an error occurs while - * generating the signature timestamp or while generating the signed - * data message. - */ - @Deprecated(since="16", forRemoval=true) - public static byte[] generateSignedData(byte[] signature, - X509Certificate[] signerChain, - byte[] content, - String signatureAlgorithm, - URI tsaURI, - String tSAPolicyID, - String tSADigestAlg) - throws CertificateException, IOException, NoSuchAlgorithmException - { - - // Generate the timestamp token - PKCS9Attributes unauthAttrs = null; - if (tsaURI != null) { - // Timestamp the signature - HttpTimestamper tsa = new HttpTimestamper(tsaURI); - byte[] tsToken = generateTimestampToken( - tsa, tSAPolicyID, tSADigestAlg, signature); - - // Insert the timestamp token into the PKCS #7 signer info element - // (as an unsigned attribute) - unauthAttrs = - new PKCS9Attributes(new PKCS9Attribute[]{ - new PKCS9Attribute( - PKCS9Attribute.SIGNATURE_TIMESTAMP_TOKEN_OID, - tsToken)}); - } - - return constructToken(signature, signerChain, content, - null, - unauthAttrs, - AlgorithmId.get(SignatureUtil.extractDigestAlgFromDwithE(signatureAlgorithm)), - AlgorithmId.get(signatureAlgorithm)); - } - /** * Examine the certificate for a Subject Information Access extension * (RFC 5280). diff --git a/src/java.base/share/classes/sun/security/pkcs/SignerInfo.java b/src/java.base/share/classes/sun/security/pkcs/SignerInfo.java index 39cd90c56abea..7b4742ea92a22 100644 --- a/src/java.base/share/classes/sun/security/pkcs/SignerInfo.java +++ b/src/java.base/share/classes/sun/security/pkcs/SignerInfo.java @@ -398,8 +398,7 @@ SignerInfo verify(PKCS7 block, byte[] data) // to form signing algorithm. See makeSigAlg for details. String sigAlgName = makeSigAlg( digestAlgorithmId, - digestEncryptionAlgorithmId, - authenticatedAttributes == null); + digestEncryptionAlgorithmId); KnownOIDs oid = KnownOIDs.findMatch(sigAlgName); if (oid != null) { @@ -422,6 +421,12 @@ SignerInfo verify(PKCS7 block, byte[] data) + "critical extension(s)"); } + algorithmsConformanceCheck( + digestAlgorithmId, + digestEncryptionAlgorithmId, + key, + authenticatedAttributes == null); + // Make sure that if the usage of the key in the certificate is // restricted, it can be used for digital signatures. // XXX We may want to check for additional extensions in the @@ -471,26 +476,17 @@ SignerInfo verify(PKCS7 block, byte[] data) } /** - * Derives the signature algorithm name from the digest algorithm - * and the encryption algorithm inside a PKCS7 SignerInfo. - * - * The digest algorithm is in the form "DIG", and the encryption - * algorithm can be in any of the 3 forms: - * - * 1. Old style key algorithm like RSA, DSA, EC, this method returns - * DIGwithKEY. - * 2. New style signature algorithm in the form of HASHwithKEY, this - * method returns DIGwithKEY. Please note this is not HASHwithKEY. - * 3. Modern signature algorithm like RSASSA-PSS and EdDSA, this method - * returns the signature algorithm itself but ensures digAlgId is - * compatible with the algorithm as described in RFC 4056 and 8419. + * Checks if the digest algorithm and encryption algorithm combination + * inside a PKCS7 SignerInfo is legal. * * @param digAlgId the digest algorithm * @param encAlgId the encryption algorithm + * @param key the public key for verification * @param directSign whether the signature is calculated on the content * directly. This makes difference for Ed448. */ - public static String makeSigAlg(AlgorithmId digAlgId, AlgorithmId encAlgId, + private static void algorithmsConformanceCheck( + AlgorithmId digAlgId, AlgorithmId encAlgId, PublicKey key, boolean directSign) throws NoSuchAlgorithmException { String encAlg = encAlgId.getName(); switch (encAlg) { @@ -509,12 +505,12 @@ public static String makeSigAlg(AlgorithmId digAlgId, AlgorithmId encAlgId, if (!AlgorithmId.get(spec.getDigestAlgorithm()).equals(digAlgId)) { throw new NoSuchAlgorithmException("Incompatible digest algorithm"); } - return encAlg; + break; case "Ed25519": if (!digAlgId.equals(SignatureUtil.EdDSADigestAlgHolder.sha512)) { throw new NoSuchAlgorithmException("Incompatible digest algorithm"); } - return encAlg; + break; case "Ed448": if (directSign) { if (!digAlgId.equals(SignatureUtil.EdDSADigestAlgHolder.shake256)) { @@ -525,6 +521,40 @@ public static String makeSigAlg(AlgorithmId digAlgId, AlgorithmId encAlgId, throw new NoSuchAlgorithmException("Incompatible digest algorithm"); } } + break; + case "HSS/LMS": + // RFC 8708 requires the same hash algorithm used as in the HSS/LMS algorithm + if (!digAlgId.equals(AlgorithmId.get(KeyUtil.hashAlgFromHSS(key)))) { + throw new NoSuchAlgorithmException("Incompatible digest algorithm"); + } + break; + } + } + + /** + * Derives the signature algorithm name from the digest algorithm + * and the encryption algorithm inside a PKCS7 SignerInfo. + * + * The digest algorithm is in the form "DIG", and the encryption + * algorithm can be in any of the 3 forms: + * + * 1. Old style key algorithm like RSA, DSA, EC, this method returns + * DIGwithKEY. + * 2. New style signature algorithm in the form of HASHwithKEY, this + * method returns DIGwithKEY. Please note this is not HASHwithKEY. + * 3. Modern signature algorithm like RSASSA-PSS and EdDSA, this method + * returns the signature algorithm itself. + * + * @param digAlgId the digest algorithm + * @param encAlgId the encryption algorithm + */ + public static String makeSigAlg(AlgorithmId digAlgId, AlgorithmId encAlgId) { + String encAlg = encAlgId.getName(); + switch (encAlg) { + case "RSASSA-PSS": + case "Ed25519": + case "Ed448": + case "HSS/LMS": return encAlg; default: String digAlg = digAlgId.getName(); diff --git a/src/java.base/share/classes/sun/security/util/KeyUtil.java b/src/java.base/share/classes/sun/security/util/KeyUtil.java index e17ca2aaaeb72..059467779b988 100644 --- a/src/java.base/share/classes/sun/security/util/KeyUtil.java +++ b/src/java.base/share/classes/sun/security/util/KeyUtil.java @@ -25,11 +25,9 @@ package sun.security.util; +import java.io.IOException; import java.math.BigInteger; -import java.security.AlgorithmParameters; -import java.security.InvalidKeyException; -import java.security.Key; -import java.security.SecureRandom; +import java.security.*; import java.security.interfaces.*; import java.security.spec.*; import java.util.Arrays; @@ -405,5 +403,38 @@ public static byte[] trimZeroes(byte[] b) { return t; } + /** + * Finds the hash algorithm from an HSS/LMS public key. + * + * @param publicKey the HSS/LMS public key + * @return the hash algorithm + * @throws NoSuchAlgorithmException if key is from an unknown configuration + */ + public static String hashAlgFromHSS(PublicKey publicKey) + throws NoSuchAlgorithmException { + try { + DerValue val = new DerValue(publicKey.getEncoded()); + val.data.getDerValue(); + byte[] rawKey = new DerValue(val.data.getBitString()).getOctetString(); + // According to https://www.rfc-editor.org/rfc/rfc8554.html: + // Section 6.1: HSS public key is u32str(L) || pub[0], where pub[0] + // is the LMS public key for the top-level tree. + // Section 5.3: LMS public key is u32str(type) || u32str(otstype) || I || T[1] + // Section 8: type is the numeric identifier for an LMS specification. + // This RFC defines 5 SHA-256 based types, value from 5 to 9. + if (rawKey.length < 8) { + throw new NoSuchAlgorithmException("Cannot decode public key"); + } + int num = ((rawKey[4] & 0xff) << 24) + ((rawKey[5] & 0xff) << 16) + + ((rawKey[6] & 0xff) << 8) + (rawKey[7] & 0xff); + return switch (num) { + // RFC 8554 only supports SHA_256 hash algorithm + case 5, 6, 7, 8, 9 -> "SHA-256"; + default -> throw new NoSuchAlgorithmException("Unknown LMS type: " + num); + }; + } catch (IOException e) { + throw new NoSuchAlgorithmException("Cannot decode public key", e); + } + } } diff --git a/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java b/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java index e16ae803b962b..1e204816bd65f 100644 --- a/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java +++ b/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java @@ -184,21 +184,20 @@ public static boolean isBlockOrSF(String s) { /** * Returns the signed JAR block file extension for a key. * + * Returns "DSA" for unknown algorithms. This is safe because the + * signature verification process does not require the extension to + * match the key algorithm as long as it is "RSA", "DSA", or "EC." + * * @param key the key used to sign the JAR file * @return the extension * @see #isBlockOrSF(String) */ public static String getBlockExtension(PrivateKey key) { - String keyAlgorithm = key.getAlgorithm().toUpperCase(Locale.ENGLISH); - if (keyAlgorithm.equals("RSASSA-PSS")) { - return "RSA"; - } else if (keyAlgorithm.equals("EDDSA") - || keyAlgorithm.equals("ED25519") - || keyAlgorithm.equals("ED448")) { - return "EC"; - } else { - return keyAlgorithm; - } + return switch (key.getAlgorithm().toUpperCase(Locale.ENGLISH)) { + case "RSA", "RSASSA-PSS" -> "RSA"; + case "EC", "EDDSA", "ED25519", "ED448" -> "EC"; + default -> "DSA"; + }; } /** diff --git a/src/java.base/share/classes/sun/security/util/SignatureUtil.java b/src/java.base/share/classes/sun/security/util/SignatureUtil.java index 61d8be3ca8c35..3d415814ba4fc 100644 --- a/src/java.base/share/classes/sun/security/util/SignatureUtil.java +++ b/src/java.base/share/classes/sun/security/util/SignatureUtil.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2018, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -212,12 +212,13 @@ public static class EdDSADigestAlgHolder { * @param signer Signature object that tells you RSASSA-PSS params * @param sigalg Signature algorithm * @param privateKey key tells you EdDSA params + * @param publicKey key tells you HSS/LMS hash algorithm * @param directsign Ed448 uses different digest algs depending on this * @return the digest algId * @throws NoSuchAlgorithmException */ public static AlgorithmId getDigestAlgInPkcs7SignerInfo( - Signature signer, String sigalg, PrivateKey privateKey, boolean directsign) + Signature signer, String sigalg, PrivateKey privateKey, PublicKey publicKey, boolean directsign) throws NoSuchAlgorithmException { AlgorithmId digAlgID; String kAlg = privateKey.getAlgorithm(); @@ -243,18 +244,18 @@ public static AlgorithmId getDigestAlgInPkcs7SignerInfo( default: throw new AssertionError("Unknown curve name: " + kAlg); } - } else { - if (sigalg.equalsIgnoreCase("RSASSA-PSS")) { - try { - digAlgID = AlgorithmId.get(signer.getParameters() - .getParameterSpec(PSSParameterSpec.class) - .getDigestAlgorithm()); - } catch (InvalidParameterSpecException e) { - throw new AssertionError("Should not happen", e); - } - } else { - digAlgID = AlgorithmId.get(extractDigestAlgFromDwithE(sigalg)); + } else if (sigalg.equalsIgnoreCase("RSASSA-PSS")) { + try { + digAlgID = AlgorithmId.get(signer.getParameters() + .getParameterSpec(PSSParameterSpec.class) + .getDigestAlgorithm()); + } catch (InvalidParameterSpecException e) { + throw new AssertionError("Should not happen", e); } + } else if (sigalg.equalsIgnoreCase("HSS/LMS")) { + digAlgID = AlgorithmId.get(KeyUtil.hashAlgFromHSS(publicKey)); + } else { + digAlgID = AlgorithmId.get(extractDigestAlgFromDwithE(sigalg)); } return digAlgID; } @@ -484,14 +485,15 @@ public static void checkKeyAndSigAlgMatch(PrivateKey key, String sAlg) { public static String getDefaultSigAlgForKey(PrivateKey k) { String kAlg = k.getAlgorithm().toUpperCase(Locale.ENGLISH); return switch (kAlg) { + case "DH", "XDH", "X25519", "X448" -> null; case "DSA" -> "SHA256withDSA"; case "RSA" -> ifcFfcStrength(KeyUtil.getKeySize(k)) + "withRSA"; case "EC" -> ecStrength(KeyUtil.getKeySize(k)) + "withECDSA"; case "EDDSA" -> k instanceof EdECPrivateKey ? ((EdECPrivateKey) k).getParams().getName() : kAlg; - case "RSASSA-PSS", "ED25519", "ED448" -> kAlg; - default -> null; + default -> kAlg; // All modern signature algorithms, + // RSASSA-PSS, ED25519, ED448, HSS/LMS, etc }; } diff --git a/src/jdk.jartool/share/classes/jdk/security/jarsigner/JarSigner.java b/src/jdk.jartool/share/classes/jdk/security/jarsigner/JarSigner.java index 4f85adb752837..5dbaf6041ee25 100644 --- a/src/jdk.jartool/share/classes/jdk/security/jarsigner/JarSigner.java +++ b/src/jdk.jartool/share/classes/jdk/security/jarsigner/JarSigner.java @@ -845,7 +845,7 @@ private void sign0(ZipFile zipFile, OutputStream os) }; } // We now create authAttrs in block data, so "direct == false". - block = PKCS7.generateNewSignedData(sigalg, sigProvider, privateKey, certChain, + block = PKCS7.generateSignedData(sigalg, sigProvider, privateKey, certChain, content, internalsf, false, timestamper); String sfFilename = sf.getMetaName(); diff --git a/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java b/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java index ed2c9be854310..e011145632dfa 100644 --- a/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java +++ b/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java @@ -1015,8 +1015,7 @@ void verifyJar(String jarName) String digestAlg = digestMap.get(s); String sigAlg = SignerInfo.makeSigAlg( si.getDigestAlgorithmId(), - si.getDigestEncryptionAlgorithmId(), - si.getAuthenticatedAttributes() == null); + si.getDigestEncryptionAlgorithmId()); AlgorithmId encAlgId = si.getDigestEncryptionAlgorithmId(); AlgorithmParameters sigAlgParams = encAlgId.getParameters(); PublicKey key = signer.getPublicKey(); @@ -1031,8 +1030,7 @@ void verifyJar(String jarName) String tsDigestAlg = tsTokenInfo.getHashAlgorithm().getName(); String tsSigAlg = SignerInfo.makeSigAlg( tsSi.getDigestAlgorithmId(), - tsSi.getDigestEncryptionAlgorithmId(), - tsSi.getAuthenticatedAttributes() == null); + tsSi.getDigestEncryptionAlgorithmId()); AlgorithmId tsEncAlgId = tsSi.getDigestEncryptionAlgorithmId(); AlgorithmParameters tsSigAlgParams = tsEncAlgId.getParameters(); Calendar c = Calendar.getInstance( diff --git a/test/jdk/sun/security/pkcs/pkcs7/NewSigAlg.java b/test/jdk/sun/security/pkcs/pkcs7/NewSigAlg.java index 098dd9caaa42c..926c2c0c65e69 100644 --- a/test/jdk/sun/security/pkcs/pkcs7/NewSigAlg.java +++ b/test/jdk/sun/security/pkcs/pkcs7/NewSigAlg.java @@ -46,6 +46,6 @@ public static void main(String[] args) throws Exception { static void test(String d, String e, String s) throws Exception { Asserts.assertEQ(s, SignerInfo.makeSigAlg( - AlgorithmId.get(d), AlgorithmId.get(s), false)); + AlgorithmId.get(d), AlgorithmId.get(s))); } } diff --git a/test/jdk/sun/security/pkcs/pkcs7/TwoHash.java b/test/jdk/sun/security/pkcs/pkcs7/TwoHash.java index 6aaf7825c26d2..4ebedd21928c4 100644 --- a/test/jdk/sun/security/pkcs/pkcs7/TwoHash.java +++ b/test/jdk/sun/security/pkcs/pkcs7/TwoHash.java @@ -45,7 +45,7 @@ public static void main(String[] args) throws Exception { CertAndKeyGen cak = new CertAndKeyGen("EC", "SHA512withECDSA"); cak.generate("secp256r1"); - byte[] signature = PKCS7.generateNewSignedData( + byte[] signature = PKCS7.generateSignedData( "SHA256withECDSA", null, cak.getPrivateKey(), diff --git a/test/lib/jdk/test/lib/security/timestamp/TsaSigner.java b/test/lib/jdk/test/lib/security/timestamp/TsaSigner.java index a3647552557d5..22d630f3aa887 100644 --- a/test/lib/jdk/test/lib/security/timestamp/TsaSigner.java +++ b/test/lib/jdk/test/lib/security/timestamp/TsaSigner.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -219,7 +219,8 @@ private byte[] createResponse(TsaParam requestParam) throws Exception { new X500Name(issuerName), signerEntry.cert.getSerialNumber(), SignatureUtil.getDigestAlgInPkcs7SignerInfo( - signature, sigAlgo, signerEntry.privateKey, false), + signature, sigAlgo, signerEntry.privateKey, + signerEntry.cert.getPublicKey(), false), AlgorithmId.get(sigAlgo), signature.sign()); From 630bafd9c66e7612d48c183c81a58ecbd6ea5866 Mon Sep 17 00:00:00 2001 From: Ioi Lam Date: Thu, 30 Nov 2023 19:22:11 +0000 Subject: [PATCH 026/143] 8320826: call allocate_shared_strings_array after all strings are interned Reviewed-by: ccheung, matsaave --- src/hotspot/share/cds/metaspaceShared.cpp | 5 ++++- src/hotspot/share/classfile/stringTable.cpp | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/hotspot/share/cds/metaspaceShared.cpp b/src/hotspot/share/cds/metaspaceShared.cpp index d85db121db34a..dedd7cb85ee5d 100644 --- a/src/hotspot/share/cds/metaspaceShared.cpp +++ b/src/hotspot/share/cds/metaspaceShared.cpp @@ -783,7 +783,6 @@ void MetaspaceShared::preload_and_dump_impl(TRAPS) { #if INCLUDE_CDS_JAVA_HEAP if (CDSConfig::is_dumping_heap()) { - StringTable::allocate_shared_strings_array(CHECK); if (!HeapShared::is_archived_boot_layer_available(THREAD)) { log_info(cds)("archivedBootLayer not available, disabling full module graph"); CDSConfig::disable_dumping_full_module_graph(); @@ -793,6 +792,10 @@ void MetaspaceShared::preload_and_dump_impl(TRAPS) { if (CDSConfig::is_dumping_full_module_graph()) { HeapShared::reset_archived_object_states(CHECK); } + + // Do this at the very end, when no Java code will be executed. Otherwise + // some new strings may be added to the intern table. + StringTable::allocate_shared_strings_array(CHECK); } #endif diff --git a/src/hotspot/share/classfile/stringTable.cpp b/src/hotspot/share/classfile/stringTable.cpp index 506eef46241da..9e96340d82b9c 100644 --- a/src/hotspot/share/classfile/stringTable.cpp +++ b/src/hotspot/share/classfile/stringTable.cpp @@ -806,7 +806,9 @@ oop StringTable::lookup_shared(const jchar* name, int len) { // This should be called when we know no more strings will be added (which will be easy // to guarantee because CDS runs with a single Java thread. See JDK-8253495.) void StringTable::allocate_shared_strings_array(TRAPS) { - assert(CDSConfig::is_dumping_heap(), "must be"); + if (!CDSConfig::is_dumping_heap()) { + return; + } if (_items_count > (size_t)max_jint) { fatal("Too many strings to be archived: %zu", _items_count); } From e96e19195287a065711358bffde753e9d83e5de3 Mon Sep 17 00:00:00 2001 From: Jorn Vernee Date: Thu, 30 Nov 2023 19:26:54 +0000 Subject: [PATCH 027/143] 8318586: Explicitly handle upcall stub allocation failure 8318653: UpcallTestHelper::runInNewProcess waits for forked process without timeout Reviewed-by: shade, mcimadamore --- .../cpu/aarch64/downcallLinker_aarch64.cpp | 12 +++- .../cpu/aarch64/upcallLinker_aarch64.cpp | 6 ++ src/hotspot/cpu/ppc/downcallLinker_ppc.cpp | 12 +++- src/hotspot/cpu/ppc/upcallLinker_ppc.cpp | 7 ++ .../cpu/riscv/downcallLinker_riscv.cpp | 12 +++- src/hotspot/cpu/riscv/upcallLinker_riscv.cpp | 7 ++ src/hotspot/cpu/s390/downcallLinker_s390.cpp | 12 +++- src/hotspot/cpu/s390/upcallLinker_s390.cpp | 7 ++ src/hotspot/cpu/x86/downcallLinker_x86_64.cpp | 12 +++- src/hotspot/cpu/x86/upcallLinker_x86_64.cpp | 6 ++ src/hotspot/share/code/codeBlob.cpp | 4 ++ src/hotspot/share/prims/nativeEntryPoint.cpp | 12 ++-- .../foreign/abi/NativeEntryPoint.java | 3 + .../internal/foreign/abi/UpcallLinker.java | 3 + test/jdk/java/foreign/NativeTestHelper.java | 6 +- .../java/foreign/TestAddressDereference.java | 1 + .../java/foreign/TestStubAllocFailure.java | 66 +++++++++++++++++++ .../jdk/java/foreign/TestUpcallException.java | 1 + test/jdk/java/foreign/UpcallTestHelper.java | 34 +++++++--- .../foreign/critical/TestCriticalUpcall.java | 2 +- .../passheapsegment/TestPassHeapSegment.java | 2 +- 21 files changed, 207 insertions(+), 20 deletions(-) create mode 100644 test/jdk/java/foreign/TestStubAllocFailure.java diff --git a/src/hotspot/cpu/aarch64/downcallLinker_aarch64.cpp b/src/hotspot/cpu/aarch64/downcallLinker_aarch64.cpp index c5bcc38b5f651..b9a480af7ba97 100644 --- a/src/hotspot/cpu/aarch64/downcallLinker_aarch64.cpp +++ b/src/hotspot/cpu/aarch64/downcallLinker_aarch64.cpp @@ -51,6 +51,9 @@ RuntimeStub* DowncallLinker::make_downcall_stub(BasicType* signature, int code_size = native_invoker_code_base_size + (num_args * native_invoker_size_per_arg); int locs_size = 1; // must be non-zero CodeBuffer code("nep_invoker_blob", code_size, locs_size); + if (code.blob() == nullptr) { + return nullptr; + } StubGenerator g(&code, signature, num_args, ret_bt, abi, input_registers, output_registers, needs_return_buffer, captured_state_mask, @@ -58,12 +61,19 @@ RuntimeStub* DowncallLinker::make_downcall_stub(BasicType* signature, g.generate(); code.log_section_sizes("nep_invoker_blob"); + bool caller_must_gc_arguments = false; + bool alloc_fail_is_fatal = false; RuntimeStub* stub = RuntimeStub::new_runtime_stub("nep_invoker_blob", &code, g.frame_complete(), g.framesize(), - g.oop_maps(), false); + g.oop_maps(), + caller_must_gc_arguments, + alloc_fail_is_fatal); + if (stub == nullptr) { + return nullptr; + } #ifndef PRODUCT LogTarget(Trace, foreign, downcall) lt; diff --git a/src/hotspot/cpu/aarch64/upcallLinker_aarch64.cpp b/src/hotspot/cpu/aarch64/upcallLinker_aarch64.cpp index 03aa1cd6cd7ec..14e9764457508 100644 --- a/src/hotspot/cpu/aarch64/upcallLinker_aarch64.cpp +++ b/src/hotspot/cpu/aarch64/upcallLinker_aarch64.cpp @@ -127,6 +127,9 @@ address UpcallLinker::make_upcall_stub(jobject receiver, Method* entry, const CallRegs call_regs = ForeignGlobals::parse_call_regs(jconv); int code_size = upcall_stub_code_base_size + (total_out_args * upcall_stub_size_per_arg); CodeBuffer buffer("upcall_stub", code_size, /* locs_size = */ 1); + if (buffer.blob() == nullptr) { + return nullptr; + } GrowableArray unfiltered_out_regs; int out_arg_bytes = ForeignGlobals::java_calling_convention(out_sig_bt, total_out_args, unfiltered_out_regs); @@ -324,6 +327,9 @@ address UpcallLinker::make_upcall_stub(jobject receiver, Method* entry, &buffer, receiver, in_ByteSize(frame_data_offset)); + if (blob == nullptr) { + return nullptr; + } #ifndef PRODUCT if (lt.is_enabled()) { diff --git a/src/hotspot/cpu/ppc/downcallLinker_ppc.cpp b/src/hotspot/cpu/ppc/downcallLinker_ppc.cpp index 5fb9509926f9c..7175f727437af 100644 --- a/src/hotspot/cpu/ppc/downcallLinker_ppc.cpp +++ b/src/hotspot/cpu/ppc/downcallLinker_ppc.cpp @@ -51,6 +51,9 @@ RuntimeStub* DowncallLinker::make_downcall_stub(BasicType* signature, int code_size = native_invoker_code_base_size + (num_args * native_invoker_size_per_arg); int locs_size = 1; // must be non-zero CodeBuffer code("nep_invoker_blob", code_size, locs_size); + if (code.blob() == nullptr) { + return nullptr; + } StubGenerator g(&code, signature, num_args, ret_bt, abi, input_registers, output_registers, needs_return_buffer, captured_state_mask, @@ -58,12 +61,19 @@ RuntimeStub* DowncallLinker::make_downcall_stub(BasicType* signature, g.generate(); code.log_section_sizes("nep_invoker_blob"); + bool caller_must_gc_arguments = false; + bool alloc_fail_is_fatal = false; RuntimeStub* stub = RuntimeStub::new_runtime_stub("nep_invoker_blob", &code, g.frame_complete(), g.framesize(), - g.oop_maps(), false); + g.oop_maps(), + caller_must_gc_arguments, + alloc_fail_is_fatal); + if (stub == nullptr) { + return nullptr; + } #ifndef PRODUCT LogTarget(Trace, foreign, downcall) lt; diff --git a/src/hotspot/cpu/ppc/upcallLinker_ppc.cpp b/src/hotspot/cpu/ppc/upcallLinker_ppc.cpp index 727ebe2b568e1..a1c8f46ce2d57 100644 --- a/src/hotspot/cpu/ppc/upcallLinker_ppc.cpp +++ b/src/hotspot/cpu/ppc/upcallLinker_ppc.cpp @@ -128,6 +128,9 @@ address UpcallLinker::make_upcall_stub(jobject receiver, Method* entry, const CallRegs call_regs = ForeignGlobals::parse_call_regs(jconv); int code_size = upcall_stub_code_base_size + (total_out_args * upcall_stub_size_per_arg); CodeBuffer buffer("upcall_stub", code_size, /* locs_size = */ 1); + if (buffer.blob() == nullptr) { + return nullptr; + } Register callerSP = R2, // C/C++ uses R2 as TOC, but we can reuse it here tmp = R11_scratch1, // same as shuffle_reg @@ -332,6 +335,10 @@ address UpcallLinker::make_upcall_stub(jobject receiver, Method* entry, &buffer, receiver, in_ByteSize(frame_data_offset)); + if (blob == nullptr) { + return nullptr; + } + #ifndef ABI_ELFv2 // Need to patch the FunctionDescriptor after relocating. address fd_addr = blob->code_begin(); diff --git a/src/hotspot/cpu/riscv/downcallLinker_riscv.cpp b/src/hotspot/cpu/riscv/downcallLinker_riscv.cpp index fefb40f4b1e1c..9c4ea56d0c8ba 100644 --- a/src/hotspot/cpu/riscv/downcallLinker_riscv.cpp +++ b/src/hotspot/cpu/riscv/downcallLinker_riscv.cpp @@ -52,6 +52,9 @@ RuntimeStub* DowncallLinker::make_downcall_stub(BasicType* signature, int code_size = native_invoker_code_base_size + (num_args * native_invoker_size_per_arg); int locs_size = 1; // must be non-zero CodeBuffer code("nep_invoker_blob", code_size, locs_size); + if (code.blob() == nullptr) { + return nullptr; + } StubGenerator g(&code, signature, num_args, ret_bt, abi, input_registers, output_registers, needs_return_buffer, captured_state_mask, @@ -59,12 +62,19 @@ RuntimeStub* DowncallLinker::make_downcall_stub(BasicType* signature, g.generate(); code.log_section_sizes("nep_invoker_blob"); + bool caller_must_gc_arguments = false; + bool alloc_fail_is_fatal = false; RuntimeStub* stub = RuntimeStub::new_runtime_stub("nep_invoker_blob", &code, g.frame_complete(), g.framesize(), - g.oop_maps(), false); + g.oop_maps(), + caller_must_gc_arguments, + alloc_fail_is_fatal); + if (stub == nullptr) { + return nullptr; + } #ifndef PRODUCT LogTarget(Trace, foreign, downcall) lt; diff --git a/src/hotspot/cpu/riscv/upcallLinker_riscv.cpp b/src/hotspot/cpu/riscv/upcallLinker_riscv.cpp index abfea10fd0217..142d9d636938d 100644 --- a/src/hotspot/cpu/riscv/upcallLinker_riscv.cpp +++ b/src/hotspot/cpu/riscv/upcallLinker_riscv.cpp @@ -128,6 +128,9 @@ address UpcallLinker::make_upcall_stub(jobject receiver, Method* entry, const CallRegs call_regs = ForeignGlobals::parse_call_regs(jconv); int code_size = upcall_stub_code_base_size + (total_out_args * upcall_stub_size_per_arg); CodeBuffer buffer("upcall_stub", code_size, /* locs_size = */ 1); + if (buffer.blob() == nullptr) { + return nullptr; + } GrowableArray unfiltered_out_regs; int out_arg_bytes = ForeignGlobals::java_calling_convention(out_sig_bt, total_out_args, unfiltered_out_regs); @@ -344,6 +347,10 @@ address UpcallLinker::make_upcall_stub(jobject receiver, Method* entry, &buffer, receiver, in_ByteSize(frame_data_offset)); + if (blob == nullptr) { + return nullptr; + } + #ifndef PRODUCT if (lt.is_enabled()) { ResourceMark rm; diff --git a/src/hotspot/cpu/s390/downcallLinker_s390.cpp b/src/hotspot/cpu/s390/downcallLinker_s390.cpp index d3e11104e4800..22bd644e2b8a4 100644 --- a/src/hotspot/cpu/s390/downcallLinker_s390.cpp +++ b/src/hotspot/cpu/s390/downcallLinker_s390.cpp @@ -52,6 +52,9 @@ RuntimeStub* DowncallLinker::make_downcall_stub(BasicType* signature, int code_size = native_invoker_code_base_size + (num_args * native_invoker_size_per_args); int locs_size = 1; //must be non zero CodeBuffer code("nep_invoker_blob", code_size, locs_size); + if (code.blob() == nullptr) { + return nullptr; + } StubGenerator g(&code, signature, num_args, ret_bt, abi, input_registers, output_registers, @@ -60,12 +63,19 @@ RuntimeStub* DowncallLinker::make_downcall_stub(BasicType* signature, g.generate(); code.log_section_sizes("nep_invoker_blob"); + bool caller_must_gc_arguments = false; + bool alloc_fail_is_fatal = false; RuntimeStub* stub = RuntimeStub::new_runtime_stub("nep_invoker_blob", &code, g.frame_complete(), g.framesize(), - g.oop_maps(), false); + g.oop_maps(), + caller_must_gc_arguments, + alloc_fail_is_fatal); + if (stub == nullptr) { + return nullptr; + } #ifndef PRODUCT LogTarget(Trace, foreign, downcall) lt; diff --git a/src/hotspot/cpu/s390/upcallLinker_s390.cpp b/src/hotspot/cpu/s390/upcallLinker_s390.cpp index 10be41d6c287a..20c9b35db626a 100644 --- a/src/hotspot/cpu/s390/upcallLinker_s390.cpp +++ b/src/hotspot/cpu/s390/upcallLinker_s390.cpp @@ -126,6 +126,9 @@ address UpcallLinker::make_upcall_stub(jobject receiver, Method* entry, const CallRegs call_regs = ForeignGlobals::parse_call_regs(jconv); int code_size = upcall_stub_code_base_size + (total_out_args * upcall_stub_size_per_arg); CodeBuffer buffer("upcall_stub", code_size, /* locs_size = */ 0); + if (buffer.blob() == nullptr) { + return nullptr; + } Register call_target_address = Z_R1_scratch; @@ -283,6 +286,10 @@ address UpcallLinker::make_upcall_stub(jobject receiver, Method* entry, &buffer, receiver, in_ByteSize(frame_data_offset)); + if (blob == nullptr) { + return nullptr; + } + #ifndef PRODUCT if (lt.is_enabled()) { ResourceMark rm; diff --git a/src/hotspot/cpu/x86/downcallLinker_x86_64.cpp b/src/hotspot/cpu/x86/downcallLinker_x86_64.cpp index 1a40429b7bdba..41039e0cfd835 100644 --- a/src/hotspot/cpu/x86/downcallLinker_x86_64.cpp +++ b/src/hotspot/cpu/x86/downcallLinker_x86_64.cpp @@ -49,6 +49,9 @@ RuntimeStub* DowncallLinker::make_downcall_stub(BasicType* signature, int code_size = native_invoker_code_base_size + (num_args * native_invoker_size_per_arg); int locs_size = 1; // can not be zero CodeBuffer code("nep_invoker_blob", code_size, locs_size); + if (code.blob() == nullptr) { + return nullptr; + } StubGenerator g(&code, signature, num_args, ret_bt, abi, input_registers, output_registers, needs_return_buffer, captured_state_mask, @@ -56,12 +59,19 @@ RuntimeStub* DowncallLinker::make_downcall_stub(BasicType* signature, g.generate(); code.log_section_sizes("nep_invoker_blob"); + bool caller_must_gc_arguments = false; + bool alloc_fail_is_fatal = false; RuntimeStub* stub = RuntimeStub::new_runtime_stub("nep_invoker_blob", &code, g.frame_complete(), g.framesize(), - g.oop_maps(), false); + g.oop_maps(), + caller_must_gc_arguments, + alloc_fail_is_fatal); + if (stub == nullptr) { + return nullptr; + } #ifndef PRODUCT LogTarget(Trace, foreign, downcall) lt; diff --git a/src/hotspot/cpu/x86/upcallLinker_x86_64.cpp b/src/hotspot/cpu/x86/upcallLinker_x86_64.cpp index ca170c5013e26..89e7a466264b9 100644 --- a/src/hotspot/cpu/x86/upcallLinker_x86_64.cpp +++ b/src/hotspot/cpu/x86/upcallLinker_x86_64.cpp @@ -177,6 +177,9 @@ address UpcallLinker::make_upcall_stub(jobject receiver, Method* entry, const CallRegs call_regs = ForeignGlobals::parse_call_regs(jconv); int code_size = upcall_stub_code_base_size + (total_out_args * upcall_stub_size_per_arg); CodeBuffer buffer("upcall_stub", code_size, /* locs_size = */ 1); + if (buffer.blob() == nullptr) { + return nullptr; + } GrowableArray unfiltered_out_regs; int out_arg_bytes = ForeignGlobals::java_calling_convention(out_sig_bt, total_out_args, unfiltered_out_regs); @@ -379,6 +382,9 @@ address UpcallLinker::make_upcall_stub(jobject receiver, Method* entry, &buffer, receiver, in_ByteSize(frame_data_offset)); + if (blob == nullptr) { + return nullptr; + } #ifndef PRODUCT if (lt.is_enabled()) { diff --git a/src/hotspot/share/code/codeBlob.cpp b/src/hotspot/share/code/codeBlob.cpp index 75cf3fbf2d4cd..ff449324d7c57 100644 --- a/src/hotspot/share/code/codeBlob.cpp +++ b/src/hotspot/share/code/codeBlob.cpp @@ -759,6 +759,10 @@ UpcallStub* UpcallStub::create(const char* name, CodeBuffer* cb, jobject receive MutexLocker mu(CodeCache_lock, Mutex::_no_safepoint_check_flag); blob = new (size) UpcallStub(name, cb, size, receiver, frame_data_offset); } + if (blob == nullptr) { + return nullptr; // caller must handle this + } + // Track memory usage statistic after releasing CodeCache_lock MemoryService::track_code_cache_memory_usage(); diff --git a/src/hotspot/share/prims/nativeEntryPoint.cpp b/src/hotspot/share/prims/nativeEntryPoint.cpp index 69014c9d64c39..2dbff08a7cb78 100644 --- a/src/hotspot/share/prims/nativeEntryPoint.cpp +++ b/src/hotspot/share/prims/nativeEntryPoint.cpp @@ -78,10 +78,14 @@ JNI_ENTRY(jlong, NEP_makeDowncallStub(JNIEnv* env, jclass _unused, jobject metho output_regs.push(ForeignGlobals::parse_vmstorage(ret_moves_oop->obj_at(i))); } - return (jlong) DowncallLinker::make_downcall_stub(basic_type, pslots, ret_bt, abi, - input_regs, output_regs, - needs_return_buffer, captured_state_mask, - needs_transition)->code_begin(); + RuntimeStub* stub = DowncallLinker::make_downcall_stub(basic_type, pslots, ret_bt, abi, + input_regs, output_regs, + needs_return_buffer, captured_state_mask, + needs_transition); + if (stub == nullptr) { + return 0; + } + return (jlong) stub->code_begin(); JNI_END JNI_ENTRY(jboolean, NEP_freeDowncallStub(JNIEnv* env, jclass _unused, jlong invoker)) diff --git a/src/java.base/share/classes/jdk/internal/foreign/abi/NativeEntryPoint.java b/src/java.base/share/classes/jdk/internal/foreign/abi/NativeEntryPoint.java index 51c7304b7c679..e65cee68ac72a 100644 --- a/src/java.base/share/classes/jdk/internal/foreign/abi/NativeEntryPoint.java +++ b/src/java.base/share/classes/jdk/internal/foreign/abi/NativeEntryPoint.java @@ -71,6 +71,9 @@ public static NativeEntryPoint make(ABIDescriptor abi, return NEP_CACHE.get(key, k -> { long downcallStub = makeDowncallStub(methodType, abi, argMoves, returnMoves, needsReturnBuffer, capturedStateMask, needsTransition); + if (downcallStub == 0) { + throw new OutOfMemoryError("Failed to allocate downcall stub"); + } NativeEntryPoint nep = new NativeEntryPoint(methodType, downcallStub); CLEANER.register(nep, () -> freeDowncallStub(downcallStub)); return nep; diff --git a/src/java.base/share/classes/jdk/internal/foreign/abi/UpcallLinker.java b/src/java.base/share/classes/jdk/internal/foreign/abi/UpcallLinker.java index c5d53a4c5fee4..272cfc3ca4e3c 100644 --- a/src/java.base/share/classes/jdk/internal/foreign/abi/UpcallLinker.java +++ b/src/java.base/share/classes/jdk/internal/foreign/abi/UpcallLinker.java @@ -106,6 +106,9 @@ public static UpcallStubFactory makeFactory(MethodType targetType, ABIDescriptor doBindings = insertArguments(exactInvoker(doBindings.type()), 0, doBindings); long entryPoint = makeUpcallStub(doBindings, abi, conv, callingSequence.needsReturnBuffer(), callingSequence.returnBufferSize()); + if (entryPoint == 0) { + throw new OutOfMemoryError("Failed to allocate upcall stub"); + } return UpcallStubs.makeUpcall(entryPoint, scope); }; } diff --git a/test/jdk/java/foreign/NativeTestHelper.java b/test/jdk/java/foreign/NativeTestHelper.java index d12593f7b8548..1ea45437da11c 100644 --- a/test/jdk/java/foreign/NativeTestHelper.java +++ b/test/jdk/java/foreign/NativeTestHelper.java @@ -175,9 +175,13 @@ public static MethodHandle downcallHandle(String symbol, FunctionDescriptor desc } public static MemorySegment upcallStub(Class holder, String name, FunctionDescriptor descriptor) { + return upcallStub(holder, name, descriptor, Arena.ofAuto()); + } + + public static MemorySegment upcallStub(Class holder, String name, FunctionDescriptor descriptor, Arena arena) { try { MethodHandle target = MethodHandles.lookup().findStatic(holder, name, descriptor.toMethodType()); - return LINKER.upcallStub(target, descriptor, Arena.ofAuto()); + return LINKER.upcallStub(target, descriptor, arena); } catch (ReflectiveOperationException e) { throw new RuntimeException(e); } diff --git a/test/jdk/java/foreign/TestAddressDereference.java b/test/jdk/java/foreign/TestAddressDereference.java index 6dc9575e5ae8a..3ebec596263b7 100644 --- a/test/jdk/java/foreign/TestAddressDereference.java +++ b/test/jdk/java/foreign/TestAddressDereference.java @@ -128,6 +128,7 @@ public void testNativeUpcallArgNeg(long alignment, ValueLayout layout) throws Th if (!badAlign) return; runInNewProcess(UpcallTestRunner.class, true, new String[] {Long.toString(alignment), layout.toString() }) + .assertFailed() .assertStdErrContains("alignment constraint for address"); } diff --git a/test/jdk/java/foreign/TestStubAllocFailure.java b/test/jdk/java/foreign/TestStubAllocFailure.java new file mode 100644 index 0000000000000..d3a1ef6e3ded8 --- /dev/null +++ b/test/jdk/java/foreign/TestStubAllocFailure.java @@ -0,0 +1,66 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 + * @library ../ /test/lib + * @requires jdk.foreign.linker != "FALLBACK" + * @run testng/othervm/native + * --enable-native-access=ALL-UNNAMED + * TestStubAllocFailure + */ + +import java.lang.foreign.*; +import java.io.IOException; +import java.util.List; + +import org.testng.annotations.Test; + +import static org.testng.Assert.assertTrue; +import static org.testng.Assert.fail; + +public class TestStubAllocFailure extends UpcallTestHelper { + + @Test + public void testUpcallAllocFailure() throws IOException, InterruptedException { + runInNewProcess(UpcallRunner.class, true, List.of("-XX:ReservedCodeCacheSize=3M"), List.of()) + .assertSuccess(); + } + + public static class UpcallRunner extends NativeTestHelper { + public static void main(String[] args) throws Throwable { + try (Arena arena = Arena.ofConfined()) { + while (true) { + // allocate stubs until we crash + upcallStub(UpcallRunner.class, "target", FunctionDescriptor.ofVoid(), arena); + } + } catch (OutOfMemoryError e) { + assertTrue(e.getMessage().contains("Failed to allocate upcall stub")); + } + } + + public static void target() { + fail("Should not get here"); + } + } +} diff --git a/test/jdk/java/foreign/TestUpcallException.java b/test/jdk/java/foreign/TestUpcallException.java index fa922b9fb3911..f7dca7bc19c95 100644 --- a/test/jdk/java/foreign/TestUpcallException.java +++ b/test/jdk/java/foreign/TestUpcallException.java @@ -48,6 +48,7 @@ public class TestUpcallException extends UpcallTestHelper { @Test(dataProvider = "exceptionCases") public void testException(Class target, boolean useSpec) throws InterruptedException, IOException { runInNewProcess(target, useSpec) + .assertFailed() .assertStdErrContains("Testing upcall exceptions"); } diff --git a/test/jdk/java/foreign/UpcallTestHelper.java b/test/jdk/java/foreign/UpcallTestHelper.java index 2939c4bfd3747..e24c35e498c46 100644 --- a/test/jdk/java/foreign/UpcallTestHelper.java +++ b/test/jdk/java/foreign/UpcallTestHelper.java @@ -22,25 +22,37 @@ */ import jdk.test.lib.process.ProcessTools; +import jdk.test.lib.Utils; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; +import java.util.concurrent.TimeUnit; +import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNotEquals; import static org.testng.Assert.assertTrue; public class UpcallTestHelper extends NativeTestHelper { - public record Output(List stdout, List stderr) { + public record Output(int result, List stdout, List stderr) { private static void assertContains(List lines, String shouldInclude, String name) { assertTrue(lines.stream().anyMatch(line -> line.contains(shouldInclude)), "Did not find '" + shouldInclude + "' in " + name); } + public Output assertFailed() { + assertNotEquals(result, 0); + return this; + } + + public Output assertSuccess() { + assertEquals(result, 0); + return this; + } + public Output assertStdErrContains(String shouldInclude) { assertContains(stderr, shouldInclude, "stderr"); return this; @@ -53,27 +65,33 @@ public Output assertStdOutContains(String shouldInclude) { } public Output runInNewProcess(Class target, boolean useSpec, String... programArgs) throws IOException, InterruptedException { + return runInNewProcess(target, useSpec, List.of(), List.of(programArgs)); + } + + public Output runInNewProcess(Class target, boolean useSpec, List vmArgs, List programArgs) throws IOException, InterruptedException { assert !target.isArray(); List command = new ArrayList<>(List.of( "--enable-native-access=ALL-UNNAMED", "-Djava.library.path=" + System.getProperty("java.library.path"), - "-Djdk.internal.foreign.UpcallLinker.USE_SPEC=" + useSpec, - target.getName() + "-Djdk.internal.foreign.UpcallLinker.USE_SPEC=" + useSpec )); - command.addAll(Arrays.asList(programArgs)); + command.addAll(vmArgs); + command.add(target.getName()); + command.addAll(programArgs); Process process = ProcessTools.createTestJavaProcessBuilder(command).start(); - int result = process.waitFor(); - assertNotEquals(result, 0); + long timeOut = (long) (Utils.TIMEOUT_FACTOR * 1L); + boolean completed = process.waitFor(timeOut, TimeUnit.MINUTES); + assertTrue(completed, "Time out while waiting for process"); List outLines = linesFromStream(process.getInputStream()); outLines.forEach(System.out::println); List errLines = linesFromStream(process.getErrorStream()); errLines.forEach(System.err::println); - return new Output(outLines, errLines); + return new Output(process.exitValue(), outLines, errLines); } private static List linesFromStream(InputStream stream) throws IOException { diff --git a/test/jdk/java/foreign/critical/TestCriticalUpcall.java b/test/jdk/java/foreign/critical/TestCriticalUpcall.java index fe19720bf9335..c2f2d5572c183 100644 --- a/test/jdk/java/foreign/critical/TestCriticalUpcall.java +++ b/test/jdk/java/foreign/critical/TestCriticalUpcall.java @@ -43,7 +43,7 @@ public class TestCriticalUpcall extends UpcallTestHelper { @Test public void testUpcallFailure() throws IOException, InterruptedException { // test to see if we catch a trivial downcall doing an upcall - runInNewProcess(Runner.class, true).assertStdOutContains("wrong thread state for upcall"); + runInNewProcess(Runner.class, true).assertFailed().assertStdOutContains("wrong thread state for upcall"); } public static class Runner extends NativeTestHelper { diff --git a/test/jdk/java/foreign/passheapsegment/TestPassHeapSegment.java b/test/jdk/java/foreign/passheapsegment/TestPassHeapSegment.java index d78e1a293d7c5..5f97dbf288da5 100644 --- a/test/jdk/java/foreign/passheapsegment/TestPassHeapSegment.java +++ b/test/jdk/java/foreign/passheapsegment/TestPassHeapSegment.java @@ -53,7 +53,7 @@ public void testNoHeapArgs() throws Throwable { @Test(dataProvider = "specs") public void testNoHeapReturns(boolean spec) throws IOException, InterruptedException { - runInNewProcess(Runner.class, spec).assertStdErrContains("Heap segment not allowed"); + runInNewProcess(Runner.class, spec).assertFailed().assertStdErrContains("Heap segment not allowed"); } public static class Runner { From c4732c2baa4d6fd1775f81a90e74675c39811495 Mon Sep 17 00:00:00 2001 From: Matias Saavedra Silva Date: Thu, 30 Nov 2023 21:20:23 +0000 Subject: [PATCH 028/143] 8320530: has_resolved_ref_index flag not restored after resetting entry Reviewed-by: adinn, dholmes, iklam, coleenp --- .../share/oops/resolvedMethodEntry.cpp | 10 ++++- .../share/oops/resolvedMethodEntry.hpp | 40 ++++++++++++++----- 2 files changed, 39 insertions(+), 11 deletions(-) diff --git a/src/hotspot/share/oops/resolvedMethodEntry.cpp b/src/hotspot/share/oops/resolvedMethodEntry.cpp index 963c37de48ae4..7702dddd9cc7f 100644 --- a/src/hotspot/share/oops/resolvedMethodEntry.cpp +++ b/src/hotspot/share/oops/resolvedMethodEntry.cpp @@ -37,11 +37,11 @@ bool ResolvedMethodEntry::check_no_old_or_obsolete_entry() { } void ResolvedMethodEntry::reset_entry() { - if (has_resolved_ref_index()) { + if (has_resolved_references_index()) { u2 saved_resolved_references_index = _entry_specific._resolved_references_index; u2 saved_cpool_index = _cpool_index; memset(this, 0, sizeof(*this)); - _entry_specific._resolved_references_index = saved_resolved_references_index; + set_resolved_references_index(saved_resolved_references_index); _cpool_index = saved_cpool_index; } else { u2 saved_cpool_index = _cpool_index; @@ -74,7 +74,13 @@ void ResolvedMethodEntry::print_on(outputStream* st) const { st->print_cr(" - Resolved References Index: none"); } if (bytecode2() == Bytecodes::_invokevirtual) { +#ifdef ASSERT + if (_has_table_index) { + st->print_cr(" - Table Index: %d", table_index()); + } +#else st->print_cr(" - Table Index: %d", table_index()); +#endif } else { st->print_cr(" - Table Index: none"); } diff --git a/src/hotspot/share/oops/resolvedMethodEntry.hpp b/src/hotspot/share/oops/resolvedMethodEntry.hpp index 02c6241f6f98c..f5f7b8fbab511 100644 --- a/src/hotspot/share/oops/resolvedMethodEntry.hpp +++ b/src/hotspot/share/oops/resolvedMethodEntry.hpp @@ -77,6 +77,10 @@ class ResolvedMethodEntry { u1 _tos_state; // TOS state u1 _flags; // Flags: [00|has_resolved_ref_index|has_local_signature|has_appendix|forced_virtual|final|virtual_final] u1 _bytecode1, _bytecode2; // Resolved invoke codes +#ifdef ASSERT + bool _has_interface_klass; + bool _has_table_index; +#endif // Constructors public: @@ -87,7 +91,11 @@ class ResolvedMethodEntry { _tos_state(0), _flags(0), _bytecode1(0), - _bytecode2(0) { _entry_specific._interface_klass = nullptr; } + _bytecode2(0) { + _entry_specific._interface_klass = nullptr; + DEBUG_ONLY(_has_interface_klass = false;) + DEBUG_ONLY(_has_table_index = false;) + } ResolvedMethodEntry() : ResolvedMethodEntry(0) {} @@ -101,18 +109,29 @@ class ResolvedMethodEntry { has_resolved_ref_shift = 5 }; + // Flags + bool is_vfinal() const { return (_flags & (1 << is_vfinal_shift)) != 0; } + bool is_final() const { return (_flags & (1 << is_final_shift)) != 0; } + bool is_forced_virtual() const { return (_flags & (1 << is_forced_virtual_shift)) != 0; } + bool has_appendix() const { return (_flags & (1 << has_appendix_shift)) != 0; } + bool has_local_signature() const { return (_flags & (1 << has_local_signature_shift)) != 0; } + bool has_resolved_references_index() const { return (_flags & (1 << has_resolved_ref_shift)) != 0; } + // Getters Method* method() const { return Atomic::load_acquire(&_method); } InstanceKlass* interface_klass() const { assert(_bytecode1 == Bytecodes::_invokeinterface, "Only invokeinterface has a klass %d", _bytecode1); + assert(_has_interface_klass, "sanity"); return _entry_specific._interface_klass; } u2 resolved_references_index() const { // This index may be read before resolution completes + assert(has_resolved_references_index(), "sanity"); return _entry_specific._resolved_references_index; } u2 table_index() const { assert(_bytecode2 == Bytecodes::_invokevirtual, "Only invokevirtual has a vtable/itable index %d", _bytecode2); + assert(_has_table_index, "sanity"); return _entry_specific._table_index; } u2 constant_pool_index() const { return _cpool_index; } @@ -121,14 +140,6 @@ class ResolvedMethodEntry { u1 bytecode1() const { return Atomic::load_acquire(&_bytecode1); } u1 bytecode2() const { return Atomic::load_acquire(&_bytecode2); } - // Flags - bool is_vfinal() const { return (_flags & (1 << is_vfinal_shift)) != 0; } - bool is_final() const { return (_flags & (1 << is_final_shift)) != 0; } - bool is_forced_virtual() const { return (_flags & (1 << is_forced_virtual_shift)) != 0; } - bool has_appendix() const { return (_flags & (1 << has_appendix_shift)) != 0; } - bool has_local_signature() const { return (_flags & (1 << has_local_signature_shift)) != 0; } - bool has_resolved_ref_index() const { return (_flags & (1 << has_resolved_ref_shift)) != 0; } - bool is_resolved(Bytecodes::Code code) const { switch(code) { case Bytecodes::_invokeinterface: @@ -178,15 +189,26 @@ class ResolvedMethodEntry { } void set_klass(InstanceKlass* klass) { + assert(!has_resolved_references_index() && + !_has_table_index, + "Mutually exclusive fields %d %d %d", has_resolved_references_index(), _has_interface_klass, _has_table_index); + DEBUG_ONLY(_has_interface_klass = true;) _entry_specific._interface_klass = klass; } void set_resolved_references_index(u2 ref_index) { + assert(!_has_interface_klass && + !_has_table_index, + "Mutually exclusive fields %d %d %d", has_resolved_references_index(), _has_interface_klass, _has_table_index); set_flags(1 << has_resolved_ref_shift); _entry_specific._resolved_references_index = ref_index; } void set_table_index(u2 table_index) { + assert(!has_resolved_references_index() && + !_has_interface_klass, + "Mutually exclusive fields %d %d %d", has_resolved_references_index(), _has_interface_klass, _has_table_index); + DEBUG_ONLY(_has_table_index = true;) _entry_specific._table_index = table_index; } From 76fea807071eee80a1e00aae7bc4784a6d35bf4b Mon Sep 17 00:00:00 2001 From: Phil Race Date: Thu, 30 Nov 2023 22:59:37 +0000 Subject: [PATCH 029/143] 8320608: Many jtreg printing tests are missing the @printer keyword Reviewed-by: aivanov, serb --- test/jdk/TEST.ROOT | 40 +++++++-- .../PaintSetEnabledDeadlock.java | 0 .../ConstrainedPrintingTest.java | 1 + .../java/awt/PrintJob/EdgeTest/EdgeTest.java | 2 +- test/jdk/java/awt/PrintJob/HighResTest.java | 2 +- .../java/awt/PrintJob/JobAttrUpdateTest.java | 1 + .../awt/PrintJob/MultipleEnd/MultipleEnd.java | 2 +- .../PageSetupDlgBlockingTest.java | 2 +- .../PrintJob/PrintArcTest/PrintArcTest.java | 3 +- .../PrintCheckboxManualTest.java | 2 +- .../QuoteAndBackslashTest.java | 3 +- .../RoundedRectTest/RoundedRectTest.java | 3 +- .../awt/PrintJob/SaveDialogTitleTest.java | 1 + .../PrintJob/Security/SecurityDialogTest.java | 2 +- .../TestPrintJobFrameAssociation.java | 1 + .../jdk/java/awt/PrintJob/Text/stringwidth.sh | 1 + .../awt/print/Dialog/DestinationTest.java | 1 + .../java/awt/print/Dialog/DialogCopies.java | 1 + .../java/awt/print/Dialog/DialogOrient.java | 1 + .../awt/print/Dialog/DialogOwnerTest.java | 1 + .../jdk/java/awt/print/Dialog/DialogType.java | 1 + .../awt/print/Dialog/MediaInPrintable.java | 1 + .../java/awt/print/Dialog/PaperSizeError.java | 1 + .../java/awt/print/Dialog/PrintApplet.java | 1 + .../java/awt/print/Dialog/PrintDialog.java | 1 + .../awt/print/Dialog/PrintDlgPageable.java | 1 + .../RestoreActiveWindowTest.java | 1 + .../print/Headless/HeadlessPrinterJob.java | 1 + .../PrintFontWithMissedFontFamilyTest.java | 1 + .../awt/print/PageFormat/CustomPaper.java | 2 +- .../print/PageFormat/ImageableAreaTest.java | 2 +- .../java/awt/print/PageFormat/NullPaper.java | 7 -- .../jdk/java/awt/print/PageFormat/Orient.java | 2 +- .../PageFormat/PageFormatFromAttributes.java | 1 + .../awt/print/PageFormat/PageSetupDialog.java | 2 +- .../PageFormat/PrintContentCutOffTest.java | 1 + .../PageFormat/ReverseLandscapeTest.java | 2 +- .../java/awt/print/PageFormat/SetOrient.html | 1 + .../print/PageFormat/SmallPaperPrinting.java | 83 +++++++++++-------- .../awt/print/PageFormat/ValidateCustom.java | 2 +- .../WrongPaperForBookPrintingTest.java | 2 +- .../PageFormat/WrongPaperPrintingTest.java | 1 + .../PathPrecisionScaleFactorShapeTest.java | 1 + .../PathPrecisionScaleFactorTextTest.java | 1 + .../java/awt/print/PrinterJob/BannerTest.java | 1 + .../PrinterJob/Cancel/PrinterJobCancel.java | 2 +- .../PrinterJob/Collate2DPrintingTest.java | 1 + .../print/PrinterJob/CompareImageable.java | 1 + .../PrinterJob/CustomFont/CustomFont.java | 2 +- .../CustomPrintService/PrintDialog.java | 1 - .../SetPrintServiceTest.java | 1 - .../awt/print/PrinterJob/DeviceScale.java | 2 +- .../awt/print/PrinterJob/DlgAttrsBug.java | 1 + .../java/awt/print/PrinterJob/DrawImage.java | 2 +- .../print/PrinterJob/DrawStringMethods.java | 1 + .../java/awt/print/PrinterJob/EmptyFill.java | 6 +- .../awt/print/PrinterJob/GetMediasTest.java | 1 + .../PrinterJob/ImagePrinting/ImageTypes.java | 2 +- .../ImagePrinting/PrintARGBImage.java | 1 + .../awt/print/PrinterJob/InitToBlack.java | 1 + .../awt/print/PrinterJob/InvalidPage.java | 2 +- .../PrinterJob/JobName/PrinterJobName.java | 2 +- .../PrinterJob/LandscapeStackOverflow.java | 2 +- .../awt/print/PrinterJob/Legal/PrintTest.java | 1 + .../LinearGradientPrintingTest.java | 1 + .../PrinterJob/MultiMonPrintDlgTest.java | 1 + .../MultiThread/MultiThreadTest.java | 1 + .../java/awt/print/PrinterJob/NumCopies.java | 2 +- .../PrinterJob/PageDialogMarginTest.java | 1 + .../PageDialogMarginValidation.java | 1 + .../awt/print/PrinterJob/PageDialogTest.java | 1 + .../java/awt/print/PrinterJob/PageDlgApp.java | 1 + .../print/PrinterJob/PageDlgPrnButton.java | 1 + .../PrinterJob/PageDlgStackOverflowTest.java | 1 + .../print/PrinterJob/PageFormatChange.java | 1 + .../java/awt/print/PrinterJob/PageRanges.java | 1 + .../PrinterJob/PolylinePrintingTest.java | 1 + .../awt/print/PrinterJob/PrintAWTImage.java | 1 + .../awt/print/PrinterJob/PrintAllFonts.java | 4 +- .../PrinterJob/PrintAttributeUpdateTest.java | 1 + .../awt/print/PrinterJob/PrintBadImage.java | 2 +- .../print/PrinterJob/PrintCompoundString.java | 2 +- .../awt/print/PrinterJob/PrintDialog.java | 2 +- .../print/PrinterJob/PrintDialogCancel.java | 2 +- .../print/PrinterJob/PrintDlgPageable.java | 1 + .../PrintDlgSelectionAttribTest.java | 1 + .../awt/print/PrinterJob/PrintFontStyle.java | 7 ++ .../PrinterJob/PrintGlyphVectorTest.java | 1 + .../java/awt/print/PrinterJob/PrintImage.java | 2 +- .../print/PrinterJob/PrintLatinCJKTest.java | 1 + .../awt/print/PrinterJob/PrintNullString.java | 2 +- .../print/PrinterJob/PrintParenString.java | 2 +- .../print/PrinterJob/PrintRotatedText.java | 2 +- .../java/awt/print/PrinterJob/PrintTest.java | 1 + .../print/PrinterJob/PrintTestLexmarkIQ.java | 1 + .../awt/print/PrinterJob/PrintTextLayout.java | 2 +- .../awt/print/PrinterJob/PrintTextTest.java | 1 + .../print/PrinterJob/PrintTranslatedFont.java | 2 +- .../print/PrinterJob/PrintVolatileImage.java | 2 +- .../PrinterDialogsModalityTest.html | 2 +- .../PrinterDialogsModalityTest.java | 2 +- .../PrinterJob/PrinterJobDialogBugDemo.java | 1 + .../RadialGradientPrintingTest.java | 1 + .../awt/print/PrinterJob/RemoveListener.java | 3 +- .../awt/print/PrinterJob/SameService.java | 1 + .../PrinterJob/ScaledText/ScaledText.java | 2 +- .../print/PrinterJob/SecurityDialogTest.java | 1 + .../awt/print/PrinterJob/SetCopies/Test.java | 1 + .../awt/print/PrinterJob/SwingUIText.java | 1 + .../TestCheckSystemDefaultBannerOption.java | 1 + .../PrinterJob/TestMediaTraySelection.java | 1 + .../TestPageDlgFrameAssociation.java | 1 + .../TestPrintDlgFrameAssociation.java | 1 + .../PrinterJob/TexturePaintPrintingTest.java | 1 + .../java/awt/print/PrinterJob/ThinLines.java | 2 +- .../PrinterJob/ValidatePage/ValidatePage.java | 2 +- .../java/awt/print/PrinterJob/XparColor.java | 1 + .../print/PrinterJob/raster/RasterTest.java | 2 +- .../RemotePrinterStatusRefresh.java | 1 + .../java/awt/print/bug8023392/bug8023392.html | 2 +- .../java/awt/print/bug8023392/bug8023392.java | 2 +- test/jdk/javax/print/DialogMargins.java | 2 +- test/jdk/javax/print/LookupServices.java | 1 + .../PrintServiceLookup/GetPrintServices.java | 1 + .../print/PrintSubInputStream/Example.java | 2 +- .../jdk/javax/print/ServiceUIPropBtnTest.java | 1 + test/jdk/javax/print/TextFlavorTest.java | 1 + test/jdk/javax/print/attribute/Chroma.java | 2 +- .../javax/print/attribute/CollateAttr.java | 1 + .../print/attribute/PSCopiesFlavorTest.java | 1 + .../javax/print/attribute/PrintResAttr.java | 1 + .../print/attribute/ServiceDialogTest.java | 1 + .../attribute/ServiceDialogValidateTest.java | 1 + .../attribute/ServiceDlgPageRangeTest.java | 1 + .../attribute/ServiceDlgSheetCollateTest.java | 1 + .../print/attribute/Services_getDocFl.java | 1 + .../print/attribute/SidesAttributeTest.java | 1 + .../attribute/TestUnsupportedResolution.java | 1 + .../autosense/PrintAutoSenseData.java | 1 + 139 files changed, 224 insertions(+), 107 deletions(-) rename test/jdk/java/awt/{print => Paint}/PaintSetEnabledDeadlock/PaintSetEnabledDeadlock.java (100%) diff --git a/test/jdk/TEST.ROOT b/test/jdk/TEST.ROOT index a8794af0e3f47..25ef8250e4d45 100644 --- a/test/jdk/TEST.ROOT +++ b/test/jdk/TEST.ROOT @@ -9,17 +9,41 @@ # should be taken to handle test failures of intermittent or # randomness tests. # -# A "headful" test requires a graphical environment to meaningfully -# run. Tests that are not headful are "headless". -# A test flagged with key sound needs audio devices on the system, this -# may be accompanied by the headful keyword since audio device access +# A test flagged with cgroups uses cgroups. +# +# Notes on "client" keywords : headful sound printer multimon +# =========================================================== +# +# These keywords are there to help with test selection so that +# tests that need a particular resource can be selected to run on a system +# with that resource. Conversely "!somekeyword" can be used to exclude tests +# on a system without such a resource. +# Caution: If you are always excluding tests using any of these keywords then you +# are likely missing many important tests. +# +# "headful". A "headful" test requires a graphical environment to meaningfully run. +# This does not have to mean a physical host, since a VM can be configured as headful. +# Tests that are not headful are "headless". +# Note: all manual tests are assumed to be headful and do not need the keyword. +# +# "printer". Not all tests of printing APIs require a printer, but many do. +# So a "printer" test requires a printer to be installed to do anything meaningful. +# Tests may not fail if there is none, instead just silently return. +# But they also may legitimately throw an Exception depending on the test. +# Also printer tests are not necessarily headful, but some are, and some are automated. +# +# "sound". Similarly, not all sound tests require audio devices, but many do. +# A test flagged with key "sound" needs audio devices on the system. +# Also they are not necessarily "headful", since they don't require a display etc. +# But sometimes they may be accompanied by the headful keyword, since sound # is often linked to access to desktop resources and headful systems are # also more likely to have audio devices (ie meaning both input and output) -# A test flagged with key "printer" requires a printer to succeed, else -# throws a PrinterException or the like. -# A test flagged with cgroups uses cgroups. +# +# "multimon" should be used in conjunction with headful and is used to identify +# tests which require two displays connected. -keys=2d dnd headful sound i18n intermittent printer randomness jfr cgroups +keys=headful sound printer multimon \ + i18n intermittent randomness jfr cgroups # Tests that must run in othervm mode othervm.dirs=java/awt java/beans javax/accessibility javax/imageio javax/sound javax/swing javax/print \ diff --git a/test/jdk/java/awt/print/PaintSetEnabledDeadlock/PaintSetEnabledDeadlock.java b/test/jdk/java/awt/Paint/PaintSetEnabledDeadlock/PaintSetEnabledDeadlock.java similarity index 100% rename from test/jdk/java/awt/print/PaintSetEnabledDeadlock/PaintSetEnabledDeadlock.java rename to test/jdk/java/awt/Paint/PaintSetEnabledDeadlock/PaintSetEnabledDeadlock.java diff --git a/test/jdk/java/awt/PrintJob/ConstrainedPrintingTest/ConstrainedPrintingTest.java b/test/jdk/java/awt/PrintJob/ConstrainedPrintingTest/ConstrainedPrintingTest.java index 1532a01ca4fc3..f5c349ac9a55a 100644 --- a/test/jdk/java/awt/PrintJob/ConstrainedPrintingTest/ConstrainedPrintingTest.java +++ b/test/jdk/java/awt/PrintJob/ConstrainedPrintingTest/ConstrainedPrintingTest.java @@ -24,6 +24,7 @@ /* @test @bug 4116029 4300383 + @key printer @summary verify that child components can draw only inside their visible bounds @library /test/lib diff --git a/test/jdk/java/awt/PrintJob/EdgeTest/EdgeTest.java b/test/jdk/java/awt/PrintJob/EdgeTest/EdgeTest.java index f7bf5e72a60a5..58f84b43fb29f 100644 --- a/test/jdk/java/awt/PrintJob/EdgeTest/EdgeTest.java +++ b/test/jdk/java/awt/PrintJob/EdgeTest/EdgeTest.java @@ -24,9 +24,9 @@ /** * @test * @bug 4092755 + * @key printer * @summary Verifies that (0, 0) is the upper-left corner of the page, not * the upper-left corner adjusted for the margins. - * @author dpm * @run main/manual EdgeTest */ diff --git a/test/jdk/java/awt/PrintJob/HighResTest.java b/test/jdk/java/awt/PrintJob/HighResTest.java index e802214fdaf99..dbf7d4a2ce6b6 100644 --- a/test/jdk/java/awt/PrintJob/HighResTest.java +++ b/test/jdk/java/awt/PrintJob/HighResTest.java @@ -26,7 +26,7 @@ @test @bug 4227128 8066139 @summary Test printing at resolutions > 72dpi - @author dpm: area=awt.print + @key printer @run main/manual HighResTest */ import java.awt.Button; diff --git a/test/jdk/java/awt/PrintJob/JobAttrUpdateTest.java b/test/jdk/java/awt/PrintJob/JobAttrUpdateTest.java index 186b9a6d8bac0..cbc8d6a7ae8dd 100644 --- a/test/jdk/java/awt/PrintJob/JobAttrUpdateTest.java +++ b/test/jdk/java/awt/PrintJob/JobAttrUpdateTest.java @@ -23,6 +23,7 @@ /* * @test * @bug 6357905 + * @key printer * @summary JobAttributes.getFromPage() and getToPage() always returns 1 * @run main/manual JobAttrUpdateTest */ diff --git a/test/jdk/java/awt/PrintJob/MultipleEnd/MultipleEnd.java b/test/jdk/java/awt/PrintJob/MultipleEnd/MultipleEnd.java index b115e8d4a91db..88b6a4720d93f 100644 --- a/test/jdk/java/awt/PrintJob/MultipleEnd/MultipleEnd.java +++ b/test/jdk/java/awt/PrintJob/MultipleEnd/MultipleEnd.java @@ -23,7 +23,7 @@ /** * @test - * @key headful + * @key headful printer * @bug 4112758 * @summary Checks that a second invocation of PrintJob.end() does not cause * an exception or segmentation violation. diff --git a/test/jdk/java/awt/PrintJob/PageSetupDlgBlockingTest/PageSetupDlgBlockingTest.java b/test/jdk/java/awt/PrintJob/PageSetupDlgBlockingTest/PageSetupDlgBlockingTest.java index 805a2fa5c2cae..9fbf48f3eb467 100644 --- a/test/jdk/java/awt/PrintJob/PageSetupDlgBlockingTest/PageSetupDlgBlockingTest.java +++ b/test/jdk/java/awt/PrintJob/PageSetupDlgBlockingTest/PageSetupDlgBlockingTest.java @@ -25,7 +25,7 @@ @test @bug 4507585 @summary Native modal dialog shouldn't block event dispatching when called on EventDispatchThread. - @author tav@sparc.spb.su: area=awt.PrintJob + @key printer @run main/manual=yesno PageSetupDlgBlockingTest */ diff --git a/test/jdk/java/awt/PrintJob/PrintArcTest/PrintArcTest.java b/test/jdk/java/awt/PrintJob/PrintArcTest/PrintArcTest.java index 7e9023b1afcf0..f04ce62c1a615 100644 --- a/test/jdk/java/awt/PrintJob/PrintArcTest/PrintArcTest.java +++ b/test/jdk/java/awt/PrintJob/PrintArcTest/PrintArcTest.java @@ -23,10 +23,9 @@ /* * @test - * @key headful + * @key headful printer * @bug 4105609 * @summary Test printing of drawArc preceded by drawString - * @author robi.khan */ import java.awt.*; diff --git a/test/jdk/java/awt/PrintJob/PrintCheckboxTest/PrintCheckboxManualTest.java b/test/jdk/java/awt/PrintJob/PrintCheckboxTest/PrintCheckboxManualTest.java index 33ef83bfddd85..4fd3ee8ef1691 100644 --- a/test/jdk/java/awt/PrintJob/PrintCheckboxTest/PrintCheckboxManualTest.java +++ b/test/jdk/java/awt/PrintJob/PrintCheckboxTest/PrintCheckboxManualTest.java @@ -26,7 +26,7 @@ @bug 5045936 5055171 @summary Tests that there is no ClassCastException thrown in printing checkbox and scrollbar with XAWT - @author art@sparc.spb.su + @key printer @run applet/manual=yesno PrintCheckboxManualTest.html */ diff --git a/test/jdk/java/awt/PrintJob/QuoteAndBackslashTest/QuoteAndBackslashTest.java b/test/jdk/java/awt/PrintJob/QuoteAndBackslashTest/QuoteAndBackslashTest.java index dcc720de23e91..c84671b6dc255 100644 --- a/test/jdk/java/awt/PrintJob/QuoteAndBackslashTest/QuoteAndBackslashTest.java +++ b/test/jdk/java/awt/PrintJob/QuoteAndBackslashTest/QuoteAndBackslashTest.java @@ -23,11 +23,10 @@ /** * @test - * @key headful + * @key headful printer * @bug 4040668 * @summary Checks that banner titles which contain double quotation marks * or backslashes still print correctly. - * @author dpm */ import java.awt.*; diff --git a/test/jdk/java/awt/PrintJob/RoundedRectTest/RoundedRectTest.java b/test/jdk/java/awt/PrintJob/RoundedRectTest/RoundedRectTest.java index a8af7b585f113..650203889c7e9 100644 --- a/test/jdk/java/awt/PrintJob/RoundedRectTest/RoundedRectTest.java +++ b/test/jdk/java/awt/PrintJob/RoundedRectTest/RoundedRectTest.java @@ -23,10 +23,9 @@ /** * @test - * @key headful + * @key headful printer * @bug 4061440 * @summary Checks that rounded rectangles print correctly. - * @author dpm */ import java.awt.*; diff --git a/test/jdk/java/awt/PrintJob/SaveDialogTitleTest.java b/test/jdk/java/awt/PrintJob/SaveDialogTitleTest.java index 4e502290f94bc..b0d7c9cd238a5 100644 --- a/test/jdk/java/awt/PrintJob/SaveDialogTitleTest.java +++ b/test/jdk/java/awt/PrintJob/SaveDialogTitleTest.java @@ -24,6 +24,7 @@ /* * @test * @bug 4851363 8025988 8025990 + * @key printer * @summary Tests the save to file dialog has a title. * @run main/manual=yesno/othervm SaveDialogTitleTest */ diff --git a/test/jdk/java/awt/PrintJob/Security/SecurityDialogTest.java b/test/jdk/java/awt/PrintJob/Security/SecurityDialogTest.java index 3bda65e0a714c..b84afc6eb9b96 100644 --- a/test/jdk/java/awt/PrintJob/Security/SecurityDialogTest.java +++ b/test/jdk/java/awt/PrintJob/Security/SecurityDialogTest.java @@ -23,7 +23,7 @@ /** * @test - * @key headful + * @key headful printer * @bug 6195901 6195923 6195928 6195933 6491273 6888734 * @summary No SecurityException should be thrown when printing to a file using the given policy. diff --git a/test/jdk/java/awt/PrintJob/TestPrintJobFrameAssociation.java b/test/jdk/java/awt/PrintJob/TestPrintJobFrameAssociation.java index 1dd861cf325df..2a58cb724d74d 100644 --- a/test/jdk/java/awt/PrintJob/TestPrintJobFrameAssociation.java +++ b/test/jdk/java/awt/PrintJob/TestPrintJobFrameAssociation.java @@ -23,6 +23,7 @@ /* * @test * @bug 8154218 + * @key printer * @summary Verifies if owner Frame is associated with print dialog * @run main/manual TestPrintJobFrameAssociation */ diff --git a/test/jdk/java/awt/PrintJob/Text/stringwidth.sh b/test/jdk/java/awt/PrintJob/Text/stringwidth.sh index 32bce9e728bc8..fea11e5ba5f70 100644 --- a/test/jdk/java/awt/PrintJob/Text/stringwidth.sh +++ b/test/jdk/java/awt/PrintJob/Text/stringwidth.sh @@ -23,6 +23,7 @@ # # @test # @bug 4692562 +# @key printer # @summary Requirement: Windows with printer installed. It should print with text "Hello World". # @compile StringWidth.java # @run shell/manual stringwidth.sh diff --git a/test/jdk/java/awt/print/Dialog/DestinationTest.java b/test/jdk/java/awt/print/Dialog/DestinationTest.java index 8bb9403b566b4..933fba3042b07 100644 --- a/test/jdk/java/awt/print/Dialog/DestinationTest.java +++ b/test/jdk/java/awt/print/Dialog/DestinationTest.java @@ -24,6 +24,7 @@ /** * @test * @bug 4846344 4851365 4851321 4851316 4863656 5046198 6293139 + * @key printer * @summary Confirm that cancelling the dialog will not prompt for file. * @run main/manual DestinationTest */ diff --git a/test/jdk/java/awt/print/Dialog/DialogCopies.java b/test/jdk/java/awt/print/Dialog/DialogCopies.java index 39d15461de8d1..1fb874a9d57da 100644 --- a/test/jdk/java/awt/print/Dialog/DialogCopies.java +++ b/test/jdk/java/awt/print/Dialog/DialogCopies.java @@ -24,6 +24,7 @@ /* * @test * @bug 6357858 + * @key printer * @summary Job must reports the number of copies set in the dialog. * @run main/manual DialogCopies */ diff --git a/test/jdk/java/awt/print/Dialog/DialogOrient.java b/test/jdk/java/awt/print/Dialog/DialogOrient.java index c8009d742d737..6650ced64f46e 100644 --- a/test/jdk/java/awt/print/Dialog/DialogOrient.java +++ b/test/jdk/java/awt/print/Dialog/DialogOrient.java @@ -24,6 +24,7 @@ /* @test @bug 6594374 + @key printer @summary Confirm that the orientation is as specified. @run main/manual DialogOrient */ diff --git a/test/jdk/java/awt/print/Dialog/DialogOwnerTest.java b/test/jdk/java/awt/print/Dialog/DialogOwnerTest.java index b4fbc7c3d37f8..dc4064466caca 100644 --- a/test/jdk/java/awt/print/Dialog/DialogOwnerTest.java +++ b/test/jdk/java/awt/print/Dialog/DialogOwnerTest.java @@ -23,6 +23,7 @@ /* @test @bug 8203796 + @key printer @run main/manual DialogOwnerTest @summary Test DialogOwner API */ diff --git a/test/jdk/java/awt/print/Dialog/DialogType.java b/test/jdk/java/awt/print/Dialog/DialogType.java index 00b07930cf07c..472b89e44f213 100644 --- a/test/jdk/java/awt/print/Dialog/DialogType.java +++ b/test/jdk/java/awt/print/Dialog/DialogType.java @@ -24,6 +24,7 @@ /** * @test * @bug 6568874 + * @key printer * @summary Verify the native dialog works with attribute sets. * @run main/manual=yesno DialogType */ diff --git a/test/jdk/java/awt/print/Dialog/MediaInPrintable.java b/test/jdk/java/awt/print/Dialog/MediaInPrintable.java index a800f69c74da2..cb74cb140f55c 100644 --- a/test/jdk/java/awt/print/Dialog/MediaInPrintable.java +++ b/test/jdk/java/awt/print/Dialog/MediaInPrintable.java @@ -24,6 +24,7 @@ /** * @test * @bug 4869575 6361766 + * @key printer * @summary Setting orientation in the page format does not have any effect on the printout. To test 6361766, the application must exit. * @run main/manual MediaInPrintable */ diff --git a/test/jdk/java/awt/print/Dialog/PaperSizeError.java b/test/jdk/java/awt/print/Dialog/PaperSizeError.java index 970c7df2fcc23..fea7bb85af873 100644 --- a/test/jdk/java/awt/print/Dialog/PaperSizeError.java +++ b/test/jdk/java/awt/print/Dialog/PaperSizeError.java @@ -24,6 +24,7 @@ /** * @test * @bug 6360339 + * @key printer * @summary Test for fp error in paper size calculations. * @run main/manual PaperSizeError */ diff --git a/test/jdk/java/awt/print/Dialog/PrintApplet.java b/test/jdk/java/awt/print/Dialog/PrintApplet.java index ecd9920571c6a..c8a3cd955feed 100644 --- a/test/jdk/java/awt/print/Dialog/PrintApplet.java +++ b/test/jdk/java/awt/print/Dialog/PrintApplet.java @@ -24,6 +24,7 @@ /* @test @bug 5024549 + @key printer @summary Pass if dialogs are modal. @run applet/manual PrintApplet.html */ diff --git a/test/jdk/java/awt/print/Dialog/PrintDialog.java b/test/jdk/java/awt/print/Dialog/PrintDialog.java index 870db01a98574..c81ebfbc45246 100644 --- a/test/jdk/java/awt/print/Dialog/PrintDialog.java +++ b/test/jdk/java/awt/print/Dialog/PrintDialog.java @@ -24,6 +24,7 @@ /* @test @bug 6342748 + @key printer @summary Pass if dialogs display correctly @run main/manual PrintDialog */ diff --git a/test/jdk/java/awt/print/Dialog/PrintDlgPageable.java b/test/jdk/java/awt/print/Dialog/PrintDlgPageable.java index d447874f72aeb..eadd3cf9cb6bc 100644 --- a/test/jdk/java/awt/print/Dialog/PrintDlgPageable.java +++ b/test/jdk/java/awt/print/Dialog/PrintDlgPageable.java @@ -24,6 +24,7 @@ /** * @test * @bug 4869502 4869539 + * @key printer * @summary Confirm that ToPage is populated for argument =2. Range is disabled for argument = 0. * @run main/manual PrintDlgPageable */ diff --git a/test/jdk/java/awt/print/Dialog/RestoreActiveWindowTest/RestoreActiveWindowTest.java b/test/jdk/java/awt/print/Dialog/RestoreActiveWindowTest/RestoreActiveWindowTest.java index 8d29dbb58490f..2d2e00f2ed7a8 100644 --- a/test/jdk/java/awt/print/Dialog/RestoreActiveWindowTest/RestoreActiveWindowTest.java +++ b/test/jdk/java/awt/print/Dialog/RestoreActiveWindowTest/RestoreActiveWindowTest.java @@ -24,6 +24,7 @@ /* * @test * @bug 6365992 6379599 8137137 + * @key printer * @summary REG: Showing and disposing a native print dialog makes the main * frame inactive, Win32 * @run main/manual RestoreActiveWindowTest diff --git a/test/jdk/java/awt/print/Headless/HeadlessPrinterJob.java b/test/jdk/java/awt/print/Headless/HeadlessPrinterJob.java index ff7a22ec8a3e2..143c898e32ace 100644 --- a/test/jdk/java/awt/print/Headless/HeadlessPrinterJob.java +++ b/test/jdk/java/awt/print/Headless/HeadlessPrinterJob.java @@ -31,6 +31,7 @@ /* * @test + * @key printer * @summary Check that PrinterJob constructor and methods do not throw unexpected * exceptions in headless mode * @run main/othervm -Djava.awt.headless=true HeadlessPrinterJob diff --git a/test/jdk/java/awt/print/MissedFontFamilyName/PrintFontWithMissedFontFamilyTest.java b/test/jdk/java/awt/print/MissedFontFamilyName/PrintFontWithMissedFontFamilyTest.java index a6808282f37aa..af655f2d69e84 100644 --- a/test/jdk/java/awt/print/MissedFontFamilyName/PrintFontWithMissedFontFamilyTest.java +++ b/test/jdk/java/awt/print/MissedFontFamilyName/PrintFontWithMissedFontFamilyTest.java @@ -25,6 +25,7 @@ /** * @test * @bug 8265761 + * @key printer * @requires (os.family == "windows") * @summary Font with missed font family name is not properly printed on Windows * @run main/othervm/manual PrintFontWithMissedFontFamilyTest diff --git a/test/jdk/java/awt/print/PageFormat/CustomPaper.java b/test/jdk/java/awt/print/PageFormat/CustomPaper.java index 3b8e83d5c1b22..1976a20c01f12 100644 --- a/test/jdk/java/awt/print/PageFormat/CustomPaper.java +++ b/test/jdk/java/awt/print/PageFormat/CustomPaper.java @@ -25,7 +25,7 @@ * @test * @bug 4355514 * @bug 4385157 - * @author Jennifer Godinez + * @key printer * @summary Prints a rectangle to show the imageable area of a * 12in x 14in custom paper size. * @run main/manual CustomPaper diff --git a/test/jdk/java/awt/print/PageFormat/ImageableAreaTest.java b/test/jdk/java/awt/print/PageFormat/ImageableAreaTest.java index 7bf37415e6e7d..07f458704a53a 100644 --- a/test/jdk/java/awt/print/PageFormat/ImageableAreaTest.java +++ b/test/jdk/java/awt/print/PageFormat/ImageableAreaTest.java @@ -47,7 +47,7 @@ * @test * @bug 8044444 8081491 * @summary The output's 'Page-n' footer does not show completely - * @author Alexandr Scherbatiy + * @key printer * @run main/manual ImageableAreaTest */ public class ImageableAreaTest { diff --git a/test/jdk/java/awt/print/PageFormat/NullPaper.java b/test/jdk/java/awt/print/PageFormat/NullPaper.java index 0bae3aa95921d..1a9000b61350c 100644 --- a/test/jdk/java/awt/print/PageFormat/NullPaper.java +++ b/test/jdk/java/awt/print/PageFormat/NullPaper.java @@ -23,13 +23,11 @@ /* @test - @key headful @bug 4199506 @summary java.awt.print.PageFormat.setpaper(Paper paper) assertion test fails by not throwing NullPointerException when a null paper instance is passed as argument and this is specified in the doc. - @author rbi: area=PageFormat @run main NullPaper */ @@ -46,9 +44,6 @@ */ -import java.awt.*; -import java.awt.event.*; -import java.awt.geom.*; import java.awt.print.*; // This test is a "main" test as applets would need Runtime permission @@ -154,7 +149,6 @@ public static synchronized void setTimeoutTo( int seconds ) public static synchronized void pass() { System.out.println( "The test passed." ); - System.out.println( "The test is over, hit Ctl-C to stop Java VM" ); //first check if this is executing in main thread if ( mainThread == Thread.currentThread() ) { @@ -180,7 +174,6 @@ public static synchronized void fail() public static synchronized void fail( String whyFailed ) { System.out.println( "The test failed: " + whyFailed ); - System.out.println( "The test is over, hit Ctl-C to stop Java VM" ); //check if this called from main thread if ( mainThread == Thread.currentThread() ) { diff --git a/test/jdk/java/awt/print/PageFormat/Orient.java b/test/jdk/java/awt/print/PageFormat/Orient.java index ac3bb1ed84054..ea6facaf57042 100644 --- a/test/jdk/java/awt/print/PageFormat/Orient.java +++ b/test/jdk/java/awt/print/PageFormat/Orient.java @@ -27,7 +27,7 @@ @summary Confirm that the you get three pages of output, one each in portrait, landscape, and reverse landscape orientations. - @author rbi: area=PageFormat + @key printer @run main/manual Orient */ diff --git a/test/jdk/java/awt/print/PageFormat/PageFormatFromAttributes.java b/test/jdk/java/awt/print/PageFormat/PageFormatFromAttributes.java index e552db507de93..b5ac83969f2b3 100644 --- a/test/jdk/java/awt/print/PageFormat/PageFormatFromAttributes.java +++ b/test/jdk/java/awt/print/PageFormat/PageFormatFromAttributes.java @@ -25,6 +25,7 @@ * @test * @bug 4500750 6848799 8028584 * @summary Tests creating page format from attributes + * @key printer * @run main PageFormatFromAttributes */ import java.awt.print.*; diff --git a/test/jdk/java/awt/print/PageFormat/PageSetupDialog.java b/test/jdk/java/awt/print/PageFormat/PageSetupDialog.java index 98da138ac2239..5284793ef0153 100644 --- a/test/jdk/java/awt/print/PageFormat/PageSetupDialog.java +++ b/test/jdk/java/awt/print/PageFormat/PageSetupDialog.java @@ -28,7 +28,7 @@ * @bug 6358747 * @bug 6574633 * @summary Page setup dialog settings - * @author prr + * @key printer * @run main/manual PageSetupDialog */ diff --git a/test/jdk/java/awt/print/PageFormat/PrintContentCutOffTest.java b/test/jdk/java/awt/print/PageFormat/PrintContentCutOffTest.java index d2362cdc81536..df07741c9076d 100644 --- a/test/jdk/java/awt/print/PageFormat/PrintContentCutOffTest.java +++ b/test/jdk/java/awt/print/PageFormat/PrintContentCutOffTest.java @@ -24,6 +24,7 @@ /** * @test + * @key printer * @bug 8295737 * @summary macOS: Print content cut off when width > height with portrait orientation * @run main/othervm/manual PrintContentCutOffTest diff --git a/test/jdk/java/awt/print/PageFormat/ReverseLandscapeTest.java b/test/jdk/java/awt/print/PageFormat/ReverseLandscapeTest.java index 2c6544f4af178..850123aa9a8af 100644 --- a/test/jdk/java/awt/print/PageFormat/ReverseLandscapeTest.java +++ b/test/jdk/java/awt/print/PageFormat/ReverseLandscapeTest.java @@ -23,7 +23,7 @@ /* * @test - * @key headful + * @key headful printer * @bug 4254954 * @summary PageFormat would fail on solaris when setting orientation */ diff --git a/test/jdk/java/awt/print/PageFormat/SetOrient.html b/test/jdk/java/awt/print/PageFormat/SetOrient.html index e500872ff0548..422d64e4610f1 100644 --- a/test/jdk/java/awt/print/PageFormat/SetOrient.html +++ b/test/jdk/java/awt/print/PageFormat/SetOrient.html @@ -27,6 +27,7 @@ @bug 4186119 @summary Confirm that the clip and transform of the Graphics2D is affected by the landscape orientation of the PageFormat. + @key printer @run applet/manual=yesno SetOrient.html --> diff --git a/test/jdk/java/awt/print/PageFormat/SmallPaperPrinting.java b/test/jdk/java/awt/print/PageFormat/SmallPaperPrinting.java index e03e9f283b270..e936cd047de7b 100644 --- a/test/jdk/java/awt/print/PageFormat/SmallPaperPrinting.java +++ b/test/jdk/java/awt/print/PageFormat/SmallPaperPrinting.java @@ -21,43 +21,56 @@ * questions. */ - import java.awt.*; - import java.awt.print.*; +import java.awt.Graphics; +import java.awt.print.PageFormat; +import java.awt.print.Paper; +import java.awt.print.Printable; +import java.awt.print.PrinterException; +import java.awt.print.PrinterJob; - public class SmallPaperPrinting - { - public static void main(String args[]) - { - System.out.println("----------------- Instructions --------------------"); - System.out.println("Arguments: (none) - paper width=1, height=.0001"); - System.out.println(" 1 - paper width=.0001, height=1"); - System.out.println(" 2 - paper width=-1, height=1"); - System.out.println("A passing test should catch a PrinterException"); - System.out.println("and should display \"Print error: (exception msg)\"."); - System.out.println("---------------------------------------------------\n"); - PrinterJob job = PrinterJob.getPrinterJob(); - PageFormat format = job.defaultPage(); - Paper paper = format.getPaper(); +/* + * @test + * @key printer + * @run main/othervm SmallPaperPrinting + * @run main/othervm SmallPaperPrinting 1 + * @run main/othervm SmallPaperPrinting 2 + */ + +public class SmallPaperPrinting +{ + public static void main(String args[]) { + System.out.println("----------------- Instructions --------------------"); + System.out.println("Arguments: (none) - paper width=1, height=.0001"); + System.out.println(" 1 - paper width=.0001, height=1"); + System.out.println(" 2 - paper width=-1, height=1"); + System.out.println("A passing test should catch a PrinterException"); + System.out.println("and should display \"Print error: (exception msg)\"."); + System.out.println("---------------------------------------------------\n"); + PrinterJob job = PrinterJob.getPrinterJob(); + PageFormat format = job.defaultPage(); + Paper paper = format.getPaper(); - double w = 1, h = .0001; // Generates ArithmeticException: / by zero. - if(args.length > 0 && args[0].equals("1")) { - w = .0001; h = 1; } // Generates IllegalArgumentException. - else if(args.length > 0 && args[0].equals("2")) { - w = -1; h = 1; } // Generates NegativeArraySizeException. - paper.setSize(w, h); - paper.setImageableArea(0, 0, w, h); - format.setPaper(paper); - job.setPrintable( - new Printable() { - public int print(Graphics g, PageFormat page_format, int page) { - return NO_SUCH_PAGE; - } - }, format); + double w = 1, h = .0001; // Generates ArithmeticException: / by zero. + if (args.length > 0 && args[0].equals("1")) { + w = .0001; h = 1; + } // Generates IllegalArgumentException. + else if (args.length > 0 && args[0].equals("2")) { + w = -1; h = 1; + } // Generates NegativeArraySizeException. + paper.setSize(w, h); + paper.setImageableArea(0, 0, w, h); + format.setPaper(paper); + job.setPrintable( + new Printable() { + public int print(Graphics g, PageFormat page_format, int page) { + return NO_SUCH_PAGE; + } + }, format); - try { - job.print(); } - catch(PrinterException e) { - System.err.println("Print error:\n" + e.getMessage()); // Passing test! - } + try { + job.print(); + } catch (PrinterException e) { + System.err.println("Print error:\n" + e.getMessage()); // Passing test! } } +} diff --git a/test/jdk/java/awt/print/PageFormat/ValidateCustom.java b/test/jdk/java/awt/print/PageFormat/ValidateCustom.java index e15eebf9bc42d..2521609ee4faf 100644 --- a/test/jdk/java/awt/print/PageFormat/ValidateCustom.java +++ b/test/jdk/java/awt/print/PageFormat/ValidateCustom.java @@ -24,7 +24,7 @@ /* * @test * @bug 4414987 - * @author Jennifer Godinez + * @key printer * @summary Displays width & height of validated custom paper size * @run main/manual ValidateCustom */ diff --git a/test/jdk/java/awt/print/PageFormat/WrongPaperForBookPrintingTest.java b/test/jdk/java/awt/print/PageFormat/WrongPaperForBookPrintingTest.java index 5c4410e0ee440..1015fab4ed6ec 100644 --- a/test/jdk/java/awt/print/PageFormat/WrongPaperForBookPrintingTest.java +++ b/test/jdk/java/awt/print/PageFormat/WrongPaperForBookPrintingTest.java @@ -22,7 +22,7 @@ */ /* @test - @key headful + @key printer @bug 8201818 @summary Printing attributes break page size set via "java.awt.print.Book" object diff --git a/test/jdk/java/awt/print/PageFormat/WrongPaperPrintingTest.java b/test/jdk/java/awt/print/PageFormat/WrongPaperPrintingTest.java index 77b46031487d4..d96d4a4c33626 100644 --- a/test/jdk/java/awt/print/PageFormat/WrongPaperPrintingTest.java +++ b/test/jdk/java/awt/print/PageFormat/WrongPaperPrintingTest.java @@ -23,6 +23,7 @@ /* @test @bug 8167102 8181659 + @key printer @summary PrintRequestAttributeSet breaks page size set using PageFormat @run main/manual WrongPaperPrintingTest */ diff --git a/test/jdk/java/awt/print/PathPrecisionScaleFactor/PathPrecisionScaleFactorShapeTest.java b/test/jdk/java/awt/print/PathPrecisionScaleFactor/PathPrecisionScaleFactorShapeTest.java index 3b90d1e2068f3..9a626eae36474 100644 --- a/test/jdk/java/awt/print/PathPrecisionScaleFactor/PathPrecisionScaleFactorShapeTest.java +++ b/test/jdk/java/awt/print/PathPrecisionScaleFactor/PathPrecisionScaleFactorShapeTest.java @@ -25,6 +25,7 @@ /** * @test * @bug 8262470 + * @key printer * @requires (os.family == "windows") * @summary Check thay shapes are properly painted with the precision scale factor * @run main/othervm/manual PathPrecisionScaleFactorShapeTest diff --git a/test/jdk/java/awt/print/PathPrecisionScaleFactor/PathPrecisionScaleFactorTextTest.java b/test/jdk/java/awt/print/PathPrecisionScaleFactor/PathPrecisionScaleFactorTextTest.java index 9b20ab4748a22..f959ec9ca7c58 100644 --- a/test/jdk/java/awt/print/PathPrecisionScaleFactor/PathPrecisionScaleFactorTextTest.java +++ b/test/jdk/java/awt/print/PathPrecisionScaleFactor/PathPrecisionScaleFactorTextTest.java @@ -25,6 +25,7 @@ /** * @test * @bug 8262470 + * @key printer * @requires (os.family == "windows") * @summary Check that a GlyphVector outline is printed with good quility on low dpi printers * @run main/othervm/manual PathPrecisionScaleFactorTextTest diff --git a/test/jdk/java/awt/print/PrinterJob/BannerTest.java b/test/jdk/java/awt/print/PrinterJob/BannerTest.java index e061e24040064..e98bfaaf8d669 100644 --- a/test/jdk/java/awt/print/PrinterJob/BannerTest.java +++ b/test/jdk/java/awt/print/PrinterJob/BannerTest.java @@ -23,6 +23,7 @@ /* * @test * @bug 6575247 8170579 + * @key printer * @summary Verifies if Banner page is printed * @requires os.family == "solaris" * @run main/manual BannerTest diff --git a/test/jdk/java/awt/print/PrinterJob/Cancel/PrinterJobCancel.java b/test/jdk/java/awt/print/PrinterJob/Cancel/PrinterJobCancel.java index 0ad27cb5a53ea..20197224f56d5 100644 --- a/test/jdk/java/awt/print/PrinterJob/Cancel/PrinterJobCancel.java +++ b/test/jdk/java/awt/print/PrinterJob/Cancel/PrinterJobCancel.java @@ -25,7 +25,7 @@ * @test * @bug 4245280 * @summary PrinterJob not cancelled when PrinterJob.cancel() is used - * @author prr + * @key printer * @run main/manual PrinterJobCancel */ diff --git a/test/jdk/java/awt/print/PrinterJob/Collate2DPrintingTest.java b/test/jdk/java/awt/print/PrinterJob/Collate2DPrintingTest.java index 8d08da6a4a595..754030c4e9e6c 100644 --- a/test/jdk/java/awt/print/PrinterJob/Collate2DPrintingTest.java +++ b/test/jdk/java/awt/print/PrinterJob/Collate2DPrintingTest.java @@ -25,6 +25,7 @@ * @test * @bug 6362683 8012381 * @summary Collation should work. + * @key printer * @run main/manual Collate2DPrintingTest */ import java.awt.*; diff --git a/test/jdk/java/awt/print/PrinterJob/CompareImageable.java b/test/jdk/java/awt/print/PrinterJob/CompareImageable.java index 79a78c3b5a880..aec27d09d931a 100644 --- a/test/jdk/java/awt/print/PrinterJob/CompareImageable.java +++ b/test/jdk/java/awt/print/PrinterJob/CompareImageable.java @@ -24,6 +24,7 @@ /* @test @bug 4748055 + @key printer @summary PASS if the values are same in both cases (2 and 3) below. @run main/manual CompareImageable */ diff --git a/test/jdk/java/awt/print/PrinterJob/CustomFont/CustomFont.java b/test/jdk/java/awt/print/PrinterJob/CustomFont/CustomFont.java index 2b6c91fc0532b..e12b7fe16890c 100644 --- a/test/jdk/java/awt/print/PrinterJob/CustomFont/CustomFont.java +++ b/test/jdk/java/awt/print/PrinterJob/CustomFont/CustomFont.java @@ -25,7 +25,7 @@ @test @bug 4386025 8231243 @summary fonts not in win32 font directory print incorrectly. - @author prr: area=PrinterJob + @key printer @run main/manual CustomFont */ import java.io.*; diff --git a/test/jdk/java/awt/print/PrinterJob/CustomPrintService/PrintDialog.java b/test/jdk/java/awt/print/PrinterJob/CustomPrintService/PrintDialog.java index d18ee86878de6..cf37cf0cfa758 100644 --- a/test/jdk/java/awt/print/PrinterJob/CustomPrintService/PrintDialog.java +++ b/test/jdk/java/awt/print/PrinterJob/CustomPrintService/PrintDialog.java @@ -30,7 +30,6 @@ * @bug 6870661 * @summary Verify that no native dialog is opened for a custom PrintService * @run main/manual PrintDialog - * @author reinhapa */ public class PrintDialog { diff --git a/test/jdk/java/awt/print/PrinterJob/CustomPrintService/SetPrintServiceTest.java b/test/jdk/java/awt/print/PrinterJob/CustomPrintService/SetPrintServiceTest.java index 9c3ebe7d9217e..5a7fb526e9d6b 100644 --- a/test/jdk/java/awt/print/PrinterJob/CustomPrintService/SetPrintServiceTest.java +++ b/test/jdk/java/awt/print/PrinterJob/CustomPrintService/SetPrintServiceTest.java @@ -28,7 +28,6 @@ * @test * @bug 6870661 * @summary tests setPrintService() with a custom implementation - * @author reinhapa */ public class SetPrintServiceTest { diff --git a/test/jdk/java/awt/print/PrinterJob/DeviceScale.java b/test/jdk/java/awt/print/PrinterJob/DeviceScale.java index 7320eda70c911..008b5d2f0fa9f 100644 --- a/test/jdk/java/awt/print/PrinterJob/DeviceScale.java +++ b/test/jdk/java/awt/print/PrinterJob/DeviceScale.java @@ -21,7 +21,7 @@ * questions. */ -/* @test 1.2 02/05/15 +/* @test @bug 4810363 4924441 @key printer @run main DeviceScale diff --git a/test/jdk/java/awt/print/PrinterJob/DlgAttrsBug.java b/test/jdk/java/awt/print/PrinterJob/DlgAttrsBug.java index dc31ffda1fdf2..93fecd486a312 100644 --- a/test/jdk/java/awt/print/PrinterJob/DlgAttrsBug.java +++ b/test/jdk/java/awt/print/PrinterJob/DlgAttrsBug.java @@ -23,6 +23,7 @@ /* * @test * @bug 8061258 + * @key printer * @summary PrinterJob's native Print Dialog does not reflect * specified Copies or Page Ranges * @run main/manual DlgAttrsBug diff --git a/test/jdk/java/awt/print/PrinterJob/DrawImage.java b/test/jdk/java/awt/print/PrinterJob/DrawImage.java index 977dc946a9248..2fcc710719cd3 100644 --- a/test/jdk/java/awt/print/PrinterJob/DrawImage.java +++ b/test/jdk/java/awt/print/PrinterJob/DrawImage.java @@ -24,8 +24,8 @@ /** * @test * @bug 4329866 + * @key printer * @summary Confirm that no printing exception is generated. - * @author jgodinez * @run main/manual DrawImage */ diff --git a/test/jdk/java/awt/print/PrinterJob/DrawStringMethods.java b/test/jdk/java/awt/print/PrinterJob/DrawStringMethods.java index 37bb3e045a558..f5417ebae4d17 100644 --- a/test/jdk/java/awt/print/PrinterJob/DrawStringMethods.java +++ b/test/jdk/java/awt/print/PrinterJob/DrawStringMethods.java @@ -24,6 +24,7 @@ /** * @test * @bug 4185019 + * @key printer * @summary Confirm that all of the drawString methods on Graphics2D * work for printer graphics objects. * @run main/manual DrawStringMethods diff --git a/test/jdk/java/awt/print/PrinterJob/EmptyFill.java b/test/jdk/java/awt/print/PrinterJob/EmptyFill.java index ddf8ebb0150c9..3da1689bc3d2d 100644 --- a/test/jdk/java/awt/print/PrinterJob/EmptyFill.java +++ b/test/jdk/java/awt/print/PrinterJob/EmptyFill.java @@ -66,11 +66,11 @@ public static void main(String arg[]) throws Exception { } ByteArrayOutputStream baos = new ByteArrayOutputStream(4096); StreamPrintService svc = spfs[0].getPrintService(baos); - - PrinterJob pj = PrinterJob.getPrinterJob(); if (svc == null) { - return; + throw new RuntimeException("Could not create postscript stream"); } + + PrinterJob pj = PrinterJob.getPrinterJob(); pj.setPrintService(svc); pj.setPrintable(new EmptyFill()); pj.print(); diff --git a/test/jdk/java/awt/print/PrinterJob/GetMediasTest.java b/test/jdk/java/awt/print/PrinterJob/GetMediasTest.java index c70d377c6ef2e..f4ff1643b0018 100644 --- a/test/jdk/java/awt/print/PrinterJob/GetMediasTest.java +++ b/test/jdk/java/awt/print/PrinterJob/GetMediasTest.java @@ -24,6 +24,7 @@ /** * @test * @bug 6653384 + * @key printer * @summary No exception should be thrown. * @run main GetMediasTest */ diff --git a/test/jdk/java/awt/print/PrinterJob/ImagePrinting/ImageTypes.java b/test/jdk/java/awt/print/PrinterJob/ImagePrinting/ImageTypes.java index c33dc0f6718c5..af655b75d3644 100644 --- a/test/jdk/java/awt/print/PrinterJob/ImagePrinting/ImageTypes.java +++ b/test/jdk/java/awt/print/PrinterJob/ImagePrinting/ImageTypes.java @@ -25,7 +25,7 @@ * @test * @bug 4521945 7006865 * @summary Test printing images of different types. - * @author prr + * @key printer * @run main/manual ImageTypes */ diff --git a/test/jdk/java/awt/print/PrinterJob/ImagePrinting/PrintARGBImage.java b/test/jdk/java/awt/print/PrinterJob/ImagePrinting/PrintARGBImage.java index 4bef1cce0f5af..e16dc17c24f7d 100644 --- a/test/jdk/java/awt/print/PrinterJob/ImagePrinting/PrintARGBImage.java +++ b/test/jdk/java/awt/print/PrinterJob/ImagePrinting/PrintARGBImage.java @@ -34,6 +34,7 @@ /* * @test * @bug 6581756 + * @key printer * @library ../../../regtesthelpers * @build PassFailJFrame * @summary Test printing of images which need to have src area clipped diff --git a/test/jdk/java/awt/print/PrinterJob/InitToBlack.java b/test/jdk/java/awt/print/PrinterJob/InitToBlack.java index a4d7dd0a9589c..7ca5846fd4722 100644 --- a/test/jdk/java/awt/print/PrinterJob/InitToBlack.java +++ b/test/jdk/java/awt/print/PrinterJob/InitToBlack.java @@ -24,6 +24,7 @@ /** * @test * @bug 4184565 + * @key printer * @summary Confirm that the default foreground color on a printer * graphics object is black so that rendering will appear * without having to execute setColor first. diff --git a/test/jdk/java/awt/print/PrinterJob/InvalidPage.java b/test/jdk/java/awt/print/PrinterJob/InvalidPage.java index f84bd2c0d7858..fd0130320523a 100644 --- a/test/jdk/java/awt/print/PrinterJob/InvalidPage.java +++ b/test/jdk/java/awt/print/PrinterJob/InvalidPage.java @@ -25,7 +25,7 @@ * @test InvalidPage.java * @bug 4671634 6506286 * @summary Invalid page format can crash win32 JRE - * @author prr + * @key printer * @run main/manual InvalidPage */ diff --git a/test/jdk/java/awt/print/PrinterJob/JobName/PrinterJobName.java b/test/jdk/java/awt/print/PrinterJob/JobName/PrinterJobName.java index a6c6544591258..f1b99487788c4 100644 --- a/test/jdk/java/awt/print/PrinterJob/JobName/PrinterJobName.java +++ b/test/jdk/java/awt/print/PrinterJob/JobName/PrinterJobName.java @@ -25,7 +25,7 @@ * @test * @bug 4205601 * @summary setJobName should be used by PrinterJob - * @author prr + * @key printer * @run main/manual PrinterJobName */ diff --git a/test/jdk/java/awt/print/PrinterJob/LandscapeStackOverflow.java b/test/jdk/java/awt/print/PrinterJob/LandscapeStackOverflow.java index fc65dc9ddab1e..398939d125d91 100644 --- a/test/jdk/java/awt/print/PrinterJob/LandscapeStackOverflow.java +++ b/test/jdk/java/awt/print/PrinterJob/LandscapeStackOverflow.java @@ -22,7 +22,7 @@ */ /* * @test - * @key headful printer + * @key printer * @bug 6842011 8158758 * @summary Test if StackOverflowError occurs during printing landscape with * scale and transform. diff --git a/test/jdk/java/awt/print/PrinterJob/Legal/PrintTest.java b/test/jdk/java/awt/print/PrinterJob/Legal/PrintTest.java index b4c708e27857a..f5ee1c4d65a79 100644 --- a/test/jdk/java/awt/print/PrinterJob/Legal/PrintTest.java +++ b/test/jdk/java/awt/print/PrinterJob/Legal/PrintTest.java @@ -24,6 +24,7 @@ /** * @test * @bug 4886069 8023045 + * @key printer * @summary Confirm that printer recognizes the Legal selection either by * prompting the user to put Legal paper or automatically selecting * the tray containing Legal Paper. The printout image should not diff --git a/test/jdk/java/awt/print/PrinterJob/LinearGradientPrintingTest.java b/test/jdk/java/awt/print/PrinterJob/LinearGradientPrintingTest.java index ab1ab17aa7fea..456b77614a3e2 100644 --- a/test/jdk/java/awt/print/PrinterJob/LinearGradientPrintingTest.java +++ b/test/jdk/java/awt/print/PrinterJob/LinearGradientPrintingTest.java @@ -24,6 +24,7 @@ * @test * @bug 8162796 * @summary Verifies if LinearGradientPaint is printed in osx + * @key printer * @run main/manual LinearGradientPrintingTest */ import java.awt.BorderLayout; diff --git a/test/jdk/java/awt/print/PrinterJob/MultiMonPrintDlgTest.java b/test/jdk/java/awt/print/PrinterJob/MultiMonPrintDlgTest.java index 4086f663a5c86..9da6e64fedcf9 100644 --- a/test/jdk/java/awt/print/PrinterJob/MultiMonPrintDlgTest.java +++ b/test/jdk/java/awt/print/PrinterJob/MultiMonPrintDlgTest.java @@ -37,6 +37,7 @@ /** * @test * @bug 8138749 + * @key printer multimon * @summary PrinterJob.printDialog() does not support multi-mon, * always displayed on primary * @run main/manual MultiMonPrintDlgTest diff --git a/test/jdk/java/awt/print/PrinterJob/MultiThread/MultiThreadTest.java b/test/jdk/java/awt/print/PrinterJob/MultiThread/MultiThreadTest.java index 8282a052ee18b..609cc6f988b60 100644 --- a/test/jdk/java/awt/print/PrinterJob/MultiThread/MultiThreadTest.java +++ b/test/jdk/java/awt/print/PrinterJob/MultiThread/MultiThreadTest.java @@ -24,6 +24,7 @@ /** * @test * @bug 4922036 + * @key printer * @summary Confirm that no Exception is thrown and 2 identical output is produced. * @run main/manual MultiThreadTest */ diff --git a/test/jdk/java/awt/print/PrinterJob/NumCopies.java b/test/jdk/java/awt/print/PrinterJob/NumCopies.java index c851e2403d0f9..119bcab6f7a1a 100644 --- a/test/jdk/java/awt/print/PrinterJob/NumCopies.java +++ b/test/jdk/java/awt/print/PrinterJob/NumCopies.java @@ -25,7 +25,7 @@ * @test * @bug 4258003 * @summary Checks the right number of copies are printed - * @author prr + * @key printer * @run main/manual NumCopies */ diff --git a/test/jdk/java/awt/print/PrinterJob/PageDialogMarginTest.java b/test/jdk/java/awt/print/PrinterJob/PageDialogMarginTest.java index de47e70f63920..1931de988d14e 100644 --- a/test/jdk/java/awt/print/PrinterJob/PageDialogMarginTest.java +++ b/test/jdk/java/awt/print/PrinterJob/PageDialogMarginTest.java @@ -24,6 +24,7 @@ /* * @test * @bug 6801613 + * @key printer * @summary Verifies if cross-platform pageDialog and printDialog top margin * entry is working * @run main/manual PageDialogMarginTest diff --git a/test/jdk/java/awt/print/PrinterJob/PageDialogMarginValidation.java b/test/jdk/java/awt/print/PrinterJob/PageDialogMarginValidation.java index d71f84f18793c..674266e7fc8ec 100644 --- a/test/jdk/java/awt/print/PrinterJob/PageDialogMarginValidation.java +++ b/test/jdk/java/awt/print/PrinterJob/PageDialogMarginValidation.java @@ -23,6 +23,7 @@ /* * @test * @bug 6509729 + * @key printer * @summary Verifies pageDialog margin validation is correct * @run main/manual PageDialogMarginValidation */ diff --git a/test/jdk/java/awt/print/PrinterJob/PageDialogTest.java b/test/jdk/java/awt/print/PrinterJob/PageDialogTest.java index 8a8f9839ddf39..eea118733de4f 100644 --- a/test/jdk/java/awt/print/PrinterJob/PageDialogTest.java +++ b/test/jdk/java/awt/print/PrinterJob/PageDialogTest.java @@ -24,6 +24,7 @@ /* @test @bug 6302514 + @key printer @run main/manual PageDialogTest @summary A toolkit modal dialog should not be blocked by Page/Print dialog. */ diff --git a/test/jdk/java/awt/print/PrinterJob/PageDlgApp.java b/test/jdk/java/awt/print/PrinterJob/PageDlgApp.java index e07e8ffd6cfc0..96d5f64486def 100644 --- a/test/jdk/java/awt/print/PrinterJob/PageDlgApp.java +++ b/test/jdk/java/awt/print/PrinterJob/PageDlgApp.java @@ -31,6 +31,7 @@ /** * @test * @bug 8067059 + * @key printer * @run main/manual PageDlgApp * @summary Test if cancelling dialog returns null when * PrinterJob.pageDialog() with DialogSelectionType.NATIVE is called diff --git a/test/jdk/java/awt/print/PrinterJob/PageDlgPrnButton.java b/test/jdk/java/awt/print/PrinterJob/PageDlgPrnButton.java index 45a1c71a44a67..6c000dc7f5fb6 100644 --- a/test/jdk/java/awt/print/PrinterJob/PageDlgPrnButton.java +++ b/test/jdk/java/awt/print/PrinterJob/PageDlgPrnButton.java @@ -24,6 +24,7 @@ /** * @test * @bug 4956397 + * @key printer * @run main/manual PageDlgPrnButton */ diff --git a/test/jdk/java/awt/print/PrinterJob/PageDlgStackOverflowTest.java b/test/jdk/java/awt/print/PrinterJob/PageDlgStackOverflowTest.java index ffe695d6f487e..048b81f273d63 100644 --- a/test/jdk/java/awt/print/PrinterJob/PageDlgStackOverflowTest.java +++ b/test/jdk/java/awt/print/PrinterJob/PageDlgStackOverflowTest.java @@ -28,6 +28,7 @@ /** * @test * @bug 8039412 + * @key printer * @run main/manual PageDlgStackOverflowTest * @summary Calling pageDialog() after printDialog with * DialogTypeSelection.NATIVE should not result in StackOverflowError diff --git a/test/jdk/java/awt/print/PrinterJob/PageFormatChange.java b/test/jdk/java/awt/print/PrinterJob/PageFormatChange.java index 2515e11e9ecbb..10aaaea89f1ff 100644 --- a/test/jdk/java/awt/print/PrinterJob/PageFormatChange.java +++ b/test/jdk/java/awt/print/PrinterJob/PageFormatChange.java @@ -24,6 +24,7 @@ /** * @test * @bug 6359283 + * @key printer * @summary pagedialog needs to update based on change of printer. * @run main/manual PageFormatChange */ diff --git a/test/jdk/java/awt/print/PrinterJob/PageRanges.java b/test/jdk/java/awt/print/PrinterJob/PageRanges.java index 9bfd79eacce49..accde99ae9565 100644 --- a/test/jdk/java/awt/print/PrinterJob/PageRanges.java +++ b/test/jdk/java/awt/print/PrinterJob/PageRanges.java @@ -24,6 +24,7 @@ /** * @test * @bug 6575331 + * @key printer * @summary The specified pages should be printed. * @run main/manual=yesno PageRanges */ diff --git a/test/jdk/java/awt/print/PrinterJob/PolylinePrintingTest.java b/test/jdk/java/awt/print/PrinterJob/PolylinePrintingTest.java index 14a04d5542f49..7d8568c01f98c 100644 --- a/test/jdk/java/awt/print/PrinterJob/PolylinePrintingTest.java +++ b/test/jdk/java/awt/print/PrinterJob/PolylinePrintingTest.java @@ -23,6 +23,7 @@ /** * @bug 8041902 + * @key printer * @summary Test printing of wide poly lines. * @run main/manual=yesno PolylinePrintingTest */ diff --git a/test/jdk/java/awt/print/PrinterJob/PrintAWTImage.java b/test/jdk/java/awt/print/PrinterJob/PrintAWTImage.java index 2612ca6bdadd4..2397931b4fc9f 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrintAWTImage.java +++ b/test/jdk/java/awt/print/PrinterJob/PrintAWTImage.java @@ -23,6 +23,7 @@ /** * @test * @bug 4257262 6708509 + * @key printer * @summary Image should be sent to printer. * @run main/manual PrintAWTImage */ diff --git a/test/jdk/java/awt/print/PrinterJob/PrintAllFonts.java b/test/jdk/java/awt/print/PrinterJob/PrintAllFonts.java index 59ebf21ee5bac..0c9f8afb7696c 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrintAllFonts.java +++ b/test/jdk/java/awt/print/PrinterJob/PrintAllFonts.java @@ -23,9 +23,11 @@ /** * + * test * @bug 4884389 7183516 + * @key printer * @summary Font specified with face name loses style on printing - * @run main/manual PrintRotatedText + * @run main/manual PrintAllFonts */ import java.awt.*; diff --git a/test/jdk/java/awt/print/PrinterJob/PrintAttributeUpdateTest.java b/test/jdk/java/awt/print/PrinterJob/PrintAttributeUpdateTest.java index 1b69e0b8b365b..fd92f5deda89b 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrintAttributeUpdateTest.java +++ b/test/jdk/java/awt/print/PrinterJob/PrintAttributeUpdateTest.java @@ -24,6 +24,7 @@ /* @test @bug 8042713 8170578 + @key printer @summary Print Dialog does not update attribute set with page range @run main/manual PrintAttributeUpdateTest */ diff --git a/test/jdk/java/awt/print/PrinterJob/PrintBadImage.java b/test/jdk/java/awt/print/PrinterJob/PrintBadImage.java index ad3b3fd5d83cb..48e4503db7041 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrintBadImage.java +++ b/test/jdk/java/awt/print/PrinterJob/PrintBadImage.java @@ -25,7 +25,7 @@ * @test * @bug 4398853 * @summary Printing shouldn't hang on bad images - * @author prr + * @key printer * @run main/manual PrintBadImage */ diff --git a/test/jdk/java/awt/print/PrinterJob/PrintCompoundString.java b/test/jdk/java/awt/print/PrinterJob/PrintCompoundString.java index 82560d8964bf1..95cebd9976565 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrintCompoundString.java +++ b/test/jdk/java/awt/print/PrinterJob/PrintCompoundString.java @@ -25,7 +25,7 @@ * @test * @bug 4396835 * @summary Compound font string not printing. - * @author prr + * @key printer * @run main/manual PrintCompoundString */ diff --git a/test/jdk/java/awt/print/PrinterJob/PrintDialog.java b/test/jdk/java/awt/print/PrinterJob/PrintDialog.java index 9ab5d63f641c9..fa9569e1aa74e 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrintDialog.java +++ b/test/jdk/java/awt/print/PrinterJob/PrintDialog.java @@ -25,7 +25,7 @@ @test PrintDialog.java @bug 4257903 @summary Confirm that the you see the print dialog. - @author prr: area=PrinterJob + @key printer @run main/manual PrintDialog */ diff --git a/test/jdk/java/awt/print/PrinterJob/PrintDialogCancel.java b/test/jdk/java/awt/print/PrinterJob/PrintDialogCancel.java index 4fe3d29fe5bcc..b2d3d3a223075 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrintDialogCancel.java +++ b/test/jdk/java/awt/print/PrinterJob/PrintDialogCancel.java @@ -25,7 +25,7 @@ @test @bug 4398231 @summary Confirm that the print dialog returns false when cancelled. - @author prr: area=PrinterJob + @key printer @run main/manual PrintDialogCancel */ diff --git a/test/jdk/java/awt/print/PrinterJob/PrintDlgPageable.java b/test/jdk/java/awt/print/PrinterJob/PrintDlgPageable.java index f6a74f9f965cb..6d1d8bcf6dfb6 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrintDlgPageable.java +++ b/test/jdk/java/awt/print/PrinterJob/PrintDlgPageable.java @@ -23,6 +23,7 @@ /* * @test * @bug 4885375 + * @key printer * @summary Verifies if PageRanges To Field is populated based on Pageable * for COMMON print dialog * @run main/manual PrintDlgPageable diff --git a/test/jdk/java/awt/print/PrinterJob/PrintDlgSelectionAttribTest.java b/test/jdk/java/awt/print/PrinterJob/PrintDlgSelectionAttribTest.java index 9858547862667..65adee3f4f9f9 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrintDlgSelectionAttribTest.java +++ b/test/jdk/java/awt/print/PrinterJob/PrintDlgSelectionAttribTest.java @@ -23,6 +23,7 @@ /* * @test * @bug 6529030 8159134 + * @key printer * @summary Verifies if Java Printing: Selection radiobutton gets enabled. * @requires (os.family == "windows") * @run main/manual PrintDlgSelectionAttribTest diff --git a/test/jdk/java/awt/print/PrinterJob/PrintFontStyle.java b/test/jdk/java/awt/print/PrinterJob/PrintFontStyle.java index 3d67246eac23d..f9997d443a2da 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrintFontStyle.java +++ b/test/jdk/java/awt/print/PrinterJob/PrintFontStyle.java @@ -21,6 +21,13 @@ * questions. */ +/* + * Not enabled as a test. Needs some work. + * test + * @key printer + * @run main/manual PrintFontStyle + */ + import java.awt.*; import java.awt.print.*; import java.awt.GraphicsEnvironment; diff --git a/test/jdk/java/awt/print/PrinterJob/PrintGlyphVectorTest.java b/test/jdk/java/awt/print/PrinterJob/PrintGlyphVectorTest.java index bd921b5162df6..696cf1b74454e 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrintGlyphVectorTest.java +++ b/test/jdk/java/awt/print/PrinterJob/PrintGlyphVectorTest.java @@ -24,6 +24,7 @@ /* * @test * @bug 8029204 + * @key printer * @library ../../regtesthelpers * @build PassFailJFrame * @summary Tests GlyphVector is printed in the correct location diff --git a/test/jdk/java/awt/print/PrinterJob/PrintImage.java b/test/jdk/java/awt/print/PrinterJob/PrintImage.java index 7f632bfa94ccb..7eed8c2c276f8 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrintImage.java +++ b/test/jdk/java/awt/print/PrinterJob/PrintImage.java @@ -25,7 +25,7 @@ * @test %I %W * @bug 4298489 * @summary Confirm that output is same as screen. - * @author jgodinez + * @key printer * @run main/manual PrintImage */ import java.awt.*; diff --git a/test/jdk/java/awt/print/PrinterJob/PrintLatinCJKTest.java b/test/jdk/java/awt/print/PrinterJob/PrintLatinCJKTest.java index f6221aa57064b..5ffb34540ced4 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrintLatinCJKTest.java +++ b/test/jdk/java/awt/print/PrinterJob/PrintLatinCJKTest.java @@ -27,6 +27,7 @@ * @library ../../regtesthelpers * @build PassFailJFrame * @summary JDK7 Printing: CJK and Latin Text in string overlap + * @key printer * @run main/manual PrintLatinCJKTest */ diff --git a/test/jdk/java/awt/print/PrinterJob/PrintNullString.java b/test/jdk/java/awt/print/PrinterJob/PrintNullString.java index 7e3101c6b30e1..b46db6a1447ba 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrintNullString.java +++ b/test/jdk/java/awt/print/PrinterJob/PrintNullString.java @@ -25,7 +25,7 @@ * @test * @bug 4223328 * @summary Printer graphics must behave the same as screen graphics - * @author prr + * @key printer * @run main/manual PrintNullString */ diff --git a/test/jdk/java/awt/print/PrinterJob/PrintParenString.java b/test/jdk/java/awt/print/PrinterJob/PrintParenString.java index dc6d544d12645..f3ed7ec1f3ea4 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrintParenString.java +++ b/test/jdk/java/awt/print/PrinterJob/PrintParenString.java @@ -25,7 +25,7 @@ * @test * @bug 4399442 * @summary Brackets should be quoted in Postscript output - * @author prr + * @key printer * @run main/manual PrintParenString */ diff --git a/test/jdk/java/awt/print/PrinterJob/PrintRotatedText.java b/test/jdk/java/awt/print/PrinterJob/PrintRotatedText.java index 5f5a6fa69d65e..deabc0e69991c 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrintRotatedText.java +++ b/test/jdk/java/awt/print/PrinterJob/PrintRotatedText.java @@ -26,7 +26,7 @@ * @bug 4271596 * @bug 4460699 * @summary Rotated text printing - * @author prr + * @key printer * @run main/manual PrintRotatedText */ diff --git a/test/jdk/java/awt/print/PrinterJob/PrintTest.java b/test/jdk/java/awt/print/PrinterJob/PrintTest.java index 3c3febe414c83..321293877aba5 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrintTest.java +++ b/test/jdk/java/awt/print/PrinterJob/PrintTest.java @@ -23,6 +23,7 @@ /* * @test * @bug 8151590 + * @key printer * @summary All radio button should be selected when we call * setDefaultSelection(JobAttributes.DefaultSelectionType.ALL); * @run main/manual PrintTest diff --git a/test/jdk/java/awt/print/PrinterJob/PrintTestLexmarkIQ.java b/test/jdk/java/awt/print/PrinterJob/PrintTestLexmarkIQ.java index cb82100efb00e..a5c7110c5d5a1 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrintTestLexmarkIQ.java +++ b/test/jdk/java/awt/print/PrinterJob/PrintTestLexmarkIQ.java @@ -25,6 +25,7 @@ * @bug 6966350 8160882 * @summary Verifies if Empty pages are printed on Lexmark E352dn PS3 * with "1200 IQ" setting + * @key printer * @run main/manual PrintTestLexmarkIQ */ import java.awt.BorderLayout; diff --git a/test/jdk/java/awt/print/PrinterJob/PrintTextLayout.java b/test/jdk/java/awt/print/PrinterJob/PrintTextLayout.java index 2dfd10ccd3202..9560c6b86ff73 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrintTextLayout.java +++ b/test/jdk/java/awt/print/PrinterJob/PrintTextLayout.java @@ -25,7 +25,7 @@ * @test * @bug 4480930 * @summary TextLayout prints as filled shapes - * @author prr + * @key printer * @run main/manual PrintTextLayout */ diff --git a/test/jdk/java/awt/print/PrinterJob/PrintTextTest.java b/test/jdk/java/awt/print/PrinterJob/PrintTextTest.java index c7d9c984b64c5..95bf177aa2f11 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrintTextTest.java +++ b/test/jdk/java/awt/print/PrinterJob/PrintTextTest.java @@ -24,6 +24,7 @@ /** * @test * @bug 6425068 7157659 8132890 + * @key printer * @summary Confirm that text prints where we expect to the length we expect. * @run main/manual=yesno PrintTextTest */ diff --git a/test/jdk/java/awt/print/PrinterJob/PrintTranslatedFont.java b/test/jdk/java/awt/print/PrinterJob/PrintTranslatedFont.java index fefa737990bac..51ff6ce57a7dd 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrintTranslatedFont.java +++ b/test/jdk/java/awt/print/PrinterJob/PrintTranslatedFont.java @@ -24,8 +24,8 @@ /** * @test * @bug 6359734 + * @key printer * @summary Test that fonts with a translation print where they should. - * @author prr * @run main/manual PrintTranslatedFont */ diff --git a/test/jdk/java/awt/print/PrinterJob/PrintVolatileImage.java b/test/jdk/java/awt/print/PrinterJob/PrintVolatileImage.java index 82a7c9ed83d6e..d594b5a31dd8f 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrintVolatileImage.java +++ b/test/jdk/java/awt/print/PrinterJob/PrintVolatileImage.java @@ -25,7 +25,7 @@ * @test * @bug 4511023 * @summary Image should be sent to printer, no exceptions thrown - * @author prr + * @key printer * @run main/manual PrintVolatileImage */ diff --git a/test/jdk/java/awt/print/PrinterJob/PrinterDialogsModalityTest/PrinterDialogsModalityTest.html b/test/jdk/java/awt/print/PrinterJob/PrinterDialogsModalityTest/PrinterDialogsModalityTest.html index 3b6b87f6b03e9..9cfb86bd47976 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrinterDialogsModalityTest/PrinterDialogsModalityTest.html +++ b/test/jdk/java/awt/print/PrinterJob/PrinterDialogsModalityTest/PrinterDialogsModalityTest.html @@ -25,8 +25,8 @@ diff --git a/test/jdk/java/awt/print/PrinterJob/PrinterDialogsModalityTest/PrinterDialogsModalityTest.java b/test/jdk/java/awt/print/PrinterJob/PrinterDialogsModalityTest/PrinterDialogsModalityTest.java index 2178697b1709b..bb40832e36fc8 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrinterDialogsModalityTest/PrinterDialogsModalityTest.java +++ b/test/jdk/java/awt/print/PrinterJob/PrinterDialogsModalityTest/PrinterDialogsModalityTest.java @@ -24,8 +24,8 @@ /* test @bug 4784285 4785920 + @key printer @summary check whether Print- and Page- dialogs are modal and correct window activated after their closing - @author son@sparc.spb.su: area=PrinterJob.modality @run applet/manual=yesno PrinterDialogsModalityTest.html */ diff --git a/test/jdk/java/awt/print/PrinterJob/PrinterJobDialogBugDemo.java b/test/jdk/java/awt/print/PrinterJob/PrinterJobDialogBugDemo.java index d06d08dcbe3be..d7a18300bd7c9 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrinterJobDialogBugDemo.java +++ b/test/jdk/java/awt/print/PrinterJob/PrinterJobDialogBugDemo.java @@ -24,6 +24,7 @@ /** * @test * @bug 4775862 + * @key printer * @run main/manual PrinterJobDialogBugDemo */ import java.awt.BorderLayout; diff --git a/test/jdk/java/awt/print/PrinterJob/RadialGradientPrintingTest.java b/test/jdk/java/awt/print/PrinterJob/RadialGradientPrintingTest.java index 61c9faeda247b..8cd538f1d6264 100644 --- a/test/jdk/java/awt/print/PrinterJob/RadialGradientPrintingTest.java +++ b/test/jdk/java/awt/print/PrinterJob/RadialGradientPrintingTest.java @@ -23,6 +23,7 @@ /* * @test * @bug 8162796 + * @key printer * @summary Verifies if RadialGradientPaint is printed in osx * @run main/manual RadialGradientPrintingTest */ diff --git a/test/jdk/java/awt/print/PrinterJob/RemoveListener.java b/test/jdk/java/awt/print/PrinterJob/RemoveListener.java index 2a467a438a3cf..0818cd7e7f4c8 100644 --- a/test/jdk/java/awt/print/PrinterJob/RemoveListener.java +++ b/test/jdk/java/awt/print/PrinterJob/RemoveListener.java @@ -22,8 +22,9 @@ */ /* - * @test 1.1 01/05/17 + * @test * @bug 4459889 + * @key printer * @summary No NullPointerException should occur. * @run main RemoveListener */ diff --git a/test/jdk/java/awt/print/PrinterJob/SameService.java b/test/jdk/java/awt/print/PrinterJob/SameService.java index 4073b55fb9241..611cea9ecdb75 100644 --- a/test/jdk/java/awt/print/PrinterJob/SameService.java +++ b/test/jdk/java/awt/print/PrinterJob/SameService.java @@ -24,6 +24,7 @@ /** * @test * @bug 6446094 + * @key printer * @summary Don't re-create print services. * @run main SameService */ diff --git a/test/jdk/java/awt/print/PrinterJob/ScaledText/ScaledText.java b/test/jdk/java/awt/print/PrinterJob/ScaledText/ScaledText.java index a440db4f2f9ba..22da443111781 100644 --- a/test/jdk/java/awt/print/PrinterJob/ScaledText/ScaledText.java +++ b/test/jdk/java/awt/print/PrinterJob/ScaledText/ScaledText.java @@ -25,7 +25,7 @@ @test @bug 4291373 @summary Printing of scaled text is wrong / disappearing - @author prr: area=PrinterJob + @key printer @run main/manual ScaledText */ import java.awt.*; diff --git a/test/jdk/java/awt/print/PrinterJob/SecurityDialogTest.java b/test/jdk/java/awt/print/PrinterJob/SecurityDialogTest.java index c5d356c6118aa..d6a9efeb97c51 100644 --- a/test/jdk/java/awt/print/PrinterJob/SecurityDialogTest.java +++ b/test/jdk/java/awt/print/PrinterJob/SecurityDialogTest.java @@ -24,6 +24,7 @@ /** * @test * @bug 4937672 5100706 6252456 + * @key printer * @run main/othervm/manual -Djava.security.manager=allow SecurityDialogTest */ diff --git a/test/jdk/java/awt/print/PrinterJob/SetCopies/Test.java b/test/jdk/java/awt/print/PrinterJob/SetCopies/Test.java index 7b8d9ce7c0094..b32d716bbee3e 100644 --- a/test/jdk/java/awt/print/PrinterJob/SetCopies/Test.java +++ b/test/jdk/java/awt/print/PrinterJob/SetCopies/Test.java @@ -24,6 +24,7 @@ /** * @test * @bug 4694495 + * @key printer * @summary Check that the dialog shows copies = 3. * @run main/manual Test */ diff --git a/test/jdk/java/awt/print/PrinterJob/SwingUIText.java b/test/jdk/java/awt/print/PrinterJob/SwingUIText.java index c1e47638023c0..5fcd5e391581a 100644 --- a/test/jdk/java/awt/print/PrinterJob/SwingUIText.java +++ b/test/jdk/java/awt/print/PrinterJob/SwingUIText.java @@ -24,6 +24,7 @@ /** * @test * @bug 6488219 6560738 7158350 8017469 + * @key printer * @summary Test that text printed in Swing UI measures and looks OK. * @run main/manual=yesno PrintTextTest */ diff --git a/test/jdk/java/awt/print/PrinterJob/TestCheckSystemDefaultBannerOption.java b/test/jdk/java/awt/print/PrinterJob/TestCheckSystemDefaultBannerOption.java index b9e18d3439383..ca07c05a6ef16 100644 --- a/test/jdk/java/awt/print/PrinterJob/TestCheckSystemDefaultBannerOption.java +++ b/test/jdk/java/awt/print/PrinterJob/TestCheckSystemDefaultBannerOption.java @@ -23,6 +23,7 @@ /* * @test * @bug 8165947 8170579 + * @key printer * @summary Verifies System default banner page option is honoured by jdk * @requires os.family == "linux" * @run main/manual TestCheckSystemDefaultBannerOption diff --git a/test/jdk/java/awt/print/PrinterJob/TestMediaTraySelection.java b/test/jdk/java/awt/print/PrinterJob/TestMediaTraySelection.java index f75336c2c0deb..6a5a91ac89e7e 100644 --- a/test/jdk/java/awt/print/PrinterJob/TestMediaTraySelection.java +++ b/test/jdk/java/awt/print/PrinterJob/TestMediaTraySelection.java @@ -24,6 +24,7 @@ * @bug 6357887 8165146 8234393 * @summary Verifies if selected printertray is used * @requires (os.family == "linux" | os.family == "mac") + * @key printer * @run main/manual TestMediaTraySelection */ diff --git a/test/jdk/java/awt/print/PrinterJob/TestPageDlgFrameAssociation.java b/test/jdk/java/awt/print/PrinterJob/TestPageDlgFrameAssociation.java index 32ee61ad1c6bb..5ca2cda4b601e 100644 --- a/test/jdk/java/awt/print/PrinterJob/TestPageDlgFrameAssociation.java +++ b/test/jdk/java/awt/print/PrinterJob/TestPageDlgFrameAssociation.java @@ -23,6 +23,7 @@ /* * @test * @bug 7064425 6948907 + * @key printer * @summary Verifies if owner Frame is associated with page dialog of PrinterJob * @run main/manual TestPageDlgFrameAssociation */ diff --git a/test/jdk/java/awt/print/PrinterJob/TestPrintDlgFrameAssociation.java b/test/jdk/java/awt/print/PrinterJob/TestPrintDlgFrameAssociation.java index d1d54307ab55b..e5d58c8baea73 100644 --- a/test/jdk/java/awt/print/PrinterJob/TestPrintDlgFrameAssociation.java +++ b/test/jdk/java/awt/print/PrinterJob/TestPrintDlgFrameAssociation.java @@ -23,6 +23,7 @@ /* * @test * @bug 7064425 6948907 + * @key printer * @summary Verifies if owner Frame is associated with print dialog of PrinterJob * @run main/manual TestPrintDlgFrameAssociation */ diff --git a/test/jdk/java/awt/print/PrinterJob/TexturePaintPrintingTest.java b/test/jdk/java/awt/print/PrinterJob/TexturePaintPrintingTest.java index 8ac81c8bbad25..3d8c6815f9552 100644 --- a/test/jdk/java/awt/print/PrinterJob/TexturePaintPrintingTest.java +++ b/test/jdk/java/awt/print/PrinterJob/TexturePaintPrintingTest.java @@ -23,6 +23,7 @@ /* * @test * @bug 8040635 + * @key printer * @summary Verifies if TexturePaint is printed in osx * @run main/manual TexturePaintPrintingTest */ diff --git a/test/jdk/java/awt/print/PrinterJob/ThinLines.java b/test/jdk/java/awt/print/PrinterJob/ThinLines.java index 2d880a4400672..f8e4e60b31969 100644 --- a/test/jdk/java/awt/print/PrinterJob/ThinLines.java +++ b/test/jdk/java/awt/print/PrinterJob/ThinLines.java @@ -25,7 +25,7 @@ @test @bug 4190081 @summary Confirm that the you see "Z" shapes on the printed page. - @author prr/rbi: area=PrinterJob + @key printer @run main/manual ThinLines */ diff --git a/test/jdk/java/awt/print/PrinterJob/ValidatePage/ValidatePage.java b/test/jdk/java/awt/print/PrinterJob/ValidatePage/ValidatePage.java index 8c9f81b11df16..ccf0bed43bbbe 100644 --- a/test/jdk/java/awt/print/PrinterJob/ValidatePage/ValidatePage.java +++ b/test/jdk/java/awt/print/PrinterJob/ValidatePage/ValidatePage.java @@ -24,8 +24,8 @@ /** * @test * @bug 4252108 6229507 + * @key printer * @summary PrinterJob.validatePage() is unimplemented. - * @author prr * @run main/manual ValidatePage */ diff --git a/test/jdk/java/awt/print/PrinterJob/XparColor.java b/test/jdk/java/awt/print/PrinterJob/XparColor.java index dd39578f2cb37..9a85a78af558a 100644 --- a/test/jdk/java/awt/print/PrinterJob/XparColor.java +++ b/test/jdk/java/awt/print/PrinterJob/XparColor.java @@ -24,6 +24,7 @@ /** * @test * @bug 4179262 + @ @key printer * @summary Confirm that transparent colors are printed correctly. The * printout should show transparent rings with increasing darkness toward * the center. diff --git a/test/jdk/java/awt/print/PrinterJob/raster/RasterTest.java b/test/jdk/java/awt/print/PrinterJob/raster/RasterTest.java index 56adc8552f7cc..297094299135e 100644 --- a/test/jdk/java/awt/print/PrinterJob/raster/RasterTest.java +++ b/test/jdk/java/awt/print/PrinterJob/raster/RasterTest.java @@ -25,7 +25,7 @@ * @test * @bug 4242639 * @summary Printing quality problem on Canon and NEC - * @author prr + * @key printer * @run main/manual RasterTest */ import java.awt.*; diff --git a/test/jdk/java/awt/print/RemotePrinterStatusRefresh/RemotePrinterStatusRefresh.java b/test/jdk/java/awt/print/RemotePrinterStatusRefresh/RemotePrinterStatusRefresh.java index 3bfedb463a7fb..7768c54481a76 100644 --- a/test/jdk/java/awt/print/RemotePrinterStatusRefresh/RemotePrinterStatusRefresh.java +++ b/test/jdk/java/awt/print/RemotePrinterStatusRefresh/RemotePrinterStatusRefresh.java @@ -23,6 +23,7 @@ /* * @test + * @key printer * @bug 8153732 8212202 8221263 8221412 8222108 8263311 * @requires (os.family == "Windows") * @summary Windows remote printer changes do not reflect in lookupPrintServices() diff --git a/test/jdk/java/awt/print/bug8023392/bug8023392.html b/test/jdk/java/awt/print/bug8023392/bug8023392.html index c51ae001e2e1f..178fba9b230e1 100644 --- a/test/jdk/java/awt/print/bug8023392/bug8023392.html +++ b/test/jdk/java/awt/print/bug8023392/bug8023392.html @@ -26,7 +26,7 @@ @test @bug 8023392 @summary Swing text components printed with spaces between chars - @author Anton Nashatyrev + @key printer @modules java.desktop/sun.swing @run applet/manual=yesno bug8023392.html --> diff --git a/test/jdk/java/awt/print/bug8023392/bug8023392.java b/test/jdk/java/awt/print/bug8023392/bug8023392.java index 071c9021ddffb..d792562ea25a8 100644 --- a/test/jdk/java/awt/print/bug8023392/bug8023392.java +++ b/test/jdk/java/awt/print/bug8023392/bug8023392.java @@ -25,7 +25,7 @@ test @bug 8023392 8259232 @summary Swing text components printed with spaces between chars - @author Anton Nashatyrev + @key printer @run applet/manual=yesno bug8023392.html */ diff --git a/test/jdk/javax/print/DialogMargins.java b/test/jdk/javax/print/DialogMargins.java index cb5b488369c6f..ca45a1690a61f 100644 --- a/test/jdk/javax/print/DialogMargins.java +++ b/test/jdk/javax/print/DialogMargins.java @@ -24,12 +24,12 @@ /** * @test * @bug 4485755 6361370 6448717 5080051 6939417 8016343 + * @key printer * @summary dialog doesn't have way to specify margins * for 6361370, verify exception for offline printer in Windows * for 6448717, faster display of print dialog * for 6500903, verify status of printer if accepting jobs or not * for 8016343, verify printing to non-default printer - * @author prr * @run main/manual DialogMargins */ diff --git a/test/jdk/javax/print/LookupServices.java b/test/jdk/javax/print/LookupServices.java index 7f6b9f1f6043f..a5685dbc57c17 100644 --- a/test/jdk/javax/print/LookupServices.java +++ b/test/jdk/javax/print/LookupServices.java @@ -24,6 +24,7 @@ /* * @test * @bug 4510477 6520186 + * @key printer * @summary No crash with HP OfficeJet 600 installed. * @run main LookupServices */ diff --git a/test/jdk/javax/print/PrintServiceLookup/GetPrintServices.java b/test/jdk/javax/print/PrintServiceLookup/GetPrintServices.java index 544428566cb9d..092f7f17da550 100644 --- a/test/jdk/javax/print/PrintServiceLookup/GetPrintServices.java +++ b/test/jdk/javax/print/PrintServiceLookup/GetPrintServices.java @@ -29,6 +29,7 @@ /* * @test + * @key printer * @bug 8013810 8025439 * @summary Test that print service returned without filter are of the same class * as with name filter diff --git a/test/jdk/javax/print/PrintSubInputStream/Example.java b/test/jdk/javax/print/PrintSubInputStream/Example.java index 27acae8af6eff..b2aa913dccb47 100644 --- a/test/jdk/javax/print/PrintSubInputStream/Example.java +++ b/test/jdk/javax/print/PrintSubInputStream/Example.java @@ -23,9 +23,9 @@ /** * @test + * key printer * @bug 4700712 4707777 * @summary Should submit only 1 job in Windows and print only 1 page. - * @author jgodinez * @run main/manual Example */ import java.awt.*; diff --git a/test/jdk/javax/print/ServiceUIPropBtnTest.java b/test/jdk/javax/print/ServiceUIPropBtnTest.java index ccb57ba40376a..189b9b3ac25e8 100644 --- a/test/jdk/javax/print/ServiceUIPropBtnTest.java +++ b/test/jdk/javax/print/ServiceUIPropBtnTest.java @@ -23,6 +23,7 @@ /* @test @bug 8246742 + @key printer @summary Verifies ServiceUI.printDialog does not support properties dialog @run main/manual ServiceUIPropBtnTest */ diff --git a/test/jdk/javax/print/TextFlavorTest.java b/test/jdk/javax/print/TextFlavorTest.java index f703e8aacc576..18b5e08f6b497 100644 --- a/test/jdk/javax/print/TextFlavorTest.java +++ b/test/jdk/javax/print/TextFlavorTest.java @@ -24,6 +24,7 @@ /* @test @bug 6334074 8022536 + @key printer @summary test supported text flavors reported properly @run main TextFlavorTest */ diff --git a/test/jdk/javax/print/attribute/Chroma.java b/test/jdk/javax/print/attribute/Chroma.java index 5968f95140950..60ce9f6719ac6 100644 --- a/test/jdk/javax/print/attribute/Chroma.java +++ b/test/jdk/javax/print/attribute/Chroma.java @@ -21,7 +21,7 @@ * questions. */ /* - * @test 1.3 01/05/11 + * @test * @bug 4456750 * @summary Test for supported chromaticity values with null DocFlavor. * No exception should be thrown. diff --git a/test/jdk/javax/print/attribute/CollateAttr.java b/test/jdk/javax/print/attribute/CollateAttr.java index 5ea8a78be3754..0c6cef60bce90 100644 --- a/test/jdk/javax/print/attribute/CollateAttr.java +++ b/test/jdk/javax/print/attribute/CollateAttr.java @@ -24,6 +24,7 @@ /** * @test * @bug 6574117 + * @key printer * @summary Verify no NPE testing service support of SheetCollate * @run main CollateAttr */ diff --git a/test/jdk/javax/print/attribute/PSCopiesFlavorTest.java b/test/jdk/javax/print/attribute/PSCopiesFlavorTest.java index 25b5d955fa555..3f78fa3853744 100644 --- a/test/jdk/javax/print/attribute/PSCopiesFlavorTest.java +++ b/test/jdk/javax/print/attribute/PSCopiesFlavorTest.java @@ -24,6 +24,7 @@ /** * @test * @bug 6527316 6732647 + * @key printer * @summary Copies isn't supported for PS flavors. * @run main PSCopiesFlavorTest */ diff --git a/test/jdk/javax/print/attribute/PrintResAttr.java b/test/jdk/javax/print/attribute/PrintResAttr.java index c5467b3253275..dee94ae1b78d0 100644 --- a/test/jdk/javax/print/attribute/PrintResAttr.java +++ b/test/jdk/javax/print/attribute/PrintResAttr.java @@ -23,6 +23,7 @@ /** * @test + * @key printer * @bug 8048328 * @summary CUPS Printing does not report supported printer resolutions. * @run main PrintResAttr diff --git a/test/jdk/javax/print/attribute/ServiceDialogTest.java b/test/jdk/javax/print/attribute/ServiceDialogTest.java index bce24e749cf68..626325ab1a417 100644 --- a/test/jdk/javax/print/attribute/ServiceDialogTest.java +++ b/test/jdk/javax/print/attribute/ServiceDialogTest.java @@ -25,6 +25,7 @@ /** * @test * @bug 4910388 4871089 4998624 + * @key printer * @summary Confirm that * 1. After choosing Reverse Landscape in the system default print * Print Service (2nd in the list), it diff --git a/test/jdk/javax/print/attribute/ServiceDialogValidateTest.java b/test/jdk/javax/print/attribute/ServiceDialogValidateTest.java index 929f76869cff3..3598d4ae7bd04 100644 --- a/test/jdk/javax/print/attribute/ServiceDialogValidateTest.java +++ b/test/jdk/javax/print/attribute/ServiceDialogValidateTest.java @@ -23,6 +23,7 @@ /* * @test * @bug 5049012 8163922 + * @key printer * @summary Verify if PrintToFile option is disabled for flavors that do not * support Destination * @requires (os.family == "linux") diff --git a/test/jdk/javax/print/attribute/ServiceDlgPageRangeTest.java b/test/jdk/javax/print/attribute/ServiceDlgPageRangeTest.java index bdf3368f5b0bc..f2982a13669bb 100644 --- a/test/jdk/javax/print/attribute/ServiceDlgPageRangeTest.java +++ b/test/jdk/javax/print/attribute/ServiceDlgPageRangeTest.java @@ -23,6 +23,7 @@ /* * @test * @bug 5080098 8164205 + * @key printer * @summary Verify if PageRanges option is disabled for Non service-formatted * flavors. * @run main/manual ServiceDlgPageRangeTest diff --git a/test/jdk/javax/print/attribute/ServiceDlgSheetCollateTest.java b/test/jdk/javax/print/attribute/ServiceDlgSheetCollateTest.java index 4f80acc29aab2..dd569639f2597 100644 --- a/test/jdk/javax/print/attribute/ServiceDlgSheetCollateTest.java +++ b/test/jdk/javax/print/attribute/ServiceDlgSheetCollateTest.java @@ -23,6 +23,7 @@ /* * @test * @bug 5080830 + * @key printer * @summary Verify if SheetCollate option is disabled for flavors that do not * support SheetCollate * @run main/manual ServiceDlgSheetCollateTest diff --git a/test/jdk/javax/print/attribute/Services_getDocFl.java b/test/jdk/javax/print/attribute/Services_getDocFl.java index ca926b3992834..63986e46a9383 100644 --- a/test/jdk/javax/print/attribute/Services_getDocFl.java +++ b/test/jdk/javax/print/attribute/Services_getDocFl.java @@ -28,6 +28,7 @@ /* * @test + * @key printer * @bug 4901243 8040139 8167291 * @summary JPG, GIF, and PNG DocFlavors (URL) should be supported if Postscript is supported. * @run main Services_getDocFl diff --git a/test/jdk/javax/print/attribute/SidesAttributeTest.java b/test/jdk/javax/print/attribute/SidesAttributeTest.java index 60454f304076d..09890c7211bce 100644 --- a/test/jdk/javax/print/attribute/SidesAttributeTest.java +++ b/test/jdk/javax/print/attribute/SidesAttributeTest.java @@ -25,6 +25,7 @@ /* * @test * @bug JDK-8311033 + * @key printer * @summary [macos] PrinterJob does not take into account Sides attribute * @run main/manual SidesAttributeTest */ diff --git a/test/jdk/javax/print/attribute/TestUnsupportedResolution.java b/test/jdk/javax/print/attribute/TestUnsupportedResolution.java index 0ecf842af2aa4..78e7e93c5f535 100644 --- a/test/jdk/javax/print/attribute/TestUnsupportedResolution.java +++ b/test/jdk/javax/print/attribute/TestUnsupportedResolution.java @@ -25,6 +25,7 @@ /** * @test * @bug 8033277 + * @key printer * @summary Confirm that scaling of printout is correct. Manual comparison with printout using a supported resolution is needed. * @run main/manual TestUnsupportedResolution */ diff --git a/test/jdk/javax/print/attribute/autosense/PrintAutoSenseData.java b/test/jdk/javax/print/attribute/autosense/PrintAutoSenseData.java index f5ddc0d15e275..008e0917342a3 100644 --- a/test/jdk/javax/print/attribute/autosense/PrintAutoSenseData.java +++ b/test/jdk/javax/print/attribute/autosense/PrintAutoSenseData.java @@ -24,6 +24,7 @@ /* * @test * @bug 4468109 8021583 + * @key printer * @summary Test for printing AUTOSENSE DocFlavor. No exception should be thrown. * @run main PrintAutoSenseData */ From 56d4c33f4096d98d08eba870070b5f21125f80be Mon Sep 17 00:00:00 2001 From: Alexey Semenyuk Date: Fri, 1 Dec 2023 01:53:20 +0000 Subject: [PATCH 030/143] 8227529: With malformed --app-image the error messages are awful Reviewed-by: almatvee --- .../jdk/jpackage/test/JPackageCommand.java | 22 ++++++-- .../jdk/jpackage/test/PackageTest.java | 6 ++- .../jpackage/share/AppImagePackageTest.java | 50 +++++++++++++++++++ 3 files changed, 71 insertions(+), 7 deletions(-) diff --git a/test/jdk/tools/jpackage/helpers/jdk/jpackage/test/JPackageCommand.java b/test/jdk/tools/jpackage/helpers/jdk/jpackage/test/JPackageCommand.java index 30a4c6f8cd8e5..fd62d6c7d8820 100644 --- a/test/jdk/tools/jpackage/helpers/jdk/jpackage/test/JPackageCommand.java +++ b/test/jdk/tools/jpackage/helpers/jdk/jpackage/test/JPackageCommand.java @@ -423,6 +423,14 @@ public Path outputBundle() { return outputDir().resolve(bundleName); } + Optional nullableOutputBundle() { + try { + return Optional.ofNullable(outputBundle()); + } catch (Exception ex) { + return Optional.empty(); + } + } + /** * Returns application layout. * @@ -749,11 +757,15 @@ public Executor.Result execute(int expectedExitCode) { if (hasArgument("--dest")) { if (isImagePackageType()) { TKit.deleteDirectoryContentsRecursive(outputDir()); - } else if (ThrowingSupplier.toSupplier(() -> TKit.deleteIfExists( - outputBundle())).get()) { - TKit.trace( - String.format("Deleted [%s] file before running jpackage", - outputBundle())); + } else { + nullableOutputBundle().ifPresent(path -> { + if (ThrowingSupplier.toSupplier(() -> TKit.deleteIfExists( + path)).get()) { + TKit.trace(String.format( + "Deleted [%s] file before running jpackage", + path)); + } + }); } } diff --git a/test/jdk/tools/jpackage/helpers/jdk/jpackage/test/PackageTest.java b/test/jdk/tools/jpackage/helpers/jdk/jpackage/test/PackageTest.java index 834948b830ae8..d597c62d83f17 100644 --- a/test/jdk/tools/jpackage/helpers/jdk/jpackage/test/PackageTest.java +++ b/test/jdk/tools/jpackage/helpers/jdk/jpackage/test/PackageTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2019, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -582,7 +582,9 @@ public void accept(Action action, JPackageCommand cmd) { if (expectedJPackageExitCode == 0) { TKit.assertFileExists(cmd.outputBundle()); } else { - TKit.assertPathExists(cmd.outputBundle(), false); + cmd.nullableOutputBundle().ifPresent(outputBundle -> { + TKit.assertPathExists(outputBundle, false); + }); } verifyPackageBundle(cmd, result); break; diff --git a/test/jdk/tools/jpackage/share/AppImagePackageTest.java b/test/jdk/tools/jpackage/share/AppImagePackageTest.java index 4f229e5c93459..949e68faae2ee 100644 --- a/test/jdk/tools/jpackage/share/AppImagePackageTest.java +++ b/test/jdk/tools/jpackage/share/AppImagePackageTest.java @@ -25,6 +25,7 @@ import java.nio.file.Files; import java.io.IOException; import java.util.List; +import jdk.jpackage.internal.AppImageFile; import jdk.jpackage.test.Annotations.Parameter; import jdk.jpackage.test.TKit; import jdk.jpackage.test.JPackageCommand; @@ -102,6 +103,55 @@ public static void testEmpty(boolean withIcon) throws IOException { // default: {CREATE, UNPACK, VERIFY}, but we can't verify foreign image } + @Test + public static void testBadAppImage() throws IOException { + Path appImageDir = TKit.createTempDirectory("appimage"); + Files.createFile(appImageDir.resolve("foo")); + configureAppImageWithoutJPackageXMLFile(appImageDir).addInitializer( + cmd -> { + cmd.removeArgumentWithValue("--name"); + }).run(Action.CREATE); + } + + @Test + public static void testBadAppImage2() throws IOException { + Path appImageDir = TKit.createTempDirectory("appimage"); + Files.createFile(appImageDir.resolve("foo")); + configureAppImageWithoutJPackageXMLFile(appImageDir).run(Action.CREATE); + } + + @Test + public static void testBadAppImage3() throws IOException { + Path appImageDir = TKit.createTempDirectory("appimage"); + + JPackageCommand appImageCmd = JPackageCommand.helloAppImage(). + setFakeRuntime().setArgumentValue("--dest", appImageDir); + + configureAppImageWithoutJPackageXMLFile(appImageCmd.outputBundle()). + addRunOnceInitializer(() -> { + appImageCmd.execute(); + Files.delete(AppImageFile.getPathInAppImage(appImageCmd. + outputBundle())); + }).run(Action.CREATE); + } + + private static PackageTest configureAppImageWithoutJPackageXMLFile( + Path appImageDir) { + return new PackageTest() + .addInitializer(cmd -> { + cmd.saveConsoleOutput(true); + cmd.addArguments("--app-image", appImageDir); + cmd.removeArgumentWithValue("--input"); + cmd.ignoreDefaultVerbose(true); // no "--verbose" option + }) + .addBundleVerifier((cmd, result) -> { + TKit.assertTextStream( + "Error: Missing .jpackage.xml file in app-image dir").apply( + result.getOutput().stream()); + }) + .setExpectedExitCode(1); + } + private static Path iconPath(String name) { return TKit.TEST_SRC_ROOT.resolve(Path.of("resources", name + TKit.ICON_SUFFIX)); From 02ffab1a4d9e1209f3f1da715acae975e0754551 Mon Sep 17 00:00:00 2001 From: Vladimir Kozlov Date: Fri, 1 Dec 2023 03:35:31 +0000 Subject: [PATCH 031/143] 8321141: VM build issue on MacOS after JDK-8267532 Reviewed-by: jiefu --- src/hotspot/share/ci/ciMethodData.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/hotspot/share/ci/ciMethodData.cpp b/src/hotspot/share/ci/ciMethodData.cpp index 8d1772f655fa9..dc7082c15ca9d 100644 --- a/src/hotspot/share/ci/ciMethodData.cpp +++ b/src/hotspot/share/ci/ciMethodData.cpp @@ -474,6 +474,7 @@ ciBitData ciMethodData::exception_handler_bci_to_data(int bci) { } // called with invalid bci or wrong Method/MethodData ShouldNotReachHere(); + return ciBitData(nullptr); } // Conservatively decode the trap_state of a ciProfileData. From 4ba94ef69ef2ee576c50bb6003a795746dcdf30d Mon Sep 17 00:00:00 2001 From: Aggelos Biboudis Date: Fri, 1 Dec 2023 07:13:39 +0000 Subject: [PATCH 032/143] 8320145: Compiler should accept final variable in Record Pattern Reviewed-by: jlahoda --- .../sun/tools/javac/parser/JavacParser.java | 2 + .../tools/javac/patterns/T8317300.out | 6 +-- .../tools/javac/patterns/T8320145.java | 42 +++++++++++++++++++ 3 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 test/langtools/tools/javac/patterns/T8320145.java diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java index bf124bc35bc66..977df7759ab64 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java @@ -3361,6 +3361,8 @@ PatternResult analyzePattern(int lookahead) { case RPAREN: parenDepth--; break; case ARROW: return parenDepth > 0 ? PatternResult.EXPRESSION : pendingResult; + case FINAL: + if (parenDepth > 0) return PatternResult.PATTERN; default: return pendingResult; } lookahead++; diff --git a/test/langtools/tools/javac/patterns/T8317300.out b/test/langtools/tools/javac/patterns/T8317300.out index f28fd7467d80a..6889c873db560 100644 --- a/test/langtools/tools/javac/patterns/T8317300.out +++ b/test/langtools/tools/javac/patterns/T8317300.out @@ -1,5 +1,3 @@ T8317300.java:13:18: compiler.err.mod.not.allowed.here: final -T8317300.java:20:22: compiler.err.illegal.start.of.expr -T8317300.java:20:31: compiler.err.expected: token.identifier -T8317300.java:20:37: compiler.err.expected: ';' -4 errors +T8317300.java:20:22: compiler.err.mod.not.allowed.here: final +2 errors diff --git a/test/langtools/tools/javac/patterns/T8320145.java b/test/langtools/tools/javac/patterns/T8320145.java new file mode 100644 index 0000000000000..67c851a82aa84 --- /dev/null +++ b/test/langtools/tools/javac/patterns/T8320145.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 8320145 + * @summary Compiler should accept final variable in Record Pattern + * @compile T8320145.java + */ +public class T8320145 { + record ARecord(String aComponent) {} + record BRecord(ARecord aComponent) {} + record CRecord(ARecord aComponent1, ARecord aComponent2) {} + + public String match(Object o) { + return switch(o) { + case ARecord(final String s) -> s; + case BRecord(ARecord(final String s)) -> s; + case CRecord(ARecord(String s), ARecord(final String s2)) -> s; + default -> "No match"; + }; + } +} From 2476be4590f9ece654d16bf7b94f108f18a86061 Mon Sep 17 00:00:00 2001 From: Alan Bateman Date: Fri, 1 Dec 2023 07:31:10 +0000 Subject: [PATCH 033/143] 8320716: ResolvedModule::reads includes self when configuration contains two or more automatic modules Reviewed-by: mchung --- .../java/lang/module/ResolvedModule.java | 4 +- .../classes/java/lang/module/Resolver.java | 44 +-- .../lang/module/AutomaticModulesTest.java | 323 +++++++++--------- 3 files changed, 183 insertions(+), 188 deletions(-) diff --git a/src/java.base/share/classes/java/lang/module/ResolvedModule.java b/src/java.base/share/classes/java/lang/module/ResolvedModule.java index 7309e291b4b95..0237dbe295967 100644 --- a/src/java.base/share/classes/java/lang/module/ResolvedModule.java +++ b/src/java.base/share/classes/java/lang/module/ResolvedModule.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -97,6 +97,8 @@ public String name() { /** * Returns the set of resolved modules that this resolved module reads. + * The readability relation is reflexive (every module reads itself). The + * set of resolved modules returned by this method does not include itself. * * @return A possibly-empty unmodifiable set of resolved modules that * this resolved module reads diff --git a/src/java.base/share/classes/java/lang/module/Resolver.java b/src/java.base/share/classes/java/lang/module/Resolver.java index 3cd0254ba4e68..bff087fb67432 100644 --- a/src/java.base/share/classes/java/lang/module/Resolver.java +++ b/src/java.base/share/classes/java/lang/module/Resolver.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -497,7 +497,6 @@ private void checkHashes() { * and m2 reads m3. */ private Map> makeGraph(Configuration cf) { - int moduleCount = nameToReference.size(); // the "reads" graph starts as a module dependence graph and @@ -537,9 +536,7 @@ private Map> makeGraph(Configuration cf) { } // populate g1 and g2 with the dependences from the selected modules - Map nameToResolved = HashMap.newHashMap(moduleCount); - for (ModuleReference mref : nameToReference.values()) { ModuleDescriptor descriptor = mref.descriptor(); String name = descriptor.name(); @@ -595,8 +592,7 @@ private Map> makeGraph(Configuration cf) { String name2 = descriptor2.name(); if (!name.equals(name2)) { - ResolvedModule m2 - = computeIfAbsent(nameToResolved, name2, cf, mref2); + ResolvedModule m2 = computeIfAbsent(nameToResolved, name2, cf, mref2); reads.add(m2); if (descriptor2.isAutomatic()) requiresTransitive.add(m2); @@ -622,29 +618,33 @@ private Map> makeGraph(Configuration cf) { g2.put(m1, requiresTransitive); } - // Iteratively update g1 until there are no more requires transitive - // to propagate + // Iteratively update g1 until there are no more requires transitive to propagate boolean changed; List toAdd = new ArrayList<>(); do { changed = false; - for (Set m1Reads : g1.values()) { - for (ResolvedModule m2 : m1Reads) { - Set m2RequiresTransitive = g2.get(m2); - if (m2RequiresTransitive != null) { - for (ResolvedModule m3 : m2RequiresTransitive) { - if (!m1Reads.contains(m3)) { - // m1 reads m2, m2 requires transitive m3 - // => need to add m1 reads m3 - toAdd.add(m3); + for (Map.Entry> e : g1.entrySet()) { + ResolvedModule m1 = e.getKey(); + // automatic module already reads all selected modules so nothing to propagate + if (!m1.descriptor().isAutomatic()) { + Set m1Reads = e.getValue(); + for (ResolvedModule m2 : m1Reads) { + Set m2RequiresTransitive = g2.get(m2); + if (m2RequiresTransitive != null) { + for (ResolvedModule m3 : m2RequiresTransitive) { + if (!m1Reads.contains(m3)) { + // m1 reads m2, m2 requires transitive m3 + // => need to add m1 reads m3 + toAdd.add(m3); + } } } } - } - if (!toAdd.isEmpty()) { - m1Reads.addAll(toAdd); - toAdd.clear(); - changed = true; + if (!toAdd.isEmpty()) { + m1Reads.addAll(toAdd); + toAdd.clear(); + changed = true; + } } } } while (changed); diff --git a/test/jdk/java/lang/module/AutomaticModulesTest.java b/test/jdk/java/lang/module/AutomaticModulesTest.java index a1977ae8774dc..84240be22fea0 100644 --- a/test/jdk/java/lang/module/AutomaticModulesTest.java +++ b/test/jdk/java/lang/module/AutomaticModulesTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2021, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved. * 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,12 +23,12 @@ /** * @test - * @bug 8142968 8253751 8262944 + * @bug 8142968 8253751 8262944 8314986 * @library /test/lib * @build AutomaticModulesTest * jdk.test.lib.util.JarUtils * jdk.test.lib.util.ModuleUtils - * @run testng AutomaticModulesTest + * @run junit AutomaticModulesTest * @summary Basic tests for automatic modules */ @@ -54,75 +54,69 @@ import jdk.test.lib.util.JarUtils; import jdk.test.lib.util.ModuleUtils; -import org.testng.annotations.DataProvider; -import org.testng.annotations.Test; -import static org.testng.Assert.*; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; +import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.params.provider.Arguments.arguments; -@Test public class AutomaticModulesTest { - private static final Path USER_DIR = Path.of(System.getProperty("user.dir")); - @DataProvider(name = "jarnames") - public Object[][] createJarNames() { - return new Object[][] { - - // JAR file name module-name[/version] - - { "foo.jar", "foo" }, - { "foo4j.jar", "foo4j", }, - - { "foo1.jar", "foo1" }, - { "foo10.jar", "foo10" }, - - { "foo-1.jar", "foo/1" }, - { "foo-1.2.jar", "foo/1.2" }, - { "foo-1.2.3.jar", "foo/1.2.3" }, - { "foo-1.2.3.4.jar", "foo/1.2.3.4" }, - - { "foo-10.jar", "foo/10" }, - { "foo-10.20.jar", "foo/10.20" }, - { "foo-10.20.30.jar", "foo/10.20.30" }, - { "foo-10.20.30.40.jar", "foo/10.20.30.40" }, - - { "foo-bar.jar", "foo.bar" }, - { "foo-bar-1.jar", "foo.bar/1" }, - { "foo-bar-1.2.jar", "foo.bar/1.2"}, - { "foo-bar-10.jar", "foo.bar/10" }, - { "foo-bar-10.20.jar", "foo.bar/10.20" }, - - { "foo.bar1.jar", "foo.bar1" }, - { "foo.bar10.jar", "foo.bar10" }, - - { "foo-1.2-SNAPSHOT.jar", "foo/1.2-SNAPSHOT" }, - { "foo-bar-1.2-SNAPSHOT.jar", "foo.bar/1.2-SNAPSHOT" }, - - { "foo--bar-1.0.jar", "foo.bar/1.0" }, - { "-foo-bar-1.0.jar", "foo.bar/1.0" }, - { "foo-bar--1.0.jar", "foo.bar/1.0" }, - - }; + // JAR file name to expected module name / version + static Stream jarNames() { + return Stream.of( + arguments( "foo.jar", "foo" ), + arguments( "foo4j.jar", "foo4j" ), + + arguments( "foo1.jar", "foo1" ), + arguments( "foo10.jar", "foo10" ), + + arguments( "foo-1.jar", "foo/1" ), + arguments( "foo-1.2.jar", "foo/1.2" ), + arguments( "foo-1.2.3.jar", "foo/1.2.3" ), + arguments( "foo-1.2.3.4.jar", "foo/1.2.3.4" ), + + arguments( "foo-10.jar", "foo/10" ), + arguments( "foo-10.20.jar", "foo/10.20" ), + arguments( "foo-10.20.30.jar", "foo/10.20.30" ), + arguments( "foo-10.20.30.40.jar", "foo/10.20.30.40" ), + + arguments( "foo-bar.jar", "foo.bar" ), + arguments( "foo-bar-1.jar", "foo.bar/1" ), + arguments( "foo-bar-1.2.jar", "foo.bar/1.2" ), + arguments( "foo-bar-10.jar", "foo.bar/10" ), + arguments( "foo-bar-10.20.jar", "foo.bar/10.20" ), + + arguments("foo.bar1.jar", "foo.bar1" ), + arguments( "foo.bar10.jar", "foo.bar10" ), + + arguments( "foo-1.2-SNAPSHOT.jar", "foo/1.2-SNAPSHOT" ), + arguments( "foo-bar-1.2-SNAPSHOT.jar", "foo.bar/1.2-SNAPSHOT" ), + + arguments( "foo--bar-1.0.jar", "foo.bar/1.0" ), + arguments( "-foo-bar-1.0.jar", "foo.bar/1.0" ), + arguments( "foo-bar--1.0.jar", "foo.bar/1.0" ) + ); } // JAR file names that do not map to a legal module name - @DataProvider(name = "badjarnames") - public Object[][] createBadNames() { - return new Object[][]{ - - { ".jar", null }, - { "_.jar", null }, - - { "foo.1.jar", null }, - { "1foo.jar", null }, - { "foo.1bar.jar", null }, - - }; + static Stream barJarNames() { + return Stream.of( + ".jar", + "_.jar", + "foo.1.jar", + "1foo.jar", + "foo.1bar.jar" + ); } /** * Test mapping of JAR file names to module names */ - @Test(dataProvider = "jarnames") + @ParameterizedTest + @MethodSource("jarNames") public void testNames(String fn, String mid) throws IOException { String[] s = mid.split("/"); String mn = s[0]; @@ -143,19 +137,20 @@ public void testNames(String fn, String mid) throws IOException { ModuleDescriptor descriptor = mref.get().descriptor(); assertTrue(descriptor.isAutomatic()); - assertEquals(descriptor.name(), mn); + assertEquals(mn, descriptor.name()); if (vs == null) { assertFalse(descriptor.version().isPresent()); } else { - assertEquals(descriptor.version().get().toString(), vs); + assertEquals(vs, descriptor.version().get().toString()); } } /** * Test impossible mapping of JAR files to modules names */ - @Test(dataProvider = "badjarnames", expectedExceptions = FindException.class) - public void testBadNames(String fn, String ignore) throws IOException { + @ParameterizedTest + @MethodSource("barJarNames") + public void testBadNames(String fn) throws IOException { Path dir = Files.createTempDirectory(USER_DIR, "mods"); Path jf = dir.resolve(fn); @@ -163,37 +158,36 @@ public void testBadNames(String fn, String ignore) throws IOException { createDummyJarFile(jf); // should throw FindException - ModuleFinder.of(dir).findAll(); + var finder = ModuleFinder.of(dir); + assertThrows(FindException.class, finder::findAll); } - @DataProvider(name = "modulenames") - public Object[][] createModuleNames() { - return new Object[][] { - { "foo", null }, - { "foo", "1.0" }, - { "foo.bar", null }, - { "foo.bar", "1.0" }, - { "class_", null }, - { "class_", "1.0" }, - }; + // Automatic-Module-Name attribute values and version in JAR file name + static Stream automaticModuleNames() { + return Stream.of( + arguments( "foo", null ), + arguments( "foo", "1.0" ), + arguments( "foo.bar", null ), + arguments( "foo.bar", "1.0" ), + arguments( "class_", null ), + arguments( "class_", "1.0" ) + ); } - @DataProvider(name = "badmodulenames") - public Object[][] createBadModuleNames() { - return new Object[][] { - { "", null }, - { "", "1.0" }, - { "666", null }, - { "666", "1.0" }, - { "foo.class", null }, - { "foo.class", "1.0" }, - }; + // Bad Automatic-Module-Name attribute values + static Stream badAutomaticModuleNames() { + return Stream.of( + "", + "666", + "foo.class" + ); } /** * Test JAR files with the Automatic-Module-Name attribute */ - @Test(dataProvider = "modulenames") + @ParameterizedTest + @MethodSource("automaticModuleNames") public void testAutomaticModuleNameAttribute(String name, String vs) throws IOException { @@ -218,27 +212,26 @@ public void testAutomaticModuleNameAttribute(String name, String vs) ModuleReference mref = finder.find(name).get(); ModuleDescriptor descriptor = mref.descriptor(); - assertEquals(descriptor.name(), name); - assertEquals(descriptor.version() + assertEquals(name, descriptor.name()); + assertEquals(vs, descriptor.version() .map(ModuleDescriptor.Version::toString) - .orElse(null), vs); + .orElse(null)); } /** * Test JAR files with the Automatic-Module-Name attribute with a value * that is not a legal module name. */ - @Test(dataProvider = "badmodulenames", expectedExceptions = FindException.class) - public void testBadAutomaticModuleNameAttribute(String name, String ignore) - throws IOException - { - // should throw FindException - testAutomaticModuleNameAttribute(name, null); + @ParameterizedTest + @MethodSource("badAutomaticModuleNames") + public void testBadAutomaticModuleNameAttribute(String name) throws IOException { + assertThrows(FindException.class, () -> testAutomaticModuleNameAttribute(name, null)); } /** * Test all packages are exported */ + @Test public void testPackages() throws IOException { Path dir = Files.createTempDirectory(USER_DIR, "mods"); createDummyJarFile(dir.resolve("m.jar"), @@ -263,6 +256,7 @@ public void testPackages() throws IOException { * Test class files in JAR file where the entry does not correspond to a * legal package name. */ + @Test public void testBadPackage() throws IOException { Path dir = Files.createTempDirectory(USER_DIR, "mods"); createDummyJarFile(dir.resolve("m.jar"), "p/C1.class", "p-/C2.class"); @@ -284,6 +278,7 @@ public void testBadPackage() throws IOException { /** * Test non-class resources in a JAR file. */ + @Test public void testNonClassResources() throws IOException { Path dir = Files.createTempDirectory(USER_DIR, "mods"); createDummyJarFile(dir.resolve("m.jar"), @@ -307,17 +302,18 @@ public void testNonClassResources() throws IOException { /** * Test .class file in unnamed package (top-level directory) */ - @Test(expectedExceptions = FindException.class) + @Test public void testClassInUnnamedPackage() throws IOException { Path dir = Files.createTempDirectory(USER_DIR, "mods"); createDummyJarFile(dir.resolve("m.jar"), "Mojo.class"); - ModuleFinder finder = ModuleFinder.of(dir); - finder.findAll(); + var finder = ModuleFinder.of(dir); + assertThrows(FindException.class, finder::findAll); } /** * Test JAR file with META-INF/services configuration file */ + @Test public void testServicesConfiguration() throws IOException { String service = "p.S"; String provider = "p.S1"; @@ -345,27 +341,25 @@ public void testServicesConfiguration() throws IOException { ModuleDescriptor descriptor = mref.get().descriptor(); assertTrue(descriptor.provides().size() == 1); ModuleDescriptor.Provides provides = descriptor.provides().iterator().next(); - assertEquals(provides.service(), service); + assertEquals(service, provides.service()); assertTrue(provides.providers().size() == 1); assertTrue(provides.providers().contains((provider))); } // META-INF/services files that don't map to legal service names - @DataProvider(name = "badservices") - public Object[][] createBadServices() { - return new Object[][] { - - // service type provider type - { "-", "p.S1" }, - { ".S", "p.S1" }, - }; + static Stream badServices() { + return Stream.of( + arguments( "-", "p.S1" ), + arguments( ".S", "p.S1" ) + ); } /** * Test JAR file with META-INF/services configuration file with bad * values or names. */ - @Test(dataProvider = "badservices") + @ParameterizedTest + @MethodSource("badServices") public void testBadServicesNames(String service, String provider) throws IOException { @@ -383,22 +377,20 @@ public void testBadServicesNames(String service, String provider) } // META-INF/services configuration file entries that are not legal - @DataProvider(name = "badproviders") - public Object[][] createBadProviders() { - return new Object[][] { - - // service type provider type - { "p.S", "-" }, - { "p.S", "p..S1" }, - { "p.S", "S1." }, - }; + static Stream badProviders() { + return Stream.of( + arguments("p.S", "-"), + arguments("p.S", "p..S1"), + arguments("p.S", "S1.") + ); } /** * Test JAR file with META-INF/services configuration file with bad * values or names. */ - @Test(dataProvider = "badproviders", expectedExceptions = FindException.class) + @ParameterizedTest + @MethodSource("badProviders") public void testBadProviderNames(String service, String provider) throws IOException { @@ -418,14 +410,15 @@ public void testBadProviderNames(String service, String provider) JarUtils.createJarFile(dir.resolve("m.jar"), tmpdir); // should throw FindException - ModuleFinder.of(dir).findAll(); + var finder = ModuleFinder.of(dir); + assertThrows(FindException.class, finder::findAll); } /** * Test JAR file with META-INF/services configuration file listing a * provider that is not in the module. */ - @Test(expectedExceptions = FindException.class) + @Test public void testMissingProviderPackage() throws IOException { Path tmpdir = Files.createTempDirectory(USER_DIR, "tmp"); @@ -438,31 +431,20 @@ public void testMissingProviderPackage() throws IOException { Path jarfile = dir.resolve("m.jar"); JarUtils.createJarFile(jarfile, tmpdir); - // catch FindException, inspect its cause's type and details, and rethrow - var expectedMessage = "Provider class q.P not in JAR file " + jarfile.getFileName(); - try { - ModuleFinder.of(dir).findAll(); - } catch (FindException exception) { - if (exception.getCause() instanceof InvalidModuleDescriptorException imde) { - var actualMessage = imde.getMessage(); - if (actualMessage.equals(expectedMessage)) { - throw exception; // rethrow as expected - } - throw new AssertionError( - """ - Unexpected detail message in InvalidModuleDescriptorException: - Expected message -> '%s' - Actual message -> '%s' - """.formatted(expectedMessage, actualMessage)); - } - throw new AssertionError("Unexpected exception cause: " + exception.getCause()); - } + // FindException should be thrown with InvalidModuleDescriptorException as cause + var finder = ModuleFinder.of(dir); + FindException ex = assertThrows(FindException.class, () -> finder.findAll()); + Throwable cause = ex.getCause(); + assertTrue(cause instanceof InvalidModuleDescriptorException); + var imde = (InvalidModuleDescriptorException) cause; + assertEquals("Provider class q.P not in JAR file " + jarfile.getFileName(), imde.getMessage()); } /** * Test that a JAR file with a Main-Class attribute results * in a module with a main class. */ + @Test public void testMainClass() throws IOException { String mainClass = "p.Main"; @@ -481,27 +463,24 @@ public void testMainClass() throws IOException { Configuration cf = resolve(parent, finder, "m"); ModuleDescriptor descriptor = findDescriptor(cf, "m"); - - assertTrue(descriptor.mainClass().isPresent()); - assertEquals(descriptor.mainClass().get(), mainClass); + assertEquals(mainClass, descriptor.mainClass().get()); } - // Main-Class files that do not map to a legal qualified type name - @DataProvider(name = "badmainclass") - public Object[][] createBadMainClass() { - return new Object[][] { - { "p..Main", null }, - { "p-.Main", null }, - - }; + // Main-Class attribute values that do not map to a legal qualified type name + static Stream badMainClasses() { + return Stream.of( + "p..Main", + "p-.Main" + ); } /** * Test that a JAR file with a Main-Class attribute that is not a qualified * type name. */ - @Test(dataProvider = "badmainclass") - public void testBadMainClass(String mainClass, String ignore) throws IOException { + @ParameterizedTest + @MethodSource("badMainClasses") + public void testBadMainClass(String mainClass) throws IOException { Manifest man = new Manifest(); Attributes attrs = man.getMainAttributes(); attrs.put(Attributes.Name.MANIFEST_VERSION, "1.0.0"); @@ -521,6 +500,7 @@ public void testBadMainClass(String mainClass, String ignore) throws IOException /** * Test that a JAR file with a Main-Class attribute that is not in the module */ + @Test public void testMissingMainClassPackage() throws IOException { Manifest man = new Manifest(); Attributes attrs = man.getMainAttributes(); @@ -544,6 +524,7 @@ public void testMissingMainClassPackage() throws IOException { * b* * c* */ + @Test public void testConfiguration1() throws Exception { ModuleDescriptor descriptor1 = ModuleDescriptor.newModule("a") @@ -588,13 +569,14 @@ public void testConfiguration1() throws Exception { assertTrue(a.reads().contains(c)); assertTrue(b.reads().contains(a)); + assertFalse(b.reads().contains(b)); assertTrue(b.reads().contains(c)); testReadAllBootModules(cf, "b"); // b reads all modules in boot layer assertTrue(c.reads().contains(a)); assertTrue(c.reads().contains(b)); + assertFalse(c.reads().contains(c)); testReadAllBootModules(cf, "c"); // c reads all modules in boot layer - } /** @@ -604,6 +586,7 @@ public void testConfiguration1() throws Exception { * c* * d* */ + @Test public void testInConfiguration2() throws IOException { ModuleDescriptor descriptor1 = ModuleDescriptor.newModule("a") @@ -660,12 +643,14 @@ public void testInConfiguration2() throws IOException { assertTrue(c.reads().contains(a)); assertTrue(c.reads().contains(b)); + assertFalse(c.reads().contains(c)); assertTrue(c.reads().contains(d)); testReadAllBootModules(cf, "c"); // c reads all modules in boot layer assertTrue(d.reads().contains(a)); assertTrue(d.reads().contains(b)); assertTrue(d.reads().contains(c)); + assertFalse(d.reads().contains(d)); testReadAllBootModules(cf, "d"); // d reads all modules in boot layer } @@ -676,6 +661,7 @@ public void testInConfiguration2() throws IOException { * c* * d* */ + @Test public void testInConfiguration3() throws IOException { ModuleDescriptor descriptor1 = ModuleDescriptor.newModule("a") @@ -732,18 +718,16 @@ public void testInConfiguration3() throws IOException { assertTrue(b.reads().contains(d)); assertTrue(b.reads().contains(base)); - assertTrue(reads(cf, "b", "c")); - assertTrue(reads(cf, "b", "d")); - assertTrue(reads(cf, "b", "java.base")); - assertTrue(c.reads().contains(a)); assertTrue(c.reads().contains(b)); + assertFalse(c.reads().contains(c)); assertTrue(c.reads().contains(d)); testReadAllBootModules(cf, "c"); // c reads all modules in boot layer assertTrue(d.reads().contains(a)); assertTrue(d.reads().contains(b)); assertTrue(d.reads().contains(c)); + assertFalse(d.reads().contains(d)); testReadAllBootModules(cf, "d"); // d reads all modules in boot layer } @@ -751,6 +735,7 @@ public void testInConfiguration3() throws IOException { * Basic test to ensure that no automatic modules are resolved when * an automatic module is not a root or required by other modules. */ + @Test public void testInConfiguration4() throws IOException { ModuleDescriptor descriptor1 = ModuleDescriptor.newModule("m1") @@ -780,6 +765,7 @@ public void testInConfiguration4() throws IOException { * Basic test to ensure that if an automatic module is resolved then * all observable automatic modules are resolved. */ + @Test public void testInConfiguration5() throws IOException { // m1 requires m2 ModuleDescriptor descriptor1 @@ -836,6 +822,7 @@ public void testInConfiguration5() throws IOException { assertTrue(auto1.reads().contains(m1)); assertTrue(auto1.reads().contains(m2)); + assertFalse(auto1.reads().contains(auto1)); assertTrue(auto1.reads().contains(auto2)); assertTrue(auto1.reads().contains(auto3)); assertTrue(auto1.reads().contains(base)); @@ -843,6 +830,7 @@ public void testInConfiguration5() throws IOException { assertTrue(auto2.reads().contains(m1)); assertTrue(auto2.reads().contains(m2)); assertTrue(auto2.reads().contains(auto1)); + assertFalse(auto2.reads().contains(auto2)); assertTrue(auto2.reads().contains(auto3)); assertTrue(auto2.reads().contains(base)); @@ -850,6 +838,7 @@ public void testInConfiguration5() throws IOException { assertTrue(auto3.reads().contains(m2)); assertTrue(auto3.reads().contains(auto1)); assertTrue(auto3.reads().contains(auto2)); + assertFalse(auto3.reads().contains(auto3)); assertTrue(auto3.reads().contains(base)); } @@ -859,6 +848,7 @@ public void testInConfiguration5() throws IOException { * automatic modules that are found by the after finder and not shadowed * by the before finder, or parent configurations, should also be resolved. */ + @Test public void testInConfiguration6() throws IOException { // m1 requires auto1 ModuleDescriptor descriptor1 @@ -918,12 +908,14 @@ public void testInConfiguration6() throws IOException { assertTrue(auto2.reads().contains(m1)); assertTrue(auto2.reads().contains(auto1)); + assertFalse(auto2.reads().contains(auto2)); assertTrue(auto2.reads().contains(auto3)); assertTrue(auto2.reads().contains(base)); assertTrue(auto3.reads().contains(m1)); assertTrue(auto3.reads().contains(auto1)); assertTrue(auto3.reads().contains(auto2)); + assertFalse(auto3.reads().contains(auto3)); assertTrue(auto3.reads().contains(base)); } @@ -933,6 +925,7 @@ public void testInConfiguration6() throws IOException { * automatic module in a parent configuration then it should read all * automatic modules in the parent configuration. */ + @Test public void testInConfiguration7() throws Exception { // m1 requires auto1 ModuleDescriptor descriptor1 = ModuleDescriptor.newModule("m1") @@ -964,11 +957,13 @@ public void testInConfiguration7() throws Exception { assertTrue(auto1.reads().contains(base)); assertTrue(auto1.reads().contains(m1)); + assertFalse(auto1.reads().contains(auto1)); assertTrue(auto1.reads().contains(auto2)); assertTrue(auto2.reads().contains(base)); assertTrue(auto2.reads().contains(m1)); assertTrue(auto2.reads().contains(auto1)); + assertFalse(auto2.reads().contains(auto2)); // m2 requires auto1 ModuleDescriptor descriptor2 = ModuleDescriptor.newModule("m2") @@ -999,7 +994,7 @@ public void testInConfiguration7() throws Exception { * b* contains p * c* contains p */ - @Test(expectedExceptions = { ResolutionException.class }) + @Test public void testDuplicateSuppliers1() throws IOException { ModuleDescriptor descriptor = ModuleDescriptor.newModule("a") @@ -1018,7 +1013,7 @@ public void testDuplicateSuppliers1() throws IOException { ModuleFinder.of(dir)); Configuration parent = ModuleLayer.boot().configuration(); - resolve(parent, finder, "a"); + assertThrows(ResolutionException.class, () -> resolve(parent, finder, "a")); } /** @@ -1026,7 +1021,7 @@ public void testDuplicateSuppliers1() throws IOException { * a contains p, requires b* * b* contains p */ - @Test(expectedExceptions = { ResolutionException.class }) + @Test public void testDuplicateSuppliers2() throws IOException { ModuleDescriptor descriptor = ModuleDescriptor.newModule("a") @@ -1044,12 +1039,13 @@ public void testDuplicateSuppliers2() throws IOException { ModuleFinder.of(dir)); Configuration parent = ModuleLayer.boot().configuration(); - resolve(parent, finder, "a"); + assertThrows(ResolutionException.class, () -> resolve(parent, finder, "a")); } /** * Basic test of layer containing automatic modules */ + @Test public void testInLayer() throws IOException { ModuleDescriptor descriptor = ModuleDescriptor.newModule("a") @@ -1091,6 +1087,7 @@ public void testInLayer() throws IOException { /** * Test miscellaneous methods. */ + @Test public void testMisc() throws IOException { Path dir = Files.createTempDirectory(USER_DIR, "mods"); Path m_jar = createDummyJarFile(dir.resolve("m.jar"), "p/T.class"); @@ -1132,13 +1129,10 @@ static ModuleDescriptor findDescriptor(Configuration cf, String name) { * configuration. */ static void testReadAllBootModules(Configuration cf, String mn) { - Set bootModules = ModuleLayer.boot().modules().stream() .map(Module::getName) .collect(Collectors.toSet()); - bootModules.forEach(other -> assertTrue(reads(cf, mn, other))); - } /** @@ -1202,5 +1196,4 @@ static Path createDummyJarFile(Path jarfile, String... entries) { return createDummyJarFile(jarfile, null, entries); } - } From ecd335d8f42757d332f217e220e1a9db8c48c8d6 Mon Sep 17 00:00:00 2001 From: Christian Hagedorn Date: Fri, 1 Dec 2023 07:44:09 +0000 Subject: [PATCH 034/143] 8321107: Add more test cases for JDK-8319372 Reviewed-by: roland, kvn --- .../TestTopCastIIOnUndetectedDeadPath4.java | 134 ++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 test/hotspot/jtreg/compiler/c2/TestTopCastIIOnUndetectedDeadPath4.java diff --git a/test/hotspot/jtreg/compiler/c2/TestTopCastIIOnUndetectedDeadPath4.java b/test/hotspot/jtreg/compiler/c2/TestTopCastIIOnUndetectedDeadPath4.java new file mode 100644 index 0000000000000..566295b844b82 --- /dev/null +++ b/test/hotspot/jtreg/compiler/c2/TestTopCastIIOnUndetectedDeadPath4.java @@ -0,0 +1,134 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 id=JDK-8293941 + * @bug 8319372 8293941 + * @summary Tests that CastII are not dying anymore and breaking the graph due to control that is not removed + * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+AbortVMOnCompilationFailure -XX:-RangeCheckElimination + * -Xcomp -XX:CompileOnly=compiler.c2.TestTopCastIIOnUndetectedDeadPath4::* + * compiler.c2.TestTopCastIIOnUndetectedDeadPath4 + */ + +/* + * @test id=JDK-8314111 + * @bug 8319372 8314111 + * @summary Tests that CastII are not dying anymore and breaking the graph due to control that is not removed + * @run main/othervm -Xcomp -XX:CompileOnly=compiler.c2.TestTopCastIIOnUndetectedDeadPath4::test* + * compiler.c2.TestTopCastIIOnUndetectedDeadPath4 + */ + +/* + * @test id=NoFlags + * @summary Tests that CastII are not dying anymore and breaking the graph due to control that is not removed + * @run main/othervm compiler.c2.TestTopCastIIOnUndetectedDeadPath4 + */ + +package compiler.c2; + +public class TestTopCastIIOnUndetectedDeadPath4 { + + static boolean bFld; + static int iArrFld[]; + static long lArrFld[]; + static double dArrFld[][]; + + public static void main(String[] strArr) { + for (int i = 0; i < 5000; i++) { + test8293941(); + test8314111_1(); + test8314111_2(); + } + } + + static void test8293941() { + int i16; + boolean b = false; + for (double d1 = 31.2; d1 < 72; d1++) { + for (i16 = (int) d1; i16 < 2; ++i16) { + iArrFld[i16] >>= 5; + dArrFld[i16 - 1][i16] = 3; + if (b) { + break; + } + lArrFld[i16] = 4; + } + switch (0) { + case 5: + b = b; + } + } + } + + static void test8314111_1() { + int i, i1 = 0, i28, i30 = 0, iArr[] = new int[10]; + boolean bArr[] = new boolean[10]; + i = 1; + while (++i < 5) { + try { + i1 = iArr[i - 1]; + i1 = 2 / i; + } catch (ArithmeticException a_e) { + } + if (bFld) { + switch (i) { + case 4: + for (i28 = 3; 100 > i28; i28++) { + i1 -= i28; + } + if ((i30 -= 3) > 0) { + switch (i30) { + case 4: + bArr[i - 1] = bFld; + iArr[i] = 6; + } + } + } + } + } + } + + static void test8314111_2() { + int iArr[] = new int[1000]; + boolean bArr[] = new boolean[1000]; + int x = 0; + int i = 1; + while (++i < 5) { + try { + x = iArr[i - 1]; + x = 2 / i; + } catch (ArithmeticException a_e) { + } + if (bFld) { + x++; + bArr[i - 1] = false; + iArr[i] = 0; + } + } + } +} + +class Foo { + public static void empty() { + } +} From 8f1d40b48bf145144ae90b1d147d418d3905661b Mon Sep 17 00:00:00 2001 From: Pavel Rappo Date: Fri, 1 Dec 2023 11:51:25 +0000 Subject: [PATCH 035/143] 8321114: Rename "Unnamed Classes" to "Implicitly Declared Classes" better Reviewed-by: jlaskey --- src/java.base/share/classes/java/lang/Class.java | 10 +++++----- .../classes/jdk/internal/javac/PreviewFeature.java | 2 +- .../classes/javax/annotation/processing/Filer.java | 4 ++-- .../share/classes/com/sun/tools/javac/code/Flags.java | 2 +- .../share/classes/com/sun/tools/javac/code/Symbol.java | 2 +- .../com/sun/tools/javac/parser/JavacParser.java | 10 +++++----- .../com/sun/tools/javac/resources/compiler.properties | 6 +++--- .../processing/model/element/TestImplicitClass.java | 2 +- 8 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/java.base/share/classes/java/lang/Class.java b/src/java.base/share/classes/java/lang/Class.java index 766509f1f2315..851d65d06ad77 100644 --- a/src/java.base/share/classes/java/lang/Class.java +++ b/src/java.base/share/classes/java/lang/Class.java @@ -190,21 +190,21 @@ * a class or interface is hidden has no bearing on the characteristics * exposed by the methods of class {@code Class}. * - *

Implicit Classes

+ *

Implicitly Declared Classes

* * Conventionally, a Java compiler, starting from a source file for an - * implicit class, say {@code HelloWorld.java}, creates a + * implicitly declared class, say {@code HelloWorld.java}, creates a * similarly-named {@code class} file, {@code HelloWorld.class}, where * the class stored in that {@code class} file is named {@code * "HelloWorld"}, matching the base names of the source and {@code * class} files. * - * For the {@code Class} object of an implicit class {@code + * For the {@code Class} object of an implicitly declared class {@code * HelloWorld}, the methods to get the {@linkplain #getName name} and * {@linkplain #getTypeName type name} return results * equal to {@code "HelloWorld"}. The {@linkplain #getSimpleName - * simple name} of such an implicit class is {@code "HelloWorld"} and the - * {@linkplain #getCanonicalName canonical name} is {@code "HelloWorld"}. + * simple name} of such an implicitly declared class is {@code "HelloWorld"} and + * the {@linkplain #getCanonicalName canonical name} is {@code "HelloWorld"}. * * @param the type of the class modeled by this {@code Class} * object. For example, the type of {@code String.class} is {@code diff --git a/src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java b/src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java index 77dec6dce494d..6f96e7e6840eb 100644 --- a/src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java +++ b/src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java @@ -71,7 +71,7 @@ public enum Feature { STRING_TEMPLATES, @JEP(number=445, title="Unnamed Classes and Instance Main Methods", status="Deprecated") UNNAMED_CLASSES, - @JEP(number=463, title="Implicit Classes and Instance Main Methods", status="Preview") + @JEP(number=463, title="Implicitly Declared Classes and Instance Main Methods", status="Preview") IMPLICIT_CLASSES, @JEP(number=446, title="Scoped Values", status="Preview") SCOPED_VALUES, diff --git a/src/java.compiler/share/classes/javax/annotation/processing/Filer.java b/src/java.compiler/share/classes/javax/annotation/processing/Filer.java index 7487c1fb2361c..61af2aae0c7a5 100644 --- a/src/java.compiler/share/classes/javax/annotation/processing/Filer.java +++ b/src/java.compiler/share/classes/javax/annotation/processing/Filer.java @@ -181,7 +181,7 @@ public interface Filer { * classes, the name argument is used to provide the leading component of the * name used for the output file. For example {@code filer.createSourceFile("Foo")} * to create an implicitly declared class hosted in {@code Foo.java}. All - * implicit classes must be in an unnamed package. + * implicitly declared classes must be in an unnamed package. * * @apiNote To use a particular {@linkplain * java.nio.charset.Charset charset} to encode the contents of the @@ -266,7 +266,7 @@ JavaFileObject createSourceFile(CharSequence name, * classes, the name argument is used to provide the leading component of the * name used for the output file. For example {@code filer.createSourceFile("Foo")} * to create an implicitly declared class hosted in {@code Foo.java}. All - * implicit classes must be in an unnamed package. + * implicitly declared classes must be in an unnamed package. * * @apiNote To avoid subsequent errors, the contents of the class * file should be compatible with the {@linkplain diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java index c6b8f2cd44eea..429465c191024 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java @@ -123,7 +123,7 @@ public static EnumSet asFlagSet(long flags) { */ public static final int HASINIT = 1<<18; - /** Class is a implicit top level class. + /** Class is an implicitly declared top level class. */ public static final int IMPLICIT_CLASS = 1<<19; diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java index d583a86ca3f8d..6464afdfff899 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java @@ -1554,7 +1554,7 @@ public void setRecordComponents(List recordComponents) { @DefinedBy(Api.LANGUAGE_MODEL) public NestingKind getNestingKind() { apiComplete(); - if (owner.kind == PCK) // Handles implicit classes as well + if (owner.kind == PCK) // Handles implicitly declared classes as well return NestingKind.TOP_LEVEL; else if (name.isEmpty()) return NestingKind.ANONYMOUS; diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java index 977df7759ab64..78be89ec1ea82 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java @@ -3982,11 +3982,11 @@ public JCTree.JCCompilationUnit parseCompilationUnit() { defs.appendList(semiList.toList()); boolean isTopLevelMethodOrField = false; - // Do to a significant number of existing negative tests + // Due to a significant number of existing negative tests // this code speculatively tests to see if a top level method // or field can parse. If the method or field can parse then // it is parsed. Otherwise, parsing continues as though - // implicit classes did not exist and error reporting + // implicitly declared classes did not exist and error reporting // is the same as in the past. if (Feature.IMPLICIT_CLASSES.allowedInSource(source) && !isDeclaration()) { final JCModifiers finalMods = mods; @@ -4014,7 +4014,7 @@ public JCTree.JCCompilationUnit parseCompilationUnit() { firstTypeDecl = false; } } - List topLevelDefs = isImplicitClass ? constructImplictClass(defs.toList()) : defs.toList(); + List topLevelDefs = isImplicitClass ? constructImplicitClass(defs.toList()) : defs.toList(); JCTree.JCCompilationUnit toplevel = F.at(firstToken.pos).TopLevel(topLevelDefs); if (!consumedToplevelDoc) attach(toplevel, firstToken.docComment()); @@ -4029,8 +4029,8 @@ public JCTree.JCCompilationUnit parseCompilationUnit() { return toplevel; } - // Restructure top level to be an implicit class. - private List constructImplictClass(List origDefs) { + // Restructure top level to be an implicitly declared class. + private List constructImplicitClass(List origDefs) { ListBuffer topDefs = new ListBuffer<>(); ListBuffer defs = new ListBuffer<>(); diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties b/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties index 975c3205a364e..c4f00d9d46e5e 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties @@ -525,10 +525,10 @@ compiler.err.bad.file.name=\ bad file name: {0} compiler.err.implicit.class.should.not.have.package.declaration=\ - implicit class should not have package declaration + implicitly declared class should not have package declaration compiler.err.implicit.class.does.not.have.main.method=\ - implicit class does not have main method in the form of void main() or void main(String[] args) + implicitly declared class does not have main method in the form of void main() or void main(String[] args) # 0: name, 1: name compiler.err.same.binary.name=\ @@ -3219,7 +3219,7 @@ compiler.misc.feature.unconditional.patterns.in.instanceof=\ unconditional patterns in instanceof compiler.misc.feature.implicit.classes=\ - implicit classes + implicitly declared classes compiler.misc.feature.super.init=\ statements before super() diff --git a/test/langtools/tools/javac/processing/model/element/TestImplicitClass.java b/test/langtools/tools/javac/processing/model/element/TestImplicitClass.java index bad9fa15f8b4e..e6fb81820e2a8 100644 --- a/test/langtools/tools/javac/processing/model/element/TestImplicitClass.java +++ b/test/langtools/tools/javac/processing/model/element/TestImplicitClass.java @@ -52,7 +52,7 @@ import javax.tools.JavaFileObject; /** - * Test annotation processing representation of implicitly classes + * Test annotation processing representation of implicitly declared classes * constructed from either a source file or a class file. */ @SuppressWarnings("preview") From 3b30095a63bdf8224a5625507a69942210a203a0 Mon Sep 17 00:00:00 2001 From: Jorn Vernee Date: Fri, 1 Dec 2023 13:11:07 +0000 Subject: [PATCH 036/143] 8321130: Microbenchmarks do not build any more after 8254693 on 32 bit platforms Reviewed-by: mcimadamore, tschatzl --- .../micro/org/openjdk/bench/java/lang/foreign/CLayouts.java | 2 +- .../org/openjdk/bench/java/lang/foreign/xor/libjnitest.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/test/micro/org/openjdk/bench/java/lang/foreign/CLayouts.java b/test/micro/org/openjdk/bench/java/lang/foreign/CLayouts.java index 978765c2c79df..bfe5ce61b1c2f 100644 --- a/test/micro/org/openjdk/bench/java/lang/foreign/CLayouts.java +++ b/test/micro/org/openjdk/bench/java/lang/foreign/CLayouts.java @@ -56,7 +56,7 @@ public class CLayouts { /** * The layout for the {@code long long} C type. */ - public static final ValueLayout.OfLong C_LONG_LONG = (ValueLayout.OfLong) LINKER.canonicalLayouts().get("long"); + public static final ValueLayout.OfLong C_LONG_LONG = (ValueLayout.OfLong) LINKER.canonicalLayouts().get("long long"); /** * The layout for the {@code float} C type */ diff --git a/test/micro/org/openjdk/bench/java/lang/foreign/xor/libjnitest.c b/test/micro/org/openjdk/bench/java/lang/foreign/xor/libjnitest.c index 2b74dc9c3d780..2ecea5f2b8324 100644 --- a/test/micro/org/openjdk/bench/java/lang/foreign/xor/libjnitest.c +++ b/test/micro/org/openjdk/bench/java/lang/foreign/xor/libjnitest.c @@ -1,6 +1,8 @@ #include #include +#include "jlong.h" + JNIEXPORT void xor_op(jbyte *restrict src, jbyte *restrict dst, jint len) { for (int i = 0; i < len; ++i) { dst[i] ^= src[i]; @@ -69,7 +71,7 @@ JNIEXPORT void JNICALL Java_org_openjdk_bench_java_lang_foreign_xor_GetArrayRegi JNIEXPORT void JNICALL Java_org_openjdk_bench_java_lang_foreign_xor_GetArrayUnsafeXorOpImpl_xorOp (JNIEnv *env, jobject obj, jlong src, jlong dst, jint len) { - jbyte *sbuf = (jbyte*)(void*)src; - jbyte *dbuf = (jbyte*)(void*)dst; + jbyte *sbuf = (jbyte*)jlong_to_ptr(src); + jbyte *dbuf = (jbyte*)jlong_to_ptr(dst); xor_op(sbuf, dbuf, len); } From 54957ac55f8c6c68efc80436417ff30d4e9e2d37 Mon Sep 17 00:00:00 2001 From: Aggelos Biboudis Date: Fri, 1 Dec 2023 14:15:38 +0000 Subject: [PATCH 037/143] 8312560: Annotation on Decomposed Record Component in Enhanced For Loop Fails Compilation Reviewed-by: jlahoda --- .../com/sun/tools/javac/comp/Attr.java | 6 +-- .../tools/javac/patterns/T8312560.java | 43 +++++++++++++++++++ 2 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 test/langtools/tools/javac/patterns/T8312560.java diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java index 567cf0a191f25..342ccb267981b 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java @@ -4186,11 +4186,11 @@ public void visitBindingPattern(JCBindingPattern tree) { if (chk.checkUnique(tree.var.pos(), v, env.info.scope)) { chk.checkTransparentVar(tree.var.pos(), v, env.info.scope); } - if (tree.var.vartype != null) { - annotate.annotateLater(tree.var.mods.annotations, env, v, tree.pos()); + annotate.annotateLater(tree.var.mods.annotations, env, v, tree.pos()); + if (!tree.var.isImplicitlyTyped()) { annotate.queueScanTreeAndTypeAnnotate(tree.var.vartype, env, v, tree.var.pos()); - annotate.flush(); } + annotate.flush(); chk.validate(tree.var.vartype, env, true); result = tree.type; if (v.isUnnamedVariable()) { diff --git a/test/langtools/tools/javac/patterns/T8312560.java b/test/langtools/tools/javac/patterns/T8312560.java new file mode 100644 index 0000000000000..fda3d79813287 --- /dev/null +++ b/test/langtools/tools/javac/patterns/T8312560.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import java.lang.annotation.Target; +import java.lang.annotation.ElementType; + +/* + * @test + * @bug 8312560 + * @summary Annotation on Decomposed Record Component in Enhanced For Loop Fails Compilation + * @compile T8312560.java + */ +public class T8312560 { + void m(Object o) { + if (o instanceof R(@A var x)) {} + } + + @interface A { + } + + record R(Integer x) { + } +} From 3087e14cde9257680f0406b11942f9cb7739cb7b Mon Sep 17 00:00:00 2001 From: Martin Doerr Date: Fri, 1 Dec 2023 14:44:18 +0000 Subject: [PATCH 038/143] 8320807: [PPC64][ZGC] C1 generates wrong code for atomics Reviewed-by: lucy, rrich --- src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp | 45 ++++++++++++++----- src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp | 35 --------------- .../c1/shenandoahBarrierSetC1_ppc.cpp | 45 +++++++------------ .../cpu/ppc/gc/z/zBarrierSetAssembler_ppc.cpp | 5 ++- 4 files changed, 51 insertions(+), 79 deletions(-) diff --git a/src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp b/src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp index 738511c6f5099..9913a589683a4 100644 --- a/src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp +++ b/src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp @@ -2600,6 +2600,13 @@ void LIR_Assembler::emit_compare_and_swap(LIR_OpCompareAndSwap* op) { Unimplemented(); } + // There might be a volatile load before this Unsafe CAS. + if (support_IRIW_for_not_multiple_copy_atomic_cpu) { + __ sync(); + } else { + __ lwsync(); + } + if (is_64bit) { __ cmpxchgd(BOOL_RESULT, /*current_value=*/R0, cmp_value, new_value, addr, MacroAssembler::MemBarNone, @@ -2961,9 +2968,24 @@ void LIR_Assembler::atomic_op(LIR_Code code, LIR_Opr src, LIR_Opr data, LIR_Opr assert(addr->disp() == 0 && addr->index()->is_illegal(), "use leal!"); const Register Rptr = addr->base()->as_pointer_register(), Rtmp = tmp->as_register(); - Register Rco = noreg; - if (UseCompressedOops && data->is_oop()) { - Rco = __ encode_heap_oop(Rtmp, data->as_register()); + Register Robj = noreg; + if (data->is_oop()) { + if (UseCompressedOops) { + Robj = __ encode_heap_oop(Rtmp, data->as_register()); + } else { + Robj = data->as_register(); + if (Robj == dest->as_register()) { // May happen with ZGC. + __ mr(Rtmp, Robj); + Robj = Rtmp; + } + } + } + + // There might be a volatile load before this Unsafe OP. + if (support_IRIW_for_not_multiple_copy_atomic_cpu) { + __ sync(); + } else { + __ lwsync(); } Label Lretry; @@ -2983,18 +3005,11 @@ void LIR_Assembler::atomic_op(LIR_Code code, LIR_Opr src, LIR_Opr data, LIR_Opr } else if (data->is_oop()) { assert(code == lir_xchg, "xadd for oops"); const Register Rold = dest->as_register(); + assert_different_registers(Rptr, Rold, Robj); if (UseCompressedOops) { - assert_different_registers(Rptr, Rold, Rco); __ lwarx(Rold, Rptr, MacroAssembler::cmpxchgx_hint_atomic_update()); - __ stwcx_(Rco, Rptr); + __ stwcx_(Robj, Rptr); } else { - Register Robj = data->as_register(); - assert_different_registers(Rptr, Rold, Rtmp); - assert_different_registers(Rptr, Robj, Rtmp); - if (Robj == Rold) { // May happen with ZGC. - __ mr(Rtmp, Robj); - Robj = Rtmp; - } __ ldarx(Rold, Rptr, MacroAssembler::cmpxchgx_hint_atomic_update()); __ stdcx_(Robj, Rptr); } @@ -3022,6 +3037,12 @@ void LIR_Assembler::atomic_op(LIR_Code code, LIR_Opr src, LIR_Opr data, LIR_Opr if (UseCompressedOops && data->is_oop()) { __ decode_heap_oop(dest->as_register()); } + + if (support_IRIW_for_not_multiple_copy_atomic_cpu) { + __ isync(); + } else { + __ sync(); + } } diff --git a/src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp b/src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp index ecc40d6fde7c1..32aab91c7d374 100644 --- a/src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp +++ b/src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp @@ -639,13 +639,6 @@ LIR_Opr LIRGenerator::atomic_cmpxchg(BasicType type, LIR_Opr addr, LIRItem& cmp_ cmp_value.load_item(); new_value.load_item(); - // Volatile load may be followed by Unsafe CAS. - if (support_IRIW_for_not_multiple_copy_atomic_cpu) { - __ membar(); - } else { - __ membar_release(); - } - if (is_reference_type(type)) { if (UseCompressedOops) { t1 = new_register(T_OBJECT); @@ -670,21 +663,7 @@ LIR_Opr LIRGenerator::atomic_xchg(BasicType type, LIR_Opr addr, LIRItem& value) LIR_Opr tmp = FrameMap::R0_opr; value.load_item(); - - // Volatile load may be followed by Unsafe CAS. - if (support_IRIW_for_not_multiple_copy_atomic_cpu) { - __ membar(); - } else { - __ membar_release(); - } - __ xchg(addr, value.result(), result, tmp); - - if (support_IRIW_for_not_multiple_copy_atomic_cpu) { - __ membar_acquire(); - } else { - __ membar(); - } return result; } @@ -694,21 +673,7 @@ LIR_Opr LIRGenerator::atomic_add(BasicType type, LIR_Opr addr, LIRItem& value) { LIR_Opr tmp = FrameMap::R0_opr; value.load_item(); - - // Volatile load may be followed by Unsafe CAS. - if (support_IRIW_for_not_multiple_copy_atomic_cpu) { - __ membar(); // To be safe. Unsafe semantics are unclear. - } else { - __ membar_release(); - } - __ xadd(addr, value.result(), result, tmp); - - if (support_IRIW_for_not_multiple_copy_atomic_cpu) { - __ membar_acquire(); - } else { - __ membar(); - } return result; } diff --git a/src/hotspot/cpu/ppc/gc/shenandoah/c1/shenandoahBarrierSetC1_ppc.cpp b/src/hotspot/cpu/ppc/gc/shenandoah/c1/shenandoahBarrierSetC1_ppc.cpp index fc06e1b71e0b8..6d9a1db1ed4b8 100644 --- a/src/hotspot/cpu/ppc/gc/shenandoah/c1/shenandoahBarrierSetC1_ppc.cpp +++ b/src/hotspot/cpu/ppc/gc/shenandoah/c1/shenandoahBarrierSetC1_ppc.cpp @@ -1,6 +1,6 @@ /* - * Copyright (c) 2018, 2021, Red Hat, Inc. All rights reserved. - * Copyright (c) 2012, 2021 SAP SE. All rights reserved. + * Copyright (c) 2018, 2023, Red Hat, Inc. All rights reserved. + * Copyright (c) 2012, 2023 SAP SE. All rights reserved. * 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,8 +53,13 @@ void LIR_OpShenandoahCompareAndSwap::emit_code(LIR_Assembler *masm) { __ encode_heap_oop(new_val, new_val); } - // Due to the memory barriers emitted in ShenandoahBarrierSetC1::atomic_cmpxchg_at_resolved, - // there is no need to specify stronger memory semantics. + // There might be a volatile load before this Unsafe CAS. + if (support_IRIW_for_not_multiple_copy_atomic_cpu) { + __ sync(); + } else { + __ lwsync(); + } + ShenandoahBarrierSet::assembler()->cmpxchg_oop(masm->masm(), addr, cmp_val, new_val, tmp1, tmp2, false, result); @@ -63,6 +68,12 @@ void LIR_OpShenandoahCompareAndSwap::emit_code(LIR_Assembler *masm) { __ decode_heap_oop(new_val); } + if (support_IRIW_for_not_multiple_copy_atomic_cpu) { + __ isync(); + } else { + __ sync(); + } + __ block_comment("} LIR_OpShenandoahCompareAndSwap (shenandaohgc)"); } @@ -80,14 +91,6 @@ LIR_Opr ShenandoahBarrierSetC1::atomic_cmpxchg_at_resolved(LIRAccess &access, LI if (access.is_oop()) { LIRGenerator* gen = access.gen(); - if (ShenandoahCASBarrier) { - if (support_IRIW_for_not_multiple_copy_atomic_cpu) { - __ membar(); - } else { - __ membar_release(); - } - } - if (ShenandoahSATBBarrier) { pre_barrier(gen, access.access_emit_info(), access.decorators(), access.resolved_addr(), LIR_OprFact::illegalOpr); @@ -104,12 +107,6 @@ LIR_Opr ShenandoahBarrierSetC1::atomic_cmpxchg_at_resolved(LIRAccess &access, LI __ append(new LIR_OpShenandoahCompareAndSwap(addr, cmp_value.result(), new_value.result(), t1, t2, result)); - if (support_IRIW_for_not_multiple_copy_atomic_cpu) { - __ membar_acquire(); - } else { - __ membar(); - } - return result; } } @@ -125,12 +122,6 @@ LIR_Opr ShenandoahBarrierSetC1::atomic_xchg_at_resolved(LIRAccess &access, LIRIt value.load_item(); LIR_Opr value_opr = value.result(); - if (support_IRIW_for_not_multiple_copy_atomic_cpu) { - __ membar(); - } else { - __ membar_release(); - } - if (access.is_oop()) { value_opr = iu_barrier(access.gen(), value_opr, access.access_emit_info(), access.decorators()); } @@ -152,11 +143,5 @@ LIR_Opr ShenandoahBarrierSetC1::atomic_xchg_at_resolved(LIRAccess &access, LIRIt } } - if (support_IRIW_for_not_multiple_copy_atomic_cpu) { - __ membar_acquire(); - } else { - __ membar(); - } - return result; } diff --git a/src/hotspot/cpu/ppc/gc/z/zBarrierSetAssembler_ppc.cpp b/src/hotspot/cpu/ppc/gc/z/zBarrierSetAssembler_ppc.cpp index 1d07c6d573a17..9ed47b688ff26 100644 --- a/src/hotspot/cpu/ppc/gc/z/zBarrierSetAssembler_ppc.cpp +++ b/src/hotspot/cpu/ppc/gc/z/zBarrierSetAssembler_ppc.cpp @@ -340,11 +340,12 @@ void ZBarrierSetAssembler::store_barrier_medium(MacroAssembler* masm, } __ ld(R0, in_bytes(ZThreadLocalData::store_good_mask_offset()), R16_thread); __ cmpxchgd(CCR0, tmp, (intptr_t)0, R0, ref_base, - MacroAssembler::MemBarNone, MacroAssembler::cmpxchgx_hint_atomic_update()); + MacroAssembler::MemBarNone, MacroAssembler::cmpxchgx_hint_atomic_update(), + noreg, need_restore ? nullptr : &slow_path); if (need_restore) { __ subf(ref_base, ind_or_offs, ref_base); + __ bne(CCR0, slow_path); } - __ bne(CCR0, slow_path); } else { // A non-atomic relocatable object won't get to the medium fast path due to a // raw null in the young generation. We only get here because the field is bad. From d568562966e9a2020704eee3d67b8a106f647d9c Mon Sep 17 00:00:00 2001 From: Naoto Sato Date: Fri, 1 Dec 2023 17:39:11 +0000 Subject: [PATCH 039/143] 8320798: Console read line with zero out should zero out underlying buffer Reviewed-by: bpb, lancea, joehw, alanb, jpai, mbaesken --- .../jdk/internal/io/JdkConsoleImpl.java | 10 ++++++++- .../classes/sun/nio/cs/StreamDecoder.java | 21 +++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/java.base/share/classes/jdk/internal/io/JdkConsoleImpl.java b/src/java.base/share/classes/jdk/internal/io/JdkConsoleImpl.java index 65d9177dddb31..370fc73fcd0f4 100644 --- a/src/java.base/share/classes/jdk/internal/io/JdkConsoleImpl.java +++ b/src/java.base/share/classes/jdk/internal/io/JdkConsoleImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -195,6 +195,9 @@ else if (rcb[len-1] == '\n') { System.arraycopy(rcb, 0, b, 0, len); if (zeroOut) { Arrays.fill(rcb, 0, len, ' '); + if (reader instanceof LineReader lr) { + lr.zeroOut(); + } } } return b; @@ -228,6 +231,11 @@ class LineReader extends Reader { nextChar = nChars = 0; leftoverLF = false; } + public void zeroOut() throws IOException { + if (in instanceof StreamDecoder sd) { + sd.fillZeroToPosition(); + } + } public void close () {} public boolean ready() throws IOException { //in.ready synchronizes on readLock already diff --git a/src/java.base/share/classes/sun/nio/cs/StreamDecoder.java b/src/java.base/share/classes/sun/nio/cs/StreamDecoder.java index 340349a40fef1..a2026744f04b5 100644 --- a/src/java.base/share/classes/sun/nio/cs/StreamDecoder.java +++ b/src/java.base/share/classes/sun/nio/cs/StreamDecoder.java @@ -42,6 +42,8 @@ import java.nio.charset.CodingErrorAction; import java.nio.charset.IllegalCharsetNameException; import java.nio.charset.UnsupportedCharsetException; +import java.util.Arrays; + import jdk.internal.misc.InternalLock; public class StreamDecoder extends Reader { @@ -271,6 +273,25 @@ private boolean isOpen() { return !closed; } + public void fillZeroToPosition() throws IOException { + Object lock = this.lock; + if (lock instanceof InternalLock locker) { + locker.lock(); + try { + lockedFillZeroToPosition(); + } finally { + locker.unlock(); + } + } else { + synchronized (lock) { + lockedFillZeroToPosition(); + } + } + } + + private void lockedFillZeroToPosition() { + Arrays.fill(bb.array(), bb.arrayOffset(), bb.arrayOffset() + bb.position(), (byte)0); + } // -- Charset-based stream decoder impl -- From f6be7fdf22eede767a0ac29b4f1cb770cfdc0b0f Mon Sep 17 00:00:00 2001 From: Naoto Sato Date: Fri, 1 Dec 2023 17:43:28 +0000 Subject: [PATCH 040/143] 8321059: Unneeded array assignments in MergeCollation and CompactByteArray Reviewed-by: jlu, bpb, rriggs --- src/java.base/share/classes/java/text/MergeCollation.java | 4 +--- src/java.base/share/classes/sun/text/CompactByteArray.java | 7 ++++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/java.base/share/classes/java/text/MergeCollation.java b/src/java.base/share/classes/java/text/MergeCollation.java index 9bc983c203f43..1db779e003f60 100644 --- a/src/java.base/share/classes/java/text/MergeCollation.java +++ b/src/java.base/share/classes/java/text/MergeCollation.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -68,8 +68,6 @@ final class MergeCollation { */ public MergeCollation(String pattern) throws ParseException { - for (int i = 0; i < statusArray.length; i++) - statusArray[i] = 0; setPattern(pattern); } diff --git a/src/java.base/share/classes/sun/text/CompactByteArray.java b/src/java.base/share/classes/sun/text/CompactByteArray.java index b4aa0237d169d..7024d47eab08e 100644 --- a/src/java.base/share/classes/sun/text/CompactByteArray.java +++ b/src/java.base/share/classes/sun/text/CompactByteArray.java @@ -39,6 +39,8 @@ package sun.text; +import java.util.Arrays; + /** * class CompactATypeArray : use only on primitive data types * Provides a compact way to store information that is indexed by Unicode @@ -77,12 +79,11 @@ public CompactByteArray(byte defaultValue) values = new byte[UNICODECOUNT]; indices = new short[INDEXCOUNT]; hashes = new int[INDEXCOUNT]; - for (i = 0; i < UNICODECOUNT; ++i) { - values[i] = defaultValue; + if (defaultValue != (byte)0) { + Arrays.fill(values, defaultValue); } for (i = 0; i < INDEXCOUNT; ++i) { indices[i] = (short)(i< Date: Fri, 1 Dec 2023 19:14:44 +0000 Subject: [PATCH 041/143] 8312098: Update man page for javadoc Reviewed-by: jlaskey Backport-of: 4fcb0b28d7eda3f147432ce8d8d27f91a0805ab6 --- src/jdk.javadoc/share/man/javadoc.1 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/jdk.javadoc/share/man/javadoc.1 b/src/jdk.javadoc/share/man/javadoc.1 index 2627630d60bf6..406c09b9efdaa 100644 --- a/src/jdk.javadoc/share/man/javadoc.1 +++ b/src/jdk.javadoc/share/man/javadoc.1 @@ -1,4 +1,4 @@ -.\" Copyright (c) 1994, 2022, Oracle and/or its affiliates. All rights reserved. +.\" Copyright (c) 1994, 2023, Oracle and/or its affiliates. All rights reserved. .\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. .\" .\" This code is free software; you can redistribute it and/or modify it @@ -84,9 +84,9 @@ options, package names, and source file names in any order. The \f[V]javadoc\f[R] tool parses the declarations and documentation comments in a set of Java source files and produces corresponding HTML pages that describe (by default) the public and protected classes, -nested classes (but not anonymous inner classes), interfaces, -constructors, methods, and fields. -You can use the \f[V]javadoc\f[R] tool to generate the API documentation +nested and unnamed classes (but not anonymous inner classes), +interfaces, constructors, methods, and fields. +You can use the\f[V]javadoc\f[R] tool to generate the API documentation or the implementation documentation for a set of source files. .PP You can run the \f[V]javadoc\f[R] tool on entire packages, individual From 1839433bff5587f6a9bede3c765100ae4737fd2e Mon Sep 17 00:00:00 2001 From: Joe Darcy Date: Fri, 1 Dec 2023 20:24:09 +0000 Subject: [PATCH 042/143] 8320941: Discuss receiver type handling Reviewed-by: vromero --- .../javax/lang/model/element/ExecutableElement.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/java.compiler/share/classes/javax/lang/model/element/ExecutableElement.java b/src/java.compiler/share/classes/javax/lang/model/element/ExecutableElement.java index d4c9c881f3b67..8bff37483947c 100644 --- a/src/java.compiler/share/classes/javax/lang/model/element/ExecutableElement.java +++ b/src/java.compiler/share/classes/javax/lang/model/element/ExecutableElement.java @@ -89,6 +89,17 @@ public interface ExecutableElement extends Element, Parameterizable { * non-inner class, or an initializer (static or instance), has no * receiver type. * + *

The receiver parameter is a syntactic device added + * to the language for the purpose of hosting annotations. Even + * when source code is used as the basis for creating an + * executable, if a receiver parameter is not present in the + * source code, an implementation may elect to return a {@code + * NoType} object even in cases where a receiver type is + * nominally defined on the executable in question, such as an + * instance method. When a receiver parameter is present and + * hosting annotations, a suitably annotated receiver type is + * returned. + * * @return the receiver type of this executable * @since 1.8 * From 42af8ce1f6605376fdb69e03df9e22381a54fc36 Mon Sep 17 00:00:00 2001 From: Serguei Spitsyn Date: Fri, 1 Dec 2023 20:54:13 +0000 Subject: [PATCH 043/143] 8308614: Enabling JVMTI ClassLoad event slows down vthread creation by factor 10 Reviewed-by: dcubed, cjplummer, amenkov --- src/hotspot/share/prims/jvmtiThreadState.cpp | 26 +++++++++++--------- src/hotspot/share/prims/jvmtiThreadState.hpp | 7 ++++++ 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/src/hotspot/share/prims/jvmtiThreadState.cpp b/src/hotspot/share/prims/jvmtiThreadState.cpp index 0004feb54b4e3..6882c02f95a05 100644 --- a/src/hotspot/share/prims/jvmtiThreadState.cpp +++ b/src/hotspot/share/prims/jvmtiThreadState.cpp @@ -52,6 +52,7 @@ static const int UNKNOWN_STACK_DEPTH = -99; // JvmtiThreadState *JvmtiThreadState::_head = nullptr; +bool JvmtiThreadState::_seen_interp_only_mode = false; JvmtiThreadState::JvmtiThreadState(JavaThread* thread, oop thread_oop) : _thread_event_enable() { @@ -553,11 +554,14 @@ JvmtiVTMSTransitionDisabler::VTMS_vthread_start(jobject vthread) { assert(!thread->is_in_VTMS_transition(), "sanity check"); assert(!thread->is_in_tmp_VTMS_transition(), "sanity check"); - JvmtiEventController::thread_started(thread); - if (JvmtiExport::can_support_virtual_threads()) { - if (JvmtiExport::should_post_vthread_start()) { - JvmtiExport::post_vthread_start(vthread); - } + // If interp_only_mode has been enabled then we must eagerly create JvmtiThreadState + // objects for globally enabled virtual thread filtered events. Otherwise, + // it is an important optimization to create JvmtiThreadState objects lazily. + if (JvmtiThreadState::seen_interp_only_mode()) { + JvmtiEventController::thread_started(thread); + } + if (JvmtiExport::should_post_vthread_start()) { + JvmtiExport::post_vthread_start(vthread); } // post VirtualThreadMount event after VirtualThreadStart if (JvmtiExport::should_post_vthread_mount()) { @@ -576,10 +580,8 @@ JvmtiVTMSTransitionDisabler::VTMS_vthread_end(jobject vthread) { if (JvmtiExport::should_post_vthread_unmount()) { JvmtiExport::post_vthread_unmount(vthread); } - if (JvmtiExport::can_support_virtual_threads()) { - if (JvmtiExport::should_post_vthread_end()) { - JvmtiExport::post_vthread_end(vthread); - } + if (JvmtiExport::should_post_vthread_end()) { + JvmtiExport::post_vthread_end(vthread); } VTMS_unmount_begin(vthread, /* last_unmount */ true); if (thread->jvmti_thread_state() != nullptr) { @@ -629,9 +631,10 @@ JvmtiVTMSTransitionDisabler::VTMS_mount_end(jobject vthread) { thread->rebind_to_jvmti_thread_state_of(vt); - { + JvmtiThreadState* state = thread->jvmti_thread_state(); + if (state != nullptr && state->is_pending_interp_only_mode()) { MutexLocker mu(JvmtiThreadState_lock); - JvmtiThreadState* state = thread->jvmti_thread_state(); + state = thread->jvmti_thread_state(); if (state != nullptr && state->is_pending_interp_only_mode()) { JvmtiEventController::enter_interp_only_mode(); } @@ -770,6 +773,7 @@ void JvmtiThreadState::add_env(JvmtiEnvBase *env) { void JvmtiThreadState::enter_interp_only_mode() { assert(_thread != nullptr, "sanity check"); + _seen_interp_only_mode = true; _thread->increment_interp_only_mode(); invalidate_cur_stack_depth(); } diff --git a/src/hotspot/share/prims/jvmtiThreadState.hpp b/src/hotspot/share/prims/jvmtiThreadState.hpp index c15e328f36388..4bba0691e40d6 100644 --- a/src/hotspot/share/prims/jvmtiThreadState.hpp +++ b/src/hotspot/share/prims/jvmtiThreadState.hpp @@ -240,6 +240,8 @@ class JvmtiThreadState : public CHeapObj { inline JvmtiEnvThreadState* head_env_thread_state(); inline void set_head_env_thread_state(JvmtiEnvThreadState* ets); + static bool _seen_interp_only_mode; // interp_only_mode was requested at least once + public: ~JvmtiThreadState(); @@ -259,6 +261,11 @@ class JvmtiThreadState : public CHeapObj { static void periodic_clean_up(); + // Return true if any thread has entered interp_only_mode at any point during the JVMs execution. + static bool seen_interp_only_mode() { + return _seen_interp_only_mode; + } + void add_env(JvmtiEnvBase *env); // The pending_interp_only_mode is set when the interp_only_mode is triggered. From 3a09a052bcc67a7994677fd2a73e7afcf331a89e Mon Sep 17 00:00:00 2001 From: Erik Gahlin Date: Fri, 1 Dec 2023 20:54:35 +0000 Subject: [PATCH 044/143] 8313722: JFR: Avoid unnecessary calls to Events.from(Recording) Reviewed-by: mgronlun --- test/jdk/jdk/jfr/api/event/TestExtends.java | 18 ++++++++++-------- .../gc/detailed/TestZAllocationStallEvent.java | 4 ++-- .../gc/detailed/TestZPageAllocationEvent.java | 4 ++-- .../gc/heapsummary/HeapSummaryEventAllGcs.java | 11 ++++++----- .../objectcount/ObjectCountAfterGCEvent.java | 6 +++--- .../event/oldobject/TestMetadataRetention.java | 6 +++--- .../jfr/event/runtime/TestSafepointEvents.java | 7 ++++--- .../TestSyncOnValueBasedClassEvent.java | 4 ++-- .../jdk/jfr/event/runtime/TestVMOperation.java | 4 ++-- .../jdk/jfr/startupargs/TestRetransform.java | 9 ++++++--- test/lib/jdk/test/lib/jfr/Events.java | 7 ++++++- 11 files changed, 46 insertions(+), 34 deletions(-) diff --git a/test/jdk/jdk/jfr/api/event/TestExtends.java b/test/jdk/jdk/jfr/api/event/TestExtends.java index 294edf9f16293..eae47911ba091 100644 --- a/test/jdk/jdk/jfr/api/event/TestExtends.java +++ b/test/jdk/jdk/jfr/api/event/TestExtends.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2018, 2023, Oracle and/or its affiliates. All rights reserved. * 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,6 +23,7 @@ package jdk.jfr.api.event; +import java.util.List; import jdk.jfr.Event; import jdk.jfr.EventType; import jdk.jfr.Recording; @@ -88,7 +89,8 @@ public static void main(String[] args) throws Exception { m.commit(); r.stop(); - for (RecordedEvent re : Events.fromRecording(r)) { + List events = Events.fromRecording(r); + for (RecordedEvent re : events) { System.out.println(re); } // Grandpa @@ -127,18 +129,18 @@ public static void main(String[] args) throws Exception { verifyField(meType, "hiddenField"); verifyFieldCount(meType, 11); - for (RecordedEvent re : Events.fromRecording(r)) { + for (RecordedEvent re : events) { System.out.println(re); } - RecordedEvent grandpa = findEvent(r, GrandpaEvent.class.getName()); + RecordedEvent grandpa = findEvent(events, GrandpaEvent.class.getName()); Asserts.assertEquals(grandpa.getValue("gPublicField"), 4); Asserts.assertEquals(grandpa.getValue("gProtectedField"), 3); Asserts.assertEquals(grandpa.getValue("gPrivateField"), 2); Asserts.assertEquals(grandpa.getValue("gDefaultField"), 1); Asserts.assertEquals(grandpa.getValue("hiddenField"), 4711); - RecordedEvent parent = findEvent(r, ParentEvent.class.getName()); + RecordedEvent parent = findEvent(events, ParentEvent.class.getName()); Asserts.assertEquals(parent.getValue("gPublicField"), 4); Asserts.assertEquals(parent.getValue("gProtectedField"), 3); Asserts.assertEquals(parent.getValue("gDefaultField"), 1); @@ -148,7 +150,7 @@ public static void main(String[] args) throws Exception { Asserts.assertEquals(parent.getValue("pDefaultField"), 10); Asserts.assertEquals(parent.getValue("hiddenField"), true); - RecordedEvent me = findEvent(r, MeEvent.class.getName()); + RecordedEvent me = findEvent(events, MeEvent.class.getName()); Asserts.assertEquals(me.getValue("gPublicField"), 4); Asserts.assertEquals(me.getValue("gProtectedField"), 3); Asserts.assertEquals(me.getValue("gDefaultField"), 1); @@ -162,8 +164,8 @@ public static void main(String[] args) throws Exception { Asserts.assertEquals(me.getValue("hiddenField"), "Hidden"); } - private static RecordedEvent findEvent(Recording r, String name) throws Exception { - for (RecordedEvent re : Events.fromRecording(r)) { + private static RecordedEvent findEvent(List events, String name) throws Exception { + for (RecordedEvent re : events) { if (re.getEventType().getName().equals(name)) { return re; } diff --git a/test/jdk/jdk/jfr/event/gc/detailed/TestZAllocationStallEvent.java b/test/jdk/jdk/jfr/event/gc/detailed/TestZAllocationStallEvent.java index 2306d33b65107..7e0cc11173370 100644 --- a/test/jdk/jdk/jfr/event/gc/detailed/TestZAllocationStallEvent.java +++ b/test/jdk/jdk/jfr/event/gc/detailed/TestZAllocationStallEvent.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved. * 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 @@ public static void main(String[] args) throws Exception { List events = Events.fromRecording(recording); System.out.println("Events: " + events.size()); Events.hasEvents(events); - for (RecordedEvent event : Events.fromRecording(recording)) { + for (RecordedEvent event : events) { Events.assertField(event, "size").atLeast(2L * 1024 * 1024); } } diff --git a/test/jdk/jdk/jfr/event/gc/detailed/TestZPageAllocationEvent.java b/test/jdk/jdk/jfr/event/gc/detailed/TestZPageAllocationEvent.java index 910fdd80eb43d..182f7b3d509f3 100644 --- a/test/jdk/jdk/jfr/event/gc/detailed/TestZPageAllocationEvent.java +++ b/test/jdk/jdk/jfr/event/gc/detailed/TestZPageAllocationEvent.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved. * 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 @@ public static void main(String[] args) throws Exception { List events = Events.fromRecording(recording); System.out.println("Events: " + events.size()); Events.hasEvents(events); - for (RecordedEvent event : Events.fromRecording(recording)) { + for (RecordedEvent event : events) { Events.assertField(event, "size").atLeast(2L * 1024 * 1024); } } diff --git a/test/jdk/jdk/jfr/event/gc/heapsummary/HeapSummaryEventAllGcs.java b/test/jdk/jdk/jfr/event/gc/heapsummary/HeapSummaryEventAllGcs.java index 8946df90f814e..674270b044911 100644 --- a/test/jdk/jdk/jfr/event/gc/heapsummary/HeapSummaryEventAllGcs.java +++ b/test/jdk/jdk/jfr/event/gc/heapsummary/HeapSummaryEventAllGcs.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -48,10 +48,11 @@ public static void test(String expectedYoungCollector, String expectedOldCollect GCHelper.callSystemGc(5, true); recording.stop(); - if (!checkCollectors(recording, expectedYoungCollector, expectedOldCollector)) { + List allEvents = Events.fromRecording(recording); + if (!checkCollectors(allEvents, expectedYoungCollector, expectedOldCollector)) { return; } - List events = GCHelper.removeFirstAndLastGC(Events.fromRecording(recording)); + List events = GCHelper.removeFirstAndLastGC(allEvents); for (RecordedEvent event : events) { System.out.println("Event:" + event); } @@ -190,8 +191,8 @@ private static void checkSpace(RecordedEvent event, String structName) { Asserts.assertEquals(size, end - start, "Size mismatch"); } - private static boolean checkCollectors(Recording recording, String expectedYoung, String expectedOld) throws Exception { - for (RecordedEvent event : Events.fromRecording(recording)) { + private static boolean checkCollectors(List events, String expectedYoung, String expectedOld) throws Exception { + for (RecordedEvent event : events) { if (Events.isEventType(event, EventNames.GCConfiguration)) { final String young = Events.assertField(event, "youngCollector").notEmpty().getValue(); final String old = Events.assertField(event, "oldCollector").notEmpty().getValue(); diff --git a/test/jdk/jdk/jfr/event/gc/objectcount/ObjectCountAfterGCEvent.java b/test/jdk/jdk/jfr/event/gc/objectcount/ObjectCountAfterGCEvent.java index 4646992f4643e..f5ee4b73a5e6e 100644 --- a/test/jdk/jdk/jfr/event/gc/objectcount/ObjectCountAfterGCEvent.java +++ b/test/jdk/jdk/jfr/event/gc/objectcount/ObjectCountAfterGCEvent.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved. * 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,11 +53,11 @@ public static void test(String gcName) throws Exception { recording.stop(); System.out.println("gcName=" + gcName); - for (RecordedEvent event : Events.fromRecording(recording)) { + List events = Events.fromRecording(recording); + for (RecordedEvent event : events) { System.out.println("Event: " + event); } - List events= Events.fromRecording(recording); Optional gcEvent = events.stream() .filter(e -> isMySystemGc(e, gcName)) .findFirst(); diff --git a/test/jdk/jdk/jfr/event/oldobject/TestMetadataRetention.java b/test/jdk/jdk/jfr/event/oldobject/TestMetadataRetention.java index 82d324f5b55e2..b84160a0ac5a4 100644 --- a/test/jdk/jdk/jfr/event/oldobject/TestMetadataRetention.java +++ b/test/jdk/jdk/jfr/event/oldobject/TestMetadataRetention.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -100,10 +100,10 @@ public static void main(String[] args) throws Throwable { RecordedEvent chunkRotation = findChunkRotationEvent(events); try { // Sanity check that class was unloaded - Events.hasEvent(recording, EventNames.ClassUnload); + Events.hasEvent(events, EventNames.ClassUnload); validateClassUnloadEvent(events); // Validate that metadata for old object event has survived chunk rotation - Events.hasEvent(recording, EventNames.OldObjectSample); + Events.hasEvent(events, EventNames.OldObjectSample); validateOldObjectEvent(events, chunkRotation.getStartTime()); } catch (Throwable t) { t.printStackTrace(); diff --git a/test/jdk/jdk/jfr/event/runtime/TestSafepointEvents.java b/test/jdk/jdk/jfr/event/runtime/TestSafepointEvents.java index f590ebed8987c..285592bce1699 100644 --- a/test/jdk/jdk/jfr/event/runtime/TestSafepointEvents.java +++ b/test/jdk/jdk/jfr/event/runtime/TestSafepointEvents.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -68,9 +68,10 @@ public static void main(String[] args) throws Exception { try { // Verify that each event type was seen at least once + List events = Events.fromRecording(recording); for (String name : EVENT_NAMES) { boolean found = false; - for (RecordedEvent event : Events.fromRecording(recording)) { + for (RecordedEvent event : events) { found = event.getEventType().getName().equals(name); if (found) { break; @@ -81,7 +82,7 @@ public static void main(String[] args) throws Exception { // Collect all events grouped by safepoint id SortedMap> safepointIds = new TreeMap<>(); - for (RecordedEvent event : Events.fromRecording(recording)) { + for (RecordedEvent event : events) { Long safepointId = event.getValue("safepointId"); if (!safepointIds.containsKey(safepointId)) { safepointIds.put(safepointId, new HashSet<>()); diff --git a/test/jdk/jdk/jfr/event/runtime/TestSyncOnValueBasedClassEvent.java b/test/jdk/jdk/jfr/event/runtime/TestSyncOnValueBasedClassEvent.java index 36ef4bf29bf19..f20175da37fd9 100644 --- a/test/jdk/jdk/jfr/event/runtime/TestSyncOnValueBasedClassEvent.java +++ b/test/jdk/jdk/jfr/event/runtime/TestSyncOnValueBasedClassEvent.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -77,7 +77,7 @@ public static void main(String[] args) throws Throwable { List classesFound = new ArrayList(); List events = Events.fromRecording(recording); Events.hasEvents(events); - for (RecordedEvent event : Events.fromRecording(recording)) { + for (RecordedEvent event : events) { String className = Events.assertField(event, "valueBasedClass.name").notEmpty().getValue(); RecordedThread jt = event.getThread(); if (Thread.currentThread().getName().equals(jt.getJavaName())) { diff --git a/test/jdk/jdk/jfr/event/runtime/TestVMOperation.java b/test/jdk/jdk/jfr/event/runtime/TestVMOperation.java index 61ec9677df6a8..ae6f1f27191af 100644 --- a/test/jdk/jdk/jfr/event/runtime/TestVMOperation.java +++ b/test/jdk/jdk/jfr/event/runtime/TestVMOperation.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -54,7 +54,7 @@ public static void main(String[] args) throws Throwable { List events = Events.fromRecording(recording); Events.hasEvents(events); - for (RecordedEvent event : Events.fromRecording(recording)) { + for (RecordedEvent event : events) { String operation = Events.assertField(event, "operation").notEmpty().getValue(); if (operation.equals(VM_OPERATION)) { Events.assertField(event, "safepoint").equal(true); diff --git a/test/jdk/jdk/jfr/startupargs/TestRetransform.java b/test/jdk/jdk/jfr/startupargs/TestRetransform.java index 6e516afe7ebd6..2e4067ae5441d 100644 --- a/test/jdk/jdk/jfr/startupargs/TestRetransform.java +++ b/test/jdk/jdk/jfr/startupargs/TestRetransform.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2023, Oracle and/or its affiliates. All rights reserved. * 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,9 +23,11 @@ package jdk.jfr.startupargs; +import java.util.List; import jdk.jfr.Event; import jdk.jfr.EventType; import jdk.jfr.Recording; +import jdk.jfr.consumer.RecordedEvent; import jdk.test.lib.Asserts; import jdk.test.lib.jfr.Events; import jdk.test.lib.jfr.SimpleEvent; @@ -58,8 +60,9 @@ public static void main(String[] args) throws Exception { if (type.isEnabled()) { Asserts.fail("Expected event to be disabled after recording stopped"); } - Events.hasEvent(r, SimpleEvent.class.getName()); - Events.hasEvent(r, TestEvent.class.getName()); + List events = Events.fromRecording(r); + Events.hasEvent(events, SimpleEvent.class.getName()); + Events.hasEvent(events, TestEvent.class.getName()); } // Classes that are loaded during a recording diff --git a/test/lib/jdk/test/lib/jfr/Events.java b/test/lib/jdk/test/lib/jfr/Events.java index e3e5979817962..5a180659f9fcf 100644 --- a/test/lib/jdk/test/lib/jfr/Events.java +++ b/test/lib/jdk/test/lib/jfr/Events.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -271,7 +271,12 @@ public static boolean isEventType(RecordedEvent event, String typeName) { * @throws IOException if an event set could not be created due to I/O * errors. */ + private static long lastId = -1; public static List fromRecording(Recording recording) throws IOException { + if (recording.getId() == lastId) { + throw new IOException("Recording with id " + lastId + " has already been dumped. Store the results in a List instead of dumping the recording again"); + } + lastId = recording.getId(); return RecordingFile.readAllEvents(makeCopy(recording)); } From 2f299e4a732a945175a9d334d69fedafbe0ca25b Mon Sep 17 00:00:00 2001 From: Eirik Bjorsnos Date: Fri, 1 Dec 2023 21:15:46 +0000 Subject: [PATCH 045/143] 8321182: SourceExample.SOURCE_14 comment should refer to 'switch expressions' instead of 'text blocks' Reviewed-by: darcy --- .../tools/javac/versions/Versions.java | 55 ++++++++----------- 1 file changed, 23 insertions(+), 32 deletions(-) diff --git a/test/langtools/tools/javac/versions/Versions.java b/test/langtools/tools/javac/versions/Versions.java index 554d384948b67..297995e921ae4 100644 --- a/test/langtools/tools/javac/versions/Versions.java +++ b/test/langtools/tools/javac/versions/Versions.java @@ -42,9 +42,7 @@ import javax.tools.StandardJavaFileManager; import java.util.List; import java.util.ArrayList; -import java.util.Arrays; import java.util.Set; -import java.util.function.BiConsumer; import java.util.function.Consumer; /* @@ -240,16 +238,8 @@ protected void check(String major) { protected void check(String major, List args) { printargs("check", args); - List jcargs = new ArrayList<>(); - jcargs.add("-Xlint:-options"); - // add in args conforming to List requrements of JavaCompiler - for (String onearg : args) { - String[] fields = onearg.split(" "); - for (String onefield : fields) { - jcargs.add(onefield); - } - } + List jcargs = javaCompilerOptions(args); boolean creturn = compile("Base.java", jcargs); if (!creturn) { @@ -264,6 +254,25 @@ protected void check(String major, List args) { } } + /** + * Create a list of options suitable for use with {@link JavaCompiler} + * @param args a list of space-delimited options, such as "-source 11" + * @return a list of arguments suitable for use with {@link JavaCompiler} + */ + private static List javaCompilerOptions(List args) { + List jcargs = new ArrayList<>(); + jcargs.add("-Xlint:-options"); + + // add in args conforming to List requirements of JavaCompiler + for (String onearg : args) { + String[] fields = onearg.split(" "); + for (String onefield : fields) { + jcargs.add(onefield); + } + } + return jcargs; + } + /** * The BASE source example is expected to compile on all source * levels. Otherwise, an example is expected to compile on its @@ -311,7 +320,7 @@ void m(String name) { """), SOURCE_14(14, "New14.java", - // New feature in 14: text blocks + // New feature in 14: switch expressions """ public class New14 { static { @@ -427,16 +436,7 @@ protected void expectedFail(List args, List fileNames) { protected void pass(List args) { printargs("pass", args); - List jcargs = new ArrayList<>(); - jcargs.add("-Xlint:-options"); - - // add in args conforming to List requrements of JavaCompiler - for (String onearg : args) { - String[] fields = onearg.split(" "); - for (String onefield : fields) { - jcargs.add(onefield); - } - } + List jcargs = javaCompilerOptions(args); // empty list is error if (jcargs.isEmpty()) { @@ -464,16 +464,7 @@ protected void pass(List args) { protected void fail(List args) { printargs("fail", args); - List jcargs = new ArrayList<>(); - jcargs.add("-Xlint:-options"); - - // add in args conforming to List requrements of JavaCompiler - for (String onearg : args) { - String[] fields = onearg.split(" "); - for (String onefield : fields) { - jcargs.add(onefield); - } - } + List jcargs = javaCompilerOptions(args); // empty list is error if (jcargs.isEmpty()) { From 8be3e39220cd64521f4e370011958e17e5fdeaf3 Mon Sep 17 00:00:00 2001 From: Leonid Mesnik Date: Sat, 2 Dec 2023 02:58:03 +0000 Subject: [PATCH 046/143] 8320129: "top" command during jtreg failure handler does not display CPU usage on OSX Reviewed-by: cjplummer, jpai --- test/failure_handler/src/share/conf/mac.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/failure_handler/src/share/conf/mac.properties b/test/failure_handler/src/share/conf/mac.properties index f075178e7ebb8..1a5d48f2bdc91 100644 --- a/test/failure_handler/src/share/conf/mac.properties +++ b/test/failure_handler/src/share/conf/mac.properties @@ -116,7 +116,7 @@ system.sysctl.args=-a process.ps.app=ps process.ps.args=-Meo pid,pcpu,cputime,start,pmem,vsz,rss,state,wchan,user,args process.top.app=top -process.top.args=-l 1 +process.top.args=-l 2 memory.vmstat.app=vm_stat memory.vmstat.args=-c 3 3 From 6f7bb79a5b543ebd9ccd72d7b1b289b1f6e4cedb Mon Sep 17 00:00:00 2001 From: Jaikiran Pai Date: Sat, 2 Dec 2023 05:38:07 +0000 Subject: [PATCH 047/143] 8320931: [REDO] dsymutil command leaves around temporary directories Reviewed-by: ihse, clanger --- make/autoconf/basic_tools.m4 | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/make/autoconf/basic_tools.m4 b/make/autoconf/basic_tools.m4 index 92a4582ecddc9..f9ecbab7ac099 100644 --- a/make/autoconf/basic_tools.m4 +++ b/make/autoconf/basic_tools.m4 @@ -390,6 +390,17 @@ AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS], if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then UTIL_REQUIRE_PROGS(DSYMUTIL, dsymutil) + AC_MSG_CHECKING([if dsymutil supports --reproducer option]) + if $DSYMUTIL --help | $GREP -q '\--reproducer '; then + AC_MSG_RESULT([yes]) + # --reproducer option is supported + # set "--reproducer Off" to prevent unnecessary temporary + # directories creation + DSYMUTIL="$DSYMUTIL --reproducer Off" + else + # --reproducer option isn't supported + AC_MSG_RESULT([no]) + fi UTIL_REQUIRE_PROGS(MIG, mig) UTIL_REQUIRE_PROGS(XATTR, xattr) UTIL_LOOKUP_PROGS(CODESIGN, codesign) From 5dee2a36756caba28cf12920dc562278576f6de0 Mon Sep 17 00:00:00 2001 From: Alan Bateman Date: Sat, 2 Dec 2023 09:05:16 +0000 Subject: [PATCH 048/143] 8320440: Implementation of Structured Concurrency (Second Preview) Reviewed-by: iris, jpai, mchung, mcimadamore --- .../share/classes/jdk/internal/javac/PreviewFeature.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java b/src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java index 6f96e7e6840eb..e4218f9bd5d10 100644 --- a/src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java +++ b/src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java @@ -75,7 +75,7 @@ public enum Feature { IMPLICIT_CLASSES, @JEP(number=446, title="Scoped Values", status="Preview") SCOPED_VALUES, - @JEP(number=453, title="Structured Concurrency", status="Preview") + @JEP(number=462, title="Structured Concurrency", status="Second Preview") STRUCTURED_CONCURRENCY, @JEP(number=461, title="Stream Gatherers", status="Preview") STREAM_GATHERERS, From 4dcbd13f99b62de16d6ed13cdf422e6bf9b03a63 Mon Sep 17 00:00:00 2001 From: Erik Gahlin Date: Sat, 2 Dec 2023 17:03:15 +0000 Subject: [PATCH 049/143] 8314905: jdk/jfr/tool/TestView.java fails with RuntimeException 'Invoked Concurrent' missing from stdout/stderr Reviewed-by: mgronlun --- test/jdk/jdk/jfr/tool/TestView.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/jdk/jdk/jfr/tool/TestView.java b/test/jdk/jdk/jfr/tool/TestView.java index fda82939c373d..89c74133286f9 100644 --- a/test/jdk/jdk/jfr/tool/TestView.java +++ b/test/jdk/jdk/jfr/tool/TestView.java @@ -91,13 +91,13 @@ private static void testTableView(String recording) throws Throwable { private static void testEventType(String recording) throws Throwable { OutputAnalyzer output = ExecuteHelper.jfr( - "view", "--verbose", "--width", "300", "--cell-height", "100", "SystemGC", recording); + "view", "--verbose", "--width", "300", "--cell-height", "100", "ThreadSleep", recording); // Verify title - output.shouldContain("System GC"); + output.shouldContain("Thread Sleep"); // Verify headings - output.shouldContain("Invoked Concurrent"); + output.shouldContain("Sleep Time"); // Verify verbose headings - output.shouldContain("invokedConcurrent"); + output.shouldContain("time"); // Verify thread value output.shouldContain(Thread.currentThread().getName()); // Verify stack frame From 949846986f572dfb82912e7d71e7bfd37a90871e Mon Sep 17 00:00:00 2001 From: Gregor Purdy Date: Sat, 2 Dec 2023 21:13:37 +0000 Subject: [PATCH 050/143] 8318983: Fix comment typo in PKCS12Passwd.java Reviewed-by: weijun --- test/jdk/sun/security/tools/keytool/PKCS12Passwd.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/jdk/sun/security/tools/keytool/PKCS12Passwd.java b/test/jdk/sun/security/tools/keytool/PKCS12Passwd.java index e5a60b5c06cd8..9f381cf49bf0a 100644 --- a/test/jdk/sun/security/tools/keytool/PKCS12Passwd.java +++ b/test/jdk/sun/security/tools/keytool/PKCS12Passwd.java @@ -108,7 +108,7 @@ public static void main(String[] args) throws Exception { check("p12", "newpass", "newpass"); - // Conversely, a JKS keystore can be laoded as a PKCS12, and it follows + // Conversely, a JKS keystore can be loaded as a PKCS12, and it follows // PKCS12 rules that both passwords are changed at the same time and // some commands are rejected. From b9df827adc92cb1fc65f6b1efdf82dcae00a4e2d Mon Sep 17 00:00:00 2001 From: Erik Gahlin Date: Sun, 3 Dec 2023 19:46:37 +0000 Subject: [PATCH 051/143] 8309871: jdk/jfr/api/consumer/recordingstream/TestSetEndTime.java timed out Reviewed-by: mgronlun --- .../jdk/jfr/api/consumer/recordingstream/TestSetEndTime.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/jdk/jdk/jfr/api/consumer/recordingstream/TestSetEndTime.java b/test/jdk/jdk/jfr/api/consumer/recordingstream/TestSetEndTime.java index ee1c9d379223e..478e7a7f77edb 100644 --- a/test/jdk/jdk/jfr/api/consumer/recordingstream/TestSetEndTime.java +++ b/test/jdk/jdk/jfr/api/consumer/recordingstream/TestSetEndTime.java @@ -47,7 +47,7 @@ * @key jfr * @requires vm.hasJFR * @library /test/lib - * @run main/othervm jdk.jfr.api.consumer.recordingstream.TestSetEndTime + * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps jdk.jfr.api.consumer.recordingstream.TestSetEndTime */ public final class TestSetEndTime { From 2b00ac0d02a110326846c75ea7ea535dccbb1924 Mon Sep 17 00:00:00 2001 From: Adam Sotona Date: Mon, 4 Dec 2023 07:07:57 +0000 Subject: [PATCH 052/143] 8308753: Class-File API transition to Preview Reviewed-by: ihse, mchung, vromero --- .../tools/module/GenModuleInfoSource.java | 5 + make/modules/java.base/Java.gmk | 4 +- make/test/BuildMicrobenchmark.gmk | 5 - .../share/classes/java/lang/Module.java | 16 +- .../lang}/classfile/AccessFlags.java | 6 +- .../lang}/classfile/Annotation.java | 17 +- .../lang}/classfile/AnnotationElement.java | 8 +- .../lang}/classfile/AnnotationValue.java | 130 ++- .../lang}/classfile/Attribute.java | 83 +- .../lang}/classfile/AttributeMapper.java | 24 +- .../lang}/classfile/AttributedElement.java | 13 +- .../lang}/classfile/Attributes.java | 158 ++-- .../lang}/classfile/BootstrapMethodEntry.java | 12 +- .../lang}/classfile/BufWriter.java | 14 +- .../lang}/classfile/ClassBuilder.java | 21 +- .../lang}/classfile/ClassElement.java | 63 +- .../lang/classfile/ClassFile.java} | 769 +++++++++--------- .../lang/classfile/ClassFileBuilder.java} | 25 +- .../lang/classfile/ClassFileElement.java} | 10 +- .../lang/classfile/ClassFileTransform.java} | 42 +- .../lang/classfile/ClassFileVersion.java} | 20 +- .../classfile/ClassHierarchyResolver.java | 21 +- .../lang}/classfile/ClassModel.java | 10 +- .../lang}/classfile/ClassReader.java | 29 +- .../lang}/classfile/ClassSignature.java | 10 +- .../lang}/classfile/ClassTransform.java | 23 +- .../lang}/classfile/CodeBuilder.java | 120 +-- .../lang}/classfile/CodeElement.java | 19 +- .../lang}/classfile/CodeModel.java | 10 +- .../lang}/classfile/CodeTransform.java | 21 +- .../lang}/classfile/CompoundElement.java | 13 +- .../lang}/classfile/CustomAttribute.java | 36 +- .../lang}/classfile/FieldBuilder.java | 12 +- .../lang}/classfile/FieldElement.java | 31 +- .../lang}/classfile/FieldModel.java | 8 +- .../lang}/classfile/FieldTransform.java | 21 +- .../lang}/classfile/Instruction.java | 56 +- .../lang}/classfile/Interfaces.java | 10 +- .../lang}/classfile/Label.java | 8 +- .../lang}/classfile/MethodBuilder.java | 12 +- .../lang}/classfile/MethodElement.java | 39 +- .../lang}/classfile/MethodModel.java | 8 +- .../lang}/classfile/MethodSignature.java | 12 +- .../lang}/classfile/MethodTransform.java | 21 +- .../lang}/classfile/Opcode.java | 457 ++++++----- .../lang}/classfile/PseudoInstruction.java | 22 +- .../lang}/classfile/Signature.java | 38 +- .../lang}/classfile/Superclass.java | 10 +- .../lang}/classfile/TypeAnnotation.java | 120 ++- .../lang}/classfile/TypeKind.java | 6 +- .../lang}/classfile/WritableElement.java | 13 +- .../attribute/AnnotationDefaultAttribute.java | 16 +- .../attribute/BootstrapMethodsAttribute.java | 14 +- .../attribute/CharacterRangeInfo.java | 24 +- .../CharacterRangeTableAttribute.java | 8 +- .../classfile/attribute/CodeAttribute.java | 16 +- .../attribute/CompilationIDAttribute.java | 16 +- .../attribute/ConstantValueAttribute.java | 16 +- .../attribute/DeprecatedAttribute.java | 14 +- .../attribute/EnclosingMethodAttribute.java | 30 +- .../attribute/ExceptionsAttribute.java | 14 +- .../classfile/attribute/InnerClassInfo.java | 12 +- .../attribute/InnerClassesAttribute.java | 14 +- .../classfile/attribute/LineNumberInfo.java | 6 +- .../attribute/LineNumberTableAttribute.java | 14 +- .../attribute/LocalVariableInfo.java | 8 +- .../LocalVariableTableAttribute.java | 14 +- .../attribute/LocalVariableTypeInfo.java | 8 +- .../LocalVariableTypeTableAttribute.java | 16 +- .../attribute/MethodParameterInfo.java | 14 +- .../attribute/MethodParametersAttribute.java | 16 +- .../classfile/attribute/ModuleAttribute.java | 32 +- .../classfile/attribute/ModuleExportInfo.java | 16 +- .../classfile/attribute/ModuleHashInfo.java | 8 +- .../attribute/ModuleHashesAttribute.java | 16 +- .../attribute/ModuleMainClassAttribute.java | 19 +- .../classfile/attribute/ModuleOpenInfo.java | 14 +- .../attribute/ModulePackagesAttribute.java | 18 +- .../attribute/ModuleProvideInfo.java | 10 +- .../attribute/ModuleRequireInfo.java | 18 +- .../attribute/ModuleResolutionAttribute.java | 17 +- .../attribute/ModuleTargetAttribute.java | 16 +- .../attribute/NestHostAttribute.java | 19 +- .../attribute/NestMembersAttribute.java | 18 +- .../PermittedSubclassesAttribute.java | 18 +- .../classfile/attribute/RecordAttribute.java | 16 +- .../attribute/RecordComponentInfo.java | 14 +- .../RuntimeInvisibleAnnotationsAttribute.java | 14 +- ...nvisibleParameterAnnotationsAttribute.java | 18 +- ...timeInvisibleTypeAnnotationsAttribute.java | 24 +- .../RuntimeVisibleAnnotationsAttribute.java | 14 +- ...eVisibleParameterAnnotationsAttribute.java | 18 +- ...untimeVisibleTypeAnnotationsAttribute.java | 24 +- .../attribute/SignatureAttribute.java | 28 +- .../SourceDebugExtensionAttribute.java | 16 +- .../attribute/SourceFileAttribute.java | 16 +- .../attribute/SourceIDAttribute.java | 16 +- .../attribute/StackMapFrameInfo.java | 25 +- .../attribute/StackMapTableAttribute.java | 12 +- .../attribute/SyntheticAttribute.java | 14 +- .../classfile/attribute/UnknownAttribute.java | 14 +- .../classfile/attribute/package-info.java | 36 + .../classfile/components/ClassPrinter.java | 37 +- .../classfile/components/ClassRemapper.java | 22 +- .../components/CodeLocalsShifter.java | 12 +- .../classfile/components/CodeRelabeler.java | 20 +- .../components/CodeStackTracker.java | 12 +- .../classfile/components/package-info.java | 37 +- .../snippet-files/PackageSnippets.java | 46 +- .../AnnotationConstantValueEntry.java | 7 +- .../classfile/constantpool/ClassEntry.java | 6 +- .../constantpool/ConstantDynamicEntry.java | 8 +- .../classfile/constantpool/ConstantPool.java | 13 +- .../constantpool/ConstantPoolBuilder.java | 26 +- .../constantpool/ConstantPoolException.java | 7 +- .../constantpool/ConstantValueEntry.java | 7 +- .../classfile/constantpool/DoubleEntry.java | 8 +- .../DynamicConstantPoolEntry.java | 10 +- .../classfile/constantpool/FieldRefEntry.java | 7 +- .../classfile/constantpool/FloatEntry.java | 8 +- .../classfile/constantpool/IntegerEntry.java | 8 +- .../constantpool/InterfaceMethodRefEntry.java | 7 +- .../constantpool/InvokeDynamicEntry.java | 6 +- .../constantpool/LoadableConstantEntry.java | 9 +- .../classfile/constantpool/LongEntry.java | 8 +- .../constantpool/MemberRefEntry.java | 7 +- .../constantpool/MethodHandleEntry.java | 6 +- .../constantpool/MethodRefEntry.java | 7 +- .../constantpool/MethodTypeEntry.java | 6 +- .../classfile/constantpool/ModuleEntry.java | 6 +- .../constantpool/NameAndTypeEntry.java | 6 +- .../classfile/constantpool/PackageEntry.java | 6 +- .../classfile/constantpool/PoolEntry.java | 9 +- .../classfile/constantpool/StringEntry.java | 6 +- .../classfile/constantpool/Utf8Entry.java | 6 +- .../classfile/constantpool/package-info.java | 36 + .../instruction/ArrayLoadInstruction.java | 16 +- .../instruction/ArrayStoreInstruction.java | 16 +- .../instruction/BranchInstruction.java | 16 +- .../classfile/instruction/CharacterRange.java | 44 +- .../instruction/ConstantInstruction.java | 27 +- .../instruction/ConvertInstruction.java | 16 +- .../instruction/DiscontinuedInstruction.java | 22 +- .../classfile/instruction/ExceptionCatch.java | 16 +- .../instruction/FieldInstruction.java | 23 +- .../instruction/IncrementInstruction.java | 14 +- .../instruction/InvokeDynamicInstruction.java | 19 +- .../instruction/InvokeInstruction.java | 30 +- .../classfile/instruction/LabelTarget.java | 14 +- .../classfile/instruction/LineNumber.java | 18 +- .../instruction/LoadInstruction.java | 16 +- .../classfile/instruction/LocalVariable.java | 24 +- .../instruction/LocalVariableType.java | 26 +- .../instruction/LookupSwitchInstruction.java | 14 +- .../instruction/MonitorInstruction.java | 14 +- .../instruction/NewMultiArrayInstruction.java | 14 +- .../instruction/NewObjectInstruction.java | 14 +- .../NewPrimitiveArrayInstruction.java | 14 +- .../NewReferenceArrayInstruction.java | 14 +- .../classfile/instruction/NopInstruction.java | 12 +- .../instruction/OperatorInstruction.java | 16 +- .../instruction/ReturnInstruction.java | 16 +- .../instruction/StackInstruction.java | 14 +- .../instruction/StoreInstruction.java | 16 +- .../classfile/instruction/SwitchCase.java | 8 +- .../instruction/TableSwitchInstruction.java | 14 +- .../instruction/ThrowInstruction.java | 12 +- .../instruction/TypeCheckInstruction.java | 16 +- .../classfile/instruction/package-info.java | 36 + .../lang}/classfile/package-info.java | 202 +++-- .../snippet-files/PackageSnippets.java | 159 +++- .../java/lang/invoke/MethodHandleProxies.java | 12 +- .../java/lang/runtime/SwitchBootstraps.java | 10 +- .../impl/AbstractAttributeMapper.java | 30 +- .../impl/AbstractBoundLocalVariable.java | 6 +- .../classfile/impl/AbstractDirectBuilder.java | 6 +- .../classfile/impl/AbstractInstruction.java | 78 +- .../classfile/impl/AbstractPoolEntry.java | 95 ++- .../impl/AbstractPseudoInstruction.java | 18 +- .../classfile/impl/AbstractUnboundModel.java | 10 +- .../classfile/impl/AccessFlagsImpl.java | 2 +- .../classfile/impl/AnnotationImpl.java | 6 +- .../classfile/impl/AnnotationReader.java | 20 +- .../classfile/impl/AttributeHolder.java | 6 +- .../classfile/impl/BlockCodeBuilderImpl.java | 12 +- .../impl/BootstrapMethodEntryImpl.java | 10 +- .../classfile/impl/BoundAttribute.java | 20 +- .../classfile/impl/BoundCharacterRange.java | 4 +- .../classfile/impl/BoundLocalVariable.java | 6 +- .../impl/BoundLocalVariableType.java | 6 +- .../impl/BoundRecordComponentInfo.java | 8 +- .../classfile/impl/BufWriterImpl.java | 22 +- .../classfile/impl/BufferedCodeBuilder.java | 28 +- .../classfile/impl/BufferedFieldBuilder.java | 10 +- .../classfile/impl/BufferedMethodBuilder.java | 28 +- .../classfile/impl/BytecodeHelpers.java | 20 +- .../classfile/impl/CatchBuilderImpl.java | 6 +- .../classfile/impl/ChainedClassBuilder.java | 6 +- .../classfile/impl/ChainedCodeBuilder.java | 8 +- .../classfile/impl/ChainedFieldBuilder.java | 8 +- .../classfile/impl/ChainedMethodBuilder.java | 14 +- ...{ClassfileImpl.java => ClassFileImpl.java} | 30 +- ...ionImpl.java => ClassFileVersionImpl.java} | 10 +- .../classfile/impl/ClassHierarchyImpl.java | 4 +- .../internal/classfile/impl/ClassImpl.java | 42 +- .../classfile/impl/ClassPrinterImpl.java | 40 +- .../classfile/impl/ClassReaderImpl.java | 59 +- .../classfile/impl/ClassRemapperImpl.java | 110 +-- .../jdk/internal/classfile/impl/CodeImpl.java | 26 +- .../classfile/impl/CodeLocalsShifterImpl.java | 20 +- .../classfile/impl/CodeRelabelerImpl.java | 26 +- .../classfile/impl/CodeStackTrackerImpl.java | 62 +- .../classfile/impl/DirectClassBuilder.java | 47 +- .../classfile/impl/DirectCodeBuilder.java | 107 +-- .../classfile/impl/DirectFieldBuilder.java | 21 +- .../classfile/impl/DirectMethodBuilder.java | 33 +- .../internal/classfile/impl/FieldImpl.java | 4 +- .../classfile/impl/InterfacesImpl.java | 4 +- .../internal/classfile/impl/LabelContext.java | 2 +- .../internal/classfile/impl/LabelImpl.java | 4 +- .../classfile/impl/LineNumberImpl.java | 2 +- .../internal/classfile/impl/MethodImpl.java | 4 +- .../internal/classfile/impl/MethodInfo.java | 4 +- .../impl/ModuleAttributeBuilderImpl.java | 10 +- .../impl/NonterminalCodeBuilder.java | 8 +- .../classfile/impl/RawBytecodeHelper.java | 10 +- .../classfile/impl/SignaturesImpl.java | 8 +- .../classfile/impl/SplitConstantPool.java | 76 +- .../internal/classfile/impl/StackCounter.java | 10 +- .../classfile/impl/StackMapDecoder.java | 16 +- .../classfile/impl/StackMapGenerator.java | 36 +- .../classfile/impl/SuperclassImpl.java | 4 +- .../classfile/impl/TargetInfoImpl.java | 6 +- .../classfile/impl/TemporaryConstantPool.java | 46 +- .../classfile/impl/TerminalCodeBuilder.java | 2 +- .../classfile/impl/TerminalFieldBuilder.java | 2 +- .../classfile/impl/TerminalMethodBuilder.java | 4 +- .../classfile/impl/TransformImpl.java | 38 +- .../impl/TransformingCodeBuilder.java | 12 +- .../classfile/impl/UnboundAttribute.java | 137 ++-- .../jdk/internal/classfile/impl/Util.java | 20 +- .../impl/verifier/VerificationBytecodes.java | 484 +++++------ .../impl/verifier/VerificationWrapper.java | 18 +- .../classfile/impl/verifier/VerifierImpl.java | 484 +++++------ .../foreign/abi/BindingSpecializer.java | 18 +- .../jdk/internal/javac/PreviewFeature.java | 2 + .../internal/module/ModuleInfoExtender.java | 20 +- src/java.base/share/classes/module-info.java | 35 +- .../share/classes/module-info.java | 3 + .../classes/sun/tools/jar/FingerPrint.java | 20 +- .../com/sun/tools/javap/AnnotationWriter.java | 14 +- .../com/sun/tools/javap/AttributeWriter.java | 10 +- .../com/sun/tools/javap/ClassWriter.java | 68 +- .../com/sun/tools/javap/CodeWriter.java | 18 +- .../com/sun/tools/javap/ConstantWriter.java | 4 +- .../tools/javap/InstructionDetailWriter.java | 2 +- .../com/sun/tools/javap/JavapTask.java | 12 +- .../tools/javap/LocalVariableTableWriter.java | 10 +- .../javap/LocalVariableTypeTableWriter.java | 10 +- .../classes/com/sun/tools/javap/Options.java | 2 +- .../com/sun/tools/javap/SourceWriter.java | 8 +- .../com/sun/tools/javap/StackMapWriter.java | 14 +- .../com/sun/tools/javap/TryBlockWriter.java | 6 +- .../sun/tools/javap/TypeAnnotationWriter.java | 10 +- src/jdk.jdeps/share/classes/module-info.java | 3 + .../jdk/jfr/internal/EventClassBuilder.java | 26 +- .../jfr/internal/EventInstrumentation.java | 32 +- .../jdk/jfr/internal/util/Bytecode.java | 10 +- src/jdk.jfr/share/classes/module-info.java | 3 + .../classes/jdk/tools/jimage/JImageTask.java | 10 +- .../internal/plugins/AbstractPlugin.java | 12 +- .../plugins/IncludeLocalesPlugin.java | 2 +- .../internal/plugins/StringSharingPlugin.java | 14 +- .../StripJavaDebugAttributesPlugin.java | 20 +- .../internal/plugins/SystemModulesPlugin.java | 18 +- .../internal/plugins/VersionPropsPlugin.java | 16 +- src/jdk.jlink/share/classes/module-info.java | 3 + .../execution/LocalExecutionControl.java | 16 +- src/jdk.jshell/share/classes/module-info.java | 3 + .../runtime/test/TestResolvedJavaMethod.java | 22 +- .../dcmd/framework/VMVersionTest.java | 6 +- .../securityManager/ClassLoaderTest.java | 6 +- .../lang/ModuleTests/AnnotationsTest.java | 4 +- .../invoke/MethodHandleProxies/BasicTest.java | 12 +- .../WrapperHiddenClassTest.java | 10 +- .../lang/invoke/lib/InstructionHelper.java | 16 +- .../condy/BootstrapMethodJumboArgsTest.java | 6 +- .../lang/invoke/condy/CondyBSMException.java | 6 +- .../lang/invoke/condy/CondyBSMInvocation.java | 6 +- .../invoke/condy/CondyBSMValidationTest.java | 6 +- .../CondyInterfaceWithOverpassMethods.java | 14 +- .../invoke/condy/CondyNameValidationTest.java | 6 +- .../lang/invoke/condy/CondyNestedTest.java | 22 +- .../condy/CondyRepeatFailedResolution.java | 42 +- .../condy/CondyReturnPrimitiveTest.java | 42 +- .../condy/CondyStaticArgumentsTest.java | 6 +- .../invoke/condy/CondyTypeValidationTest.java | 6 +- .../invoke/condy/CondyWithGarbageTest.java | 22 +- .../lang/invoke/condy/CondyWrongType.java | 6 +- .../invoke/condy/ConstantBootstrapsTest.java | 6 +- .../lang/module/ClassFileVersionsTest.java | 6 +- .../java/lang/module/ConfigurationTest.java | 4 +- .../lang/module/ModuleDescriptorTest.java | 10 +- .../java/lang/module/ModuleFinderTest.java | 6 +- .../jdk/java/lang/module/ModuleNamesTest.java | 4 +- .../java/lang/module/MultiReleaseJarTest.java | 6 +- .../lang/runtime/SwitchBootstrapsTest.java | 7 +- .../Provider/SecurityProviderModularTest.java | 6 +- .../java/time/chrono/HijrahConfigTest.java | 6 +- .../login/modules/JaasModularClientTest.java | 6 +- .../JaasModularDefaultHandlerTest.java | 6 +- test/jdk/jdk/classfile/AccessFlagsTest.java | 4 +- test/jdk/jdk/classfile/AdaptCodeTest.java | 18 +- .../AdvancedTransformationsTest.java | 56 +- .../jdk/classfile/AnnotationModelTest.java | 8 +- test/jdk/jdk/classfile/AnnotationTest.java | 12 +- test/jdk/jdk/classfile/ArrayTest.java | 22 +- test/jdk/jdk/classfile/BSMTest.java | 18 +- test/jdk/jdk/classfile/BasicBlockTest.java | 6 +- .../jdk/jdk/classfile/BoundAttributeTest.java | 14 +- test/jdk/jdk/classfile/BuilderBlockTest.java | 42 +- test/jdk/jdk/classfile/BuilderParamTest.java | 8 +- .../jdk/classfile/BuilderTryCatchTest.java | 26 +- test/jdk/jdk/classfile/ClassBuildingTest.java | 16 +- .../jdk/classfile/ClassHierarchyInfoTest.java | 25 +- test/jdk/jdk/classfile/ClassPrinterTest.java | 20 +- .../jdk/classfile/ConstantPoolCopyTest.java | 56 +- test/jdk/jdk/classfile/CorpusTest.java | 38 +- .../DiscontinuedInstructionsTest.java | 12 +- .../jdk/classfile/FilterDeadLabelsTest.java | 12 +- test/jdk/jdk/classfile/LDCTest.java | 16 +- test/jdk/jdk/classfile/LimitsTest.java | 20 +- test/jdk/jdk/classfile/LowAdaptTest.java | 16 +- .../jdk/classfile/LowJCovAttributeTest.java | 20 +- test/jdk/jdk/classfile/LowModuleTest.java | 22 +- test/jdk/jdk/classfile/LvtTest.java | 38 +- .../jdk/classfile/MassAdaptCopyCodeTest.java | 16 +- .../MassAdaptCopyPrimitiveMatchCodeTest.java | 22 +- test/jdk/jdk/classfile/ModuleBuilderTest.java | 28 +- test/jdk/jdk/classfile/OneToOneTest.java | 36 +- .../jdk/classfile/OpcodesValidationTest.java | 12 +- test/jdk/jdk/classfile/OptionsTest.java | 33 +- .../classfile/PreviewMinorVersionTest.java | 12 +- .../classfile/PrimitiveClassConstantTest.java | 6 +- test/jdk/jdk/classfile/ShortJumpsFixTest.java | 36 +- test/jdk/jdk/classfile/SignaturesTest.java | 16 +- test/jdk/jdk/classfile/SnippetsTest.java | 13 +- test/jdk/jdk/classfile/StackMapsTest.java | 36 +- test/jdk/jdk/classfile/StackTrackerTest.java | 10 +- .../jdk/jdk/classfile/StreamedVsListTest.java | 44 +- test/jdk/jdk/classfile/SwapTest.java | 6 +- test/jdk/jdk/classfile/TEST.properties | 6 +- .../TempConstantPoolBuilderTest.java | 14 +- .../jdk/classfile/TestRecordComponent.java | 22 +- test/jdk/jdk/classfile/TransformTests.java | 22 +- test/jdk/jdk/classfile/Utf8EntryTest.java | 28 +- test/jdk/jdk/classfile/UtilTest.java | 2 +- test/jdk/jdk/classfile/VerifierSelfTest.java | 16 +- test/jdk/jdk/classfile/WriteTest.java | 24 +- .../examples/AnnotationsExamples.java | 32 +- .../classfile/examples/ExampleGallery.java | 94 +-- .../ExperimentalTransformExamples.java | 10 +- .../classfile/examples/ModuleExamples.java | 26 +- .../classfile/examples/TransformExamples.java | 24 +- .../jdk/classfile/helpers/ClassRecord.java | 26 +- .../InstructionModelToCodeBuilder.java | 6 +- .../helpers/RebuildingTransformation.java | 14 +- test/jdk/jdk/classfile/helpers/TestUtil.java | 4 +- .../jdk/jdk/classfile/helpers/Transforms.java | 54 +- test/jdk/jdk/lambda/TEST.properties | 6 +- .../separate/ClassToInterfaceConverter.java | 10 +- .../jdk/modules/incubator/ServiceBinding.java | 6 +- .../jdk/sun/tools/jcmd/TestProcessHelper.java | 4 +- .../tools/jimage/JImageNonAsciiNameTest.java | 6 +- test/jdk/tools/jimage/JImageTest.java | 6 +- test/jdk/tools/jlink/DefaultProviderTest.java | 6 +- .../tools/jlink/ExplodedModuleNameTest.java | 6 +- test/jdk/tools/jlink/IntegrationTest.java | 6 +- test/jdk/tools/jlink/JLink100Modules.java | 6 +- test/jdk/tools/jlink/JLink2Test.java | 6 +- .../jlink/JLinkDedupTestBatchSizeOne.java | 6 +- test/jdk/tools/jlink/JLinkNegativeTest.java | 11 +- test/jdk/tools/jlink/JLinkOptionsTest.java | 6 +- test/jdk/tools/jlink/JLinkPluginsTest.java | 6 +- test/jdk/tools/jlink/JLinkTest.java | 6 +- .../jdk/tools/jlink/ModuleNamesOrderTest.java | 6 +- test/jdk/tools/jlink/NativeTest.java | 6 +- .../jlink/plugins/AddOptionsPluginTest.java | 6 +- .../tools/jlink/plugins/CDSPluginTest.java | 6 +- .../plugins/GenerateJLIClassesPluginTest.java | 6 +- .../plugins/IncludeLocalesPluginTest.java | 6 +- .../plugins/SaveJlinkArgfilesPluginTest.java | 6 +- .../plugins/StringSharingPluginTest.java | 6 +- .../StripJavaDebugAttributesPluginTest.java | 12 +- .../jlink/plugins/VendorInfoPluginsTest.java | 6 +- test/jdk/tools/lib/tests/JImageValidator.java | 6 +- .../classfile/ClassfileInspector.java | 6 +- .../tools/javac/4241573/T4241573.java | 16 +- .../tools/javac/7003595/T7003595.java | 14 +- .../CPoolRefClassContainingInlinedCts.java | 16 +- .../CheckACC_STRICTFlagOnclinitTest.java | 52 +- .../8000518/DuplicateConstantPoolEntry.java | 16 +- ...eckACC_STRICTFlagOnPkgAccessClassTest.java | 14 +- .../8009170/RedundantByteCodeInArrayTest.java | 14 +- .../AnonymousClass/AnonymousClassFlags.java | 24 +- .../MethodParameters/AnnotationTest.java | 8 +- .../MethodParameters/AnonymousClass.java | 8 +- .../MethodParameters/ClassFileVisitor.java | 26 +- .../javac/MethodParameters/Constructors.java | 8 +- .../javac/MethodParameters/EnumTest.java | 8 +- .../MethodParameters/InstanceMethods.java | 8 +- .../javac/MethodParameters/LambdaTest.java | 8 +- .../LegacyOutputTest/LegacyOutputTest.java | 16 +- .../MethodParameters/LocalClassTest.java | 8 +- .../MethodParameters/MemberClassTest.java | 8 +- .../javac/MethodParameters/StaticMethods.java | 8 +- .../MethodParameters/UncommonParamNames.java | 8 +- .../tools/javac/MethodParametersTest.java | 22 +- .../tools/javac/NoStringToLower.java | 14 +- .../ImplicitParameters.java | 32 +- .../StringConcat/TestIndyStringConcat.java | 75 +- .../StringConcat/WellKnownTypeSignatures.java | 18 +- .../javac/StringConcat/WellKnownTypes.java | 6 +- .../tools/javac/StringConcat/access/Test.java | 16 +- ...ationsAreNotCopiedToBridgeMethodsTest.java | 16 +- .../DebugPointerAtBadPositionTest.java | 14 +- .../InlinedFinallyConfuseDebuggersTest.java | 14 +- .../tools/javac/T7053059/DoubleCastTest.java | 18 +- test/langtools/tools/javac/T7093325.java | 18 +- ...rClassAttrMustNotHaveStrictFPFlagTest.java | 16 +- .../T8003967/DetectMutableStaticFields.java | 20 +- ...rNamesAreNotCopiedToAnonymousInitTest.java | 19 +- .../EmptyUTF8ForInnerClassNameTest.java | 14 +- .../javac/T8019486/WrongLNTForLambdaTest.java | 12 +- .../DeadCodeGeneratedForEmptyTryTest.java | 18 +- .../NoDeadCodeGenerationOnTrySmtTest.java | 14 +- .../DontGenerateLVTForGNoneOpTest.java | 12 +- .../MissingLNTEntryForBreakContinueTest.java | 14 +- .../MissingLNTEntryForFinalizerTest.java | 14 +- .../T8187805/BogusRTTAForUnusedVarTest.java | 16 +- ...TargetIsNotAddedAsMarkerInterfaceTest.java | 16 +- .../T8209173/CodeCompletionExceptTest.java | 8 +- ...oLocalsMustBeReservedForDCEedVarsTest.java | 14 +- .../javac/T8222949/TestConstantDynamic.java | 18 +- .../TryWithResources/TwrSimpleClose.java | 18 +- .../ApplicableAnnotationsOnRecords.java | 10 +- .../annotations/SyntheticParameters.java | 10 +- .../TypeAnnotationsPositionsOnRecords.java | 12 +- .../VariablesDeclaredWithVarTest.java | 12 +- .../classfile/AnonymousClassTest.java | 24 +- .../classfile/ClassfileTestHelper.java | 8 +- .../classfile/CombinationsTargetTest1.java | 12 +- .../classfile/CombinationsTargetTest2.java | 12 +- .../classfile/CombinationsTargetTest3.java | 6 +- .../typeAnnotations/classfile/DeadCode.java | 10 +- .../classfile/InstanceInitializer.java | 10 +- .../classfile/NewTypeArguments.java | 10 +- .../classfile/NoTargetAnnotations.java | 14 +- .../typeAnnotations/classfile/Scopes.java | 12 +- .../classfile/StaticInitializer.java | 10 +- .../classfile/SyntheticParameters.java | 12 +- .../typeAnnotations/classfile/T8008762.java | 10 +- .../typeAnnotations/classfile/T8008769.java | 10 +- .../typeAnnotations/classfile/T8010015.java | 10 +- .../classfile/TestAnonInnerClasses.java | 14 +- .../classfile/TestNewCastArray.java | 14 +- .../TypeAnnotationPropagationTest.java | 14 +- .../typeAnnotations/classfile/TypeCasts.java | 8 +- .../typeAnnotations/classfile/Wildcards.java | 8 +- .../referenceinfos/ClassExtends.java | 10 +- .../referenceinfos/ClassTypeParam.java | 10 +- .../ConstructorInvocationTypeArgument.java | 10 +- .../referenceinfos/Constructors.java | 10 +- .../referenceinfos/Driver.java | 4 +- .../referenceinfos/ExceptionParameters.java | 10 +- .../referenceinfos/Fields.java | 10 +- .../referenceinfos/FromSpecification.java | 10 +- .../referenceinfos/Initializers.java | 10 +- .../referenceinfos/Lambda.java | 10 +- .../MethodInvocationTypeArgument.java | 10 +- .../referenceinfos/MethodParameters.java | 10 +- .../referenceinfos/MethodReceivers.java | 10 +- .../referenceinfos/MethodReturns.java | 10 +- .../referenceinfos/MethodThrows.java | 10 +- .../referenceinfos/MethodTypeParam.java | 10 +- .../referenceinfos/MultiCatch.java | 10 +- .../referenceinfos/NestedTypes.java | 10 +- .../referenceinfos/NewObjects.java | 10 +- .../referenceinfos/ReferenceInfoUtil.java | 4 +- .../RepeatingTypeAnnotations.java | 10 +- .../referenceinfos/ResourceVariable.java | 10 +- .../referenceinfos/TypeCasts.java | 10 +- .../referenceinfos/TypeTests.java | 10 +- .../intersection/DuplicatedCheckcastTest.java | 16 +- .../InnerClasses/SyntheticClasses.java | 14 +- .../javac/classfiles/T8255757/T8255757.java | 12 +- .../AnnotationDefaultTest.java | 10 +- .../AnnotationDefaultVerifier.java | 8 +- .../EnclosingMethod/EnclosingMethodTest.java | 10 +- .../LineNumberTable/LineNumberTest.java | 6 +- .../LineNumberTable/LineNumberTestBase.java | 6 +- .../MultipleRecordPatterns.java | 6 +- .../LineNumberTable/RuleSwitchBreaks.java | 6 +- .../LineNumberTable/StringSwitchBreaks.java | 6 +- .../attributes/LineNumberTable/T8050993.java | 14 +- .../LocalVariableTableTest.java | 8 +- .../LocalVariableTestBase.java | 6 +- .../LocalVariableTypeTableTest.java | 8 +- .../attributes/Module/ModuleFlagTest.java | 14 +- .../attributes/Module/ModuleTest.java | 6 +- .../attributes/Module/ModuleTestBase.java | 20 +- .../attributes/Signature/ConstructorTest.java | 6 +- .../attributes/Signature/Driver.java | 4 +- .../attributes/Signature/EnumTest.java | 6 +- .../attributes/Signature/ExceptionTest.java | 6 +- .../attributes/Signature/FieldTest.java | 6 +- .../attributes/Signature/InnerClassTest.java | 6 +- .../Signature/MethodParameterTest.java | 6 +- .../Signature/MethodTypeBoundTest.java | 6 +- .../attributes/Signature/ReturnTypeTest.java | 6 +- .../SourceFile/AnonymousClassTest.java | 6 +- .../attributes/SourceFile/InnerClassTest.java | 6 +- .../attributes/SourceFile/LocalClassTest.java | 6 +- .../attributes/SourceFile/MixTest.java | 6 +- .../attributes/SourceFile/ModuleInfoTest.java | 6 +- .../SourceFile/NoSourceFileAttribute.java | 12 +- .../SourceFile/SourceFileTestBase.java | 12 +- .../SourceFile/SourceFileTestBase_legacy.java | 117 +++ .../SourceFile/SyntheticClassTest.java | 13 +- .../TopLevelClassesOneFileTest.java | 6 +- ...ssToPrivateInnerClassConstructorsTest.java | 6 +- .../AccessToPrivateInnerClassMembersTest.java | 6 +- .../AccessToPrivateSiblingsTest.java | 6 +- .../attributes/Synthetic/AssertFieldTest.java | 6 +- .../BridgeMethodForGenericMethodTest.java | 6 +- ...geMethodsForLambdaTargetRelease14Test.java | 13 +- .../Synthetic/BridgeMethodsForLambdaTest.java | 6 +- .../attributes/Synthetic/EnumTest.java | 6 +- .../attributes/Synthetic/PackageInfoTest.java | 6 +- .../Synthetic/SyntheticTestDriver.java | 4 +- .../Synthetic/SyntheticTestDriver_legacy.java | 212 +++++ .../attributes/Synthetic/ThisFieldTest.java | 6 +- .../annotations/AnnotationsTestBase.java | 2 +- ...untimeAnnotationsForGenericMethodTest.java | 8 +- ...timeAnnotationsForInnerAnnotationTest.java | 8 +- .../RuntimeAnnotationsForInnerClassTest.java | 8 +- .../RuntimeAnnotationsForInnerEnumTest.java | 8 +- ...ntimeAnnotationsForInnerInterfaceTest.java | 8 +- ...untimeAnnotationsForTopLevelClassTest.java | 8 +- .../RuntimeAnnotationsTestBase.java | 4 +- ...ameterAnnotationsForGenericMethodTest.java | 8 +- ...timeParameterAnnotationsForLambdaTest.java | 18 +- .../RuntimeParameterAnnotationsTest.java | 8 +- .../RuntimeParameterAnnotationsTestBase.java | 4 +- .../annotations/TestAnnotationInfo.java | 4 +- .../deprecated/DeprecatedPackageTest.java | 12 +- .../attributes/deprecated/DeprecatedTest.java | 10 +- ...InnerAnnotationsInInnerAnnotationTest.java | 6 +- .../InnerAnnotationsInInnerClassTest.java | 6 +- .../InnerAnnotationsInInnerEnumTest.java | 6 +- .../InnerAnnotationsInInnerInterfaceTest.java | 6 +- .../InnerClassesHierarchyTest.java | 12 +- .../InnerClassesInAnonymousClassTest.java | 6 +- .../InnerClassesInInnerAnnotationTest.java | 6 +- .../InnerClassesInInnerClassTest.java | 6 +- .../InnerClassesInInnerEnumTest.java | 6 +- .../InnerClassesInInnerInterfaceTest.java | 6 +- .../InnerClassesInLocalClassTest.java | 8 +- .../innerclasses/InnerClassesIndexTest.java | 12 +- .../innerclasses/InnerClassesTest.java | 6 +- .../innerclasses/InnerClassesTestBase.java | 6 +- .../InnerEnumInInnerAnnotationTest.java | 6 +- .../InnerEnumInInnerEnumTest.java | 6 +- .../InnerEnumInInnerInterfaceTest.java | 6 +- .../InnerEnumsInInnerClassTest.java | 6 +- .../InnerInterfacesInInnerAnnotationTest.java | 6 +- .../InnerInterfacesInInnerClassTest.java | 6 +- .../InnerInterfacesInInnerEnumTest.java | 6 +- .../InnerInterfacesInInnerInterfaceTest.java | 6 +- .../innerclasses/NoInnerClassesTest.java | 10 +- .../classfiles/attributes/lib/TestBase.java | 4 +- .../attributes/lib_legacy/TestBase.java | 284 +++++++ .../attributes/lib_legacy/TestResult.java | 191 +++++ .../classreader/8171132/BadConstantValue.java | 16 +- .../IndyCorrectInvocationName.java | 16 +- .../tools/javac/code/CharImmediateValue.java | 12 +- .../javac/constDebug/ConstDebugTest.java | 10 +- .../javac/defaultMethods/BadClassfile.java | 14 +- ...heckACC_STRICTFlagOnDefaultMethodTest.java | 57 +- .../javac/defaultMethods/TestDefaultBody.java | 20 +- .../TestNoBridgeOnDefaults.java | 12 +- .../super/TestDirectSuperInterfaceInvoke.java | 18 +- .../tools/javac/diags/CheckResourceKeys.java | 12 +- test/langtools/tools/javac/diags/Example.java | 8 +- .../BadConstantValueType.java | 2 +- .../processors/CreateBadClassFile.java | 6 +- .../InvalidDefaultInterface.java | 2 +- .../processors/CreateBadClassFile.java | 6 +- .../InvalidStaticInterface.java | 2 +- .../processors/CreateBadClassFile.java | 6 +- .../_super/NonDirectSuper/NonDirectSuper.java | 20 +- .../tools/javac/file/SymLinkArchiveTest.java | 6 +- .../javac/file/SymLinkShortNameTest.java | 6 +- .../tools/javac/file/SymLinkTest.java | 12 +- .../tools/javac/flow/LVTHarness.java | 14 +- .../javac/generics/bridges/BridgeHarness.java | 14 +- .../tools/javac/importscope/T8193717.java | 14 +- .../jvm/ClassRefDupInConstantPoolTest.java | 12 +- .../tools/javac/lambda/ByteCodeTest.java | 16 +- .../javac/lambda/LambdaTestStrictFPFlag.java | 44 +- .../javac/lambda/LocalVariableTable.java | 14 +- .../lambda/TestBootstrapMethodsCount.java | 14 +- .../tools/javac/lambda/TestInvokeDynamic.java | 18 +- .../lambda/bytecode/TestLambdaBytecode.java | 18 +- .../TestLambdaBytecodeTargetRelease14.java | 20 +- .../deduplication/DeduplicationTest.java | 17 +- ...estNonSerializableLambdaNameStability.java | 12 +- .../tools/javac/launcher/GetResourceTest.java | 4 +- .../javac/launcher/SourceLauncherTest.java | 20 +- .../tools/javac/launcher/src/CLTest.java | 8 +- .../ConditionalLineNumberTest.java | 12 +- .../linenumbers/FinallyLineNumberTest.java | 12 +- .../linenumbers/NestedLineNumberTest.java | 16 +- .../linenumbers/NullCheckLineNumberTest.java | 30 +- test/langtools/tools/javac/meth/TestCP.java | 18 +- .../javac/modules/AnnotationsOnModules.java | 24 +- .../tools/javac/modules/IncubatingTest.java | 16 +- .../tools/javac/modules/JavaBaseTest.java | 18 +- .../tools/javac/modules/ModuleVersion.java | 12 +- .../tools/javac/modules/OpenModulesTest.java | 16 +- .../javac/multicatch/7005371/T7005371.java | 16 +- .../tools/javac/multicatch/Pos05.java | 16 +- .../tools/javac/patterns/Annotations.java | 16 +- .../javac/patterns/LocalVariableTable.java | 14 +- .../javac/patterns/MatchExceptionTest.java | 16 +- .../NestedPatternVariablesBytecode.java | 12 +- .../javac/patterns/NoUnnecessaryCast.java | 16 +- .../javac/platform/ModuleVersionTest.java | 16 +- .../javac/preview/PreviewAutoSuppress.java | 10 +- .../tools/javac/preview/PreviewErrors.java | 12 +- .../tools/javac/preview/PreviewTest.java | 12 +- .../model/element/TestFileObjectOf.java | 6 +- .../processing/model/element/TestOrigin.java | 26 +- .../javac/records/RecordCompilationTests.java | 36 +- .../RecordsBinaryCompatibilityTests.java | 6 +- .../RecordComponentTypeTest.java | 12 +- .../javac/recovery/AnnotationRecovery.java | 6 +- .../tools/javac/recovery/AttrRecovery.java | 6 +- .../tools/javac/recovery/LambdaRecovery.java | 6 +- .../tools/javac/recovery/MethodModifiers.java | 6 +- .../tools/javac/resolve/NoObjectToString.java | 12 +- .../sealed/BinaryCompatibilityTests.java | 6 +- .../sealed/CheckSubtypesOfSealedTest.java | 12 +- .../sealed/SealedDiffConfigurationsTest.java | 22 +- .../tools/javac/sym/ElementStructureTest.java | 10 +- .../tools/javac/varargs/6199075/T6199075.java | 18 +- .../tools/javac/varargs/7042566/T7042566.java | 20 +- test/langtools/tools/javap/T6716452.java | 12 +- .../tools/javap/TestClassNameWarning.java | 12 +- .../javap/classfile/6888367/T6888367.java | 16 +- .../tools/javap/classfile/T6887895.java | 12 +- .../typeAnnotations/JSR175Annotations.java | 16 +- .../tools/javap/typeAnnotations/NewArray.java | 12 +- .../tools/javap/typeAnnotations/Presence.java | 12 +- .../javap/typeAnnotations/PresenceInner.java | 14 +- .../javap/typeAnnotations/TypeCasts.java | 12 +- .../javap/typeAnnotations/Visibility.java | 14 +- .../javap/typeAnnotations/Wildcards.java | 12 +- .../jdk/test/lib/util/ModuleInfoWriter.java | 44 +- .../java/lang/invoke/LazyStaticColdStart.java | 12 +- .../classfile/AbstractCorpusBenchmark.java | 6 +- .../bench/jdk/classfile/AdHocAdapt.java | 8 +- .../jdk/classfile/ClassfileBenchmark.java | 26 +- .../jdk/classfile/GenerateStackMaps.java | 22 +- .../bench/jdk/classfile/ParseOptions.java | 10 +- .../openjdk/bench/jdk/classfile/ReadDeep.java | 22 +- .../bench/jdk/classfile/ReadMetadata.java | 16 +- .../jdk/classfile/RebuildMethodBodies.java | 32 +- .../jdk/classfile/RepeatedModelTraversal.java | 11 +- .../bench/jdk/classfile/Transforms.java | 48 +- .../openjdk/bench/jdk/classfile/Write.java | 30 +- 681 files changed, 7528 insertions(+), 6512 deletions(-) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/AccessFlags.java (96%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/Annotation.java (87%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/AnnotationElement.java (96%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/AnnotationValue.java (83%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/Attribute.java (58%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/AttributeMapper.java (90%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/AttributedElement.java (89%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/Attributes.java (90%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/BootstrapMethodEntry.java (86%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/BufWriter.java (94%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/ClassBuilder.java (94%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/ClassElement.java (51%) rename src/java.base/share/classes/{jdk/internal/classfile/Classfile.java => java/lang/classfile/ClassFile.java} (50%) rename src/java.base/share/classes/{jdk/internal/classfile/ClassfileBuilder.java => java/lang/classfile/ClassFileBuilder.java} (78%) rename src/java.base/share/classes/{jdk/internal/classfile/ClassfileElement.java => java/lang/classfile/ClassFileElement.java} (89%) rename src/java.base/share/classes/{jdk/internal/classfile/ClassfileTransform.java => java/lang/classfile/ClassFileTransform.java} (83%) rename src/java.base/share/classes/{jdk/internal/classfile/ClassfileVersion.java => java/lang/classfile/ClassFileVersion.java} (75%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/ClassHierarchyResolver.java (90%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/ClassModel.java (93%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/ClassReader.java (93%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/ClassSignature.java (93%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/ClassTransform.java (88%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/CodeBuilder.java (94%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/CodeElement.java (74%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/CodeModel.java (89%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/CodeTransform.java (82%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/CompoundElement.java (91%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/CustomAttribute.java (69%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/FieldBuilder.java (90%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/FieldElement.java (62%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/FieldModel.java (91%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/FieldTransform.java (84%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/Instruction.java (57%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/Interfaces.java (90%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/Label.java (92%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/MethodBuilder.java (92%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/MethodElement.java (60%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/MethodModel.java (92%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/MethodSignature.java (93%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/MethodTransform.java (85%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/Opcode.java (62%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/PseudoInstruction.java (76%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/Signature.java (91%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/Superclass.java (86%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/TypeAnnotation.java (89%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/TypeKind.java (97%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/WritableElement.java (84%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/AnnotationDefaultAttribute.java (86%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/BootstrapMethodsAttribute.java (86%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/CharacterRangeInfo.java (88%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/CharacterRangeTableAttribute.java (95%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/CodeAttribute.java (84%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/CompilationIDAttribute.java (86%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/ConstantValueAttribute.java (87%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/DeprecatedAttribute.java (86%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/EnclosingMethodAttribute.java (79%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/ExceptionsAttribute.java (90%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/InnerClassInfo.java (90%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/InnerClassesAttribute.java (86%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/LineNumberInfo.java (92%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/LineNumberTableAttribute.java (83%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/LocalVariableInfo.java (91%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/LocalVariableTableAttribute.java (83%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/LocalVariableTypeInfo.java (91%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/LocalVariableTypeTableAttribute.java (81%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/MethodParameterInfo.java (90%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/MethodParametersAttribute.java (85%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/ModuleAttribute.java (91%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/ModuleExportInfo.java (94%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/ModuleHashInfo.java (91%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/ModuleHashesAttribute.java (90%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/ModuleMainClassAttribute.java (81%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/ModuleOpenInfo.java (94%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/ModulePackagesAttribute.java (87%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/ModuleProvideInfo.java (89%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/ModuleRequireInfo.java (89%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/ModuleResolutionAttribute.java (88%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/ModuleTargetAttribute.java (87%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/NestHostAttribute.java (81%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/NestMembersAttribute.java (86%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/PermittedSubclassesAttribute.java (86%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/RecordAttribute.java (84%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/RecordComponentInfo.java (91%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/RuntimeInvisibleAnnotationsAttribute.java (85%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/RuntimeInvisibleParameterAnnotationsAttribute.java (84%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/RuntimeInvisibleTypeAnnotationsAttribute.java (81%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/RuntimeVisibleAnnotationsAttribute.java (85%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/RuntimeVisibleParameterAnnotationsAttribute.java (84%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/RuntimeVisibleTypeAnnotationsAttribute.java (81%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/SignatureAttribute.java (84%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/SourceDebugExtensionAttribute.java (82%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/SourceFileAttribute.java (85%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/SourceIDAttribute.java (86%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/StackMapFrameInfo.java (87%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/StackMapTableAttribute.java (87%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/SyntheticAttribute.java (86%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/attribute/UnknownAttribute.java (83%) create mode 100644 src/java.base/share/classes/java/lang/classfile/attribute/package-info.java rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/components/ClassPrinter.java (87%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/components/ClassRemapper.java (88%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/components/CodeLocalsShifter.java (89%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/components/CodeRelabeler.java (82%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/components/CodeStackTracker.java (92%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/components/package-info.java (78%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/components/snippet-files/PackageSnippets.java (91%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/AnnotationConstantValueEntry.java (90%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/ClassEntry.java (92%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/ConstantDynamicEntry.java (93%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/ConstantPool.java (90%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/ConstantPoolBuilder.java (96%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/ConstantPoolException.java (94%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/ConstantValueEntry.java (91%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/DoubleEntry.java (90%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/DynamicConstantPoolEntry.java (86%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/FieldRefEntry.java (91%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/FloatEntry.java (90%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/IntegerEntry.java (90%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/InterfaceMethodRefEntry.java (92%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/InvokeDynamicEntry.java (93%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/LoadableConstantEntry.java (89%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/LongEntry.java (89%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/MemberRefEntry.java (91%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/MethodHandleEntry.java (92%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/MethodRefEntry.java (91%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/MethodTypeEntry.java (92%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/ModuleEntry.java (91%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/NameAndTypeEntry.java (91%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/PackageEntry.java (91%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/PoolEntry.java (89%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/StringEntry.java (91%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/constantpool/Utf8Entry.java (91%) create mode 100644 src/java.base/share/classes/java/lang/classfile/constantpool/package-info.java rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/ArrayLoadInstruction.java (86%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/ArrayStoreInstruction.java (86%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/BranchInstruction.java (86%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/CharacterRange.java (74%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/ConstantInstruction.java (89%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/ConvertInstruction.java (88%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/DiscontinuedInstruction.java (89%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/ExceptionCatch.java (90%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/FieldInstruction.java (88%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/IncrementInstruction.java (87%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/InvokeDynamicInstruction.java (88%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/InvokeInstruction.java (85%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/LabelTarget.java (84%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/LineNumber.java (80%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/LoadInstruction.java (88%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/LocalVariable.java (87%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/LocalVariableType.java (86%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/LookupSwitchInstruction.java (87%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/MonitorInstruction.java (86%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/NewMultiArrayInstruction.java (87%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/NewObjectInstruction.java (85%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/NewPrimitiveArrayInstruction.java (86%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/NewReferenceArrayInstruction.java (86%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/NopInstruction.java (86%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/OperatorInstruction.java (86%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/ReturnInstruction.java (87%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/StackInstruction.java (86%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/StoreInstruction.java (88%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/SwitchCase.java (91%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/TableSwitchInstruction.java (89%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/ThrowInstruction.java (86%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/instruction/TypeCheckInstruction.java (88%) create mode 100644 src/java.base/share/classes/java/lang/classfile/instruction/package-info.java rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/package-info.java (70%) rename src/java.base/share/classes/{jdk/internal => java/lang}/classfile/snippet-files/PackageSnippets.java (75%) rename src/java.base/share/classes/jdk/internal/classfile/impl/{ClassfileImpl.java => ClassFileImpl.java} (87%) rename src/java.base/share/classes/jdk/internal/classfile/impl/{ClassfileVersionImpl.java => ClassFileVersionImpl.java} (87%) create mode 100644 test/langtools/tools/javac/classfiles/attributes/SourceFile/SourceFileTestBase_legacy.java create mode 100644 test/langtools/tools/javac/classfiles/attributes/Synthetic/SyntheticTestDriver_legacy.java create mode 100644 test/langtools/tools/javac/classfiles/attributes/lib_legacy/TestBase.java create mode 100644 test/langtools/tools/javac/classfiles/attributes/lib_legacy/TestResult.java diff --git a/make/jdk/src/classes/build/tools/module/GenModuleInfoSource.java b/make/jdk/src/classes/build/tools/module/GenModuleInfoSource.java index ce9b94db7a627..82bd065efcefb 100644 --- a/make/jdk/src/classes/build/tools/module/GenModuleInfoSource.java +++ b/make/jdk/src/classes/build/tools/module/GenModuleInfoSource.java @@ -473,6 +473,11 @@ private void process(Parser parser, boolean extraFile) throws IOException { if (parser.peekToken() != null) { // must be EOF throw parser.newError("is malformed"); } + } else if (token.equals("import")) { + nextIdentifier(parser); + skipTokenOrThrow(parser, ";", "missing semicolon"); + } else if (token.startsWith("@")) { + continue; } else { throw parser.newError("missing keyword"); } diff --git a/make/modules/java.base/Java.gmk b/make/modules/java.base/Java.gmk index 9d960402f76c5..8621ff945ccf6 100644 --- a/make/modules/java.base/Java.gmk +++ b/make/modules/java.base/Java.gmk @@ -36,8 +36,8 @@ EXCLUDE_FILES += \ $(TOPDIR)/src/java.base/share/classes/jdk/internal/module/ModuleLoaderMap.java EXCLUDES += java/lang/doc-files \ - jdk/internal/classfile/snippet-files \ - jdk/internal/classfile/components/snippet-files + java/lang/classfile/snippet-files \ + java/lang/classfile/components/snippet-files # Exclude BreakIterator classes that are just used in compile process to generate # data files and shouldn't go in the product diff --git a/make/test/BuildMicrobenchmark.gmk b/make/test/BuildMicrobenchmark.gmk index 0785688f09c30..7660de061d21d 100644 --- a/make/test/BuildMicrobenchmark.gmk +++ b/make/test/BuildMicrobenchmark.gmk @@ -98,11 +98,6 @@ $(eval $(call SetupJavaCompilation, BUILD_JDK_MICROBENCHMARK, \ BIN := $(MICROBENCHMARK_CLASSES), \ JAVAC_FLAGS := --add-exports java.base/sun.security.util=ALL-UNNAMED \ --add-exports java.base/sun.invoke.util=ALL-UNNAMED \ - --add-exports java.base/jdk.internal.classfile=ALL-UNNAMED \ - --add-exports java.base/jdk.internal.classfile.attribute=ALL-UNNAMED \ - --add-exports java.base/jdk.internal.classfile.constantpool=ALL-UNNAMED \ - --add-exports java.base/jdk.internal.classfile.instruction=ALL-UNNAMED \ - --add-exports java.base/jdk.internal.classfile.components=ALL-UNNAMED \ --add-exports java.base/jdk.internal.classfile.impl=ALL-UNNAMED \ --add-exports java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \ --add-exports java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED \ diff --git a/src/java.base/share/classes/java/lang/Module.java b/src/java.base/share/classes/java/lang/Module.java index 694281bcca846..7157ace8c4735 100644 --- a/src/java.base/share/classes/java/lang/Module.java +++ b/src/java.base/share/classes/java/lang/Module.java @@ -52,13 +52,13 @@ import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.Stream; -import jdk.internal.classfile.AccessFlags; -import jdk.internal.classfile.Attribute; -import jdk.internal.classfile.ClassModel; -import jdk.internal.classfile.ClassTransform; -import jdk.internal.classfile.Classfile; -import jdk.internal.classfile.attribute.ModuleAttribute; -import jdk.internal.classfile.attribute.RuntimeVisibleAnnotationsAttribute; +import java.lang.classfile.AccessFlags; +import java.lang.classfile.Attribute; +import java.lang.classfile.ClassModel; +import java.lang.classfile.ClassTransform; +import java.lang.classfile.ClassFile; +import java.lang.classfile.attribute.ModuleAttribute; +import java.lang.classfile.attribute.RuntimeVisibleAnnotationsAttribute; import jdk.internal.javac.PreviewFeature; import jdk.internal.loader.BuiltinClassLoader; @@ -1591,7 +1591,7 @@ private Class loadModuleInfoClass() { */ private Class loadModuleInfoClass(InputStream in) throws IOException { final String MODULE_INFO = "module-info"; - var cc = Classfile.of(Classfile.ConstantPoolSharingOption.NEW_POOL); + var cc = ClassFile.of(ClassFile.ConstantPoolSharingOption.NEW_POOL); byte[] bytes = cc.transform(cc.parse(in.readAllBytes()), (clb, cle) -> { switch (cle) { case AccessFlags af -> clb.withFlags(AccessFlag.INTERFACE, diff --git a/src/java.base/share/classes/jdk/internal/classfile/AccessFlags.java b/src/java.base/share/classes/java/lang/classfile/AccessFlags.java similarity index 96% rename from src/java.base/share/classes/jdk/internal/classfile/AccessFlags.java rename to src/java.base/share/classes/java/lang/classfile/AccessFlags.java index 5eb98f8295fc4..283094b81d629 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/AccessFlags.java +++ b/src/java.base/share/classes/java/lang/classfile/AccessFlags.java @@ -22,17 +22,21 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.util.Set; import jdk.internal.classfile.impl.AccessFlagsImpl; import java.lang.reflect.AccessFlag; +import jdk.internal.javac.PreviewFeature; /** * Models the access flags for a class, method, or field. Delivered as a * {@link ClassElement}, {@link FieldElement}, or {@link MethodElement} * when traversing the corresponding model type. + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface AccessFlags extends ClassElement, MethodElement, FieldElement permits AccessFlagsImpl { diff --git a/src/java.base/share/classes/jdk/internal/classfile/Annotation.java b/src/java.base/share/classes/java/lang/classfile/Annotation.java similarity index 87% rename from src/java.base/share/classes/jdk/internal/classfile/Annotation.java rename to src/java.base/share/classes/java/lang/classfile/Annotation.java index 116bedf16ed91..3e7548d0859bc 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/Annotation.java +++ b/src/java.base/share/classes/java/lang/classfile/Annotation.java @@ -22,18 +22,19 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; -import jdk.internal.classfile.attribute.RuntimeInvisibleAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeInvisibleParameterAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeVisibleAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeVisibleParameterAnnotationsAttribute; -import jdk.internal.classfile.constantpool.Utf8Entry; +import java.lang.classfile.attribute.RuntimeInvisibleAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeInvisibleParameterAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeVisibleAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeVisibleParameterAnnotationsAttribute; +import java.lang.classfile.constantpool.Utf8Entry; import jdk.internal.classfile.impl.AnnotationImpl; import jdk.internal.classfile.impl.TemporaryConstantPool; import java.lang.constant.ClassDesc; import java.util.List; +import jdk.internal.javac.PreviewFeature; /** * Models an annotation on a declaration. @@ -44,7 +45,11 @@ * @see RuntimeInvisibleAnnotationsAttribute * @see RuntimeVisibleParameterAnnotationsAttribute * @see RuntimeInvisibleParameterAnnotationsAttribute + * + * @sealedGraph + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface Annotation extends WritableElement permits TypeAnnotation, AnnotationImpl { diff --git a/src/java.base/share/classes/jdk/internal/classfile/AnnotationElement.java b/src/java.base/share/classes/java/lang/classfile/AnnotationElement.java similarity index 96% rename from src/java.base/share/classes/jdk/internal/classfile/AnnotationElement.java rename to src/java.base/share/classes/java/lang/classfile/AnnotationElement.java index 4f21be3bc2eba..41acb18e788e8 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/AnnotationElement.java +++ b/src/java.base/share/classes/java/lang/classfile/AnnotationElement.java @@ -22,20 +22,24 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.lang.constant.ClassDesc; -import jdk.internal.classfile.constantpool.Utf8Entry; +import java.lang.classfile.constantpool.Utf8Entry; import jdk.internal.classfile.impl.AnnotationImpl; import jdk.internal.classfile.impl.TemporaryConstantPool; +import jdk.internal.javac.PreviewFeature; /** * Models a key-value pair of an annotation. * * @see Annotation * @see AnnotationValue + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface AnnotationElement extends WritableElement permits AnnotationImpl.AnnotationElementImpl { diff --git a/src/java.base/share/classes/jdk/internal/classfile/AnnotationValue.java b/src/java.base/share/classes/java/lang/classfile/AnnotationValue.java similarity index 83% rename from src/java.base/share/classes/jdk/internal/classfile/AnnotationValue.java rename to src/java.base/share/classes/java/lang/classfile/AnnotationValue.java index 1401b8b4e8118..2882296b6bc51 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/AnnotationValue.java +++ b/src/java.base/share/classes/java/lang/classfile/AnnotationValue.java @@ -22,14 +22,14 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; - -import jdk.internal.classfile.constantpool.AnnotationConstantValueEntry; -import jdk.internal.classfile.constantpool.DoubleEntry; -import jdk.internal.classfile.constantpool.FloatEntry; -import jdk.internal.classfile.constantpool.IntegerEntry; -import jdk.internal.classfile.constantpool.LongEntry; -import jdk.internal.classfile.constantpool.Utf8Entry; +package java.lang.classfile; + +import java.lang.classfile.constantpool.AnnotationConstantValueEntry; +import java.lang.classfile.constantpool.DoubleEntry; +import java.lang.classfile.constantpool.FloatEntry; +import java.lang.classfile.constantpool.IntegerEntry; +import java.lang.classfile.constantpool.LongEntry; +import java.lang.classfile.constantpool.Utf8Entry; import jdk.internal.classfile.impl.AnnotationImpl; import jdk.internal.classfile.impl.TemporaryConstantPool; @@ -37,34 +37,54 @@ import java.lang.constant.ConstantDesc; import java.util.ArrayList; import java.util.List; +import jdk.internal.javac.PreviewFeature; /** * Models the value of a key-value pair of an annotation. * * @see Annotation * @see AnnotationElement + * + * @sealedGraph + * @since 22 */ - +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface AnnotationValue extends WritableElement permits AnnotationValue.OfAnnotation, AnnotationValue.OfArray, AnnotationValue.OfConstant, AnnotationValue.OfClass, AnnotationValue.OfEnum { - /** Models an annotation-valued element */ + /** + * Models an annotation-valued element + * + * @since 22 + */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface OfAnnotation extends AnnotationValue permits AnnotationImpl.OfAnnotationImpl { /** {@return the annotation} */ Annotation annotation(); } - /** Models an array-valued element */ + /** + * Models an array-valued element + * + * @since 22 + */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface OfArray extends AnnotationValue permits AnnotationImpl.OfArrayImpl { /** {@return the values} */ List values(); } - /** Models a constant-valued element */ + /** + * Models a constant-valued element + * + * @sealedGraph + * @since 22 + */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface OfConstant extends AnnotationValue permits AnnotationValue.OfString, AnnotationValue.OfDouble, AnnotationValue.OfFloat, AnnotationValue.OfLong, @@ -77,70 +97,120 @@ sealed interface OfConstant extends AnnotationValue ConstantDesc constantValue(); } - /** Models a constant-valued element */ + /** + * Models a constant-valued element + * + * @since 22 + */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface OfString extends AnnotationValue.OfConstant permits AnnotationImpl.OfStringImpl { /** {@return the constant} */ String stringValue(); } - /** Models a constant-valued element */ + /** + * Models a constant-valued element + * + * @since 22 + */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface OfDouble extends AnnotationValue.OfConstant permits AnnotationImpl.OfDoubleImpl { /** {@return the constant} */ double doubleValue(); } - /** Models a constant-valued element */ + /** + * Models a constant-valued element + * + * @since 22 + */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface OfFloat extends AnnotationValue.OfConstant permits AnnotationImpl.OfFloatImpl { /** {@return the constant} */ float floatValue(); } - /** Models a constant-valued element */ + /** + * Models a constant-valued element + * + * @since 22 + */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface OfLong extends AnnotationValue.OfConstant permits AnnotationImpl.OfLongImpl { /** {@return the constant} */ long longValue(); } - /** Models a constant-valued element */ + /** + * Models a constant-valued element + * + * @since 22 + */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface OfInteger extends AnnotationValue.OfConstant permits AnnotationImpl.OfIntegerImpl { /** {@return the constant} */ int intValue(); } - /** Models a constant-valued element */ + /** + * Models a constant-valued element + * + * @since 22 + */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface OfShort extends AnnotationValue.OfConstant permits AnnotationImpl.OfShortImpl { /** {@return the constant} */ short shortValue(); } - /** Models a constant-valued element */ + /** + * Models a constant-valued element + * + * @since 22 + */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface OfCharacter extends AnnotationValue.OfConstant permits AnnotationImpl.OfCharacterImpl { /** {@return the constant} */ char charValue(); } - /** Models a constant-valued element */ + /** + * Models a constant-valued element + * + * @since 22 + */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface OfByte extends AnnotationValue.OfConstant permits AnnotationImpl.OfByteImpl { /** {@return the constant} */ byte byteValue(); } - /** Models a constant-valued element */ + /** + * Models a constant-valued element + * + * @since 22 + */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface OfBoolean extends AnnotationValue.OfConstant permits AnnotationImpl.OfBooleanImpl { /** {@return the constant} */ boolean booleanValue(); } - /** Models a class-valued element */ + /** + * Models a class-valued element + * + * @since 22 + */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface OfClass extends AnnotationValue permits AnnotationImpl.OfClassImpl { /** {@return the class name} */ @@ -152,7 +222,12 @@ default ClassDesc classSymbol() { } } - /** Models an enum-valued element */ + /** + * Models an enum-valued element + * + * @since 22 + */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface OfEnum extends AnnotationValue permits AnnotationImpl.OfEnumImpl { /** {@return the enum class name} */ @@ -168,7 +243,7 @@ default ClassDesc classSymbol() { } /** - * @return the tag character for this type as per {@jvms 4.7.16.1} + * {@return the tag character for this type as per {@jvms 4.7.16.1}} */ char tag(); @@ -379,10 +454,13 @@ static OfArray ofArray(AnnotationValue... values) { /** * {@return an annotation element} The {@code value} parameter must be - * a primitive, a String, a ClassDesc, an enum constant, or an array of - * one of these. + * a primitive, a wrapper of primitive, a String, a ClassDesc, an enum + * constant, or an array of one of these. * * @param value the annotation value + * @throws IllegalArgumentException when the {@code value} parameter is not + * a primitive, a wrapper of primitive, a String, a ClassDesc, + * an enum constant, or an array of one of these. */ static AnnotationValue of(Object value) { if (value instanceof String s) { diff --git a/src/java.base/share/classes/jdk/internal/classfile/Attribute.java b/src/java.base/share/classes/java/lang/classfile/Attribute.java similarity index 58% rename from src/java.base/share/classes/jdk/internal/classfile/Attribute.java rename to src/java.base/share/classes/java/lang/classfile/Attribute.java index 13df75e151451..ad67bdf53652d 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/Attribute.java +++ b/src/java.base/share/classes/java/lang/classfile/Attribute.java @@ -22,47 +22,48 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; -import jdk.internal.classfile.attribute.AnnotationDefaultAttribute; -import jdk.internal.classfile.attribute.BootstrapMethodsAttribute; -import jdk.internal.classfile.attribute.CharacterRangeTableAttribute; -import jdk.internal.classfile.attribute.CodeAttribute; -import jdk.internal.classfile.attribute.CompilationIDAttribute; -import jdk.internal.classfile.attribute.ConstantValueAttribute; -import jdk.internal.classfile.attribute.DeprecatedAttribute; -import jdk.internal.classfile.attribute.EnclosingMethodAttribute; -import jdk.internal.classfile.attribute.ExceptionsAttribute; -import jdk.internal.classfile.attribute.InnerClassesAttribute; -import jdk.internal.classfile.attribute.LineNumberTableAttribute; -import jdk.internal.classfile.attribute.LocalVariableTableAttribute; -import jdk.internal.classfile.attribute.LocalVariableTypeTableAttribute; -import jdk.internal.classfile.attribute.MethodParametersAttribute; -import jdk.internal.classfile.attribute.ModuleAttribute; -import jdk.internal.classfile.attribute.ModuleHashesAttribute; -import jdk.internal.classfile.attribute.ModuleMainClassAttribute; -import jdk.internal.classfile.attribute.ModulePackagesAttribute; -import jdk.internal.classfile.attribute.ModuleResolutionAttribute; -import jdk.internal.classfile.attribute.ModuleTargetAttribute; -import jdk.internal.classfile.attribute.NestHostAttribute; -import jdk.internal.classfile.attribute.NestMembersAttribute; -import jdk.internal.classfile.attribute.PermittedSubclassesAttribute; -import jdk.internal.classfile.attribute.RecordAttribute; -import jdk.internal.classfile.attribute.RuntimeInvisibleAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeInvisibleParameterAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeInvisibleTypeAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeVisibleAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeVisibleParameterAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeVisibleTypeAnnotationsAttribute; -import jdk.internal.classfile.attribute.SignatureAttribute; -import jdk.internal.classfile.attribute.SourceDebugExtensionAttribute; -import jdk.internal.classfile.attribute.SourceFileAttribute; -import jdk.internal.classfile.attribute.SourceIDAttribute; -import jdk.internal.classfile.attribute.StackMapTableAttribute; -import jdk.internal.classfile.attribute.SyntheticAttribute; -import jdk.internal.classfile.attribute.UnknownAttribute; +import java.lang.classfile.attribute.AnnotationDefaultAttribute; +import java.lang.classfile.attribute.BootstrapMethodsAttribute; +import java.lang.classfile.attribute.CharacterRangeTableAttribute; +import java.lang.classfile.attribute.CodeAttribute; +import java.lang.classfile.attribute.CompilationIDAttribute; +import java.lang.classfile.attribute.ConstantValueAttribute; +import java.lang.classfile.attribute.DeprecatedAttribute; +import java.lang.classfile.attribute.EnclosingMethodAttribute; +import java.lang.classfile.attribute.ExceptionsAttribute; +import java.lang.classfile.attribute.InnerClassesAttribute; +import java.lang.classfile.attribute.LineNumberTableAttribute; +import java.lang.classfile.attribute.LocalVariableTableAttribute; +import java.lang.classfile.attribute.LocalVariableTypeTableAttribute; +import java.lang.classfile.attribute.MethodParametersAttribute; +import java.lang.classfile.attribute.ModuleAttribute; +import java.lang.classfile.attribute.ModuleHashesAttribute; +import java.lang.classfile.attribute.ModuleMainClassAttribute; +import java.lang.classfile.attribute.ModulePackagesAttribute; +import java.lang.classfile.attribute.ModuleResolutionAttribute; +import java.lang.classfile.attribute.ModuleTargetAttribute; +import java.lang.classfile.attribute.NestHostAttribute; +import java.lang.classfile.attribute.NestMembersAttribute; +import java.lang.classfile.attribute.PermittedSubclassesAttribute; +import java.lang.classfile.attribute.RecordAttribute; +import java.lang.classfile.attribute.RuntimeInvisibleAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeInvisibleParameterAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeInvisibleTypeAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeVisibleAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeVisibleParameterAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeVisibleTypeAnnotationsAttribute; +import java.lang.classfile.attribute.SignatureAttribute; +import java.lang.classfile.attribute.SourceDebugExtensionAttribute; +import java.lang.classfile.attribute.SourceFileAttribute; +import java.lang.classfile.attribute.SourceIDAttribute; +import java.lang.classfile.attribute.StackMapTableAttribute; +import java.lang.classfile.attribute.SyntheticAttribute; +import java.lang.classfile.attribute.UnknownAttribute; import jdk.internal.classfile.impl.BoundAttribute; import jdk.internal.classfile.impl.UnboundAttribute; +import jdk.internal.javac.PreviewFeature; /** * Models a classfile attribute {@jvms 4.7}. Many, though not all, subtypes of @@ -73,7 +74,11 @@ * directly from the corresponding model type through {@link * AttributedElement#findAttribute(AttributeMapper)}. * @param the attribute type + * + * @sealedGraph + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface Attribute> extends WritableElement permits AnnotationDefaultAttribute, BootstrapMethodsAttribute, @@ -91,7 +96,7 @@ public sealed interface Attribute> RuntimeVisibleTypeAnnotationsAttribute, SignatureAttribute, SourceDebugExtensionAttribute, SourceFileAttribute, SourceIDAttribute, StackMapTableAttribute, SyntheticAttribute, - UnknownAttribute, BoundAttribute, UnboundAttribute { + UnknownAttribute, BoundAttribute, UnboundAttribute, CustomAttribute { /** * {@return the name of the attribute} */ diff --git a/src/java.base/share/classes/jdk/internal/classfile/AttributeMapper.java b/src/java.base/share/classes/java/lang/classfile/AttributeMapper.java similarity index 90% rename from src/java.base/share/classes/jdk/internal/classfile/AttributeMapper.java rename to src/java.base/share/classes/java/lang/classfile/AttributeMapper.java index 2914a9d511063..0e7d625290e5c 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/AttributeMapper.java +++ b/src/java.base/share/classes/java/lang/classfile/AttributeMapper.java @@ -22,7 +22,9 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; + +import jdk.internal.javac.PreviewFeature; /** * Bidirectional mapper between the classfile representation of an attribute and @@ -34,12 +36,18 @@ * Classes that model nonstandard attributes should extend {@link * CustomAttribute}. * @param the attribute type + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public interface AttributeMapper { /** * Attribute stability indicator + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) enum AttributeStability { /** @@ -60,13 +68,13 @@ enum AttributeStability { /** * The attribute may contain indexes into structured not managed by the library (type variable lists, etc) - * and so we consult the {@link Classfile.AttributesProcessingOption} option to determine whether to preserve + * and so we consult the {@link ClassFile.AttributesProcessingOption} option to determine whether to preserve * or drop it during transformation. */ UNSTABLE, /** - * The attribute is completely unknown and so we consult the {@link Classfile.AttributesProcessingOption} option + * The attribute is completely unknown and so we consult the {@link ClassFile.AttributesProcessingOption} option * to determine whether to preserve or drop it during transformation. */ UNKNOWN @@ -96,16 +104,10 @@ enum AttributeStability { */ void writeAttribute(BufWriter buf, A attr); - /** - * {@return The earliest classfile version for which this attribute is - * applicable} - */ - default int validSince() { - return Classfile.JAVA_1_VERSION; - } - /** * {@return whether this attribute may appear more than once in a given location} + * + * @implSpec The default implementation returns {@code false} */ default boolean allowMultiple() { return false; diff --git a/src/java.base/share/classes/jdk/internal/classfile/AttributedElement.java b/src/java.base/share/classes/java/lang/classfile/AttributedElement.java similarity index 89% rename from src/java.base/share/classes/jdk/internal/classfile/AttributedElement.java rename to src/java.base/share/classes/java/lang/classfile/AttributedElement.java index f3f497f30089f..63b2f1e03a939 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/AttributedElement.java +++ b/src/java.base/share/classes/java/lang/classfile/AttributedElement.java @@ -22,20 +22,25 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.util.ArrayList; import java.util.List; import java.util.Optional; -import jdk.internal.classfile.attribute.RecordComponentInfo; +import java.lang.classfile.attribute.RecordComponentInfo; import jdk.internal.classfile.impl.AbstractUnboundModel; +import jdk.internal.javac.PreviewFeature; /** - * A {@link ClassfileElement} describing an entity that has attributes, such + * A {@link ClassFileElement} describing an entity that has attributes, such * as a class, field, method, code attribute, or record component. + * + * @sealedGraph + * @since 22 */ -public sealed interface AttributedElement extends ClassfileElement +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) +public sealed interface AttributedElement extends ClassFileElement permits ClassModel, CodeModel, FieldModel, MethodModel, RecordComponentInfo, AbstractUnboundModel { diff --git a/src/java.base/share/classes/jdk/internal/classfile/Attributes.java b/src/java.base/share/classes/java/lang/classfile/Attributes.java similarity index 90% rename from src/java.base/share/classes/jdk/internal/classfile/Attributes.java rename to src/java.base/share/classes/java/lang/classfile/Attributes.java index 4e230a161acbd..75e06e7c3f31e 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/Attributes.java +++ b/src/java.base/share/classes/java/lang/classfile/Attributes.java @@ -22,7 +22,7 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.util.Collections; import java.util.HashMap; @@ -30,66 +30,70 @@ import java.util.Map; import java.util.Set; -import jdk.internal.classfile.attribute.AnnotationDefaultAttribute; -import jdk.internal.classfile.attribute.BootstrapMethodsAttribute; -import jdk.internal.classfile.attribute.CharacterRangeInfo; -import jdk.internal.classfile.attribute.CharacterRangeTableAttribute; -import jdk.internal.classfile.attribute.CodeAttribute; -import jdk.internal.classfile.attribute.CompilationIDAttribute; -import jdk.internal.classfile.attribute.ConstantValueAttribute; -import jdk.internal.classfile.attribute.DeprecatedAttribute; -import jdk.internal.classfile.attribute.EnclosingMethodAttribute; -import jdk.internal.classfile.attribute.ExceptionsAttribute; -import jdk.internal.classfile.attribute.InnerClassInfo; -import jdk.internal.classfile.attribute.InnerClassesAttribute; -import jdk.internal.classfile.attribute.LineNumberInfo; -import jdk.internal.classfile.attribute.LineNumberTableAttribute; -import jdk.internal.classfile.attribute.LocalVariableInfo; -import jdk.internal.classfile.attribute.LocalVariableTableAttribute; -import jdk.internal.classfile.attribute.LocalVariableTypeInfo; -import jdk.internal.classfile.attribute.LocalVariableTypeTableAttribute; -import jdk.internal.classfile.attribute.MethodParameterInfo; -import jdk.internal.classfile.attribute.MethodParametersAttribute; -import jdk.internal.classfile.attribute.ModuleAttribute; -import jdk.internal.classfile.attribute.ModuleExportInfo; -import jdk.internal.classfile.attribute.ModuleHashInfo; -import jdk.internal.classfile.attribute.ModuleHashesAttribute; -import jdk.internal.classfile.attribute.ModuleMainClassAttribute; -import jdk.internal.classfile.attribute.ModuleOpenInfo; -import jdk.internal.classfile.attribute.ModulePackagesAttribute; -import jdk.internal.classfile.attribute.ModuleProvideInfo; -import jdk.internal.classfile.attribute.ModuleRequireInfo; -import jdk.internal.classfile.attribute.ModuleResolutionAttribute; -import jdk.internal.classfile.attribute.ModuleTargetAttribute; -import jdk.internal.classfile.attribute.NestHostAttribute; -import jdk.internal.classfile.attribute.NestMembersAttribute; -import jdk.internal.classfile.attribute.PermittedSubclassesAttribute; -import jdk.internal.classfile.attribute.RecordAttribute; -import jdk.internal.classfile.attribute.RecordComponentInfo; -import jdk.internal.classfile.attribute.RuntimeInvisibleAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeInvisibleParameterAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeInvisibleTypeAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeVisibleAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeVisibleParameterAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeVisibleTypeAnnotationsAttribute; -import jdk.internal.classfile.attribute.SignatureAttribute; -import jdk.internal.classfile.attribute.SourceDebugExtensionAttribute; -import jdk.internal.classfile.attribute.SourceFileAttribute; -import jdk.internal.classfile.attribute.SourceIDAttribute; -import jdk.internal.classfile.attribute.StackMapTableAttribute; -import jdk.internal.classfile.attribute.SyntheticAttribute; -import jdk.internal.classfile.constantpool.Utf8Entry; +import java.lang.classfile.attribute.AnnotationDefaultAttribute; +import java.lang.classfile.attribute.BootstrapMethodsAttribute; +import java.lang.classfile.attribute.CharacterRangeInfo; +import java.lang.classfile.attribute.CharacterRangeTableAttribute; +import java.lang.classfile.attribute.CodeAttribute; +import java.lang.classfile.attribute.CompilationIDAttribute; +import java.lang.classfile.attribute.ConstantValueAttribute; +import java.lang.classfile.attribute.DeprecatedAttribute; +import java.lang.classfile.attribute.EnclosingMethodAttribute; +import java.lang.classfile.attribute.ExceptionsAttribute; +import java.lang.classfile.attribute.InnerClassInfo; +import java.lang.classfile.attribute.InnerClassesAttribute; +import java.lang.classfile.attribute.LineNumberInfo; +import java.lang.classfile.attribute.LineNumberTableAttribute; +import java.lang.classfile.attribute.LocalVariableInfo; +import java.lang.classfile.attribute.LocalVariableTableAttribute; +import java.lang.classfile.attribute.LocalVariableTypeInfo; +import java.lang.classfile.attribute.LocalVariableTypeTableAttribute; +import java.lang.classfile.attribute.MethodParameterInfo; +import java.lang.classfile.attribute.MethodParametersAttribute; +import java.lang.classfile.attribute.ModuleAttribute; +import java.lang.classfile.attribute.ModuleExportInfo; +import java.lang.classfile.attribute.ModuleHashInfo; +import java.lang.classfile.attribute.ModuleHashesAttribute; +import java.lang.classfile.attribute.ModuleMainClassAttribute; +import java.lang.classfile.attribute.ModuleOpenInfo; +import java.lang.classfile.attribute.ModulePackagesAttribute; +import java.lang.classfile.attribute.ModuleProvideInfo; +import java.lang.classfile.attribute.ModuleRequireInfo; +import java.lang.classfile.attribute.ModuleResolutionAttribute; +import java.lang.classfile.attribute.ModuleTargetAttribute; +import java.lang.classfile.attribute.NestHostAttribute; +import java.lang.classfile.attribute.NestMembersAttribute; +import java.lang.classfile.attribute.PermittedSubclassesAttribute; +import java.lang.classfile.attribute.RecordAttribute; +import java.lang.classfile.attribute.RecordComponentInfo; +import java.lang.classfile.attribute.RuntimeInvisibleAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeInvisibleParameterAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeInvisibleTypeAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeVisibleAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeVisibleParameterAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeVisibleTypeAnnotationsAttribute; +import java.lang.classfile.attribute.SignatureAttribute; +import java.lang.classfile.attribute.SourceDebugExtensionAttribute; +import java.lang.classfile.attribute.SourceFileAttribute; +import java.lang.classfile.attribute.SourceIDAttribute; +import java.lang.classfile.attribute.StackMapTableAttribute; +import java.lang.classfile.attribute.SyntheticAttribute; +import java.lang.classfile.constantpool.Utf8Entry; import jdk.internal.classfile.impl.AbstractAttributeMapper; import jdk.internal.classfile.impl.BoundAttribute; import jdk.internal.classfile.impl.CodeImpl; import jdk.internal.classfile.impl.AbstractPoolEntry; import jdk.internal.classfile.impl.StackMapDecoder; +import jdk.internal.javac.PreviewFeature; /** * Attribute mappers for standard classfile attributes. * * @see AttributeMapper + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public class Attributes { /** AnnotationDefault */ @@ -167,10 +171,10 @@ public class Attributes { /** RuntimeInvisibleAnnotations */ public static final String NAME_RUNTIME_INVISIBLE_ANNOTATIONS = "RuntimeInvisibleAnnotations"; - /** RuntimeInvisibleTypeAnnotations */ + /** RuntimeInvisibleParameterAnnotations */ public static final String NAME_RUNTIME_INVISIBLE_PARAMETER_ANNOTATIONS = "RuntimeInvisibleParameterAnnotations"; - /** */ + /** RuntimeInvisibleTypeAnnotations */ public static final String NAME_RUNTIME_INVISIBLE_TYPE_ANNOTATIONS = "RuntimeInvisibleTypeAnnotations"; /** RuntimeVisibleAnnotations */ @@ -205,7 +209,7 @@ private Attributes() { /** Attribute mapper for the {@code AnnotationDefault} attribute */ public static final AttributeMapper - ANNOTATION_DEFAULT = new AbstractAttributeMapper<>(NAME_ANNOTATION_DEFAULT, Classfile.JAVA_5_VERSION) { + ANNOTATION_DEFAULT = new AbstractAttributeMapper<>(NAME_ANNOTATION_DEFAULT) { @Override public AnnotationDefaultAttribute readAttribute(AttributedElement e, ClassReader cf, int p) { return new BoundAttribute.BoundAnnotationDefaultAttr(cf, this, p); @@ -224,7 +228,7 @@ public AttributeMapper.AttributeStability stability() { /** Attribute mapper for the {@code BootstrapMethods} attribute */ public static final AttributeMapper - BOOTSTRAP_METHODS = new AbstractAttributeMapper<>(NAME_BOOTSTRAP_METHODS, Classfile.JAVA_17_VERSION) { + BOOTSTRAP_METHODS = new AbstractAttributeMapper<>(NAME_BOOTSTRAP_METHODS) { @Override public BootstrapMethodsAttribute readAttribute(AttributedElement e, ClassReader cf, int p) { return new BoundAttribute.BoundBootstrapMethodsAttribute(cf, this, p); @@ -243,7 +247,7 @@ public AttributeMapper.AttributeStability stability() { /** Attribute mapper for the {@code CharacterRangeTable} attribute */ public static final AttributeMapper - CHARACTER_RANGE_TABLE = new AbstractAttributeMapper<>(NAME_CHARACTER_RANGE_TABLE, true, Classfile.JAVA_4_VERSION) { + CHARACTER_RANGE_TABLE = new AbstractAttributeMapper<>(NAME_CHARACTER_RANGE_TABLE, true) { @Override public CharacterRangeTableAttribute readAttribute(AttributedElement e, ClassReader cf, int p) { return new BoundAttribute.BoundCharacterRangeTableAttribute(cf, this, p); @@ -347,7 +351,7 @@ public AttributeMapper.AttributeStability stability() { /** Attribute mapper for the {@code EnclosingMethod} attribute */ public static final AttributeMapper - ENCLOSING_METHOD = new AbstractAttributeMapper<>(NAME_ENCLOSING_METHOD, Classfile.JAVA_5_VERSION) { + ENCLOSING_METHOD = new AbstractAttributeMapper<>(NAME_ENCLOSING_METHOD) { @Override public EnclosingMethodAttribute readAttribute(AttributedElement e, ClassReader cf, int p) { return new BoundAttribute.BoundEnclosingMethodAttribute(cf, this, p); @@ -463,7 +467,7 @@ public AttributeMapper.AttributeStability stability() { /** Attribute mapper for the {@code LocalVariableTypeTable} attribute */ public static final AttributeMapper - LOCAL_VARIABLE_TYPE_TABLE = new AbstractAttributeMapper<>(NAME_LOCAL_VARIABLE_TYPE_TABLE, true, Classfile.JAVA_5_VERSION) { + LOCAL_VARIABLE_TYPE_TABLE = new AbstractAttributeMapper<>(NAME_LOCAL_VARIABLE_TYPE_TABLE, true) { @Override public LocalVariableTypeTableAttribute readAttribute(AttributedElement e, ClassReader cf, int p) { return new BoundAttribute.BoundLocalVariableTypeTableAttribute(e, cf, this, p); @@ -490,7 +494,7 @@ public AttributeMapper.AttributeStability stability() { /** Attribute mapper for the {@code MethodParameters} attribute */ public static final AttributeMapper - METHOD_PARAMETERS = new AbstractAttributeMapper<>(NAME_METHOD_PARAMETERS, Classfile.JAVA_8_VERSION) { + METHOD_PARAMETERS = new AbstractAttributeMapper<>(NAME_METHOD_PARAMETERS) { @Override public MethodParametersAttribute readAttribute(AttributedElement e, ClassReader cf, int p) { return new BoundAttribute.BoundMethodParametersAttribute(cf, this, p); @@ -514,7 +518,7 @@ public AttributeMapper.AttributeStability stability() { /** Attribute mapper for the {@code Module} attribute */ public static final AttributeMapper - MODULE = new AbstractAttributeMapper<>(NAME_MODULE, Classfile.JAVA_9_VERSION) { + MODULE = new AbstractAttributeMapper<>(NAME_MODULE) { @Override public ModuleAttribute readAttribute(AttributedElement e, ClassReader cf, int p) { return new BoundAttribute.BoundModuleAttribute(cf, this, p); @@ -559,7 +563,7 @@ public AttributeMapper.AttributeStability stability() { /** Attribute mapper for the {@code ModuleHashes} attribute */ public static final AttributeMapper - MODULE_HASHES = new AbstractAttributeMapper<>(NAME_MODULE_HASHES, Classfile.JAVA_9_VERSION) { + MODULE_HASHES = new AbstractAttributeMapper<>(NAME_MODULE_HASHES) { @Override public ModuleHashesAttribute readAttribute(AttributedElement e, ClassReader cf, int p) { return new BoundAttribute.BoundModuleHashesAttribute(cf, this, p); @@ -585,7 +589,7 @@ public AttributeMapper.AttributeStability stability() { /** Attribute mapper for the {@code ModuleMainClass} attribute */ public static final AttributeMapper - MODULE_MAIN_CLASS = new AbstractAttributeMapper<>(NAME_MODULE_MAIN_CLASS, Classfile.JAVA_9_VERSION) { + MODULE_MAIN_CLASS = new AbstractAttributeMapper<>(NAME_MODULE_MAIN_CLASS) { @Override public ModuleMainClassAttribute readAttribute(AttributedElement e, ClassReader cf, int p) { return new BoundAttribute.BoundModuleMainClassAttribute(cf, this, p); @@ -604,7 +608,7 @@ public AttributeMapper.AttributeStability stability() { /** Attribute mapper for the {@code ModulePackages} attribute */ public static final AttributeMapper - MODULE_PACKAGES = new AbstractAttributeMapper<>(NAME_MODULE_PACKAGES, Classfile.JAVA_9_VERSION) { + MODULE_PACKAGES = new AbstractAttributeMapper<>(NAME_MODULE_PACKAGES) { @Override public ModulePackagesAttribute readAttribute(AttributedElement e, ClassReader cf, int p) { return new BoundAttribute.BoundModulePackagesAttribute(cf, this, p); @@ -623,7 +627,7 @@ public AttributeMapper.AttributeStability stability() { /** Attribute mapper for the {@code ModuleResolution} attribute */ public static final AttributeMapper - MODULE_RESOLUTION = new AbstractAttributeMapper<>(NAME_MODULE_RESOLUTION, Classfile.JAVA_9_VERSION) { + MODULE_RESOLUTION = new AbstractAttributeMapper<>(NAME_MODULE_RESOLUTION) { @Override public ModuleResolutionAttribute readAttribute(AttributedElement e, ClassReader cf, int p) { return new BoundAttribute.BoundModuleResolutionAttribute(cf, this, p); @@ -642,7 +646,7 @@ public AttributeMapper.AttributeStability stability() { /** Attribute mapper for the {@code ModuleTarget} attribute */ public static final AttributeMapper - MODULE_TARGET = new AbstractAttributeMapper<>(NAME_MODULE_TARGET, Classfile.JAVA_9_VERSION) { + MODULE_TARGET = new AbstractAttributeMapper<>(NAME_MODULE_TARGET) { @Override public ModuleTargetAttribute readAttribute(AttributedElement e, ClassReader cf, int p) { return new BoundAttribute.BoundModuleTargetAttribute(cf, this, p); @@ -661,7 +665,7 @@ public AttributeMapper.AttributeStability stability() { /** Attribute mapper for the {@code NestHost} attribute */ public static final AttributeMapper - NEST_HOST = new AbstractAttributeMapper<>(NAME_NEST_HOST, Classfile.JAVA_11_VERSION) { + NEST_HOST = new AbstractAttributeMapper<>(NAME_NEST_HOST) { @Override public NestHostAttribute readAttribute(AttributedElement e, ClassReader cf, int p) { return new BoundAttribute.BoundNestHostAttribute(cf, this, p); @@ -680,7 +684,7 @@ public AttributeMapper.AttributeStability stability() { /** Attribute mapper for the {@code NestMembers} attribute */ public static final AttributeMapper - NEST_MEMBERS = new AbstractAttributeMapper<>(NAME_NEST_MEMBERS, Classfile.JAVA_11_VERSION) { + NEST_MEMBERS = new AbstractAttributeMapper<>(NAME_NEST_MEMBERS) { @Override public NestMembersAttribute readAttribute(AttributedElement e, ClassReader cf, int p) { return new BoundAttribute.BoundNestMembersAttribute(cf, this, p); @@ -699,7 +703,7 @@ public AttributeMapper.AttributeStability stability() { /** Attribute mapper for the {@code PermittedSubclasses} attribute */ public static final AttributeMapper - PERMITTED_SUBCLASSES = new AbstractAttributeMapper<>(NAME_PERMITTED_SUBCLASSES, Classfile.JAVA_15_VERSION) { + PERMITTED_SUBCLASSES = new AbstractAttributeMapper<>(NAME_PERMITTED_SUBCLASSES) { @Override public PermittedSubclassesAttribute readAttribute(AttributedElement e, ClassReader cf, int p) { return new BoundAttribute.BoundPermittedSubclassesAttribute(cf, this, p); @@ -718,7 +722,7 @@ public AttributeMapper.AttributeStability stability() { /** Attribute mapper for the {@code Record} attribute */ public static final AttributeMapper - RECORD = new AbstractAttributeMapper<>(NAME_RECORD, Classfile.JAVA_16_VERSION) { + RECORD = new AbstractAttributeMapper<>(NAME_RECORD) { @Override public RecordAttribute readAttribute(AttributedElement e, ClassReader cf, int p) { return new BoundAttribute.BoundRecordAttribute(cf, this, p); @@ -743,7 +747,7 @@ public AttributeMapper.AttributeStability stability() { /** Attribute mapper for the {@code RuntimeInvisibleAnnotations} attribute */ public static final AttributeMapper - RUNTIME_INVISIBLE_ANNOTATIONS = new AbstractAttributeMapper<>(NAME_RUNTIME_INVISIBLE_ANNOTATIONS, Classfile.JAVA_5_VERSION) { + RUNTIME_INVISIBLE_ANNOTATIONS = new AbstractAttributeMapper<>(NAME_RUNTIME_INVISIBLE_ANNOTATIONS) { @Override public RuntimeInvisibleAnnotationsAttribute readAttribute(AttributedElement enclosing, ClassReader cf, int pos) { return new BoundAttribute.BoundRuntimeInvisibleAnnotationsAttribute(cf, pos); @@ -762,7 +766,7 @@ public AttributeMapper.AttributeStability stability() { /** Attribute mapper for the {@code RuntimeInvisibleParameterAnnotations} attribute */ public static final AttributeMapper - RUNTIME_INVISIBLE_PARAMETER_ANNOTATIONS = new AbstractAttributeMapper<>(NAME_RUNTIME_INVISIBLE_PARAMETER_ANNOTATIONS, Classfile.JAVA_5_VERSION) { + RUNTIME_INVISIBLE_PARAMETER_ANNOTATIONS = new AbstractAttributeMapper<>(NAME_RUNTIME_INVISIBLE_PARAMETER_ANNOTATIONS) { @Override public RuntimeInvisibleParameterAnnotationsAttribute readAttribute(AttributedElement e, ClassReader cf, int p) { return new BoundAttribute.BoundRuntimeInvisibleParameterAnnotationsAttribute(cf, this, p); @@ -784,7 +788,7 @@ public AttributeMapper.AttributeStability stability() { /** Attribute mapper for the {@code RuntimeInvisibleTypeAnnotations} attribute */ public static final AttributeMapper - RUNTIME_INVISIBLE_TYPE_ANNOTATIONS = new AbstractAttributeMapper<>(NAME_RUNTIME_INVISIBLE_TYPE_ANNOTATIONS, Classfile.JAVA_8_VERSION) { + RUNTIME_INVISIBLE_TYPE_ANNOTATIONS = new AbstractAttributeMapper<>(NAME_RUNTIME_INVISIBLE_TYPE_ANNOTATIONS) { @Override public RuntimeInvisibleTypeAnnotationsAttribute readAttribute(AttributedElement e, ClassReader cf, int p) { return new BoundAttribute.BoundRuntimeInvisibleTypeAnnotationsAttribute(e, cf, this, p); @@ -803,7 +807,7 @@ public AttributeMapper.AttributeStability stability() { /** Attribute mapper for the {@code RuntimeVisibleAnnotations} attribute */ public static final AttributeMapper - RUNTIME_VISIBLE_ANNOTATIONS = new AbstractAttributeMapper<>(NAME_RUNTIME_VISIBLE_ANNOTATIONS, Classfile.JAVA_5_VERSION) { + RUNTIME_VISIBLE_ANNOTATIONS = new AbstractAttributeMapper<>(NAME_RUNTIME_VISIBLE_ANNOTATIONS) { @Override public RuntimeVisibleAnnotationsAttribute readAttribute(AttributedElement enclosing, ClassReader cf, int pos) { return new BoundAttribute.BoundRuntimeVisibleAnnotationsAttribute(cf, pos); @@ -822,7 +826,7 @@ public AttributeMapper.AttributeStability stability() { /** Attribute mapper for the {@code RuntimeVisibleParameterAnnotations} attribute */ public static final AttributeMapper - RUNTIME_VISIBLE_PARAMETER_ANNOTATIONS = new AbstractAttributeMapper<>(NAME_RUNTIME_VISIBLE_PARAMETER_ANNOTATIONS, Classfile.JAVA_5_VERSION) { + RUNTIME_VISIBLE_PARAMETER_ANNOTATIONS = new AbstractAttributeMapper<>(NAME_RUNTIME_VISIBLE_PARAMETER_ANNOTATIONS) { @Override public RuntimeVisibleParameterAnnotationsAttribute readAttribute(AttributedElement e, ClassReader cf, int p) { return new BoundAttribute.BoundRuntimeVisibleParameterAnnotationsAttribute(cf, this, p); @@ -844,7 +848,7 @@ public AttributeMapper.AttributeStability stability() { /** Attribute mapper for the {@code RuntimeVisibleTypeAnnotations} attribute */ public static final AttributeMapper - RUNTIME_VISIBLE_TYPE_ANNOTATIONS = new AbstractAttributeMapper<>(NAME_RUNTIME_VISIBLE_TYPE_ANNOTATIONS, Classfile.JAVA_8_VERSION) { + RUNTIME_VISIBLE_TYPE_ANNOTATIONS = new AbstractAttributeMapper<>(NAME_RUNTIME_VISIBLE_TYPE_ANNOTATIONS) { @Override public RuntimeVisibleTypeAnnotationsAttribute readAttribute(AttributedElement e, ClassReader cf, int p) { return new BoundAttribute.BoundRuntimeVisibleTypeAnnotationsAttribute(e, cf, this, p); @@ -863,7 +867,7 @@ public AttributeMapper.AttributeStability stability() { /** Attribute mapper for the {@code Signature} attribute */ public static final AttributeMapper - SIGNATURE = new AbstractAttributeMapper<>(NAME_SIGNATURE, Classfile.JAVA_5_VERSION) { + SIGNATURE = new AbstractAttributeMapper<>(NAME_SIGNATURE) { @Override public SignatureAttribute readAttribute(AttributedElement e, ClassReader cf, int p) { return new BoundAttribute.BoundSignatureAttribute(cf, this, p); @@ -882,7 +886,7 @@ public AttributeMapper.AttributeStability stability() { /** Attribute mapper for the {@code SourceDebugExtension} attribute */ public static final AttributeMapper - SOURCE_DEBUG_EXTENSION = new AbstractAttributeMapper<>(NAME_SOURCE_DEBUG_EXTENSION, Classfile.JAVA_5_VERSION) { + SOURCE_DEBUG_EXTENSION = new AbstractAttributeMapper<>(NAME_SOURCE_DEBUG_EXTENSION) { @Override public SourceDebugExtensionAttribute readAttribute(AttributedElement e, ClassReader cf, int p) { return new BoundAttribute.BoundSourceDebugExtensionAttribute(cf, this, p); @@ -939,7 +943,7 @@ public AttributeMapper.AttributeStability stability() { /** Attribute mapper for the {@code StackMapTable} attribute */ public static final AttributeMapper - STACK_MAP_TABLE = new AbstractAttributeMapper<>(NAME_STACK_MAP_TABLE, Classfile.JAVA_6_VERSION) { + STACK_MAP_TABLE = new AbstractAttributeMapper<>(NAME_STACK_MAP_TABLE) { @Override public StackMapTableAttribute readAttribute(AttributedElement e, ClassReader cf, int p) { return new BoundAttribute.BoundStackMapTableAttribute((CodeImpl)e, cf, this, p); diff --git a/src/java.base/share/classes/jdk/internal/classfile/BootstrapMethodEntry.java b/src/java.base/share/classes/java/lang/classfile/BootstrapMethodEntry.java similarity index 86% rename from src/java.base/share/classes/jdk/internal/classfile/BootstrapMethodEntry.java rename to src/java.base/share/classes/java/lang/classfile/BootstrapMethodEntry.java index fb7a8d1401f38..c472dca8530d7 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/BootstrapMethodEntry.java +++ b/src/java.base/share/classes/java/lang/classfile/BootstrapMethodEntry.java @@ -23,21 +23,25 @@ * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.util.List; -import jdk.internal.classfile.constantpool.ConstantPool; -import jdk.internal.classfile.constantpool.LoadableConstantEntry; -import jdk.internal.classfile.constantpool.MethodHandleEntry; +import java.lang.classfile.constantpool.ConstantPool; +import java.lang.classfile.constantpool.LoadableConstantEntry; +import java.lang.classfile.constantpool.MethodHandleEntry; import jdk.internal.classfile.impl.BootstrapMethodEntryImpl; +import jdk.internal.javac.PreviewFeature; /** * Models an entry in the bootstrap method table. The bootstrap method table * is stored in the {@code BootstrapMethods} attribute, but is modeled by * the {@link ConstantPool}, since the bootstrap method table is logically * part of the constant pool. + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface BootstrapMethodEntry extends WritableElement permits BootstrapMethodEntryImpl { diff --git a/src/java.base/share/classes/jdk/internal/classfile/BufWriter.java b/src/java.base/share/classes/java/lang/classfile/BufWriter.java similarity index 94% rename from src/java.base/share/classes/jdk/internal/classfile/BufWriter.java rename to src/java.base/share/classes/java/lang/classfile/BufWriter.java index a572dd16a53a8..bab8ebda4b87c 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/BufWriter.java +++ b/src/java.base/share/classes/java/lang/classfile/BufWriter.java @@ -22,21 +22,25 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.nio.ByteBuffer; import java.util.List; -import jdk.internal.classfile.constantpool.ConstantPool; -import jdk.internal.classfile.constantpool.ConstantPoolBuilder; -import jdk.internal.classfile.constantpool.PoolEntry; +import java.lang.classfile.constantpool.ConstantPool; +import java.lang.classfile.constantpool.ConstantPoolBuilder; +import java.lang.classfile.constantpool.PoolEntry; import jdk.internal.classfile.impl.BufWriterImpl; +import jdk.internal.javac.PreviewFeature; /** - * Supports writing portions of a classfile to a growable buffer. Method + * Supports writing portions of a classfile to a growable buffer. Methods * are provided to write various standard entities (e.g., {@code u2}, {@code u4}) * to the end of the buffer, as well as to create constant pool entries. + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface BufWriter permits BufWriterImpl { diff --git a/src/java.base/share/classes/jdk/internal/classfile/ClassBuilder.java b/src/java.base/share/classes/java/lang/classfile/ClassBuilder.java similarity index 94% rename from src/java.base/share/classes/jdk/internal/classfile/ClassBuilder.java rename to src/java.base/share/classes/java/lang/classfile/ClassBuilder.java index 13af4df047aba..f1b8bb13d27e5 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/ClassBuilder.java +++ b/src/java.base/share/classes/java/lang/classfile/ClassBuilder.java @@ -23,7 +23,7 @@ * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.lang.constant.ClassDesc; @@ -33,25 +33,29 @@ import java.util.Optional; import java.util.function.Consumer; -import jdk.internal.classfile.constantpool.ClassEntry; -import jdk.internal.classfile.constantpool.Utf8Entry; +import java.lang.classfile.constantpool.ClassEntry; +import java.lang.classfile.constantpool.Utf8Entry; import jdk.internal.classfile.impl.ChainedClassBuilder; import jdk.internal.classfile.impl.DirectClassBuilder; import jdk.internal.classfile.impl.Util; import java.lang.reflect.AccessFlag; -import jdk.internal.classfile.attribute.CodeAttribute; +import java.lang.classfile.attribute.CodeAttribute; +import jdk.internal.javac.PreviewFeature; /** * A builder for classfiles. Builders are not created directly; they are passed - * to handlers by methods such as {@link Classfile#build(ClassDesc, Consumer)} + * to handlers by methods such as {@link ClassFile#build(ClassDesc, Consumer)} * or to class transforms. The elements of a classfile can be specified - * abstractly (by passing a {@link ClassElement} to {@link #with(ClassfileElement)}) + * abstractly (by passing a {@link ClassElement} to {@link #with(ClassFileElement)}) * or concretely by calling the various {@code withXxx} methods. * * @see ClassTransform + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface ClassBuilder - extends ClassfileBuilder + extends ClassFileBuilder permits ChainedClassBuilder, DirectClassBuilder { /** @@ -67,7 +71,7 @@ public sealed interface ClassBuilder * @return this builder */ default ClassBuilder withVersion(int major, int minor) { - return with(ClassfileVersion.of(major, minor)); + return with(ClassFileVersion.of(major, minor)); } /** @@ -101,6 +105,7 @@ default ClassBuilder withSuperclass(ClassEntry superclassEntry) { * Sets the superclass of this class. * @param desc the superclass * @return this builder + * @throws IllegalArgumentException if {@code desc} represents a primitive type */ default ClassBuilder withSuperclass(ClassDesc desc) { return withSuperclass(constantPool().classEntry(desc)); diff --git a/src/java.base/share/classes/jdk/internal/classfile/ClassElement.java b/src/java.base/share/classes/java/lang/classfile/ClassElement.java similarity index 51% rename from src/java.base/share/classes/jdk/internal/classfile/ClassElement.java rename to src/java.base/share/classes/java/lang/classfile/ClassElement.java index 29c07cafcaaa0..3852f7d12933a 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/ClassElement.java +++ b/src/java.base/share/classes/java/lang/classfile/ClassElement.java @@ -22,39 +22,44 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; -import jdk.internal.classfile.attribute.CompilationIDAttribute; -import jdk.internal.classfile.attribute.DeprecatedAttribute; -import jdk.internal.classfile.attribute.EnclosingMethodAttribute; -import jdk.internal.classfile.attribute.InnerClassesAttribute; -import jdk.internal.classfile.attribute.ModuleAttribute; -import jdk.internal.classfile.attribute.ModuleHashesAttribute; -import jdk.internal.classfile.attribute.ModuleMainClassAttribute; -import jdk.internal.classfile.attribute.ModulePackagesAttribute; -import jdk.internal.classfile.attribute.ModuleResolutionAttribute; -import jdk.internal.classfile.attribute.ModuleTargetAttribute; -import jdk.internal.classfile.attribute.NestHostAttribute; -import jdk.internal.classfile.attribute.NestMembersAttribute; -import jdk.internal.classfile.attribute.PermittedSubclassesAttribute; -import jdk.internal.classfile.attribute.RecordAttribute; -import jdk.internal.classfile.attribute.RuntimeInvisibleAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeInvisibleTypeAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeVisibleAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeVisibleTypeAnnotationsAttribute; -import jdk.internal.classfile.attribute.SignatureAttribute; -import jdk.internal.classfile.attribute.SourceDebugExtensionAttribute; -import jdk.internal.classfile.attribute.SourceFileAttribute; -import jdk.internal.classfile.attribute.SourceIDAttribute; -import jdk.internal.classfile.attribute.SyntheticAttribute; -import jdk.internal.classfile.attribute.UnknownAttribute; +import java.lang.classfile.attribute.CompilationIDAttribute; +import java.lang.classfile.attribute.DeprecatedAttribute; +import java.lang.classfile.attribute.EnclosingMethodAttribute; +import java.lang.classfile.attribute.InnerClassesAttribute; +import java.lang.classfile.attribute.ModuleAttribute; +import java.lang.classfile.attribute.ModuleHashesAttribute; +import java.lang.classfile.attribute.ModuleMainClassAttribute; +import java.lang.classfile.attribute.ModulePackagesAttribute; +import java.lang.classfile.attribute.ModuleResolutionAttribute; +import java.lang.classfile.attribute.ModuleTargetAttribute; +import java.lang.classfile.attribute.NestHostAttribute; +import java.lang.classfile.attribute.NestMembersAttribute; +import java.lang.classfile.attribute.PermittedSubclassesAttribute; +import java.lang.classfile.attribute.RecordAttribute; +import java.lang.classfile.attribute.RuntimeInvisibleAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeInvisibleTypeAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeVisibleAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeVisibleTypeAnnotationsAttribute; +import java.lang.classfile.attribute.SignatureAttribute; +import java.lang.classfile.attribute.SourceDebugExtensionAttribute; +import java.lang.classfile.attribute.SourceFileAttribute; +import java.lang.classfile.attribute.SourceIDAttribute; +import java.lang.classfile.attribute.SyntheticAttribute; +import java.lang.classfile.attribute.UnknownAttribute; +import jdk.internal.javac.PreviewFeature; /** - * A {@link ClassfileElement} that can appear when traversing the elements - * of a {@link ClassModel} or be presented to a {@link ClassBuilder}. + * A marker interface for elements that can appear when traversing + * a {@link ClassModel} or be presented to a {@link ClassBuilder}. + * + * @sealedGraph + * @since 22 */ -public sealed interface ClassElement extends ClassfileElement - permits AccessFlags, Superclass, Interfaces, ClassfileVersion, +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) +public sealed interface ClassElement extends ClassFileElement + permits AccessFlags, Superclass, Interfaces, ClassFileVersion, FieldModel, MethodModel, CustomAttribute, CompilationIDAttribute, DeprecatedAttribute, EnclosingMethodAttribute, InnerClassesAttribute, diff --git a/src/java.base/share/classes/jdk/internal/classfile/Classfile.java b/src/java.base/share/classes/java/lang/classfile/ClassFile.java similarity index 50% rename from src/java.base/share/classes/jdk/internal/classfile/Classfile.java rename to src/java.base/share/classes/java/lang/classfile/ClassFile.java index 7ee9a8299caa1..7b1ef16ba6def 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/Classfile.java +++ b/src/java.base/share/classes/java/lang/classfile/ClassFile.java @@ -22,7 +22,7 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.io.IOException; import java.lang.constant.ClassDesc; @@ -31,40 +31,44 @@ import java.util.function.Consumer; import java.util.function.Function; -import jdk.internal.classfile.attribute.ModuleAttribute; -import jdk.internal.classfile.attribute.UnknownAttribute; -import jdk.internal.classfile.constantpool.ClassEntry; -import jdk.internal.classfile.constantpool.ConstantPoolBuilder; -import jdk.internal.classfile.constantpool.Utf8Entry; -import jdk.internal.classfile.impl.ClassfileImpl; +import java.lang.classfile.attribute.ModuleAttribute; +import java.lang.classfile.attribute.UnknownAttribute; +import java.lang.classfile.constantpool.ClassEntry; +import java.lang.classfile.constantpool.ConstantPoolBuilder; +import java.lang.classfile.constantpool.Utf8Entry; +import jdk.internal.classfile.impl.ClassFileImpl; import jdk.internal.classfile.impl.TemporaryConstantPool; import java.lang.reflect.AccessFlag; -import jdk.internal.classfile.attribute.CharacterRangeInfo; -import jdk.internal.classfile.attribute.LocalVariableInfo; -import jdk.internal.classfile.attribute.LocalVariableTypeInfo; -import jdk.internal.classfile.instruction.ExceptionCatch; +import java.lang.classfile.attribute.CharacterRangeInfo; +import java.lang.classfile.attribute.LocalVariableInfo; +import java.lang.classfile.attribute.LocalVariableTypeInfo; +import java.lang.classfile.instruction.ExceptionCatch; import static java.util.Objects.requireNonNull; +import jdk.internal.javac.PreviewFeature; /** * Represents a context for parsing, transforming, and generating classfiles. - * A {@code Classfile} has a set of options that condition how parsing and + * A {@code ClassFile} has a set of options that condition how parsing and * generation is done. + * + * @since 22 */ -public sealed interface Classfile - permits ClassfileImpl { +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) +public sealed interface ClassFile + permits ClassFileImpl { /** * {@return a context with default options} */ - static Classfile of() { - return ClassfileImpl.DEFAULT_CONTEXT; + static ClassFile of() { + return ClassFileImpl.DEFAULT_CONTEXT; } /** * {@return a new context with options altered from the default} * @param options the desired processing options */ - static Classfile of(Option... options) { + static ClassFile of(Option... options) { return of().withOptions(options); } @@ -72,20 +76,27 @@ static Classfile of(Option... options) { * {@return a copy of the context with altered options} * @param options the desired processing options */ - Classfile withOptions(Option... options); + ClassFile withOptions(Option... options); /** * An option that affects the parsing and writing of classfiles. + * + * @sealedGraph + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface Option { } /** * Option describing attribute mappers for custom attributes. * Default is only to process standard attributes. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface AttributeMapperOption extends Option - permits ClassfileImpl.AttributeMapperOptionImpl { + permits ClassFileImpl.AttributeMapperOptionImpl { /** * {@return an option describing attribute mappers for custom attributes} @@ -93,7 +104,7 @@ sealed interface AttributeMapperOption extends Option */ static AttributeMapperOption of(Function> attributeMapper) { requireNonNull(attributeMapper); - return new ClassfileImpl.AttributeMapperOptionImpl(attributeMapper); + return new ClassFileImpl.AttributeMapperOptionImpl(attributeMapper); } /** @@ -105,9 +116,12 @@ static AttributeMapperOption of(Function> attribut /** * Option describing the class hierarchy resolver to use when generating * stack maps. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface ClassHierarchyResolverOption extends Option - permits ClassfileImpl.ClassHierarchyResolverOptionImpl { + permits ClassFileImpl.ClassHierarchyResolverOptionImpl { /** * {@return an option describing the class hierarchy resolver to use when @@ -116,7 +130,7 @@ sealed interface ClassHierarchyResolverOption extends Option */ static ClassHierarchyResolverOption of(ClassHierarchyResolver classHierarchyResolver) { requireNonNull(classHierarchyResolver); - return new ClassfileImpl.ClassHierarchyResolverOptionImpl(classHierarchyResolver); + return new ClassFileImpl.ClassHierarchyResolverOptionImpl(classHierarchyResolver); } /** @@ -133,7 +147,10 @@ static ClassHierarchyResolverOption of(ClassHierarchyResolver classHierarchyReso * when a classfile is significantly transformed. * Default is {@code SHARED_POOL} to preserve the original constant * pool. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) enum ConstantPoolSharingOption implements Option { /** Preserves the original constant pool when transforming classfile */ @@ -144,10 +161,13 @@ enum ConstantPoolSharingOption implements Option { } /** - * Option describing whether or not to patch out unreachable code. + * Option describing whether to patch out unreachable code. * Default is {@code PATCH_DEAD_CODE} to automatically patch out unreachable * code with NOPs. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) enum DeadCodeOption implements Option { /** Patch unreachable code */ @@ -158,14 +178,17 @@ enum DeadCodeOption implements Option { } /** - * Option describing whether or not to filter unresolved labels. + * Option describing whether to filter unresolved labels. * Default is {@code FAIL_ON_DEAD_LABELS} to throw IllegalStateException * when any {@link ExceptionCatch}, {@link LocalVariableInfo}, * {@link LocalVariableTypeInfo}, or {@link CharacterRangeInfo} * reference to unresolved {@link Label} during bytecode serialization. * Setting this option to {@code DROP_DEAD_LABELS} filters the above * elements instead. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) enum DeadLabelsOption implements Option { /** Fail on unresolved labels */ @@ -181,7 +204,10 @@ enum DeadLabelsOption implements Option { * table, and character range table. Discarding debug elements may * reduce the overhead of parsing or transforming classfiles. * Default is {@code PASS_DEBUG} to process debug elements. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) enum DebugElementsOption implements Option { /** Process debug elements */ @@ -196,7 +222,10 @@ enum DebugElementsOption implements Option { * Discarding line numbers may reduce the overhead of parsing or transforming * classfiles. * Default is {@code PASS_LINE_NUMBERS} to process line numbers. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) enum LineNumbersOption implements Option { /** Process line numbers */ @@ -207,11 +236,14 @@ enum LineNumbersOption implements Option { } /** - * Option describing whether or not to automatically rewrite short jumps to + * Option describing whether to automatically rewrite short jumps to * long when necessary. * Default is {@code FIX_SHORT_JUMPS} to automatically rewrite jump * instructions. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) enum ShortJumpsOption implements Option { /** Automatically convert short jumps to long when necessary */ @@ -222,12 +254,15 @@ enum ShortJumpsOption implements Option { } /** - * Option describing whether or not to generate stackmaps. + * Option describing whether to generate stackmaps. * Default is {@code STACK_MAPS_WHEN_REQUIRED} to generate stack * maps for {@link #JAVA_6_VERSION} or above, where specifically for * {@link #JAVA_6_VERSION} the stack maps may not be generated. * @jvms 4.10.1 Verification by Type Checking + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) enum StackMapsOption implements Option { /** Generate stack maps when required */ @@ -246,7 +281,10 @@ enum StackMapsOption implements Option { * transformed in its exploded form. * Default is {@code PASS_ALL_ATTRIBUTES} to process all original attributes. * @see AttributeMapper.AttributeStability + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) enum AttributesProcessingOption implements Option { /** Process all original attributes during transformation */ @@ -263,6 +301,8 @@ enum AttributesProcessingOption implements Option { * Parse a classfile into a {@link ClassModel}. * @param bytes the bytes of the classfile * @return the class model + * @throws IllegalArgumentException or its subclass if the classfile format is + * not supported or an incompatibility prevents parsing of the classfile */ ClassModel parse(byte[] bytes); @@ -270,7 +310,9 @@ enum AttributesProcessingOption implements Option { * Parse a classfile into a {@link ClassModel}. * @param path the path to the classfile * @return the class model - * @throws java.io.IOException + * @throws java.io.IOException if an I/O error occurs + * @throws IllegalArgumentException or its subclass if the classfile format is + * not supported or an incompatibility prevents parsing of the classfile */ default ClassModel parse(Path path) throws IOException { return parse(Files.readAllBytes(path)); @@ -281,6 +323,7 @@ default ClassModel parse(Path path) throws IOException { * @param thisClass the name of the class to build * @param handler a handler that receives a {@link ClassBuilder} * @return the classfile bytes + * @throws IllegalArgumentException if {@code thisClass} represents a primitive type */ default byte[] build(ClassDesc thisClass, Consumer handler) { @@ -306,7 +349,7 @@ byte[] build(ClassEntry thisClassEntry, * @param path the path to the file to write * @param thisClass the name of the class to build * @param handler a handler that receives a {@link ClassBuilder} - * @throws java.io.IOException + * @throws java.io.IOException if an I/O error occurs */ default void buildTo(Path path, ClassDesc thisClass, @@ -322,7 +365,7 @@ default void buildTo(Path path, * @param thisClassEntry the name of the class to build * @param constantPool the constant pool builder * @param handler a handler that receives a {@link ClassBuilder} - * @throws java.io.IOException + * @throws java.io.IOException if an I/O error occurs */ default void buildTo(Path path, ClassEntry thisClassEntry, @@ -359,7 +402,7 @@ default byte[] buildModule(ModuleAttribute moduleAttribute, * Build a module descriptor into a file. * @param path the file to write * @param moduleAttribute the {@code Module} attribute - * @throws java.io.IOException + * @throws java.io.IOException if an I/O error occurs */ default void buildModuleTo(Path path, ModuleAttribute moduleAttribute) throws IOException { @@ -371,7 +414,7 @@ default void buildModuleTo(Path path, * @param path the file to write * @param moduleAttribute the {@code Module} attribute * @param handler a handler that receives a {@link ClassBuilder} - * @throws java.io.IOException + * @throws java.io.IOException if an I/O error occurs */ default void buildModuleTo(Path path, ModuleAttribute moduleAttribute, @@ -441,967 +484,967 @@ default byte[] transform(ClassModel model, ClassDesc newClassName, ClassTransfor /** 0xCAFEBABE */ int MAGIC_NUMBER = 0xCAFEBABE; - /** 0 */ + /** The integer value used to encode the NOP instruction. */ int NOP = 0; - /** 1 */ + /** The integer value used to encode the ACONST_NULL instruction. */ int ACONST_NULL = 1; - /** 2 */ + /** The integer value used to encode the ICONST_M1 instruction. */ int ICONST_M1 = 2; - /** 3 */ + /** The integer value used to encode the ICONST_0 instruction. */ int ICONST_0 = 3; - /** 4 */ + /** The integer value used to encode the ICONST_1 instruction. */ int ICONST_1 = 4; - /** 5 */ + /** The integer value used to encode the ICONST_2 instruction. */ int ICONST_2 = 5; - /** 6 */ + /** The integer value used to encode the ICONST_3 instruction. */ int ICONST_3 = 6; - /** 7 */ + /** The integer value used to encode the ICONST_4 instruction. */ int ICONST_4 = 7; - /** 8 */ + /** The integer value used to encode the ICONST_5 instruction. */ int ICONST_5 = 8; - /** 9 */ + /** The integer value used to encode the LCONST_0 instruction. */ int LCONST_0 = 9; - /** 10 */ + /** The integer value used to encode the LCONST_1 instruction. */ int LCONST_1 = 10; - /** 11 */ + /** The integer value used to encode the FCONST_0 instruction. */ int FCONST_0 = 11; - /** 12 */ + /** The integer value used to encode the FCONST_1 instruction. */ int FCONST_1 = 12; - /** 13 */ + /** The integer value used to encode the FCONST_2 instruction. */ int FCONST_2 = 13; - /** 14 */ + /** The integer value used to encode the DCONST_0 instruction. */ int DCONST_0 = 14; - /** 15 */ + /** The integer value used to encode the DCONST_1 instruction. */ int DCONST_1 = 15; - /** 16 */ + /** The integer value used to encode the BIPUSH instruction. */ int BIPUSH = 16; - /** 17 */ + /** The integer value used to encode the SIPUSH instruction. */ int SIPUSH = 17; - /** 18 */ + /** The integer value used to encode the LDC instruction. */ int LDC = 18; - /** 19 */ + /** The integer value used to encode the LDC_W instruction. */ int LDC_W = 19; - /** 20 */ + /** The integer value used to encode the LDC2_W instruction. */ int LDC2_W = 20; - /** 21 */ + /** The integer value used to encode the ILOAD instruction. */ int ILOAD = 21; - /** 22 */ + /** The integer value used to encode the LLOAD instruction. */ int LLOAD = 22; - /** 23 */ + /** The integer value used to encode the FLOAD instruction. */ int FLOAD = 23; - /** 24 */ + /** The integer value used to encode the DLOAD instruction. */ int DLOAD = 24; - /** 25 */ + /** The integer value used to encode the ALOAD instruction. */ int ALOAD = 25; - /** 26 */ + /** The integer value used to encode the ILOAD_0 instruction. */ int ILOAD_0 = 26; - /** 27 */ + /** The integer value used to encode the ILOAD_1 instruction. */ int ILOAD_1 = 27; - /** 28 */ + /** The integer value used to encode the ILOAD_2 instruction. */ int ILOAD_2 = 28; - /** 29 */ + /** The integer value used to encode the ILOAD_3 instruction. */ int ILOAD_3 = 29; - /** 30 */ + /** The integer value used to encode the LLOAD_0 instruction. */ int LLOAD_0 = 30; - /** 31 */ + /** The integer value used to encode the LLOAD_1 instruction. */ int LLOAD_1 = 31; - /** 32 */ + /** The integer value used to encode the LLOAD_2 instruction. */ int LLOAD_2 = 32; - /** 33 */ + /** The integer value used to encode the LLOAD_3 instruction. */ int LLOAD_3 = 33; - /** 34 */ + /** The integer value used to encode the FLOAD_0 instruction. */ int FLOAD_0 = 34; - /** 35 */ + /** The integer value used to encode the FLOAD_1 instruction. */ int FLOAD_1 = 35; - /** 36 */ + /** The integer value used to encode the FLOAD_2 instruction. */ int FLOAD_2 = 36; - /** 37 */ + /** The integer value used to encode the FLOAD_3 instruction. */ int FLOAD_3 = 37; - /** 38 */ + /** The integer value used to encode the DLOAD_0 instruction. */ int DLOAD_0 = 38; - /** 39 */ + /** The integer value used to encode the DLOAD_1 instruction. */ int DLOAD_1 = 39; - /** 40 */ + /** The integer value used to encode the DLOAD_2 instruction. */ int DLOAD_2 = 40; - /** 41 */ + /** The integer value used to encode the DLOAD_3 instruction. */ int DLOAD_3 = 41; - /** 42 */ + /** The integer value used to encode the ALOAD_0 instruction. */ int ALOAD_0 = 42; - /** 43 */ + /** The integer value used to encode the ALOAD_1 instruction. */ int ALOAD_1 = 43; - /** 44 */ + /** The integer value used to encode the ALOAD_2 instruction. */ int ALOAD_2 = 44; - /** 45 */ + /** The integer value used to encode the ALOAD_3 instruction. */ int ALOAD_3 = 45; - /** 46 */ + /** The integer value used to encode the IALOAD instruction. */ int IALOAD = 46; - /** 47 */ + /** The integer value used to encode the LALOAD instruction. */ int LALOAD = 47; - /** 48 */ + /** The integer value used to encode the FALOAD instruction. */ int FALOAD = 48; - /** 49 */ + /** The integer value used to encode the DALOAD instruction. */ int DALOAD = 49; - /** 50 */ + /** The integer value used to encode the AALOAD instruction. */ int AALOAD = 50; - /** 51 */ + /** The integer value used to encode the BALOAD instruction. */ int BALOAD = 51; - /** 52 */ + /** The integer value used to encode the CALOAD instruction. */ int CALOAD = 52; - /** 53 */ + /** The integer value used to encode the SALOAD instruction. */ int SALOAD = 53; - /** 54 */ + /** The integer value used to encode the ISTORE instruction. */ int ISTORE = 54; - /** 55 */ + /** The integer value used to encode the LSTORE instruction. */ int LSTORE = 55; - /** 56 */ + /** The integer value used to encode the FSTORE instruction. */ int FSTORE = 56; - /** 57 */ + /** The integer value used to encode the DSTORE instruction. */ int DSTORE = 57; - /** 58 */ + /** The integer value used to encode the ASTORE instruction. */ int ASTORE = 58; - /** 59 */ + /** The integer value used to encode the ISTORE_0 instruction. */ int ISTORE_0 = 59; - /** 60 */ + /** The integer value used to encode the ISTORE_1 instruction. */ int ISTORE_1 = 60; - /** 61 */ + /** The integer value used to encode the ISTORE_2 instruction. */ int ISTORE_2 = 61; - /** 62 */ + /** The integer value used to encode the ISTORE_3 instruction. */ int ISTORE_3 = 62; - /** 63 */ + /** The integer value used to encode the LSTORE_0 instruction. */ int LSTORE_0 = 63; - /** 64 */ + /** The integer value used to encode the LSTORE_1 instruction. */ int LSTORE_1 = 64; - /** 65 */ + /** The integer value used to encode the LSTORE_2 instruction. */ int LSTORE_2 = 65; - /** 66 */ + /** The integer value used to encode the LSTORE_3 instruction. */ int LSTORE_3 = 66; - /** 67 */ + /** The integer value used to encode the FSTORE_0 instruction. */ int FSTORE_0 = 67; - /** 68 */ + /** The integer value used to encode the FSTORE_1 instruction. */ int FSTORE_1 = 68; - /** 69 */ + /** The integer value used to encode the FSTORE_2 instruction. */ int FSTORE_2 = 69; - /** 70 */ + /** The integer value used to encode the FSTORE_3 instruction. */ int FSTORE_3 = 70; - /** 71 */ + /** The integer value used to encode the DSTORE_0 instruction. */ int DSTORE_0 = 71; - /** 72 */ + /** The integer value used to encode the DSTORE_1 instruction. */ int DSTORE_1 = 72; - /** 73 */ + /** The integer value used to encode the DSTORE_2 instruction. */ int DSTORE_2 = 73; - /** 74 */ + /** The integer value used to encode the DSTORE_3 instruction. */ int DSTORE_3 = 74; - /** 75 */ + /** The integer value used to encode the ASTORE_0 instruction. */ int ASTORE_0 = 75; - /** 76 */ + /** The integer value used to encode the ASTORE_1 instruction. */ int ASTORE_1 = 76; - /** 77 */ + /** The integer value used to encode the ASTORE_2 instruction. */ int ASTORE_2 = 77; - /** 78 */ + /** The integer value used to encode the ASTORE_3 instruction. */ int ASTORE_3 = 78; - /** 79 */ + /** The integer value used to encode the IASTORE instruction. */ int IASTORE = 79; - /** 80 */ + /** The integer value used to encode the LASTORE instruction. */ int LASTORE = 80; - /** 81 */ + /** The integer value used to encode the FASTORE instruction. */ int FASTORE = 81; - /** 82 */ + /** The integer value used to encode the DASTORE instruction. */ int DASTORE = 82; - /** 83 */ + /** The integer value used to encode the AASTORE instruction. */ int AASTORE = 83; - /** 84 */ + /** The integer value used to encode the BASTORE instruction. */ int BASTORE = 84; - /** 85 */ + /** The integer value used to encode the CASTORE instruction. */ int CASTORE = 85; - /** 86 */ + /** The integer value used to encode the SASTORE instruction. */ int SASTORE = 86; - /** 87 */ + /** The integer value used to encode the POP instruction. */ int POP = 87; - /** 88 */ + /** The integer value used to encode the POP2 instruction. */ int POP2 = 88; - /** 89 */ + /** The integer value used to encode the DUP instruction. */ int DUP = 89; - /** 90 */ + /** The integer value used to encode the DUP_X1 instruction. */ int DUP_X1 = 90; - /** 91 */ + /** The integer value used to encode the DUP_X2 instruction. */ int DUP_X2 = 91; - /** 92 */ + /** The integer value used to encode the DUP2 instruction. */ int DUP2 = 92; - /** 93 */ + /** The integer value used to encode the DUP2_X1 instruction. */ int DUP2_X1 = 93; - /** 94 */ + /** The integer value used to encode the DUP2_X2 instruction. */ int DUP2_X2 = 94; - /** 95 */ + /** The integer value used to encode the SWAP instruction. */ int SWAP = 95; - /** 96 */ + /** The integer value used to encode the IADD instruction. */ int IADD = 96; - /** 97 */ + /** The integer value used to encode the LADD instruction. */ int LADD = 97; - /** 98 */ + /** The integer value used to encode the FADD instruction. */ int FADD = 98; - /** 99 */ + /** The integer value used to encode the DADD instruction. */ int DADD = 99; - /** 100 */ + /** The integer value used to encode the ISUB instruction. */ int ISUB = 100; - /** 101 */ + /** The integer value used to encode the LSUB instruction. */ int LSUB = 101; - /** 102 */ + /** The integer value used to encode the FSUB instruction. */ int FSUB = 102; - /** 103 */ + /** The integer value used to encode the DSUB instruction. */ int DSUB = 103; - /** 104 */ + /** The integer value used to encode the IMUL instruction. */ int IMUL = 104; - /** 105 */ + /** The integer value used to encode the LMUL instruction. */ int LMUL = 105; - /** 106 */ + /** The integer value used to encode the FMUL instruction. */ int FMUL = 106; - /** 107 */ + /** The integer value used to encode the DMUL instruction. */ int DMUL = 107; - /** 108 */ + /** The integer value used to encode the IDIV instruction. */ int IDIV = 108; - /** 109 */ + /** The integer value used to encode the LDIV instruction. */ int LDIV = 109; - /** 110 */ + /** The integer value used to encode the FDIV instruction. */ int FDIV = 110; - /** 111 */ + /** The integer value used to encode the DDIV instruction. */ int DDIV = 111; - /** 112 */ + /** The integer value used to encode the IREM instruction. */ int IREM = 112; - /** 113 */ + /** The integer value used to encode the LREM instruction. */ int LREM = 113; - /** 114 */ + /** The integer value used to encode the FREM instruction. */ int FREM = 114; - /** 115 */ + /** The integer value used to encode the DREM instruction. */ int DREM = 115; - /** 116 */ + /** The integer value used to encode the INEG instruction. */ int INEG = 116; - /** 117 */ + /** The integer value used to encode the LNEG instruction. */ int LNEG = 117; - /** 118 */ + /** The integer value used to encode the FNEG instruction. */ int FNEG = 118; - /** 119 */ + /** The integer value used to encode the DNEG instruction. */ int DNEG = 119; - /** 120 */ + /** The integer value used to encode the ISHL instruction. */ int ISHL = 120; - /** 121 */ + /** The integer value used to encode the LSHL instruction. */ int LSHL = 121; - /** 122 */ + /** The integer value used to encode the ISHR instruction. */ int ISHR = 122; - /** 123 */ + /** The integer value used to encode the LSHR instruction. */ int LSHR = 123; - /** 124 */ + /** The integer value used to encode the IUSHR instruction. */ int IUSHR = 124; - /** 125 */ + /** The integer value used to encode the LUSHR instruction. */ int LUSHR = 125; - /** 126 */ + /** The integer value used to encode the IAND instruction. */ int IAND = 126; - /** 127 */ + /** The integer value used to encode the LAND instruction. */ int LAND = 127; - /** 128 */ + /** The integer value used to encode the IOR instruction. */ int IOR = 128; - /** 129 */ + /** The integer value used to encode the LOR instruction. */ int LOR = 129; - /** 130 */ + /** The integer value used to encode the IXOR instruction. */ int IXOR = 130; - /** 131 */ + /** The integer value used to encode the LXOR instruction. */ int LXOR = 131; - /** 132 */ + /** The integer value used to encode the IINC instruction. */ int IINC = 132; - /** 133 */ + /** The integer value used to encode the I2L instruction. */ int I2L = 133; - /** 134 */ + /** The integer value used to encode the I2F instruction. */ int I2F = 134; - /** 135 */ + /** The integer value used to encode the I2D instruction. */ int I2D = 135; - /** 136 */ + /** The integer value used to encode the L2I instruction. */ int L2I = 136; - /** 137 */ + /** The integer value used to encode the L2F instruction. */ int L2F = 137; - /** 138 */ + /** The integer value used to encode the L2D instruction. */ int L2D = 138; - /** 139 */ + /** The integer value used to encode the F2I instruction. */ int F2I = 139; - /** 140 */ + /** The integer value used to encode the F2L instruction. */ int F2L = 140; - /** 141 */ + /** The integer value used to encode the F2D instruction. */ int F2D = 141; - /** 142 */ + /** The integer value used to encode the D2I instruction. */ int D2I = 142; - /** 143 */ + /** The integer value used to encode the D2L instruction. */ int D2L = 143; - /** 144 */ + /** The integer value used to encode the D2F instruction. */ int D2F = 144; - /** 145 */ + /** The integer value used to encode the I2B instruction. */ int I2B = 145; - /** 146 */ + /** The integer value used to encode the I2C instruction. */ int I2C = 146; - /** 147 */ + /** The integer value used to encode the I2S instruction. */ int I2S = 147; - /** 148 */ + /** The integer value used to encode the LCMP instruction. */ int LCMP = 148; - /** 149 */ + /** The integer value used to encode the FCMPL instruction. */ int FCMPL = 149; - /** 150 */ + /** The integer value used to encode the FCMPG instruction. */ int FCMPG = 150; - /** 151 */ + /** The integer value used to encode the DCMPL instruction. */ int DCMPL = 151; - /** 152 */ + /** The integer value used to encode the DCMPG instruction. */ int DCMPG = 152; - /** 153 */ + /** The integer value used to encode the IFEQ instruction. */ int IFEQ = 153; - /** 154 */ + /** The integer value used to encode the IFNE instruction. */ int IFNE = 154; - /** 155 */ + /** The integer value used to encode the IFLT instruction. */ int IFLT = 155; - /** 156 */ + /** The integer value used to encode the IFGE instruction. */ int IFGE = 156; - /** 157 */ + /** The integer value used to encode the IFGT instruction. */ int IFGT = 157; - /** 158 */ + /** The integer value used to encode the IFLE instruction. */ int IFLE = 158; - /** 159 */ + /** The integer value used to encode the IF_ICMPEQ instruction. */ int IF_ICMPEQ = 159; - /** 160 */ + /** The integer value used to encode the IF_ICMPNE instruction. */ int IF_ICMPNE = 160; - /** 161 */ + /** The integer value used to encode the IF_ICMPLT instruction. */ int IF_ICMPLT = 161; - /** 162 */ + /** The integer value used to encode the IF_ICMPGE instruction. */ int IF_ICMPGE = 162; - /** 163 */ + /** The integer value used to encode the IF_ICMPGT instruction. */ int IF_ICMPGT = 163; - /** 164 */ + /** The integer value used to encode the IF_ICMPLE instruction. */ int IF_ICMPLE = 164; - /** 165 */ + /** The integer value used to encode the IF_ACMPEQ instruction. */ int IF_ACMPEQ = 165; - /** 166 */ + /** The integer value used to encode the IF_ACMPNE instruction. */ int IF_ACMPNE = 166; - /** 167 */ + /** The integer value used to encode the GOTO instruction. */ int GOTO = 167; - /** 168 */ + /** The integer value used to encode the JSR instruction. */ int JSR = 168; - /** 169 */ + /** The integer value used to encode the RET instruction. */ int RET = 169; - /** 170 */ + /** The integer value used to encode the TABLESWITCH instruction. */ int TABLESWITCH = 170; - /** 171 */ + /** The integer value used to encode the LOOKUPSWITCH instruction. */ int LOOKUPSWITCH = 171; - /** 172 */ + /** The integer value used to encode the IRETURN instruction. */ int IRETURN = 172; - /** 173 */ + /** The integer value used to encode the LRETURN instruction. */ int LRETURN = 173; - /** 174 */ + /** The integer value used to encode the FRETURN instruction. */ int FRETURN = 174; - /** 175 */ + /** The integer value used to encode the DRETURN instruction. */ int DRETURN = 175; - /** 176 */ + /** The integer value used to encode the ARETURN instruction. */ int ARETURN = 176; - /** 177 */ + /** The integer value used to encode the RETURN instruction. */ int RETURN = 177; - /** 178 */ + /** The integer value used to encode the GETSTATIC instruction. */ int GETSTATIC = 178; - /** 179 */ + /** The integer value used to encode the PUTSTATIC instruction. */ int PUTSTATIC = 179; - /** 180 */ + /** The integer value used to encode the GETFIELD instruction. */ int GETFIELD = 180; - /** 181 */ + /** The integer value used to encode the PUTFIELD instruction. */ int PUTFIELD = 181; - /** 182 */ + /** The integer value used to encode the INVOKEVIRTUAL instruction. */ int INVOKEVIRTUAL = 182; - /** 183 */ + /** The integer value used to encode the INVOKESPECIAL instruction. */ int INVOKESPECIAL = 183; - /** 184 */ + /** The integer value used to encode the INVOKESTATIC instruction. */ int INVOKESTATIC = 184; - /** 185 */ + /** The integer value used to encode the INVOKEINTERFACE instruction. */ int INVOKEINTERFACE = 185; - /** 186 */ + /** The integer value used to encode the INVOKEDYNAMIC instruction. */ int INVOKEDYNAMIC = 186; - /** 187 */ + /** The integer value used to encode the NEW instruction. */ int NEW = 187; - /** 188 */ + /** The integer value used to encode the NEWARRAY instruction. */ int NEWARRAY = 188; - /** 189 */ + /** The integer value used to encode the ANEWARRAY instruction. */ int ANEWARRAY = 189; - /** 190 */ + /** The integer value used to encode the ARRAYLENGTH instruction. */ int ARRAYLENGTH = 190; - /** 191 */ + /** The integer value used to encode the ATHROW instruction. */ int ATHROW = 191; - /** 192 */ + /** The integer value used to encode the CHECKCAST instruction. */ int CHECKCAST = 192; - /** 193 */ + /** The integer value used to encode the INSTANCEOF instruction. */ int INSTANCEOF = 193; - /** 194 */ + /** The integer value used to encode the MONITORENTER instruction. */ int MONITORENTER = 194; - /** 195 */ + /** The integer value used to encode the MONITOREXIT instruction. */ int MONITOREXIT = 195; - /** 196 */ + /** The integer value used to encode the WIDE instruction. */ int WIDE = 196; - /** 197 */ + /** The integer value used to encode the MULTIANEWARRAY instruction. */ int MULTIANEWARRAY = 197; - /** 198 */ + /** The integer value used to encode the IFNULL instruction. */ int IFNULL = 198; - /** 199 */ + /** The integer value used to encode the IFNONNULL instruction. */ int IFNONNULL = 199; - /** 200 */ + /** The integer value used to encode the GOTO_W instruction. */ int GOTO_W = 200; - /** 201 */ + /** The integer value used to encode the JSR_W instruction. */ int JSR_W = 201; - /** 0x0001 */ + /** The value of PUBLIC access and property modifier. */ int ACC_PUBLIC = 0x0001; - /** 0x0004 */ + /** The value of PROTECTED access and property modifier. */ int ACC_PROTECTED = 0x0004; - /** 0x0002 */ + /** The value of PRIVATE access and property modifier. */ int ACC_PRIVATE = 0x0002; - /** 0x0200 */ + /** The value of INTERFACE access and property modifier. */ int ACC_INTERFACE = 0x0200; - /** 0x4000 */ + /** The value of ENUM access and property modifier. */ int ACC_ENUM = 0x4000; - /** 0x2000 */ + /** The value of ANNOTATION access and property modifier. */ int ACC_ANNOTATION = 0x2000; - /** 0x0020 */ + /** The value of SUPER access and property modifier. */ int ACC_SUPER = 0x0020; - /** 0x0400 */ + /** The value of ABSTRACT access and property modifier. */ int ACC_ABSTRACT = 0x0400; - /** 0x0040 */ + /** The value of VOLATILE access and property modifier. */ int ACC_VOLATILE = 0x0040; - /** 0x0080 */ + /** The value of TRANSIENT access and property modifier. */ int ACC_TRANSIENT = 0x0080; - /** 0x1000 */ + /** The value of SYNTHETIC access and property modifier. */ int ACC_SYNTHETIC = 0x1000; - /** 0x0008 */ + /** The value of STATIC access and property modifier. */ int ACC_STATIC = 0x0008; - /** 0x0010 */ + /** The value of FINAL access and property modifier. */ int ACC_FINAL = 0x0010; - /** 0x0020 */ + /** The value of SYNCHRONIZED access and property modifier. */ int ACC_SYNCHRONIZED = 0x0020; - /** 0x0040 */ + /** The value of BRIDGE access and property modifier. */ int ACC_BRIDGE = 0x0040; - /** 0x0080 */ + /** The value of VARARGS access and property modifier. */ int ACC_VARARGS = 0x0080; - /** 0x0100 */ + /** The value of NATIVE access and property modifier. */ int ACC_NATIVE = 0x0100; - /** 0x0800 */ + /** The value of STRICT access and property modifier. */ int ACC_STRICT = 0x0800; - /** 0x8000 */ + /** The value of MODULE access and property modifier. */ int ACC_MODULE = 0x8000; - /** 0x20 */ + /** The value of OPEN access and property modifier. */ int ACC_OPEN = 0x20; - /** 0x8000 */ + /** The value of MANDATED access and property modifier. */ int ACC_MANDATED = 0x8000; - /** 0x20 */ + /** The value of TRANSITIVE access and property modifier. */ int ACC_TRANSITIVE = 0x20; - /** 0x40 */ + /** The value of STATIC_PHASE access and property modifier. */ int ACC_STATIC_PHASE = 0x40; - /** 0x0001 */ + /** The value of STATEMENT {@link CharacterRangeInfo} kind. */ int CRT_STATEMENT = 0x0001; - /** 0x0002 */ + /** The value of BLOCK {@link CharacterRangeInfo} kind. */ int CRT_BLOCK = 0x0002; - /** 0x0004 */ + /** The value of ASSIGNMENT {@link CharacterRangeInfo} kind. */ int CRT_ASSIGNMENT = 0x0004; - /** 0x0008 */ + /** The value of FLOW_CONTROLLER {@link CharacterRangeInfo} kind. */ int CRT_FLOW_CONTROLLER = 0x0008; - /** 0x0010 */ + /** The value of FLOW_TARGET {@link CharacterRangeInfo} kind. */ int CRT_FLOW_TARGET = 0x0010; - /** 0x0020 */ + /** The value of INVOKE {@link CharacterRangeInfo} kind. */ int CRT_INVOKE = 0x0020; - /** 0x0040 */ + /** The value of CREATE {@link CharacterRangeInfo} kind. */ int CRT_CREATE = 0x0040; - /** 0x0080 */ + /** The value of BRANCH_TRUE {@link CharacterRangeInfo} kind. */ int CRT_BRANCH_TRUE = 0x0080; - /** 0x0100 */ + /** The value of BRANCH_FALSE {@link CharacterRangeInfo} kind. */ int CRT_BRANCH_FALSE = 0x0100; - /** 7 */ + /** The value of constant pool tag CLASS. */ int TAG_CLASS = 7; - /** 17 */ + /** The value of constant pool tag CONSTANTDYNAMIC. */ int TAG_CONSTANTDYNAMIC = 17; - /** 6 */ + /** The value of constant pool tag DOUBLE. */ int TAG_DOUBLE = 6; - /** 9 */ + /** The value of constant pool tag FIELDREF. */ int TAG_FIELDREF = 9; - /** 4 */ + /** The value of constant pool tag FLOAT. */ int TAG_FLOAT = 4; - /** 3 */ + /** The value of constant pool tag INTEGER. */ int TAG_INTEGER = 3; - /** 11 */ + /** The value of constant pool tag INTERFACEMETHODREF. */ int TAG_INTERFACEMETHODREF = 11; - /** 18 */ + /** The value of constant pool tag INVOKEDYNAMIC. */ int TAG_INVOKEDYNAMIC = 18; - /** 5 */ + /** The value of constant pool tag LONG. */ int TAG_LONG = 5; - /** 15 */ + /** The value of constant pool tag METHODHANDLE. */ int TAG_METHODHANDLE = 15; - /** 10 */ + /** The value of constant pool tag METHODREF. */ int TAG_METHODREF = 10; - /** 16 */ + /** The value of constant pool tag METHODTYPE. */ int TAG_METHODTYPE = 16; - /** 19 */ + /** The value of constant pool tag MODULE. */ int TAG_MODULE = 19; - /** 12 */ + /** The value of constant pool tag NAMEANDTYPE. */ int TAG_NAMEANDTYPE = 12; - /** 20 */ + /** The value of constant pool tag PACKAGE. */ int TAG_PACKAGE = 20; - /** 8 */ + /** The value of constant pool tag STRING. */ int TAG_STRING = 8; - /** 2 */ + /** The value of constant pool tag UNICODE. */ int TAG_UNICODE = 2; - /** 1 */ + /** The value of constant pool tag UTF8. */ int TAG_UTF8 = 1; // annotation element values - /** 'B' */ - char AEV_BYTE = 'B'; + /** The value of annotation element value type AEV_BYTE. */ + int AEV_BYTE = 'B'; - /** 'C' */ - char AEV_CHAR = 'C'; + /** The value of annotation element value type AEV_CHAR. */ + int AEV_CHAR = 'C'; - /** 'D' */ - char AEV_DOUBLE = 'D'; + /** The value of annotation element value type AEV_DOUBLE. */ + int AEV_DOUBLE = 'D'; - /** 'F' */ - char AEV_FLOAT = 'F'; + /** The value of annotation element value type AEV_FLOAT. */ + int AEV_FLOAT = 'F'; - /** 'I' */ - char AEV_INT = 'I'; + /** The value of annotation element value type AEV_INT. */ + int AEV_INT = 'I'; - /** 'J' */ - char AEV_LONG = 'J'; + /** The value of annotation element value type AEV_LONG. */ + int AEV_LONG = 'J'; - /** 'S' */ - char AEV_SHORT = 'S'; + /** The value of annotation element value type AEV_SHORT. */ + int AEV_SHORT = 'S'; - /** 'Z' */ - char AEV_BOOLEAN = 'Z'; + /** The value of annotation element value type AEV_BOOLEAN. */ + int AEV_BOOLEAN = 'Z'; - /** 's' */ - char AEV_STRING = 's'; + /** The value of annotation element value type AEV_STRING. */ + int AEV_STRING = 's'; - /** 'e' */ - char AEV_ENUM = 'e'; + /** The value of annotation element value type AEV_ENUM. */ + int AEV_ENUM = 'e'; - /** 'c' */ - char AEV_CLASS = 'c'; + /** The value of annotation element value type AEV_CLASS. */ + int AEV_CLASS = 'c'; - /** '@' */ - char AEV_ANNOTATION = '@'; + /** The value of annotation element value type AEV_ANNOTATION. */ + int AEV_ANNOTATION = '@'; - /** '[' */ - char AEV_ARRAY = '['; + /** The value of annotation element value type AEV_ARRAY. */ + int AEV_ARRAY = '['; //type annotations - /** 0x00 */ + /** The value of type annotation target type CLASS_TYPE_PARAMETER. */ int TAT_CLASS_TYPE_PARAMETER = 0x00; - /** 0x01 */ + /** The value of type annotation target type METHOD_TYPE_PARAMETER. */ int TAT_METHOD_TYPE_PARAMETER = 0x01; - /** 0x10 */ + /** The value of type annotation target type CLASS_EXTENDS. */ int TAT_CLASS_EXTENDS = 0x10; - /** 0x11 */ + /** The value of type annotation target type CLASS_TYPE_PARAMETER_BOUND. */ int TAT_CLASS_TYPE_PARAMETER_BOUND = 0x11; - /** 0x12 */ + /** The value of type annotation target type METHOD_TYPE_PARAMETER_BOUND. */ int TAT_METHOD_TYPE_PARAMETER_BOUND = 0x12; - /** 0x13 */ + /** The value of type annotation target type FIELD. */ int TAT_FIELD = 0x13; - /** 0x14 */ + /** The value of type annotation target type METHOD_RETURN. */ int TAT_METHOD_RETURN = 0x14; - /** 0x15 */ + /** The value of type annotation target type METHOD_RECEIVER. */ int TAT_METHOD_RECEIVER = 0x15; - /** 0x16 */ + /** The value of type annotation target type METHOD_FORMAL_PARAMETER. */ int TAT_METHOD_FORMAL_PARAMETER = 0x16; - /** 0x17 */ + /** The value of type annotation target type THROWS. */ int TAT_THROWS = 0x17; - /** 0x40 */ + /** The value of type annotation target type LOCAL_VARIABLE. */ int TAT_LOCAL_VARIABLE = 0x40; - /** 0x41 */ + /** The value of type annotation target type RESOURCE_VARIABLE. */ int TAT_RESOURCE_VARIABLE = 0x41; - /** 0x42 */ + /** The value of type annotation target type EXCEPTION_PARAMETER. */ int TAT_EXCEPTION_PARAMETER = 0x42; - /** 0x43 */ + /** The value of type annotation target type INSTANCEOF. */ int TAT_INSTANCEOF = 0x43; - /** 0x44 */ + /** The value of type annotation target type NEW. */ int TAT_NEW = 0x44; - /** 0x45 */ + /** The value of type annotation target type CONSTRUCTOR_REFERENCE. */ int TAT_CONSTRUCTOR_REFERENCE = 0x45; - /** 0x46 */ + /** The value of type annotation target type METHOD_REFERENCE. */ int TAT_METHOD_REFERENCE = 0x46; - /** 0x47 */ + /** The value of type annotation target type CAST. */ int TAT_CAST = 0x47; - /** 0x48 */ + /** The value of type annotation target type CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT. */ int TAT_CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT = 0x48; - /** 0x49 */ + /** The value of type annotation target type METHOD_INVOCATION_TYPE_ARGUMENT. */ int TAT_METHOD_INVOCATION_TYPE_ARGUMENT = 0x49; - /** 0x4A */ + /** The value of type annotation target type CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT. */ int TAT_CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT = 0x4A; - /** 0x4B */ + /** The value of type annotation target type METHOD_REFERENCE_TYPE_ARGUMENT. */ int TAT_METHOD_REFERENCE_TYPE_ARGUMENT = 0x4B; //stackmap verification types - /** 0 */ + /** The value of verification type TOP. */ int VT_TOP = 0; - /** 1 */ + /** The value of verification type INTEGER. */ int VT_INTEGER = 1; - /** 2 */ + /** The value of verification type FLOAT. */ int VT_FLOAT = 2; - /** 3 */ + /** The value of verification type DOUBLE. */ int VT_DOUBLE = 3; - /** 4 */ + /** The value of verification type LONG. */ int VT_LONG = 4; - /** 5 */ + /** The value of verification type NULL. */ int VT_NULL = 5; - /** 6 */ + /** The value of verification type UNINITIALIZED_THIS. */ int VT_UNINITIALIZED_THIS = 6; - /** 7 */ + /** The value of verification type OBJECT. */ int VT_OBJECT = 7; - /** 8 */ + /** The value of verification type UNINITIALIZED. */ int VT_UNINITIALIZED = 8; - /** ACC_PUBLIC */ + /** The value of default class access flags */ int DEFAULT_CLASS_FLAGS = ACC_PUBLIC; - /** 45 */ + /** The class major version of JAVA_1. */ int JAVA_1_VERSION = 45; - /** 46 */ + /** The class major version of JAVA_2. */ int JAVA_2_VERSION = 46; - /** 47 */ + /** The class major version of JAVA_3. */ int JAVA_3_VERSION = 47; - /** 48 */ + /** The class major version of JAVA_4. */ int JAVA_4_VERSION = 48; - /** 49 */ + /** The class major version of JAVA_5. */ int JAVA_5_VERSION = 49; - /** 50 */ + /** The class major version of JAVA_6. */ int JAVA_6_VERSION = 50; - /** 51 */ + /** The class major version of JAVA_7. */ int JAVA_7_VERSION = 51; - /** 52 */ + /** The class major version of JAVA_8. */ int JAVA_8_VERSION = 52; - /** 53 */ + /** The class major version of JAVA_9. */ int JAVA_9_VERSION = 53; - /** 54 */ + /** The class major version of JAVA_10. */ int JAVA_10_VERSION = 54; - /** 55 */ + /** The class major version of JAVA_11. */ int JAVA_11_VERSION = 55; - /** 56 */ + /** The class major version of JAVA_12. */ int JAVA_12_VERSION = 56; - /** 57 */ + /** The class major version of JAVA_13. */ int JAVA_13_VERSION = 57; - /** 58 */ + /** The class major version of JAVA_14. */ int JAVA_14_VERSION = 58; - /** 59 */ + /** The class major version of JAVA_15. */ int JAVA_15_VERSION = 59; - /** 60 */ + /** The class major version of JAVA_16. */ int JAVA_16_VERSION = 60; - /** 61 */ + /** The class major version of JAVA_17. */ int JAVA_17_VERSION = 61; - /** 62 */ + /** The class major version of JAVA_18. */ int JAVA_18_VERSION = 62; - /** 63 */ + /** The class major version of JAVA_19. */ int JAVA_19_VERSION = 63; - /** 64 */ + /** The class major version of JAVA_20. */ int JAVA_20_VERSION = 64; - /** 65 */ + /** The class major version of JAVA_21. */ int JAVA_21_VERSION = 65; - /** 66 */ + /** The class major version of JAVA_22. */ int JAVA_22_VERSION = 66; /** diff --git a/src/java.base/share/classes/jdk/internal/classfile/ClassfileBuilder.java b/src/java.base/share/classes/java/lang/classfile/ClassFileBuilder.java similarity index 78% rename from src/java.base/share/classes/jdk/internal/classfile/ClassfileBuilder.java rename to src/java.base/share/classes/java/lang/classfile/ClassFileBuilder.java index 965bfb293e739..9381c0510ef87 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/ClassfileBuilder.java +++ b/src/java.base/share/classes/java/lang/classfile/ClassFileBuilder.java @@ -22,31 +22,36 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.lang.constant.ClassDesc; import java.util.function.Consumer; -import jdk.internal.classfile.constantpool.ConstantPool; -import jdk.internal.classfile.constantpool.ConstantPoolBuilder; +import java.lang.classfile.constantpool.ConstantPool; +import java.lang.classfile.constantpool.ConstantPoolBuilder; +import jdk.internal.javac.PreviewFeature; /** * A builder for a classfile or portion of a classfile. Builders are rarely * created directly; they are passed to handlers by methods such as - * {@link Classfile#build(ClassDesc, Consumer)} or to transforms. + * {@link ClassFile#build(ClassDesc, Consumer)} or to transforms. * Elements of the newly built entity can be specified - * abstractly (by passing a {@link ClassfileElement} to {@link #with(ClassfileElement)} + * abstractly (by passing a {@link ClassFileElement} to {@link #with(ClassFileElement)} * or concretely by calling the various {@code withXxx} methods. * * @param the element type * @param the builder type - * @see ClassfileTransform + * @see ClassFileTransform + * + * @sealedGraph + * @since 22 */ -public sealed interface ClassfileBuilder> +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) +public sealed interface ClassFileBuilder> extends Consumer permits ClassBuilder, FieldBuilder, MethodBuilder, CodeBuilder { /** - * Integrate the {@link ClassfileElement} into the entity being built. + * Integrate the {@link ClassFileElement} into the entity being built. * @param e the element */ @Override @@ -55,7 +60,7 @@ default void accept(E e) { } /** - * Integrate the {@link ClassfileElement} into the entity being built. + * Integrate the {@link ClassFileElement} into the entity being built. * @param e the element * @return this builder */ @@ -79,7 +84,7 @@ default boolean canWriteDirect(ConstantPool source) { * @param model the model to transform * @param transform the transform to apply */ - default void transform(CompoundElement model, ClassfileTransform transform) { + default void transform(CompoundElement model, ClassFileTransform transform) { @SuppressWarnings("unchecked") B builder = (B) this; var resolved = transform.resolve(builder); diff --git a/src/java.base/share/classes/jdk/internal/classfile/ClassfileElement.java b/src/java.base/share/classes/java/lang/classfile/ClassFileElement.java similarity index 89% rename from src/java.base/share/classes/jdk/internal/classfile/ClassfileElement.java rename to src/java.base/share/classes/java/lang/classfile/ClassFileElement.java index 7b100da4e422b..6452f52e04226 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/ClassfileElement.java +++ b/src/java.base/share/classes/java/lang/classfile/ClassFileElement.java @@ -22,7 +22,9 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; + +import jdk.internal.javac.PreviewFeature; /** * Immutable model for a portion of (or the entirety of) a classfile. Elements @@ -31,8 +33,12 @@ * themselves contain their own child elements will implement {@link * CompoundElement}. Elements specific to various locations in the classfile * will implement {@link ClassElement}, {@link MethodElement}, etc. + * + * @sealedGraph + * @since 22 */ -public sealed interface ClassfileElement +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) +public sealed interface ClassFileElement permits AttributedElement, CompoundElement, WritableElement, ClassElement, CodeElement, FieldElement, MethodElement { } diff --git a/src/java.base/share/classes/jdk/internal/classfile/ClassfileTransform.java b/src/java.base/share/classes/java/lang/classfile/ClassFileTransform.java similarity index 83% rename from src/java.base/share/classes/jdk/internal/classfile/ClassfileTransform.java rename to src/java.base/share/classes/java/lang/classfile/ClassFileTransform.java index 299e5153835f7..677478ec650a4 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/ClassfileTransform.java +++ b/src/java.base/share/classes/java/lang/classfile/ClassFileTransform.java @@ -22,33 +22,34 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.util.function.Consumer; import java.util.function.Supplier; -import jdk.internal.classfile.attribute.RuntimeVisibleAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeVisibleAnnotationsAttribute; +import jdk.internal.javac.PreviewFeature; /** * A transformation on streams of elements. Transforms are used during * transformation of classfile entities; a transform is provided to a method like - * {@link Classfile#transform(ClassModel, ClassTransform)}, and the elements of the class, + * {@link ClassFile#transform(ClassModel, ClassTransform)}, and the elements of the class, * along with a builder, are presented to the transform. * *

The subtypes of {@linkplain - * ClassfileTransform} (e.g., {@link ClassTransform}) are functional interfaces + * ClassFileTransform} (e.g., {@link ClassTransform}) are functional interfaces * that accept an element and a corresponding builder. Since any element can be - * reproduced on the builder via {@link ClassBuilder#with(ClassfileElement)}, a + * reproduced on the builder via {@link ClassBuilder#with(ClassFileElement)}, a * transform can easily leave elements in place, remove them, replace them, or * augment them with other elements. This enables localized transforms to be * represented concisely. * - *

Transforms also have an {@link #atEnd(ClassfileBuilder)} method, for + *

Transforms also have an {@link #atEnd(ClassFileBuilder)} method, for * which the default implementation does nothing, so that a transform can * perform additional building after the stream of elements is exhausted. * *

Transforms can be chained together via the {@link - * #andThen(ClassfileTransform)} method, so that the output of one becomes the + * #andThen(ClassFileTransform)} method, so that the output of one becomes the * input to another. This allows smaller units of transformation to be captured * and reused. * @@ -56,7 +57,7 @@ * annotation on a class may watch for the {@link RuntimeVisibleAnnotationsAttribute} * element and transform it if found, but if it is not found, will generate a * {@linkplain RuntimeVisibleAnnotationsAttribute} element containing the - * injected annotation from the {@linkplain #atEnd(ClassfileBuilder)} handler. + * injected annotation from the {@linkplain #atEnd(ClassFileBuilder)} handler. * To do this, the transform must accumulate some state during the traversal so * that the end handler knows what to do. If such a transform is to be reused, * its state must be reset for each traversal; this will happen automatically if @@ -71,17 +72,21 @@ * @param the transform type * @param the element type * @param the builder type + * + * @sealedGraph + * @since 22 */ -public sealed interface ClassfileTransform< - C extends ClassfileTransform, - E extends ClassfileElement, - B extends ClassfileBuilder> +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) +public sealed interface ClassFileTransform< + C extends ClassFileTransform, + E extends ClassFileElement, + B extends ClassFileBuilder> permits ClassTransform, FieldTransform, MethodTransform, CodeTransform { /** * Transform an element by taking the appropriate actions on the builder. * Used when transforming a classfile entity (class, method, field, method * body.) If no transformation is desired, the element can be presented to - * {@link B#with(ClassfileElement)}. If the element is to be dropped, no + * {@link B#with(ClassFileElement)}. If the element is to be dropped, no * action is required. * * @param builder the builder for the new entity @@ -92,7 +97,7 @@ public sealed interface ClassfileTransform< /** * Take any final action during transformation of a classfile entity. Called * after all elements of the class are presented to {@link - * #accept(ClassfileBuilder, ClassfileElement)}. + * #accept(ClassFileBuilder, ClassFileElement)}. * * @param builder the builder for the new entity * @implSpec The default implementation does nothing. @@ -103,7 +108,7 @@ default void atEnd(B builder) { /** * Take any preliminary action during transformation of a classfile entity. * Called before any elements of the class are presented to {@link - * #accept(ClassfileBuilder, ClassfileElement)}. + * #accept(ClassFileBuilder, ClassFileElement)}. * * @param builder the builder for the new entity * @implSpec The default implementation does nothing. @@ -125,8 +130,11 @@ default void atStart(B builder) { * the implementation to perform transformation. * * @param the element type + * + * @since 22 */ - interface ResolvedTransform { + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) + interface ResolvedTransform { /** * {@return a {@link Consumer} to receive elements} */ @@ -151,7 +159,7 @@ interface ResolvedTransform { * *

This method is a low-level method that should rarely be used by * user code; most of the time, user code should prefer - * {@link ClassfileBuilder#transform(CompoundElement, ClassfileTransform)}, + * {@link ClassFileBuilder#transform(CompoundElement, ClassFileTransform)}, * which resolves the transform and executes it on the current builder. * * @param builder the builder to bind to diff --git a/src/java.base/share/classes/jdk/internal/classfile/ClassfileVersion.java b/src/java.base/share/classes/java/lang/classfile/ClassFileVersion.java similarity index 75% rename from src/java.base/share/classes/jdk/internal/classfile/ClassfileVersion.java rename to src/java.base/share/classes/java/lang/classfile/ClassFileVersion.java index a3989e92b2686..b6ef3e57f6118 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/ClassfileVersion.java +++ b/src/java.base/share/classes/java/lang/classfile/ClassFileVersion.java @@ -22,18 +22,22 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; -import jdk.internal.classfile.impl.ClassfileVersionImpl; +import jdk.internal.classfile.impl.ClassFileVersionImpl; +import jdk.internal.javac.PreviewFeature; /** * Models the classfile version information for a class. Delivered as a {@link - * jdk.internal.classfile.ClassElement} when traversing the elements of a {@link + * java.lang.classfile.ClassElement} when traversing the elements of a {@link * ClassModel}. + * + * @since 22 */ -public sealed interface ClassfileVersion +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) +public sealed interface ClassFileVersion extends ClassElement - permits ClassfileVersionImpl { + permits ClassFileVersionImpl { /** * {@return the major classfile version} */ @@ -45,11 +49,11 @@ public sealed interface ClassfileVersion int minorVersion(); /** - * {@return a {@link ClassfileVersion} element} + * {@return a {@link ClassFileVersion} element} * @param majorVersion the major classfile version * @param minorVersion the minor classfile version */ - static ClassfileVersion of(int majorVersion, int minorVersion) { - return new ClassfileVersionImpl(majorVersion, minorVersion); + static ClassFileVersion of(int majorVersion, int minorVersion) { + return new ClassFileVersionImpl(majorVersion, minorVersion); } } diff --git a/src/java.base/share/classes/jdk/internal/classfile/ClassHierarchyResolver.java b/src/java.base/share/classes/java/lang/classfile/ClassHierarchyResolver.java similarity index 90% rename from src/java.base/share/classes/jdk/internal/classfile/ClassHierarchyResolver.java rename to src/java.base/share/classes/java/lang/classfile/ClassHierarchyResolver.java index f1c072a2f415b..589713c8e95c8 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/ClassHierarchyResolver.java +++ b/src/java.base/share/classes/java/lang/classfile/ClassHierarchyResolver.java @@ -22,7 +22,7 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.io.InputStream; import java.lang.constant.ClassDesc; @@ -39,11 +39,15 @@ import jdk.internal.classfile.impl.Util; import static java.lang.constant.ConstantDescs.CD_Object; +import jdk.internal.javac.PreviewFeature; /** * Provides class hierarchy information for generating correct stack maps * during code building. + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) @FunctionalInterface public interface ClassHierarchyResolver { @@ -65,7 +69,10 @@ static ClassHierarchyResolver defaultResolver() { /** * Information about a resolved class. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface ClassHierarchyInfo permits ClassHierarchyImpl.ClassHierarchyInfoImpl { /** @@ -94,6 +101,9 @@ static ClassHierarchyInfo ofInterface() { * * @param other the other resolver * @return the chained resolver + * + * @implSpec The default implementation returns resolver implemented to ask + * other resolver in cases where this resolver returns {@code null}. */ default ClassHierarchyResolver orElse(ClassHierarchyResolver other) { return new ClassHierarchyResolver() { @@ -115,6 +125,12 @@ public ClassHierarchyInfo getClassInfo(ClassDesc classDesc) { * * @param cacheFactory the factory for the cache * @return the ClassHierarchyResolver with caching + * + * @implSpec The default implementation returns resolver holding an instance + * of the cache map provided by the {@code cacheFactory}. It asks + * the cache map always first and fills the cache map with all + * resolved and also unresolved class info. The cache map may refuse + * {@code null} keys and values. */ default ClassHierarchyResolver cached(Supplier> cacheFactory) { return new ClassHierarchyImpl.CachedClassHierarchyResolver(this, cacheFactory.get()); @@ -127,6 +143,9 @@ default ClassHierarchyResolver cached(Supplier> { diff --git a/src/java.base/share/classes/jdk/internal/classfile/ClassModel.java b/src/java.base/share/classes/java/lang/classfile/ClassModel.java similarity index 93% rename from src/java.base/share/classes/jdk/internal/classfile/ClassModel.java rename to src/java.base/share/classes/java/lang/classfile/ClassModel.java index 200f5e8cb781a..e0ce7e3386598 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/ClassModel.java +++ b/src/java.base/share/classes/java/lang/classfile/ClassModel.java @@ -23,22 +23,26 @@ * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.util.List; import java.util.Optional; import java.util.function.Consumer; -import jdk.internal.classfile.constantpool.ClassEntry; -import jdk.internal.classfile.constantpool.ConstantPool; +import java.lang.classfile.constantpool.ClassEntry; +import java.lang.classfile.constantpool.ConstantPool; import jdk.internal.classfile.impl.ClassImpl; import jdk.internal.classfile.impl.verifier.VerifierImpl; +import jdk.internal.javac.PreviewFeature; /** * Models a classfile. The contents of the classfile can be traversed via * a streaming view (e.g., {@link #elements()}), or via random access (e.g., * {@link #flags()}), or by freely mixing the two. + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface ClassModel extends CompoundElement, AttributedElement permits ClassImpl { diff --git a/src/java.base/share/classes/jdk/internal/classfile/ClassReader.java b/src/java.base/share/classes/java/lang/classfile/ClassReader.java similarity index 93% rename from src/java.base/share/classes/jdk/internal/classfile/ClassReader.java rename to src/java.base/share/classes/java/lang/classfile/ClassReader.java index 7884714dfdeff..a8678715080fe 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/ClassReader.java +++ b/src/java.base/share/classes/java/lang/classfile/ClassReader.java @@ -22,21 +22,22 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; - -import jdk.internal.classfile.constantpool.ClassEntry; -import jdk.internal.classfile.constantpool.ConstantPool; -import jdk.internal.classfile.constantpool.ConstantPoolException; -import jdk.internal.classfile.constantpool.MethodHandleEntry; -import jdk.internal.classfile.constantpool.ModuleEntry; -import jdk.internal.classfile.constantpool.NameAndTypeEntry; -import jdk.internal.classfile.constantpool.PackageEntry; -import jdk.internal.classfile.constantpool.PoolEntry; -import jdk.internal.classfile.constantpool.Utf8Entry; +package java.lang.classfile; + +import java.lang.classfile.constantpool.ClassEntry; +import java.lang.classfile.constantpool.ConstantPool; +import java.lang.classfile.constantpool.ConstantPoolException; +import java.lang.classfile.constantpool.MethodHandleEntry; +import java.lang.classfile.constantpool.ModuleEntry; +import java.lang.classfile.constantpool.NameAndTypeEntry; +import java.lang.classfile.constantpool.PackageEntry; +import java.lang.classfile.constantpool.PoolEntry; +import java.lang.classfile.constantpool.Utf8Entry; import jdk.internal.classfile.impl.ClassReaderImpl; import java.util.Optional; import java.util.function.Function; +import jdk.internal.javac.PreviewFeature; /** * Supports reading from a classfile. Methods are provided to read data of @@ -44,7 +45,10 @@ * the classfile, copying raw bytes, and reading constant pool entries. * Encapsulates additional reading context such as mappers for custom attributes * and processing options. + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface ClassReader extends ConstantPool permits ClassReaderImpl { @@ -52,7 +56,7 @@ public sealed interface ClassReader extends ConstantPool /** * {@return the table of custom attribute mappers} This is derived from - * the processing option {@link Classfile.AttributeMapperOption}. + * the processing option {@link ClassFile.AttributeMapperOption}. */ Function> customAttributes(); @@ -105,6 +109,7 @@ public sealed interface ClassReader extends ConstantPool /** * {@return the constant pool entry of a given type whose index is given * at the specified offset within the classfile} + * @param the entry type * @param offset the offset of the index within the classfile * @param cls the entry type * @throws ConstantPoolException if the index is out of range of the diff --git a/src/java.base/share/classes/jdk/internal/classfile/ClassSignature.java b/src/java.base/share/classes/java/lang/classfile/ClassSignature.java similarity index 93% rename from src/java.base/share/classes/jdk/internal/classfile/ClassSignature.java rename to src/java.base/share/classes/java/lang/classfile/ClassSignature.java index 8199d67ed096d..10fbdd2045fc5 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/ClassSignature.java +++ b/src/java.base/share/classes/java/lang/classfile/ClassSignature.java @@ -22,15 +22,19 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.util.List; import jdk.internal.classfile.impl.SignaturesImpl; import static java.util.Objects.requireNonNull; +import jdk.internal.javac.PreviewFeature; /** * Models the generic signature of a class file, as defined by {@jvms 4.7.9}. + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface ClassSignature permits SignaturesImpl.ClassSignatureImpl { @@ -47,7 +51,7 @@ public sealed interface ClassSignature String signatureString(); /** - * @return class signature + * {@return a class signature} * @param superclassSignature the superclass * @param superinterfaceSignatures the interfaces */ @@ -57,7 +61,7 @@ public static ClassSignature of(Signature.RefTypeSig superclassSignature, } /** - * @return class signature + * {@return a class signature} * @param typeParameters the type parameters * @param superclassSignature the superclass * @param superinterfaceSignatures the interfaces diff --git a/src/java.base/share/classes/jdk/internal/classfile/ClassTransform.java b/src/java.base/share/classes/java/lang/classfile/ClassTransform.java similarity index 88% rename from src/java.base/share/classes/jdk/internal/classfile/ClassTransform.java rename to src/java.base/share/classes/java/lang/classfile/ClassTransform.java index 8d714ebed61c7..a2391b320f909 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/ClassTransform.java +++ b/src/java.base/share/classes/java/lang/classfile/ClassTransform.java @@ -22,23 +22,27 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.util.function.Consumer; import java.util.function.Predicate; import java.util.function.Supplier; -import jdk.internal.classfile.attribute.CodeAttribute; +import java.lang.classfile.attribute.CodeAttribute; import jdk.internal.classfile.impl.TransformImpl; +import jdk.internal.javac.PreviewFeature; /** * A transformation on streams of {@link ClassElement}. * - * @see ClassfileTransform + * @see ClassFileTransform + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) @FunctionalInterface public non-sealed interface ClassTransform - extends ClassfileTransform { + extends ClassFileTransform { /** * A class transform that sends all elements to the builder. @@ -156,11 +160,22 @@ static ClassTransform transformingFields(FieldTransform xform) { return new TransformImpl.ClassFieldTransform(xform, f -> true); } + /** + * @implSpec + * The default implementation returns this class transform chained with another + * class transform from the argument. Chaining of two transforms requires to + * involve a chained builder serving as a target builder for this transform + * and also as a source of elements for the downstream transform. + */ @Override default ClassTransform andThen(ClassTransform t) { return new TransformImpl.ChainedClassTransform(this, t); } + /** + * @implSpec The default implementation returns a resolved transform bound + * to the given class builder. + */ @Override default ResolvedTransform resolve(ClassBuilder builder) { return new TransformImpl.ResolvedTransformImpl<>(e -> accept(builder, e), diff --git a/src/java.base/share/classes/jdk/internal/classfile/CodeBuilder.java b/src/java.base/share/classes/java/lang/classfile/CodeBuilder.java similarity index 94% rename from src/java.base/share/classes/jdk/internal/classfile/CodeBuilder.java rename to src/java.base/share/classes/java/lang/classfile/CodeBuilder.java index 3379e673e739e..544d7322c1c1a 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/CodeBuilder.java +++ b/src/java.base/share/classes/java/lang/classfile/CodeBuilder.java @@ -23,7 +23,7 @@ * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.lang.constant.ClassDesc; import java.lang.constant.ConstantDesc; @@ -36,16 +36,16 @@ import java.util.Optional; import java.util.function.Consumer; -import jdk.internal.classfile.constantpool.ClassEntry; -import jdk.internal.classfile.constantpool.FieldRefEntry; -import jdk.internal.classfile.constantpool.InterfaceMethodRefEntry; -import jdk.internal.classfile.constantpool.InvokeDynamicEntry; -import jdk.internal.classfile.constantpool.LoadableConstantEntry; -import jdk.internal.classfile.constantpool.MemberRefEntry; -import jdk.internal.classfile.constantpool.MethodRefEntry; -import jdk.internal.classfile.constantpool.MethodHandleEntry; -import jdk.internal.classfile.constantpool.NameAndTypeEntry; -import jdk.internal.classfile.constantpool.Utf8Entry; +import java.lang.classfile.constantpool.ClassEntry; +import java.lang.classfile.constantpool.FieldRefEntry; +import java.lang.classfile.constantpool.InterfaceMethodRefEntry; +import java.lang.classfile.constantpool.InvokeDynamicEntry; +import java.lang.classfile.constantpool.LoadableConstantEntry; +import java.lang.classfile.constantpool.MemberRefEntry; +import java.lang.classfile.constantpool.MethodRefEntry; +import java.lang.classfile.constantpool.MethodHandleEntry; +import java.lang.classfile.constantpool.NameAndTypeEntry; +import java.lang.classfile.constantpool.Utf8Entry; import jdk.internal.classfile.impl.BlockCodeBuilderImpl; import jdk.internal.classfile.impl.BytecodeHelpers; import jdk.internal.classfile.impl.CatchBuilderImpl; @@ -53,53 +53,57 @@ import jdk.internal.classfile.impl.LabelImpl; import jdk.internal.classfile.impl.NonterminalCodeBuilder; import jdk.internal.classfile.impl.TerminalCodeBuilder; -import jdk.internal.classfile.instruction.ArrayLoadInstruction; -import jdk.internal.classfile.instruction.ArrayStoreInstruction; -import jdk.internal.classfile.instruction.BranchInstruction; -import jdk.internal.classfile.instruction.CharacterRange; -import jdk.internal.classfile.instruction.ConstantInstruction; -import jdk.internal.classfile.instruction.ConvertInstruction; -import jdk.internal.classfile.instruction.ExceptionCatch; -import jdk.internal.classfile.instruction.FieldInstruction; -import jdk.internal.classfile.instruction.IncrementInstruction; -import jdk.internal.classfile.instruction.InvokeDynamicInstruction; -import jdk.internal.classfile.instruction.InvokeInstruction; -import jdk.internal.classfile.instruction.LineNumber; -import jdk.internal.classfile.instruction.LoadInstruction; -import jdk.internal.classfile.instruction.LocalVariable; -import jdk.internal.classfile.instruction.LocalVariableType; -import jdk.internal.classfile.instruction.LookupSwitchInstruction; -import jdk.internal.classfile.instruction.MonitorInstruction; -import jdk.internal.classfile.instruction.NewMultiArrayInstruction; -import jdk.internal.classfile.instruction.NewObjectInstruction; -import jdk.internal.classfile.instruction.NewPrimitiveArrayInstruction; -import jdk.internal.classfile.instruction.NewReferenceArrayInstruction; -import jdk.internal.classfile.instruction.NopInstruction; -import jdk.internal.classfile.instruction.OperatorInstruction; -import jdk.internal.classfile.instruction.ReturnInstruction; -import jdk.internal.classfile.instruction.StackInstruction; -import jdk.internal.classfile.instruction.StoreInstruction; -import jdk.internal.classfile.instruction.SwitchCase; -import jdk.internal.classfile.instruction.TableSwitchInstruction; -import jdk.internal.classfile.instruction.ThrowInstruction; -import jdk.internal.classfile.instruction.TypeCheckInstruction; +import java.lang.classfile.instruction.ArrayLoadInstruction; +import java.lang.classfile.instruction.ArrayStoreInstruction; +import java.lang.classfile.instruction.BranchInstruction; +import java.lang.classfile.instruction.CharacterRange; +import java.lang.classfile.instruction.ConstantInstruction; +import java.lang.classfile.instruction.ConvertInstruction; +import java.lang.classfile.instruction.ExceptionCatch; +import java.lang.classfile.instruction.FieldInstruction; +import java.lang.classfile.instruction.IncrementInstruction; +import java.lang.classfile.instruction.InvokeDynamicInstruction; +import java.lang.classfile.instruction.InvokeInstruction; +import java.lang.classfile.instruction.LineNumber; +import java.lang.classfile.instruction.LoadInstruction; +import java.lang.classfile.instruction.LocalVariable; +import java.lang.classfile.instruction.LocalVariableType; +import java.lang.classfile.instruction.LookupSwitchInstruction; +import java.lang.classfile.instruction.MonitorInstruction; +import java.lang.classfile.instruction.NewMultiArrayInstruction; +import java.lang.classfile.instruction.NewObjectInstruction; +import java.lang.classfile.instruction.NewPrimitiveArrayInstruction; +import java.lang.classfile.instruction.NewReferenceArrayInstruction; +import java.lang.classfile.instruction.NopInstruction; +import java.lang.classfile.instruction.OperatorInstruction; +import java.lang.classfile.instruction.ReturnInstruction; +import java.lang.classfile.instruction.StackInstruction; +import java.lang.classfile.instruction.StoreInstruction; +import java.lang.classfile.instruction.SwitchCase; +import java.lang.classfile.instruction.TableSwitchInstruction; +import java.lang.classfile.instruction.ThrowInstruction; +import java.lang.classfile.instruction.TypeCheckInstruction; import static java.util.Objects.requireNonNull; import static jdk.internal.classfile.impl.BytecodeHelpers.handleDescToHandleInfo; import jdk.internal.classfile.impl.TransformingCodeBuilder; +import jdk.internal.javac.PreviewFeature; /** * A builder for code attributes (method bodies). Builders are not created * directly; they are passed to handlers by methods such as {@link * MethodBuilder#withCode(Consumer)} or to code transforms. The elements of a * code can be specified abstractly, by passing a {@link CodeElement} to {@link - * #with(ClassfileElement)} or concretely by calling the various {@code withXxx} + * #with(ClassFileElement)} or concretely by calling the various {@code withXxx} * methods. * * @see CodeTransform + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface CodeBuilder - extends ClassfileBuilder + extends ClassFileBuilder permits CodeBuilder.BlockCodeBuilder, ChainedCodeBuilder, TerminalCodeBuilder, NonterminalCodeBuilder { /** @@ -174,7 +178,10 @@ default CodeBuilder transforming(CodeTransform transform, Consumer /** * A builder for blocks of code. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface BlockCodeBuilder extends CodeBuilder permits BlockCodeBuilderImpl { /** @@ -315,7 +322,10 @@ default CodeBuilder ifThenElse(Opcode opcode, * A builder to add catch blocks. * * @see #trying + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface CatchBuilder permits CatchBuilderImpl { /** * Adds a catch block that catches an exception of the given type. @@ -328,7 +338,8 @@ sealed interface CatchBuilder permits CatchBuilderImpl { * @param catchHandler handler that receives a {@linkplain CodeBuilder} to * generate the body of the catch block. * @return this builder - * @throws IllegalArgumentException if an existing catch block catches an exception of the given type. + * @throws IllegalArgumentException if an existing catch block catches an exception of the given type + * or {@code exceptionType} represents a primitive type * @see #catchingMulti * @see #catchingAll */ @@ -582,6 +593,7 @@ default CodeBuilder newObjectInstruction(ClassEntry type) { * Generate an instruction to create a new object * @param type the object type * @return this builder + * @throws IllegalArgumentException if {@code type} represents a primitive type */ default CodeBuilder newObjectInstruction(ClassDesc type) { return newObjectInstruction(constantPool().classEntry(type)); @@ -611,6 +623,7 @@ default CodeBuilder newReferenceArrayInstruction(ClassEntry type) { * Generate an instruction to create a new array of reference * @param type the component type * @return this builder + * @throws IllegalArgumentException if {@code type} represents a primitive type */ default CodeBuilder newReferenceArrayInstruction(ClassDesc type) { return newReferenceArrayInstruction(constantPool().classEntry(type)); @@ -1005,6 +1018,7 @@ default CodeBuilder anewarray(ClassEntry classEntry) { * Generate an instruction to create a new array of reference * @param className the component type * @return this builder + * @throws IllegalArgumentException if {@code className} represents a primitive type */ default CodeBuilder anewarray(ClassDesc className) { return newReferenceArrayInstruction(constantPool().classEntry(className)); @@ -1097,6 +1111,7 @@ default CodeBuilder checkcast(ClassEntry type) { * Generate an instruction to check whether an object is of the given type * @param type the object type * @return this builder + * @throws IllegalArgumentException if {@code type} represents a primitive type */ default CodeBuilder checkcast(ClassDesc type) { return typeCheckInstruction(Opcode.CHECKCAST, type); @@ -1467,6 +1482,7 @@ default CodeBuilder getfield(FieldRefEntry ref) { * @param name the field name * @param type the field type * @return this builder + * @throws IllegalArgumentException if {@code owner} represents a primitive type */ default CodeBuilder getfield(ClassDesc owner, String name, ClassDesc type) { return fieldInstruction(Opcode.GETFIELD, owner, name, type); @@ -1487,6 +1503,7 @@ default CodeBuilder getstatic(FieldRefEntry ref) { * @param name the field name * @param type the field type * @return this builder + * @throws IllegalArgumentException if {@code owner} represents a primitive type */ default CodeBuilder getstatic(ClassDesc owner, String name, ClassDesc type) { return fieldInstruction(Opcode.GETSTATIC, owner, name, type); @@ -1655,7 +1672,7 @@ default CodeBuilder idiv() { } /** - * Generate an instruction to branch if int comparison succeeds + * Generate an instruction to branch if reference comparison succeeds * @param target the branch target * @return this builder */ @@ -1664,7 +1681,7 @@ default CodeBuilder if_acmpeq(Label target) { } /** - * Generate an instruction to branch if int comparison succeeds + * Generate an instruction to branch if reference comparison succeeds * @param target the branch target * @return this builder */ @@ -1846,6 +1863,7 @@ default CodeBuilder instanceof_(ClassEntry target) { * Generate an instruction to determine if an object is of the given type * @param target the target type * @return this builder + * @throws IllegalArgumentException if {@code target} represents a primitive type */ default CodeBuilder instanceof_(ClassDesc target) { return typeCheckInstruction(Opcode.INSTANCEOF, constantPool().classEntry(target)); @@ -1884,6 +1902,7 @@ default CodeBuilder invokeinterface(InterfaceMethodRefEntry ref) { * @param name the method name * @param type the method type * @return this builder + * @throws IllegalArgumentException if {@code owner} represents a primitive type */ default CodeBuilder invokeinterface(ClassDesc owner, String name, MethodTypeDesc type) { return invokeInstruction(Opcode.INVOKEINTERFACE, constantPool().interfaceMethodRefEntry(owner, name, type)); @@ -1916,6 +1935,7 @@ default CodeBuilder invokespecial(MethodRefEntry ref) { * @param name the method name * @param type the method type * @return this builder + * @throws IllegalArgumentException if {@code owner} represents a primitive type */ default CodeBuilder invokespecial(ClassDesc owner, String name, MethodTypeDesc type) { return invokeInstruction(Opcode.INVOKESPECIAL, owner, name, type, false); @@ -1929,6 +1949,7 @@ default CodeBuilder invokespecial(ClassDesc owner, String name, MethodTypeDesc t * @param type the method type * @param isInterface the interface method invocation indication * @return this builder + * @throws IllegalArgumentException if {@code owner} represents a primitive type */ default CodeBuilder invokespecial(ClassDesc owner, String name, MethodTypeDesc type, boolean isInterface) { return invokeInstruction(Opcode.INVOKESPECIAL, owner, name, type, isInterface); @@ -1958,6 +1979,7 @@ default CodeBuilder invokestatic(MethodRefEntry ref) { * @param name the method name * @param type the method type * @return this builder + * @throws IllegalArgumentException if {@code owner} represents a primitive type */ default CodeBuilder invokestatic(ClassDesc owner, String name, MethodTypeDesc type) { return invokeInstruction(Opcode.INVOKESTATIC, owner, name, type, false); @@ -1970,6 +1992,7 @@ default CodeBuilder invokestatic(ClassDesc owner, String name, MethodTypeDesc ty * @param type the method type * @param isInterface the interface method invocation indication * @return this builder + * @throws IllegalArgumentException if {@code owner} represents a primitive type */ default CodeBuilder invokestatic(ClassDesc owner, String name, MethodTypeDesc type, boolean isInterface) { return invokeInstruction(Opcode.INVOKESTATIC, owner, name, type, isInterface); @@ -1990,6 +2013,7 @@ default CodeBuilder invokevirtual(MethodRefEntry ref) { * @param name the method name * @param type the method type * @return this builder + * @throws IllegalArgumentException if {@code owner} represents a primitive type */ default CodeBuilder invokevirtual(ClassDesc owner, String name, MethodTypeDesc type) { return invokeInstruction(Opcode.INVOKEVIRTUAL, owner, name, type, false); @@ -2316,6 +2340,7 @@ default CodeBuilder multianewarray(ClassEntry array, int dims) { * @param array the array type * @param dims the number of dimensions * @return this builder + * @throws IllegalArgumentException if {@code array} represents a primitive type */ default CodeBuilder multianewarray(ClassDesc array, int dims) { return newMultidimensionalArrayInstruction(dims, constantPool().classEntry(array)); @@ -2334,6 +2359,7 @@ default CodeBuilder new_(ClassEntry clazz) { * Generate an instruction to create a new object * @param clazz the new class type * @return this builder + * @throws IllegalArgumentException if {@code clazz} represents a primitive type */ default CodeBuilder new_(ClassDesc clazz) { return newObjectInstruction(constantPool().classEntry(clazz)); @@ -2379,6 +2405,7 @@ default CodeBuilder putfield(FieldRefEntry ref) { * @param name the field name * @param type the field type * @return this builder + * @throws IllegalArgumentException if {@code owner} represents a primitive type */ default CodeBuilder putfield(ClassDesc owner, String name, ClassDesc type) { return fieldInstruction(Opcode.PUTFIELD, owner, name, type); @@ -2399,6 +2426,7 @@ default CodeBuilder putstatic(FieldRefEntry ref) { * @param name the field name * @param type the field type * @return this builder + * @throws IllegalArgumentException if {@code owner} represents a primitive type */ default CodeBuilder putstatic(ClassDesc owner, String name, ClassDesc type) { return fieldInstruction(Opcode.PUTSTATIC, owner, name, type); diff --git a/src/java.base/share/classes/jdk/internal/classfile/CodeElement.java b/src/java.base/share/classes/java/lang/classfile/CodeElement.java similarity index 74% rename from src/java.base/share/classes/jdk/internal/classfile/CodeElement.java rename to src/java.base/share/classes/java/lang/classfile/CodeElement.java index 8578e19fcac97..cd4fafdd5bb9c 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/CodeElement.java +++ b/src/java.base/share/classes/java/lang/classfile/CodeElement.java @@ -22,21 +22,26 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; -import jdk.internal.classfile.attribute.RuntimeInvisibleTypeAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeVisibleTypeAnnotationsAttribute; -import jdk.internal.classfile.attribute.StackMapTableAttribute; +import java.lang.classfile.attribute.RuntimeInvisibleTypeAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeVisibleTypeAnnotationsAttribute; +import java.lang.classfile.attribute.StackMapTableAttribute; +import jdk.internal.javac.PreviewFeature; /** - * A {@link ClassfileElement} that can appear when traversing the elements - * of a {@link CodeModel} or be presented to a {@link CodeBuilder}. Code elements + * A marker interface for elements that can appear when traversing + * a {@link CodeModel} or be presented to a {@link CodeBuilder}. Code elements * are either an {@link Instruction}, which models an instruction in the body * of a method, or a {@link PseudoInstruction}, which models metadata from * the code attribute, such as line number metadata, local variable metadata, * exception metadata, label target metadata, etc. + * + * @sealedGraph + * @since 22 */ -public sealed interface CodeElement extends ClassfileElement +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) +public sealed interface CodeElement extends ClassFileElement permits Instruction, PseudoInstruction, CustomAttribute, RuntimeVisibleTypeAnnotationsAttribute, RuntimeInvisibleTypeAnnotationsAttribute, StackMapTableAttribute { diff --git a/src/java.base/share/classes/jdk/internal/classfile/CodeModel.java b/src/java.base/share/classes/java/lang/classfile/CodeModel.java similarity index 89% rename from src/java.base/share/classes/jdk/internal/classfile/CodeModel.java rename to src/java.base/share/classes/java/lang/classfile/CodeModel.java index 8f52f9196a121..b48802d02acc4 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/CodeModel.java +++ b/src/java.base/share/classes/java/lang/classfile/CodeModel.java @@ -23,21 +23,25 @@ * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.util.List; import java.util.Optional; -import jdk.internal.classfile.attribute.CodeAttribute; +import java.lang.classfile.attribute.CodeAttribute; import jdk.internal.classfile.impl.BufferedCodeBuilder; import jdk.internal.classfile.impl.CodeImpl; -import jdk.internal.classfile.instruction.ExceptionCatch; +import java.lang.classfile.instruction.ExceptionCatch; +import jdk.internal.javac.PreviewFeature; /** * Models the body of a method (the {@code Code} attribute). The instructions * of the method body are accessed via a streaming view (e.g., {@link * #elements()}). + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface CodeModel extends CompoundElement, AttributedElement, MethodElement permits CodeAttribute, BufferedCodeBuilder.Model, CodeImpl { diff --git a/src/java.base/share/classes/jdk/internal/classfile/CodeTransform.java b/src/java.base/share/classes/java/lang/classfile/CodeTransform.java similarity index 82% rename from src/java.base/share/classes/jdk/internal/classfile/CodeTransform.java rename to src/java.base/share/classes/java/lang/classfile/CodeTransform.java index 3aa41baea6c02..a0996a9cb3403 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/CodeTransform.java +++ b/src/java.base/share/classes/java/lang/classfile/CodeTransform.java @@ -22,21 +22,25 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.util.function.Consumer; import java.util.function.Supplier; import jdk.internal.classfile.impl.TransformImpl; +import jdk.internal.javac.PreviewFeature; /** * A transformation on streams of {@link CodeElement}. * - * @see ClassfileTransform + * @see ClassFileTransform + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) @FunctionalInterface public non-sealed interface CodeTransform - extends ClassfileTransform { + extends ClassFileTransform { /** * A code transform that sends all elements to the builder. @@ -81,11 +85,22 @@ public void atEnd(CodeBuilder builder) { }; } + /** + * @implSpec + * The default implementation returns this code transform chained with another + * code transform from the argument. Chaining of two transforms requires to + * involve a chained builder serving as a target builder for this transform + * and also as a source of elements for the downstream transform. + */ @Override default CodeTransform andThen(CodeTransform t) { return new TransformImpl.ChainedCodeTransform(this, t); } + /** + * @implSpec The default implementation returns a resolved transform bound + * to the given code builder. + */ @Override default ResolvedTransform resolve(CodeBuilder builder) { return new TransformImpl.ResolvedTransformImpl<>(e -> accept(builder, e), diff --git a/src/java.base/share/classes/jdk/internal/classfile/CompoundElement.java b/src/java.base/share/classes/java/lang/classfile/CompoundElement.java similarity index 91% rename from src/java.base/share/classes/jdk/internal/classfile/CompoundElement.java rename to src/java.base/share/classes/java/lang/classfile/CompoundElement.java index 40f85aea705a2..42f0fabadc6bb 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/CompoundElement.java +++ b/src/java.base/share/classes/java/lang/classfile/CompoundElement.java @@ -22,7 +22,7 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.util.ArrayList; import java.util.Iterator; @@ -32,18 +32,23 @@ import java.util.function.Consumer; import java.util.stream.Stream; import java.util.stream.StreamSupport; +import jdk.internal.javac.PreviewFeature; /** - * A {@link ClassfileElement} that has complex structure defined in terms of + * A {@link ClassFileElement} that has complex structure defined in terms of * other classfile elements, such as a method, field, method body, or entire * class. When encountering a {@linkplain CompoundElement}, clients have the * option to treat the element as a single entity (e.g., an entire method) * or to traverse the contents of that element with the methods in this class * (e.g., {@link #elements()}, {@link #forEachElement(Consumer)}, etc.) * @param the element type + * + * @sealedGraph + * @since 22 */ -public sealed interface CompoundElement - extends ClassfileElement, Iterable +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) +public sealed interface CompoundElement + extends ClassFileElement, Iterable permits ClassModel, CodeModel, FieldModel, MethodModel, jdk.internal.classfile.impl.AbstractUnboundModel { /** * Invoke the provided handler with each element contained in this diff --git a/src/java.base/share/classes/jdk/internal/classfile/CustomAttribute.java b/src/java.base/share/classes/java/lang/classfile/CustomAttribute.java similarity index 69% rename from src/java.base/share/classes/jdk/internal/classfile/CustomAttribute.java rename to src/java.base/share/classes/java/lang/classfile/CustomAttribute.java index cd4d430403abf..31544a0ba92bf 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/CustomAttribute.java +++ b/src/java.base/share/classes/java/lang/classfile/CustomAttribute.java @@ -22,9 +22,9 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; -import jdk.internal.classfile.impl.UnboundAttribute; +import jdk.internal.javac.PreviewFeature; /** * Models a non-standard attribute of a classfile. Clients should extend @@ -32,17 +32,41 @@ * and provide an {@link AttributeMapper} to mediate between the classfile * format and the {@linkplain CustomAttribute} representation. * @param the custom attribute type + * + * @since 22 */ -@SuppressWarnings("exports") +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public abstract non-sealed class CustomAttribute> - extends UnboundAttribute.CustomAttribute - implements CodeElement, ClassElement, MethodElement, FieldElement { + implements Attribute, CodeElement, ClassElement, MethodElement, FieldElement { + + private final AttributeMapper mapper; /** * Construct a {@linkplain CustomAttribute}. * @param mapper the attribute mapper */ protected CustomAttribute(AttributeMapper mapper) { - super(mapper); + this.mapper = mapper; + } + + @Override + public final AttributeMapper attributeMapper() { + return mapper; + } + + @Override + public final String attributeName() { + return mapper.name(); + } + + @Override + @SuppressWarnings("unchecked") + public final void writeTo(BufWriter buf) { + mapper.writeAttribute(buf, (T) this); + } + + @Override + public String toString() { + return String.format("CustomAttribute[name=%s]", mapper.name()); } } diff --git a/src/java.base/share/classes/jdk/internal/classfile/FieldBuilder.java b/src/java.base/share/classes/java/lang/classfile/FieldBuilder.java similarity index 90% rename from src/java.base/share/classes/jdk/internal/classfile/FieldBuilder.java rename to src/java.base/share/classes/java/lang/classfile/FieldBuilder.java index 610a8aae76fe2..18a598398ec9a 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/FieldBuilder.java +++ b/src/java.base/share/classes/java/lang/classfile/FieldBuilder.java @@ -23,27 +23,31 @@ * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; -import jdk.internal.classfile.constantpool.Utf8Entry; +import java.lang.classfile.constantpool.Utf8Entry; import jdk.internal.classfile.impl.ChainedFieldBuilder; import jdk.internal.classfile.impl.TerminalFieldBuilder; import java.lang.reflect.AccessFlag; import java.util.Optional; import java.util.function.Consumer; +import jdk.internal.javac.PreviewFeature; /** * A builder for fields. Builders are not created directly; they are passed * to handlers by methods such as {@link ClassBuilder#withField(Utf8Entry, Utf8Entry, Consumer)} * or to field transforms. The elements of a field can be specified - * abstractly (by passing a {@link FieldElement} to {@link #with(ClassfileElement)} + * abstractly (by passing a {@link FieldElement} to {@link #with(ClassFileElement)} * or concretely by calling the various {@code withXxx} methods. * * @see FieldTransform + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface FieldBuilder - extends ClassfileBuilder + extends ClassFileBuilder permits TerminalFieldBuilder, ChainedFieldBuilder { /** diff --git a/src/java.base/share/classes/jdk/internal/classfile/FieldElement.java b/src/java.base/share/classes/java/lang/classfile/FieldElement.java similarity index 62% rename from src/java.base/share/classes/jdk/internal/classfile/FieldElement.java rename to src/java.base/share/classes/java/lang/classfile/FieldElement.java index 6a25045482cce..c41c9224bd39b 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/FieldElement.java +++ b/src/java.base/share/classes/java/lang/classfile/FieldElement.java @@ -22,23 +22,28 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; -import jdk.internal.classfile.attribute.ConstantValueAttribute; -import jdk.internal.classfile.attribute.DeprecatedAttribute; -import jdk.internal.classfile.attribute.RuntimeInvisibleAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeInvisibleTypeAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeVisibleAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeVisibleTypeAnnotationsAttribute; -import jdk.internal.classfile.attribute.SignatureAttribute; -import jdk.internal.classfile.attribute.SyntheticAttribute; -import jdk.internal.classfile.attribute.UnknownAttribute; +import java.lang.classfile.attribute.ConstantValueAttribute; +import java.lang.classfile.attribute.DeprecatedAttribute; +import java.lang.classfile.attribute.RuntimeInvisibleAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeInvisibleTypeAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeVisibleAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeVisibleTypeAnnotationsAttribute; +import java.lang.classfile.attribute.SignatureAttribute; +import java.lang.classfile.attribute.SyntheticAttribute; +import java.lang.classfile.attribute.UnknownAttribute; +import jdk.internal.javac.PreviewFeature; /** - * A {@link ClassfileElement} that can appear when traversing the elements - * of a {@link FieldModel} or be presented to a {@link FieldBuilder}. + * A marker interface for elements that can appear when traversing + * a {@link FieldModel} or be presented to a {@link FieldBuilder}. + * + * @sealedGraph + * @since 22 */ -public sealed interface FieldElement extends ClassfileElement +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) +public sealed interface FieldElement extends ClassFileElement permits AccessFlags, CustomAttribute, ConstantValueAttribute, DeprecatedAttribute, RuntimeInvisibleAnnotationsAttribute, RuntimeInvisibleTypeAnnotationsAttribute, diff --git a/src/java.base/share/classes/jdk/internal/classfile/FieldModel.java b/src/java.base/share/classes/java/lang/classfile/FieldModel.java similarity index 91% rename from src/java.base/share/classes/jdk/internal/classfile/FieldModel.java rename to src/java.base/share/classes/java/lang/classfile/FieldModel.java index c12098cfd8226..cb2e167b9cfac 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/FieldModel.java +++ b/src/java.base/share/classes/java/lang/classfile/FieldModel.java @@ -23,20 +23,24 @@ * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.lang.constant.ClassDesc; import java.util.Optional; -import jdk.internal.classfile.constantpool.Utf8Entry; +import java.lang.classfile.constantpool.Utf8Entry; import jdk.internal.classfile.impl.BufferedFieldBuilder; import jdk.internal.classfile.impl.FieldImpl; +import jdk.internal.javac.PreviewFeature; /** * Models a field. The contents of the field can be traversed via * a streaming view (e.g., {@link #elements()}), or via random access (e.g., * {@link #flags()}), or by freely mixing the two. + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface FieldModel extends WritableElement, CompoundElement, AttributedElement, ClassElement permits BufferedFieldBuilder.Model, FieldImpl { diff --git a/src/java.base/share/classes/jdk/internal/classfile/FieldTransform.java b/src/java.base/share/classes/java/lang/classfile/FieldTransform.java similarity index 84% rename from src/java.base/share/classes/jdk/internal/classfile/FieldTransform.java rename to src/java.base/share/classes/java/lang/classfile/FieldTransform.java index 05ffa167a0821..1a27a1d6ee6fb 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/FieldTransform.java +++ b/src/java.base/share/classes/java/lang/classfile/FieldTransform.java @@ -22,22 +22,26 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.util.function.Consumer; import java.util.function.Predicate; import java.util.function.Supplier; import jdk.internal.classfile.impl.TransformImpl; +import jdk.internal.javac.PreviewFeature; /** * A transformation on streams of {@link FieldElement}. * - * @see ClassfileTransform + * @see ClassFileTransform + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) @FunctionalInterface public non-sealed interface FieldTransform - extends ClassfileTransform { + extends ClassFileTransform { /** * A field transform that sends all elements to the builder. @@ -96,11 +100,22 @@ static FieldTransform dropping(Predicate filter) { }; } + /** + * @implSpec + * The default implementation returns this field transform chained with another + * field transform from the argument. Chaining of two transforms requires to + * involve a chained builder serving as a target builder for this transform + * and also as a source of elements for the downstream transform. + */ @Override default FieldTransform andThen(FieldTransform t) { return new TransformImpl.ChainedFieldTransform(this, t); } + /** + * @implSpec The default implementation returns a resolved transform bound + * to the given field builder. + */ @Override default ResolvedTransform resolve(FieldBuilder builder) { return new TransformImpl.ResolvedTransformImpl<>(e -> accept(builder, e), diff --git a/src/java.base/share/classes/jdk/internal/classfile/Instruction.java b/src/java.base/share/classes/java/lang/classfile/Instruction.java similarity index 57% rename from src/java.base/share/classes/jdk/internal/classfile/Instruction.java rename to src/java.base/share/classes/java/lang/classfile/Instruction.java index 9a1a81d548ee3..08255d8a5b106 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/Instruction.java +++ b/src/java.base/share/classes/java/lang/classfile/Instruction.java @@ -23,38 +23,42 @@ * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import jdk.internal.classfile.impl.AbstractInstruction; -import jdk.internal.classfile.instruction.ArrayLoadInstruction; -import jdk.internal.classfile.instruction.ArrayStoreInstruction; -import jdk.internal.classfile.instruction.BranchInstruction; -import jdk.internal.classfile.instruction.ConstantInstruction; -import jdk.internal.classfile.instruction.ConvertInstruction; -import jdk.internal.classfile.instruction.DiscontinuedInstruction; -import jdk.internal.classfile.instruction.FieldInstruction; -import jdk.internal.classfile.instruction.IncrementInstruction; -import jdk.internal.classfile.instruction.InvokeDynamicInstruction; -import jdk.internal.classfile.instruction.InvokeInstruction; -import jdk.internal.classfile.instruction.LoadInstruction; -import jdk.internal.classfile.instruction.LookupSwitchInstruction; -import jdk.internal.classfile.instruction.MonitorInstruction; -import jdk.internal.classfile.instruction.NewMultiArrayInstruction; -import jdk.internal.classfile.instruction.NewObjectInstruction; -import jdk.internal.classfile.instruction.NewPrimitiveArrayInstruction; -import jdk.internal.classfile.instruction.NewReferenceArrayInstruction; -import jdk.internal.classfile.instruction.NopInstruction; -import jdk.internal.classfile.instruction.OperatorInstruction; -import jdk.internal.classfile.instruction.ReturnInstruction; -import jdk.internal.classfile.instruction.StackInstruction; -import jdk.internal.classfile.instruction.StoreInstruction; -import jdk.internal.classfile.instruction.TableSwitchInstruction; -import jdk.internal.classfile.instruction.ThrowInstruction; -import jdk.internal.classfile.instruction.TypeCheckInstruction; +import java.lang.classfile.instruction.ArrayLoadInstruction; +import java.lang.classfile.instruction.ArrayStoreInstruction; +import java.lang.classfile.instruction.BranchInstruction; +import java.lang.classfile.instruction.ConstantInstruction; +import java.lang.classfile.instruction.ConvertInstruction; +import java.lang.classfile.instruction.DiscontinuedInstruction; +import java.lang.classfile.instruction.FieldInstruction; +import java.lang.classfile.instruction.IncrementInstruction; +import java.lang.classfile.instruction.InvokeDynamicInstruction; +import java.lang.classfile.instruction.InvokeInstruction; +import java.lang.classfile.instruction.LoadInstruction; +import java.lang.classfile.instruction.LookupSwitchInstruction; +import java.lang.classfile.instruction.MonitorInstruction; +import java.lang.classfile.instruction.NewMultiArrayInstruction; +import java.lang.classfile.instruction.NewObjectInstruction; +import java.lang.classfile.instruction.NewPrimitiveArrayInstruction; +import java.lang.classfile.instruction.NewReferenceArrayInstruction; +import java.lang.classfile.instruction.NopInstruction; +import java.lang.classfile.instruction.OperatorInstruction; +import java.lang.classfile.instruction.ReturnInstruction; +import java.lang.classfile.instruction.StackInstruction; +import java.lang.classfile.instruction.StoreInstruction; +import java.lang.classfile.instruction.TableSwitchInstruction; +import java.lang.classfile.instruction.ThrowInstruction; +import java.lang.classfile.instruction.TypeCheckInstruction; +import jdk.internal.javac.PreviewFeature; /** * Models an executable instruction in a method body. + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface Instruction extends CodeElement permits ArrayLoadInstruction, ArrayStoreInstruction, BranchInstruction, ConstantInstruction, ConvertInstruction, DiscontinuedInstruction, diff --git a/src/java.base/share/classes/jdk/internal/classfile/Interfaces.java b/src/java.base/share/classes/java/lang/classfile/Interfaces.java similarity index 90% rename from src/java.base/share/classes/jdk/internal/classfile/Interfaces.java rename to src/java.base/share/classes/java/lang/classfile/Interfaces.java index f6e6fa7ed558c..9092334bfb483 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/Interfaces.java +++ b/src/java.base/share/classes/java/lang/classfile/Interfaces.java @@ -22,20 +22,24 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.lang.constant.ClassDesc; import java.util.Arrays; import java.util.List; -import jdk.internal.classfile.constantpool.ClassEntry; +import java.lang.classfile.constantpool.ClassEntry; import jdk.internal.classfile.impl.InterfacesImpl; import jdk.internal.classfile.impl.Util; +import jdk.internal.javac.PreviewFeature; /** * Models the interfaces of a class. Delivered as a {@link - * jdk.internal.classfile.ClassElement} when traversing a {@link ClassModel}. + * java.lang.classfile.ClassElement} when traversing a {@link ClassModel}. + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface Interfaces extends ClassElement permits InterfacesImpl { diff --git a/src/java.base/share/classes/jdk/internal/classfile/Label.java b/src/java.base/share/classes/java/lang/classfile/Label.java similarity index 92% rename from src/java.base/share/classes/jdk/internal/classfile/Label.java rename to src/java.base/share/classes/java/lang/classfile/Label.java index 0ef6ea9248caf..5069b9359357c 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/Label.java +++ b/src/java.base/share/classes/java/lang/classfile/Label.java @@ -22,9 +22,10 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import jdk.internal.classfile.impl.LabelImpl; +import jdk.internal.javac.PreviewFeature; /** * A marker for a position within the instructions of a method body. The @@ -37,8 +38,11 @@ * traversing the elements of a {@linkplain CodeModel}, {@linkplain Label} * markers will be delivered at the position to which they correspond. A label * can be bound to the current position within a {@linkplain CodeBuilder} via - * {@link CodeBuilder#labelBinding(Label)} or {@link CodeBuilder#with(ClassfileElement)}. + * {@link CodeBuilder#labelBinding(Label)} or {@link CodeBuilder#with(ClassFileElement)}. + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface Label permits LabelImpl { } diff --git a/src/java.base/share/classes/jdk/internal/classfile/MethodBuilder.java b/src/java.base/share/classes/java/lang/classfile/MethodBuilder.java similarity index 92% rename from src/java.base/share/classes/jdk/internal/classfile/MethodBuilder.java rename to src/java.base/share/classes/java/lang/classfile/MethodBuilder.java index 6b57d0599d1ae..ece292c361b21 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/MethodBuilder.java +++ b/src/java.base/share/classes/java/lang/classfile/MethodBuilder.java @@ -23,27 +23,31 @@ * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.util.Optional; import java.util.function.Consumer; -import jdk.internal.classfile.constantpool.Utf8Entry; +import java.lang.classfile.constantpool.Utf8Entry; import jdk.internal.classfile.impl.ChainedMethodBuilder; import jdk.internal.classfile.impl.TerminalMethodBuilder; import java.lang.reflect.AccessFlag; +import jdk.internal.javac.PreviewFeature; /** * A builder for methods. Builders are not created directly; they are passed * to handlers by methods such as {@link ClassBuilder#withMethod(Utf8Entry, Utf8Entry, int, Consumer)} * or to method transforms. The elements of a method can be specified - * abstractly (by passing a {@link MethodElement} to {@link #with(ClassfileElement)} + * abstractly (by passing a {@link MethodElement} to {@link #with(ClassFileElement)} * or concretely by calling the various {@code withXxx} methods. * * @see MethodTransform + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface MethodBuilder - extends ClassfileBuilder + extends ClassFileBuilder permits ChainedMethodBuilder, TerminalMethodBuilder { /** diff --git a/src/java.base/share/classes/jdk/internal/classfile/MethodElement.java b/src/java.base/share/classes/java/lang/classfile/MethodElement.java similarity index 60% rename from src/java.base/share/classes/jdk/internal/classfile/MethodElement.java rename to src/java.base/share/classes/java/lang/classfile/MethodElement.java index 28334b57e8fc1..a744952de7a99 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/MethodElement.java +++ b/src/java.base/share/classes/java/lang/classfile/MethodElement.java @@ -22,28 +22,33 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; -import jdk.internal.classfile.attribute.AnnotationDefaultAttribute; -import jdk.internal.classfile.attribute.DeprecatedAttribute; -import jdk.internal.classfile.attribute.ExceptionsAttribute; -import jdk.internal.classfile.attribute.MethodParametersAttribute; -import jdk.internal.classfile.attribute.RuntimeInvisibleAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeInvisibleParameterAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeInvisibleTypeAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeVisibleAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeVisibleParameterAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeVisibleTypeAnnotationsAttribute; -import jdk.internal.classfile.attribute.SignatureAttribute; -import jdk.internal.classfile.attribute.SyntheticAttribute; -import jdk.internal.classfile.attribute.UnknownAttribute; +import java.lang.classfile.attribute.AnnotationDefaultAttribute; +import java.lang.classfile.attribute.DeprecatedAttribute; +import java.lang.classfile.attribute.ExceptionsAttribute; +import java.lang.classfile.attribute.MethodParametersAttribute; +import java.lang.classfile.attribute.RuntimeInvisibleAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeInvisibleParameterAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeInvisibleTypeAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeVisibleAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeVisibleParameterAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeVisibleTypeAnnotationsAttribute; +import java.lang.classfile.attribute.SignatureAttribute; +import java.lang.classfile.attribute.SyntheticAttribute; +import java.lang.classfile.attribute.UnknownAttribute; +import jdk.internal.javac.PreviewFeature; /** - * A {@link ClassfileElement} that can appear when traversing the elements - * of a {@link MethodModel} or be presented to a {@link MethodBuilder}. + * A marker interface for elements that can appear when traversing + * a {@link MethodModel} or be presented to a {@link MethodBuilder}. + * + * @sealedGraph + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface MethodElement - extends ClassfileElement + extends ClassFileElement permits AccessFlags, CodeModel, CustomAttribute, AnnotationDefaultAttribute, DeprecatedAttribute, ExceptionsAttribute, MethodParametersAttribute, diff --git a/src/java.base/share/classes/jdk/internal/classfile/MethodModel.java b/src/java.base/share/classes/java/lang/classfile/MethodModel.java similarity index 92% rename from src/java.base/share/classes/jdk/internal/classfile/MethodModel.java rename to src/java.base/share/classes/java/lang/classfile/MethodModel.java index 84d0aeb69c86d..49cbb6ac7fdc8 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/MethodModel.java +++ b/src/java.base/share/classes/java/lang/classfile/MethodModel.java @@ -23,20 +23,24 @@ * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.lang.constant.MethodTypeDesc; import java.util.Optional; -import jdk.internal.classfile.constantpool.Utf8Entry; +import java.lang.classfile.constantpool.Utf8Entry; import jdk.internal.classfile.impl.BufferedMethodBuilder; import jdk.internal.classfile.impl.MethodImpl; +import jdk.internal.javac.PreviewFeature; /** * Models a method. The contents of the method can be traversed via * a streaming view (e.g., {@link #elements()}), or via random access (e.g., * {@link #flags()}), or by freely mixing the two. + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface MethodModel extends WritableElement, CompoundElement, AttributedElement, ClassElement permits BufferedMethodBuilder.Model, MethodImpl { diff --git a/src/java.base/share/classes/jdk/internal/classfile/MethodSignature.java b/src/java.base/share/classes/java/lang/classfile/MethodSignature.java similarity index 93% rename from src/java.base/share/classes/jdk/internal/classfile/MethodSignature.java rename to src/java.base/share/classes/java/lang/classfile/MethodSignature.java index e08b0bd392b57..4c331ec51564c 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/MethodSignature.java +++ b/src/java.base/share/classes/java/lang/classfile/MethodSignature.java @@ -22,17 +22,21 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.lang.constant.MethodTypeDesc; import java.util.List; import jdk.internal.classfile.impl.SignaturesImpl; import static java.util.Objects.requireNonNull; import jdk.internal.classfile.impl.Util; +import jdk.internal.javac.PreviewFeature; /** * Models the generic signature of a method, as defined by {@jvms 4.7.9}. + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface MethodSignature permits SignaturesImpl.MethodSignatureImpl { @@ -52,7 +56,7 @@ public sealed interface MethodSignature String signatureString(); /** - * @return method signature for a raw (no generic information) method descriptor + * {@return a method signature for a raw (no generic information) method descriptor} * @param methodDescriptor the method descriptor */ public static MethodSignature of(MethodTypeDesc methodDescriptor) { @@ -66,7 +70,7 @@ public static MethodSignature of(MethodTypeDesc methodDescriptor) { } /** - * @return method signature + * {@return a method signature} * @param result signature for the return type * @param arguments signatures for the method arguments */ @@ -80,7 +84,7 @@ public static MethodSignature of(Signature result, } /** - * @return method signature + * {@return a method signature} * @param typeParameters signatures for the type parameters * @param exceptions signatures for the exceptions * @param result signature for the return type diff --git a/src/java.base/share/classes/jdk/internal/classfile/MethodTransform.java b/src/java.base/share/classes/java/lang/classfile/MethodTransform.java similarity index 85% rename from src/java.base/share/classes/jdk/internal/classfile/MethodTransform.java rename to src/java.base/share/classes/java/lang/classfile/MethodTransform.java index 1aa1f5e6a08ef..829ca041c5a82 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/MethodTransform.java +++ b/src/java.base/share/classes/java/lang/classfile/MethodTransform.java @@ -22,22 +22,26 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.util.function.Consumer; import java.util.function.Predicate; import java.util.function.Supplier; import jdk.internal.classfile.impl.TransformImpl; +import jdk.internal.javac.PreviewFeature; /** * A transformation on streams of {@link MethodElement}. * - * @see ClassfileTransform + * @see ClassFileTransform + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) @FunctionalInterface public non-sealed interface MethodTransform - extends ClassfileTransform { + extends ClassFileTransform { /** * A method transform that sends all elements to the builder. @@ -107,6 +111,10 @@ static MethodTransform transformingCode(CodeTransform xform) { return new TransformImpl.MethodCodeTransform(xform); } + /** + * @implSpec The default implementation returns a resolved transform bound + * to the given method builder. + */ @Override default ResolvedTransform resolve(MethodBuilder builder) { return new TransformImpl.ResolvedTransformImpl<>(e -> accept(builder, e), @@ -114,6 +122,13 @@ default ResolvedTransform resolve(MethodBuilder builder) { () -> atStart(builder)); } + /** + * @implSpec + * The default implementation returns this method transform chained with another + * method transform from the argument. Chaining of two transforms requires to + * involve a chained builder serving as a target builder for this transform + * and also as a source of elements for the downstream transform. + */ @Override default MethodTransform andThen(MethodTransform t) { return new TransformImpl.ChainedMethodTransform(this, t); diff --git a/src/java.base/share/classes/jdk/internal/classfile/Opcode.java b/src/java.base/share/classes/java/lang/classfile/Opcode.java similarity index 62% rename from src/java.base/share/classes/jdk/internal/classfile/Opcode.java rename to src/java.base/share/classes/java/lang/classfile/Opcode.java index af1027baeca70..9c4a1a8062588 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/Opcode.java +++ b/src/java.base/share/classes/java/lang/classfile/Opcode.java @@ -22,10 +22,11 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.lang.constant.ConstantDesc; import java.lang.constant.ConstantDescs; +import jdk.internal.javac.PreviewFeature; /** * Describes the opcodes of the JVM instruction set, as described in {@jvms 6.5}. @@ -34,654 +35,672 @@ * * @see Instruction * @see PseudoInstruction + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public enum Opcode { /** Do nothing */ - NOP(Classfile.NOP, 1, Kind.NOP), + NOP(ClassFile.NOP, 1, Kind.NOP), /** Push null */ - ACONST_NULL(Classfile.ACONST_NULL, 1, Kind.CONSTANT, TypeKind.ReferenceType, 0, ConstantDescs.NULL), + ACONST_NULL(ClassFile.ACONST_NULL, 1, Kind.CONSTANT, TypeKind.ReferenceType, 0, ConstantDescs.NULL), /** Push int constant -1 */ - ICONST_M1(Classfile.ICONST_M1, 1, Kind.CONSTANT, TypeKind.IntType, 0, -1), + ICONST_M1(ClassFile.ICONST_M1, 1, Kind.CONSTANT, TypeKind.IntType, 0, -1), /** Push int constant 0 */ - ICONST_0(Classfile.ICONST_0, 1, Kind.CONSTANT, TypeKind.IntType, 0, 0), + ICONST_0(ClassFile.ICONST_0, 1, Kind.CONSTANT, TypeKind.IntType, 0, 0), /** Push int constant 1 */ - ICONST_1(Classfile.ICONST_1, 1, Kind.CONSTANT, TypeKind.IntType, 0, 1), + ICONST_1(ClassFile.ICONST_1, 1, Kind.CONSTANT, TypeKind.IntType, 0, 1), /** Push int constant 2 */ - ICONST_2(Classfile.ICONST_2, 1, Kind.CONSTANT, TypeKind.IntType, 0, 2), + ICONST_2(ClassFile.ICONST_2, 1, Kind.CONSTANT, TypeKind.IntType, 0, 2), /** Push int constant 3 */ - ICONST_3(Classfile.ICONST_3, 1, Kind.CONSTANT, TypeKind.IntType, 0, 3), + ICONST_3(ClassFile.ICONST_3, 1, Kind.CONSTANT, TypeKind.IntType, 0, 3), /** Push int constant 4 */ - ICONST_4(Classfile.ICONST_4, 1, Kind.CONSTANT, TypeKind.IntType, 0, 4), + ICONST_4(ClassFile.ICONST_4, 1, Kind.CONSTANT, TypeKind.IntType, 0, 4), /** Push int constant 5 */ - ICONST_5(Classfile.ICONST_5, 1, Kind.CONSTANT, TypeKind.IntType, 0, 5), + ICONST_5(ClassFile.ICONST_5, 1, Kind.CONSTANT, TypeKind.IntType, 0, 5), /** Push long constant 0 */ - LCONST_0(Classfile.LCONST_0, 1, Kind.CONSTANT, TypeKind.LongType, 0, 0L), + LCONST_0(ClassFile.LCONST_0, 1, Kind.CONSTANT, TypeKind.LongType, 0, 0L), /** Push long constant 1 */ - LCONST_1(Classfile.LCONST_1, 1, Kind.CONSTANT, TypeKind.LongType, 0, 1L), + LCONST_1(ClassFile.LCONST_1, 1, Kind.CONSTANT, TypeKind.LongType, 0, 1L), /** Push float constant 0 */ - FCONST_0(Classfile.FCONST_0, 1, Kind.CONSTANT, TypeKind.FloatType, 0, 0.0f), + FCONST_0(ClassFile.FCONST_0, 1, Kind.CONSTANT, TypeKind.FloatType, 0, 0.0f), /** Push float constant 1 */ - FCONST_1(Classfile.FCONST_1, 1, Kind.CONSTANT, TypeKind.FloatType, 0, 1.0f), + FCONST_1(ClassFile.FCONST_1, 1, Kind.CONSTANT, TypeKind.FloatType, 0, 1.0f), /** Push float constant 2 */ - FCONST_2(Classfile.FCONST_2, 1, Kind.CONSTANT, TypeKind.FloatType, 0, 2.0f), + FCONST_2(ClassFile.FCONST_2, 1, Kind.CONSTANT, TypeKind.FloatType, 0, 2.0f), /** Push double constant 0 */ - DCONST_0(Classfile.DCONST_0, 1, Kind.CONSTANT, TypeKind.DoubleType, 0, 0.0d), + DCONST_0(ClassFile.DCONST_0, 1, Kind.CONSTANT, TypeKind.DoubleType, 0, 0.0d), /** Push double constant 1 */ - DCONST_1(Classfile.DCONST_1, 1, Kind.CONSTANT, TypeKind.DoubleType, 0, 1.0d), + DCONST_1(ClassFile.DCONST_1, 1, Kind.CONSTANT, TypeKind.DoubleType, 0, 1.0d), /** Push byte */ - BIPUSH(Classfile.BIPUSH, 2, Kind.CONSTANT, TypeKind.ByteType), + BIPUSH(ClassFile.BIPUSH, 2, Kind.CONSTANT, TypeKind.ByteType), /** Push short */ - SIPUSH(Classfile.SIPUSH, 3, Kind.CONSTANT, TypeKind.ShortType), + SIPUSH(ClassFile.SIPUSH, 3, Kind.CONSTANT, TypeKind.ShortType), /** Push item from run-time constant pool */ - LDC(Classfile.LDC, 2, Kind.CONSTANT), + LDC(ClassFile.LDC, 2, Kind.CONSTANT), /** Push item from run-time constant pool (wide index) */ - LDC_W(Classfile.LDC_W, 3, Kind.CONSTANT), + LDC_W(ClassFile.LDC_W, 3, Kind.CONSTANT), /** Push long or double from run-time constant pool (wide index) */ - LDC2_W(Classfile.LDC2_W, 3, Kind.CONSTANT), + LDC2_W(ClassFile.LDC2_W, 3, Kind.CONSTANT), /** Load int from local variable */ - ILOAD(Classfile.ILOAD, 2, Kind.LOAD, TypeKind.IntType, -1), + ILOAD(ClassFile.ILOAD, 2, Kind.LOAD, TypeKind.IntType, -1), /** Load long from local variable */ - LLOAD(Classfile.LLOAD, 2, Kind.LOAD, TypeKind.LongType, -1), + LLOAD(ClassFile.LLOAD, 2, Kind.LOAD, TypeKind.LongType, -1), /** Load float from local variable */ - FLOAD(Classfile.FLOAD, 2, Kind.LOAD, TypeKind.FloatType, -1), + FLOAD(ClassFile.FLOAD, 2, Kind.LOAD, TypeKind.FloatType, -1), /** Load double from local variable */ - DLOAD(Classfile.DLOAD, 2, Kind.LOAD, TypeKind.DoubleType, -1), + DLOAD(ClassFile.DLOAD, 2, Kind.LOAD, TypeKind.DoubleType, -1), /** Load reference from local variable */ - ALOAD(Classfile.ALOAD, 2, Kind.LOAD, TypeKind.ReferenceType, -1), + ALOAD(ClassFile.ALOAD, 2, Kind.LOAD, TypeKind.ReferenceType, -1), /** Load int from local variable 0 */ - ILOAD_0(Classfile.ILOAD_0, 1, Kind.LOAD, TypeKind.IntType, 0), + ILOAD_0(ClassFile.ILOAD_0, 1, Kind.LOAD, TypeKind.IntType, 0), /** Load int from local variable 1 */ - ILOAD_1(Classfile.ILOAD_1, 1, Kind.LOAD, TypeKind.IntType, 1), + ILOAD_1(ClassFile.ILOAD_1, 1, Kind.LOAD, TypeKind.IntType, 1), /** Load int from local variable 2 */ - ILOAD_2(Classfile.ILOAD_2, 1, Kind.LOAD, TypeKind.IntType, 2), + ILOAD_2(ClassFile.ILOAD_2, 1, Kind.LOAD, TypeKind.IntType, 2), /** Load int from local variable3 */ - ILOAD_3(Classfile.ILOAD_3, 1, Kind.LOAD, TypeKind.IntType, 3), + ILOAD_3(ClassFile.ILOAD_3, 1, Kind.LOAD, TypeKind.IntType, 3), /** Load long from local variable 0 */ - LLOAD_0(Classfile.LLOAD_0, 1, Kind.LOAD, TypeKind.LongType, 0), + LLOAD_0(ClassFile.LLOAD_0, 1, Kind.LOAD, TypeKind.LongType, 0), /** Load long from local variable 1 */ - LLOAD_1(Classfile.LLOAD_1, 1, Kind.LOAD, TypeKind.LongType, 1), + LLOAD_1(ClassFile.LLOAD_1, 1, Kind.LOAD, TypeKind.LongType, 1), /** Load long from local variable 2 */ - LLOAD_2(Classfile.LLOAD_2, 1, Kind.LOAD, TypeKind.LongType, 2), + LLOAD_2(ClassFile.LLOAD_2, 1, Kind.LOAD, TypeKind.LongType, 2), /** Load long from local variable 3 */ - LLOAD_3(Classfile.LLOAD_3, 1, Kind.LOAD, TypeKind.LongType, 3), + LLOAD_3(ClassFile.LLOAD_3, 1, Kind.LOAD, TypeKind.LongType, 3), /** Load float from local variable 0 */ - FLOAD_0(Classfile.FLOAD_0, 1, Kind.LOAD, TypeKind.FloatType, 0), + FLOAD_0(ClassFile.FLOAD_0, 1, Kind.LOAD, TypeKind.FloatType, 0), /** Load float from local variable 1 */ - FLOAD_1(Classfile.FLOAD_1, 1, Kind.LOAD, TypeKind.FloatType, 1), + FLOAD_1(ClassFile.FLOAD_1, 1, Kind.LOAD, TypeKind.FloatType, 1), /** Load float from local variable 2 */ - FLOAD_2(Classfile.FLOAD_2, 1, Kind.LOAD, TypeKind.FloatType, 2), + FLOAD_2(ClassFile.FLOAD_2, 1, Kind.LOAD, TypeKind.FloatType, 2), /** Load float from local variable 3 */ - FLOAD_3(Classfile.FLOAD_3, 1, Kind.LOAD, TypeKind.FloatType, 3), + FLOAD_3(ClassFile.FLOAD_3, 1, Kind.LOAD, TypeKind.FloatType, 3), /** Load double from local variable 0 */ - DLOAD_0(Classfile.DLOAD_0, 1, Kind.LOAD, TypeKind.DoubleType, 0), + DLOAD_0(ClassFile.DLOAD_0, 1, Kind.LOAD, TypeKind.DoubleType, 0), /** Load double from local variable 1 */ - DLOAD_1(Classfile.DLOAD_1, 1, Kind.LOAD, TypeKind.DoubleType, 1), + DLOAD_1(ClassFile.DLOAD_1, 1, Kind.LOAD, TypeKind.DoubleType, 1), /** Load double from local variable 2 */ - DLOAD_2(Classfile.DLOAD_2, 1, Kind.LOAD, TypeKind.DoubleType, 2), + DLOAD_2(ClassFile.DLOAD_2, 1, Kind.LOAD, TypeKind.DoubleType, 2), /** Load double from local variable 3 */ - DLOAD_3(Classfile.DLOAD_3, 1, Kind.LOAD, TypeKind.DoubleType, 3), + DLOAD_3(ClassFile.DLOAD_3, 1, Kind.LOAD, TypeKind.DoubleType, 3), /** Load reference from local variable 0 */ - ALOAD_0(Classfile.ALOAD_0, 1, Kind.LOAD, TypeKind.ReferenceType, 0), + ALOAD_0(ClassFile.ALOAD_0, 1, Kind.LOAD, TypeKind.ReferenceType, 0), /** Load reference from local variable 1 */ - ALOAD_1(Classfile.ALOAD_1, 1, Kind.LOAD, TypeKind.ReferenceType, 1), + ALOAD_1(ClassFile.ALOAD_1, 1, Kind.LOAD, TypeKind.ReferenceType, 1), /** Load reference from local variable 2 */ - ALOAD_2(Classfile.ALOAD_2, 1, Kind.LOAD, TypeKind.ReferenceType, 2), + ALOAD_2(ClassFile.ALOAD_2, 1, Kind.LOAD, TypeKind.ReferenceType, 2), /** Load reference from local variable 3 */ - ALOAD_3(Classfile.ALOAD_3, 1, Kind.LOAD, TypeKind.ReferenceType, 3), + ALOAD_3(ClassFile.ALOAD_3, 1, Kind.LOAD, TypeKind.ReferenceType, 3), /** Load int from array */ - IALOAD(Classfile.IALOAD, 1, Kind.ARRAY_LOAD, TypeKind.IntType), + IALOAD(ClassFile.IALOAD, 1, Kind.ARRAY_LOAD, TypeKind.IntType), /** Load long from array */ - LALOAD(Classfile.LALOAD, 1, Kind.ARRAY_LOAD, TypeKind.LongType), + LALOAD(ClassFile.LALOAD, 1, Kind.ARRAY_LOAD, TypeKind.LongType), /** Load float from array */ - FALOAD(Classfile.FALOAD, 1, Kind.ARRAY_LOAD, TypeKind.FloatType), + FALOAD(ClassFile.FALOAD, 1, Kind.ARRAY_LOAD, TypeKind.FloatType), /** Load double from array */ - DALOAD(Classfile.DALOAD, 1, Kind.ARRAY_LOAD, TypeKind.DoubleType), + DALOAD(ClassFile.DALOAD, 1, Kind.ARRAY_LOAD, TypeKind.DoubleType), /** Load reference from array */ - AALOAD(Classfile.AALOAD, 1, Kind.ARRAY_LOAD, TypeKind.ReferenceType), + AALOAD(ClassFile.AALOAD, 1, Kind.ARRAY_LOAD, TypeKind.ReferenceType), /** Load byte from array */ - BALOAD(Classfile.BALOAD, 1, Kind.ARRAY_LOAD, TypeKind.ByteType), + BALOAD(ClassFile.BALOAD, 1, Kind.ARRAY_LOAD, TypeKind.ByteType), /** Load char from array */ - CALOAD(Classfile.CALOAD, 1, Kind.ARRAY_LOAD, TypeKind.CharType), + CALOAD(ClassFile.CALOAD, 1, Kind.ARRAY_LOAD, TypeKind.CharType), /** Load short from array */ - SALOAD(Classfile.SALOAD, 1, Kind.ARRAY_LOAD, TypeKind.ShortType), + SALOAD(ClassFile.SALOAD, 1, Kind.ARRAY_LOAD, TypeKind.ShortType), /** Store int into local variable */ - ISTORE(Classfile.ISTORE, 2, Kind.STORE, TypeKind.IntType, -1), + ISTORE(ClassFile.ISTORE, 2, Kind.STORE, TypeKind.IntType, -1), /** Store long into local variable */ - LSTORE(Classfile.LSTORE, 2, Kind.STORE, TypeKind.LongType, -1), + LSTORE(ClassFile.LSTORE, 2, Kind.STORE, TypeKind.LongType, -1), /** Store float into local variable */ - FSTORE(Classfile.FSTORE, 2, Kind.STORE, TypeKind.FloatType, -1), + FSTORE(ClassFile.FSTORE, 2, Kind.STORE, TypeKind.FloatType, -1), /** Store double into local variable */ - DSTORE(Classfile.DSTORE, 2, Kind.STORE, TypeKind.DoubleType, -1), + DSTORE(ClassFile.DSTORE, 2, Kind.STORE, TypeKind.DoubleType, -1), /** Store reference into local variable */ - ASTORE(Classfile.ASTORE, 2, Kind.STORE, TypeKind.ReferenceType, -1), + ASTORE(ClassFile.ASTORE, 2, Kind.STORE, TypeKind.ReferenceType, -1), /** Store int into local variable 0 */ - ISTORE_0(Classfile.ISTORE_0, 1, Kind.STORE, TypeKind.IntType, 0), + ISTORE_0(ClassFile.ISTORE_0, 1, Kind.STORE, TypeKind.IntType, 0), /** Store int into local variable 1 */ - ISTORE_1(Classfile.ISTORE_1, 1, Kind.STORE, TypeKind.IntType, 1), + ISTORE_1(ClassFile.ISTORE_1, 1, Kind.STORE, TypeKind.IntType, 1), /** Store int into local variable 2 */ - ISTORE_2(Classfile.ISTORE_2, 1, Kind.STORE, TypeKind.IntType, 2), + ISTORE_2(ClassFile.ISTORE_2, 1, Kind.STORE, TypeKind.IntType, 2), /** Store int into local variable 3 */ - ISTORE_3(Classfile.ISTORE_3, 1, Kind.STORE, TypeKind.IntType, 3), + ISTORE_3(ClassFile.ISTORE_3, 1, Kind.STORE, TypeKind.IntType, 3), /** Store long into local variable 0 */ - LSTORE_0(Classfile.LSTORE_0, 1, Kind.STORE, TypeKind.LongType, 0), + LSTORE_0(ClassFile.LSTORE_0, 1, Kind.STORE, TypeKind.LongType, 0), /** Store long into local variable 1 */ - LSTORE_1(Classfile.LSTORE_1, 1, Kind.STORE, TypeKind.LongType, 1), + LSTORE_1(ClassFile.LSTORE_1, 1, Kind.STORE, TypeKind.LongType, 1), /** Store long into local variable 2 */ - LSTORE_2(Classfile.LSTORE_2, 1, Kind.STORE, TypeKind.LongType, 2), + LSTORE_2(ClassFile.LSTORE_2, 1, Kind.STORE, TypeKind.LongType, 2), /** Store long into local variable 3 */ - LSTORE_3(Classfile.LSTORE_3, 1, Kind.STORE, TypeKind.LongType, 3), + LSTORE_3(ClassFile.LSTORE_3, 1, Kind.STORE, TypeKind.LongType, 3), /** Store float into local variable 0 */ - FSTORE_0(Classfile.FSTORE_0, 1, Kind.STORE, TypeKind.FloatType, 0), + FSTORE_0(ClassFile.FSTORE_0, 1, Kind.STORE, TypeKind.FloatType, 0), /** Store float into local variable 1 */ - FSTORE_1(Classfile.FSTORE_1, 1, Kind.STORE, TypeKind.FloatType, 1), + FSTORE_1(ClassFile.FSTORE_1, 1, Kind.STORE, TypeKind.FloatType, 1), /** Store float into local variable 2 */ - FSTORE_2(Classfile.FSTORE_2, 1, Kind.STORE, TypeKind.FloatType, 2), + FSTORE_2(ClassFile.FSTORE_2, 1, Kind.STORE, TypeKind.FloatType, 2), /** Store float into local variable 3 */ - FSTORE_3(Classfile.FSTORE_3, 1, Kind.STORE, TypeKind.FloatType, 3), + FSTORE_3(ClassFile.FSTORE_3, 1, Kind.STORE, TypeKind.FloatType, 3), /** Store double into local variable 0 */ - DSTORE_0(Classfile.DSTORE_0, 1, Kind.STORE, TypeKind.DoubleType, 0), + DSTORE_0(ClassFile.DSTORE_0, 1, Kind.STORE, TypeKind.DoubleType, 0), /** Store double into local variable 1 */ - DSTORE_1(Classfile.DSTORE_1, 1, Kind.STORE, TypeKind.DoubleType, 1), + DSTORE_1(ClassFile.DSTORE_1, 1, Kind.STORE, TypeKind.DoubleType, 1), /** Store double into local variable 2 */ - DSTORE_2(Classfile.DSTORE_2, 1, Kind.STORE, TypeKind.DoubleType, 2), + DSTORE_2(ClassFile.DSTORE_2, 1, Kind.STORE, TypeKind.DoubleType, 2), /** Store double into local variable 3 */ - DSTORE_3(Classfile.DSTORE_3, 1, Kind.STORE, TypeKind.DoubleType, 3), + DSTORE_3(ClassFile.DSTORE_3, 1, Kind.STORE, TypeKind.DoubleType, 3), /** Store reference into local variable 0 */ - ASTORE_0(Classfile.ASTORE_0, 1, Kind.STORE, TypeKind.ReferenceType, 0), + ASTORE_0(ClassFile.ASTORE_0, 1, Kind.STORE, TypeKind.ReferenceType, 0), /** Store reference into local variable 1 */ - ASTORE_1(Classfile.ASTORE_1, 1, Kind.STORE, TypeKind.ReferenceType, 1), + ASTORE_1(ClassFile.ASTORE_1, 1, Kind.STORE, TypeKind.ReferenceType, 1), /** Store reference into local variable 2 */ - ASTORE_2(Classfile.ASTORE_2, 1, Kind.STORE, TypeKind.ReferenceType, 2), + ASTORE_2(ClassFile.ASTORE_2, 1, Kind.STORE, TypeKind.ReferenceType, 2), /** Store reference into local variable 3 */ - ASTORE_3(Classfile.ASTORE_3, 1, Kind.STORE, TypeKind.ReferenceType, 3), + ASTORE_3(ClassFile.ASTORE_3, 1, Kind.STORE, TypeKind.ReferenceType, 3), /** Store into int array */ - IASTORE(Classfile.IASTORE, 1, Kind.ARRAY_STORE, TypeKind.IntType), + IASTORE(ClassFile.IASTORE, 1, Kind.ARRAY_STORE, TypeKind.IntType), /** Store into long array */ - LASTORE(Classfile.LASTORE, 1, Kind.ARRAY_STORE, TypeKind.LongType), + LASTORE(ClassFile.LASTORE, 1, Kind.ARRAY_STORE, TypeKind.LongType), /** Store into float array */ - FASTORE(Classfile.FASTORE, 1, Kind.ARRAY_STORE, TypeKind.FloatType), + FASTORE(ClassFile.FASTORE, 1, Kind.ARRAY_STORE, TypeKind.FloatType), /** Store into double array */ - DASTORE(Classfile.DASTORE, 1, Kind.ARRAY_STORE, TypeKind.DoubleType), + DASTORE(ClassFile.DASTORE, 1, Kind.ARRAY_STORE, TypeKind.DoubleType), /** Store into reference array */ - AASTORE(Classfile.AASTORE, 1, Kind.ARRAY_STORE, TypeKind.ReferenceType), + AASTORE(ClassFile.AASTORE, 1, Kind.ARRAY_STORE, TypeKind.ReferenceType), /** Store into byte array */ - BASTORE(Classfile.BASTORE, 1, Kind.ARRAY_STORE, TypeKind.ByteType), + BASTORE(ClassFile.BASTORE, 1, Kind.ARRAY_STORE, TypeKind.ByteType), /** Store into char array */ - CASTORE(Classfile.CASTORE, 1, Kind.ARRAY_STORE, TypeKind.CharType), + CASTORE(ClassFile.CASTORE, 1, Kind.ARRAY_STORE, TypeKind.CharType), /** Store into short array */ - SASTORE(Classfile.SASTORE, 1, Kind.ARRAY_STORE, TypeKind.ShortType), + SASTORE(ClassFile.SASTORE, 1, Kind.ARRAY_STORE, TypeKind.ShortType), /** Pop the top operand stack value */ - POP(Classfile.POP, 1, Kind.STACK), + POP(ClassFile.POP, 1, Kind.STACK), /** Pop the top one or two operand stack values */ - POP2(Classfile.POP2, 1, Kind.STACK), + POP2(ClassFile.POP2, 1, Kind.STACK), /** Duplicate the top operand stack value */ - DUP(Classfile.DUP, 1, Kind.STACK), + DUP(ClassFile.DUP, 1, Kind.STACK), /** Duplicate the top operand stack value and insert two values down */ - DUP_X1(Classfile.DUP_X1, 1, Kind.STACK), + DUP_X1(ClassFile.DUP_X1, 1, Kind.STACK), /** Duplicate the top operand stack value and insert two or three values down */ - DUP_X2(Classfile.DUP_X2, 1, Kind.STACK), + DUP_X2(ClassFile.DUP_X2, 1, Kind.STACK), /** Duplicate the top one or two operand stack values */ - DUP2(Classfile.DUP2, 1, Kind.STACK), + DUP2(ClassFile.DUP2, 1, Kind.STACK), /** Duplicate the top one or two operand stack values and insert two or three values down */ - DUP2_X1(Classfile.DUP2_X1, 1, Kind.STACK), + DUP2_X1(ClassFile.DUP2_X1, 1, Kind.STACK), /** Duplicate the top one or two operand stack values and insert two, three, or four values down */ - DUP2_X2(Classfile.DUP2_X2, 1, Kind.STACK), + DUP2_X2(ClassFile.DUP2_X2, 1, Kind.STACK), /** Swap the top two operand stack values */ - SWAP(Classfile.SWAP, 1, Kind.STACK), + SWAP(ClassFile.SWAP, 1, Kind.STACK), /** Add int */ - IADD(Classfile.IADD, 1, Kind.OPERATOR, TypeKind.IntType), + IADD(ClassFile.IADD, 1, Kind.OPERATOR, TypeKind.IntType), /** Add long */ - LADD(Classfile.LADD, 1, Kind.OPERATOR, TypeKind.LongType), + LADD(ClassFile.LADD, 1, Kind.OPERATOR, TypeKind.LongType), /** Add float */ - FADD(Classfile.FADD, 1, Kind.OPERATOR, TypeKind.FloatType), + FADD(ClassFile.FADD, 1, Kind.OPERATOR, TypeKind.FloatType), /** Add double */ - DADD(Classfile.DADD, 1, Kind.OPERATOR, TypeKind.DoubleType), + DADD(ClassFile.DADD, 1, Kind.OPERATOR, TypeKind.DoubleType), /** Subtract int */ - ISUB(Classfile.ISUB, 1, Kind.OPERATOR, TypeKind.IntType), + ISUB(ClassFile.ISUB, 1, Kind.OPERATOR, TypeKind.IntType), /** Subtract long */ - LSUB(Classfile.LSUB, 1, Kind.OPERATOR, TypeKind.LongType), + LSUB(ClassFile.LSUB, 1, Kind.OPERATOR, TypeKind.LongType), /** Subtract float */ - FSUB(Classfile.FSUB, 1, Kind.OPERATOR, TypeKind.FloatType), + FSUB(ClassFile.FSUB, 1, Kind.OPERATOR, TypeKind.FloatType), /** Subtract double */ - DSUB(Classfile.DSUB, 1, Kind.OPERATOR, TypeKind.DoubleType), + DSUB(ClassFile.DSUB, 1, Kind.OPERATOR, TypeKind.DoubleType), /** Multiply int */ - IMUL(Classfile.IMUL, 1, Kind.OPERATOR, TypeKind.IntType), + IMUL(ClassFile.IMUL, 1, Kind.OPERATOR, TypeKind.IntType), /** Multiply long */ - LMUL(Classfile.LMUL, 1, Kind.OPERATOR, TypeKind.LongType), + LMUL(ClassFile.LMUL, 1, Kind.OPERATOR, TypeKind.LongType), /** Multiply float */ - FMUL(Classfile.FMUL, 1, Kind.OPERATOR, TypeKind.FloatType), + FMUL(ClassFile.FMUL, 1, Kind.OPERATOR, TypeKind.FloatType), /** Multiply double */ - DMUL(Classfile.DMUL, 1, Kind.OPERATOR, TypeKind.DoubleType), + DMUL(ClassFile.DMUL, 1, Kind.OPERATOR, TypeKind.DoubleType), /** Divide int */ - IDIV(Classfile.IDIV, 1, Kind.OPERATOR, TypeKind.IntType), + IDIV(ClassFile.IDIV, 1, Kind.OPERATOR, TypeKind.IntType), /** Divide long */ - LDIV(Classfile.LDIV, 1, Kind.OPERATOR, TypeKind.LongType), + LDIV(ClassFile.LDIV, 1, Kind.OPERATOR, TypeKind.LongType), /** Divide float */ - FDIV(Classfile.FDIV, 1, Kind.OPERATOR, TypeKind.FloatType), + FDIV(ClassFile.FDIV, 1, Kind.OPERATOR, TypeKind.FloatType), /** Divide double */ - DDIV(Classfile.DDIV, 1, Kind.OPERATOR, TypeKind.DoubleType), + DDIV(ClassFile.DDIV, 1, Kind.OPERATOR, TypeKind.DoubleType), /** Remainder int */ - IREM(Classfile.IREM, 1, Kind.OPERATOR, TypeKind.IntType), + IREM(ClassFile.IREM, 1, Kind.OPERATOR, TypeKind.IntType), /** Remainder long */ - LREM(Classfile.LREM, 1, Kind.OPERATOR, TypeKind.LongType), + LREM(ClassFile.LREM, 1, Kind.OPERATOR, TypeKind.LongType), /** Remainder float */ - FREM(Classfile.FREM, 1, Kind.OPERATOR, TypeKind.FloatType), + FREM(ClassFile.FREM, 1, Kind.OPERATOR, TypeKind.FloatType), /** Remainder double */ - DREM(Classfile.DREM, 1, Kind.OPERATOR, TypeKind.DoubleType), + DREM(ClassFile.DREM, 1, Kind.OPERATOR, TypeKind.DoubleType), /** Negate int */ - INEG(Classfile.INEG, 1, Kind.OPERATOR, TypeKind.IntType), + INEG(ClassFile.INEG, 1, Kind.OPERATOR, TypeKind.IntType), /** Negate long */ - LNEG(Classfile.LNEG, 1, Kind.OPERATOR, TypeKind.LongType), + LNEG(ClassFile.LNEG, 1, Kind.OPERATOR, TypeKind.LongType), /** Negate float */ - FNEG(Classfile.FNEG, 1, Kind.OPERATOR, TypeKind.FloatType), + FNEG(ClassFile.FNEG, 1, Kind.OPERATOR, TypeKind.FloatType), /** Negate double */ - DNEG(Classfile.DNEG, 1, Kind.OPERATOR, TypeKind.DoubleType), + DNEG(ClassFile.DNEG, 1, Kind.OPERATOR, TypeKind.DoubleType), /** Shift left int */ - ISHL(Classfile.ISHL, 1, Kind.OPERATOR, TypeKind.IntType), + ISHL(ClassFile.ISHL, 1, Kind.OPERATOR, TypeKind.IntType), /** Shift left long */ - LSHL(Classfile.LSHL, 1, Kind.OPERATOR, TypeKind.LongType), + LSHL(ClassFile.LSHL, 1, Kind.OPERATOR, TypeKind.LongType), /** Shift right int */ - ISHR(Classfile.ISHR, 1, Kind.OPERATOR, TypeKind.IntType), + ISHR(ClassFile.ISHR, 1, Kind.OPERATOR, TypeKind.IntType), /** Shift right long */ - LSHR(Classfile.LSHR, 1, Kind.OPERATOR, TypeKind.LongType), + LSHR(ClassFile.LSHR, 1, Kind.OPERATOR, TypeKind.LongType), /** Logical shift right int */ - IUSHR(Classfile.IUSHR, 1, Kind.OPERATOR, TypeKind.IntType), + IUSHR(ClassFile.IUSHR, 1, Kind.OPERATOR, TypeKind.IntType), /** Logical shift right long */ - LUSHR(Classfile.LUSHR, 1, Kind.OPERATOR, TypeKind.LongType), + LUSHR(ClassFile.LUSHR, 1, Kind.OPERATOR, TypeKind.LongType), /** Boolean AND int */ - IAND(Classfile.IAND, 1, Kind.OPERATOR, TypeKind.IntType), + IAND(ClassFile.IAND, 1, Kind.OPERATOR, TypeKind.IntType), /** Boolean AND long */ - LAND(Classfile.LAND, 1, Kind.OPERATOR, TypeKind.LongType), + LAND(ClassFile.LAND, 1, Kind.OPERATOR, TypeKind.LongType), /** Boolean OR int */ - IOR(Classfile.IOR, 1, Kind.OPERATOR, TypeKind.IntType), + IOR(ClassFile.IOR, 1, Kind.OPERATOR, TypeKind.IntType), /** Boolean OR long */ - LOR(Classfile.LOR, 1, Kind.OPERATOR, TypeKind.LongType), + LOR(ClassFile.LOR, 1, Kind.OPERATOR, TypeKind.LongType), /** Boolean XOR int */ - IXOR(Classfile.IXOR, 1, Kind.OPERATOR, TypeKind.IntType), + IXOR(ClassFile.IXOR, 1, Kind.OPERATOR, TypeKind.IntType), /** Boolean XOR long */ - LXOR(Classfile.LXOR, 1, Kind.OPERATOR, TypeKind.LongType), + LXOR(ClassFile.LXOR, 1, Kind.OPERATOR, TypeKind.LongType), /** Increment local variable by constant */ - IINC(Classfile.IINC, 3, Kind.INCREMENT, TypeKind.IntType, -1), + IINC(ClassFile.IINC, 3, Kind.INCREMENT, TypeKind.IntType, -1), /** Convert int to long */ - I2L(Classfile.I2L, 1, Kind.CONVERT, TypeKind.IntType, TypeKind.LongType), + I2L(ClassFile.I2L, 1, Kind.CONVERT, TypeKind.IntType, TypeKind.LongType), /** Convert int to float */ - I2F(Classfile.I2F, 1, Kind.CONVERT, TypeKind.IntType, TypeKind.FloatType), + I2F(ClassFile.I2F, 1, Kind.CONVERT, TypeKind.IntType, TypeKind.FloatType), /** Convert int to double */ - I2D(Classfile.I2D, 1, Kind.CONVERT, TypeKind.IntType, TypeKind.DoubleType), + I2D(ClassFile.I2D, 1, Kind.CONVERT, TypeKind.IntType, TypeKind.DoubleType), /** Convert long to int */ - L2I(Classfile.L2I, 1, Kind.CONVERT, TypeKind.LongType, TypeKind.IntType), + L2I(ClassFile.L2I, 1, Kind.CONVERT, TypeKind.LongType, TypeKind.IntType), /** Convert long to float */ - L2F(Classfile.L2F, 1, Kind.CONVERT, TypeKind.LongType, TypeKind.FloatType), + L2F(ClassFile.L2F, 1, Kind.CONVERT, TypeKind.LongType, TypeKind.FloatType), /** Convert long to double */ - L2D(Classfile.L2D, 1, Kind.CONVERT, TypeKind.LongType, TypeKind.DoubleType), + L2D(ClassFile.L2D, 1, Kind.CONVERT, TypeKind.LongType, TypeKind.DoubleType), /** Convert float to int */ - F2I(Classfile.F2I, 1, Kind.CONVERT, TypeKind.FloatType, TypeKind.IntType), + F2I(ClassFile.F2I, 1, Kind.CONVERT, TypeKind.FloatType, TypeKind.IntType), /** Convert float to long */ - F2L(Classfile.F2L, 1, Kind.CONVERT, TypeKind.FloatType, TypeKind.LongType), + F2L(ClassFile.F2L, 1, Kind.CONVERT, TypeKind.FloatType, TypeKind.LongType), /** Convert float to double */ - F2D(Classfile.F2D, 1, Kind.CONVERT, TypeKind.FloatType, TypeKind.DoubleType), + F2D(ClassFile.F2D, 1, Kind.CONVERT, TypeKind.FloatType, TypeKind.DoubleType), /** Convert double to int */ - D2I(Classfile.D2I, 1, Kind.CONVERT, TypeKind.DoubleType, TypeKind.IntType), + D2I(ClassFile.D2I, 1, Kind.CONVERT, TypeKind.DoubleType, TypeKind.IntType), /** Convert double to long */ - D2L(Classfile.D2L, 1, Kind.CONVERT, TypeKind.DoubleType, TypeKind.LongType), + D2L(ClassFile.D2L, 1, Kind.CONVERT, TypeKind.DoubleType, TypeKind.LongType), /** Convert double to float */ - D2F(Classfile.D2F, 1, Kind.CONVERT, TypeKind.DoubleType, TypeKind.FloatType), + D2F(ClassFile.D2F, 1, Kind.CONVERT, TypeKind.DoubleType, TypeKind.FloatType), /** Convert int to byte */ - I2B(Classfile.I2B, 1, Kind.CONVERT, TypeKind.IntType, TypeKind.ByteType), + I2B(ClassFile.I2B, 1, Kind.CONVERT, TypeKind.IntType, TypeKind.ByteType), /** Convert int to char */ - I2C(Classfile.I2C, 1, Kind.CONVERT, TypeKind.IntType, TypeKind.CharType), + I2C(ClassFile.I2C, 1, Kind.CONVERT, TypeKind.IntType, TypeKind.CharType), /** Convert int to short */ - I2S(Classfile.I2S, 1, Kind.CONVERT, TypeKind.IntType, TypeKind.ShortType), + I2S(ClassFile.I2S, 1, Kind.CONVERT, TypeKind.IntType, TypeKind.ShortType), /** Compare long */ - LCMP(Classfile.LCMP, 1, Kind.OPERATOR, TypeKind.LongType), + LCMP(ClassFile.LCMP, 1, Kind.OPERATOR, TypeKind.LongType), /** Compare float */ - FCMPL(Classfile.FCMPL, 1, Kind.OPERATOR, TypeKind.FloatType), + FCMPL(ClassFile.FCMPL, 1, Kind.OPERATOR, TypeKind.FloatType), /** Compare float */ - FCMPG(Classfile.FCMPG, 1, Kind.OPERATOR, TypeKind.FloatType), + FCMPG(ClassFile.FCMPG, 1, Kind.OPERATOR, TypeKind.FloatType), /** Compare double */ - DCMPL(Classfile.DCMPL, 1, Kind.OPERATOR, TypeKind.DoubleType), + DCMPL(ClassFile.DCMPL, 1, Kind.OPERATOR, TypeKind.DoubleType), /** Compare double */ - DCMPG(Classfile.DCMPG, 1, Kind.OPERATOR, TypeKind.DoubleType), + DCMPG(ClassFile.DCMPG, 1, Kind.OPERATOR, TypeKind.DoubleType), /** Branch if int comparison with zero succeeds */ - IFEQ(Classfile.IFEQ, 3, Kind.BRANCH, TypeKind.IntType), + IFEQ(ClassFile.IFEQ, 3, Kind.BRANCH, TypeKind.IntType), /** Branch if int comparison with zero succeeds */ - IFNE(Classfile.IFNE, 3, Kind.BRANCH, TypeKind.IntType), + IFNE(ClassFile.IFNE, 3, Kind.BRANCH, TypeKind.IntType), /** Branch if int comparison with zero succeeds */ - IFLT(Classfile.IFLT, 3, Kind.BRANCH, TypeKind.IntType), + IFLT(ClassFile.IFLT, 3, Kind.BRANCH, TypeKind.IntType), /** Branch if int comparison with zero succeeds */ - IFGE(Classfile.IFGE, 3, Kind.BRANCH, TypeKind.IntType), + IFGE(ClassFile.IFGE, 3, Kind.BRANCH, TypeKind.IntType), /** Branch if int comparison with zero succeeds */ - IFGT(Classfile.IFGT, 3, Kind.BRANCH, TypeKind.IntType), + IFGT(ClassFile.IFGT, 3, Kind.BRANCH, TypeKind.IntType), /** Branch if int comparison with zero succeeds */ - IFLE(Classfile.IFLE, 3, Kind.BRANCH, TypeKind.IntType), + IFLE(ClassFile.IFLE, 3, Kind.BRANCH, TypeKind.IntType), /** Branch if int comparison succeeds */ - IF_ICMPEQ(Classfile.IF_ICMPEQ, 3, Kind.BRANCH, TypeKind.IntType), + IF_ICMPEQ(ClassFile.IF_ICMPEQ, 3, Kind.BRANCH, TypeKind.IntType), /** Branch if int comparison succeeds */ - IF_ICMPNE(Classfile.IF_ICMPNE, 3, Kind.BRANCH, TypeKind.IntType), + IF_ICMPNE(ClassFile.IF_ICMPNE, 3, Kind.BRANCH, TypeKind.IntType), /** Branch if int comparison succeeds */ - IF_ICMPLT(Classfile.IF_ICMPLT, 3, Kind.BRANCH, TypeKind.IntType), + IF_ICMPLT(ClassFile.IF_ICMPLT, 3, Kind.BRANCH, TypeKind.IntType), /** Branch if int comparison succeeds */ - IF_ICMPGE(Classfile.IF_ICMPGE, 3, Kind.BRANCH, TypeKind.IntType), + IF_ICMPGE(ClassFile.IF_ICMPGE, 3, Kind.BRANCH, TypeKind.IntType), /** Branch if int comparison succeeds */ - IF_ICMPGT(Classfile.IF_ICMPGT, 3, Kind.BRANCH, TypeKind.IntType), + IF_ICMPGT(ClassFile.IF_ICMPGT, 3, Kind.BRANCH, TypeKind.IntType), /** Branch if int comparison succeeds */ - IF_ICMPLE(Classfile.IF_ICMPLE, 3, Kind.BRANCH, TypeKind.IntType), + IF_ICMPLE(ClassFile.IF_ICMPLE, 3, Kind.BRANCH, TypeKind.IntType), /** Branch if reference comparison succeeds */ - IF_ACMPEQ(Classfile.IF_ACMPEQ, 3, Kind.BRANCH, TypeKind.ReferenceType), + IF_ACMPEQ(ClassFile.IF_ACMPEQ, 3, Kind.BRANCH, TypeKind.ReferenceType), /** Branch if reference comparison succeeds */ - IF_ACMPNE(Classfile.IF_ACMPNE, 3, Kind.BRANCH, TypeKind.ReferenceType), + IF_ACMPNE(ClassFile.IF_ACMPNE, 3, Kind.BRANCH, TypeKind.ReferenceType), /** Branch always */ - GOTO(Classfile.GOTO, 3, Kind.BRANCH, TypeKind.VoidType), + GOTO(ClassFile.GOTO, 3, Kind.BRANCH, TypeKind.VoidType), - /** Jump subroutine */ - JSR(Classfile.JSR, 3, Kind.DISCONTINUED_JSR), + /** + * Jump subroutine is discontinued opcode + * @see java.lang.classfile.instruction.DiscontinuedInstruction + */ + JSR(ClassFile.JSR, 3, Kind.DISCONTINUED_JSR), - /** Return from subroutine */ - RET(Classfile.RET, 2, Kind.DISCONTINUED_RET), + /** + * Return from subroutine is discontinued opcode + * @see java.lang.classfile.instruction.DiscontinuedInstruction + */ + RET(ClassFile.RET, 2, Kind.DISCONTINUED_RET), /** Access jump table by index and jump */ - TABLESWITCH(Classfile.TABLESWITCH, -1, Kind.TABLE_SWITCH), + TABLESWITCH(ClassFile.TABLESWITCH, -1, Kind.TABLE_SWITCH), /** Access jump table by key match and jump */ - LOOKUPSWITCH(Classfile.LOOKUPSWITCH, -1, Kind.LOOKUP_SWITCH), + LOOKUPSWITCH(ClassFile.LOOKUPSWITCH, -1, Kind.LOOKUP_SWITCH), /** Return int from method */ - IRETURN(Classfile.IRETURN, 1, Kind.RETURN, TypeKind.IntType), + IRETURN(ClassFile.IRETURN, 1, Kind.RETURN, TypeKind.IntType), /** Return long from method */ - LRETURN(Classfile.LRETURN, 1, Kind.RETURN, TypeKind.LongType), + LRETURN(ClassFile.LRETURN, 1, Kind.RETURN, TypeKind.LongType), /** Return float from method */ - FRETURN(Classfile.FRETURN, 1, Kind.RETURN, TypeKind.FloatType), + FRETURN(ClassFile.FRETURN, 1, Kind.RETURN, TypeKind.FloatType), /** Return double from method */ - DRETURN(Classfile.DRETURN, 1, Kind.RETURN, TypeKind.DoubleType), + DRETURN(ClassFile.DRETURN, 1, Kind.RETURN, TypeKind.DoubleType), /** Return reference from method */ - ARETURN(Classfile.ARETURN, 1, Kind.RETURN, TypeKind.ReferenceType), + ARETURN(ClassFile.ARETURN, 1, Kind.RETURN, TypeKind.ReferenceType), /** Return void from method */ - RETURN(Classfile.RETURN, 1, Kind.RETURN, TypeKind.VoidType), + RETURN(ClassFile.RETURN, 1, Kind.RETURN, TypeKind.VoidType), /** Get static field from class */ - GETSTATIC(Classfile.GETSTATIC, 3, Kind.FIELD_ACCESS), + GETSTATIC(ClassFile.GETSTATIC, 3, Kind.FIELD_ACCESS), /** Set static field in class */ - PUTSTATIC(Classfile.PUTSTATIC, 3, Kind.FIELD_ACCESS), + PUTSTATIC(ClassFile.PUTSTATIC, 3, Kind.FIELD_ACCESS), /** Fetch field from object */ - GETFIELD(Classfile.GETFIELD, 3, Kind.FIELD_ACCESS), + GETFIELD(ClassFile.GETFIELD, 3, Kind.FIELD_ACCESS), /** Set field in object */ - PUTFIELD(Classfile.PUTFIELD, 3, Kind.FIELD_ACCESS), + PUTFIELD(ClassFile.PUTFIELD, 3, Kind.FIELD_ACCESS), /** Invoke instance method; dispatch based on class */ - INVOKEVIRTUAL(Classfile.INVOKEVIRTUAL, 3, Kind.INVOKE), + INVOKEVIRTUAL(ClassFile.INVOKEVIRTUAL, 3, Kind.INVOKE), /** * Invoke instance method; direct invocation of instance initialization * methods and methods of the current class and its supertypes */ - INVOKESPECIAL(Classfile.INVOKESPECIAL, 3, Kind.INVOKE), + INVOKESPECIAL(ClassFile.INVOKESPECIAL, 3, Kind.INVOKE), /** Invoke a class (static) method */ - INVOKESTATIC(Classfile.INVOKESTATIC, 3, Kind.INVOKE), + INVOKESTATIC(ClassFile.INVOKESTATIC, 3, Kind.INVOKE), /** Invoke interface method */ - INVOKEINTERFACE(Classfile.INVOKEINTERFACE, 5, Kind.INVOKE), + INVOKEINTERFACE(ClassFile.INVOKEINTERFACE, 5, Kind.INVOKE), /** Invoke a dynamically-computed call site */ - INVOKEDYNAMIC(Classfile.INVOKEDYNAMIC, 5, Kind.INVOKE_DYNAMIC), + INVOKEDYNAMIC(ClassFile.INVOKEDYNAMIC, 5, Kind.INVOKE_DYNAMIC), /** Create new object */ - NEW(Classfile.NEW, 3, Kind.NEW_OBJECT), + NEW(ClassFile.NEW, 3, Kind.NEW_OBJECT), /** Create new array */ - NEWARRAY(Classfile.NEWARRAY, 2, Kind.NEW_PRIMITIVE_ARRAY), + NEWARRAY(ClassFile.NEWARRAY, 2, Kind.NEW_PRIMITIVE_ARRAY), /** Create new array of reference */ - ANEWARRAY(Classfile.ANEWARRAY, 3, Kind.NEW_REF_ARRAY), + ANEWARRAY(ClassFile.ANEWARRAY, 3, Kind.NEW_REF_ARRAY), /** Get length of array */ - ARRAYLENGTH(Classfile.ARRAYLENGTH, 1, Kind.OPERATOR, TypeKind.IntType), + ARRAYLENGTH(ClassFile.ARRAYLENGTH, 1, Kind.OPERATOR, TypeKind.IntType), /** Throw exception or error */ - ATHROW(Classfile.ATHROW, 1, Kind.THROW_EXCEPTION), + ATHROW(ClassFile.ATHROW, 1, Kind.THROW_EXCEPTION), /** Check whether object is of given type */ - CHECKCAST(Classfile.CHECKCAST, 3, Kind.TYPE_CHECK), + CHECKCAST(ClassFile.CHECKCAST, 3, Kind.TYPE_CHECK), /** Determine if object is of given type */ - INSTANCEOF(Classfile.INSTANCEOF, 3, Kind.TYPE_CHECK), + INSTANCEOF(ClassFile.INSTANCEOF, 3, Kind.TYPE_CHECK), /** Enter monitor for object */ - MONITORENTER(Classfile.MONITORENTER, 1, Kind.MONITOR), + MONITORENTER(ClassFile.MONITORENTER, 1, Kind.MONITOR), /** Exit monitor for object */ - MONITOREXIT(Classfile.MONITOREXIT, 1, Kind.MONITOR), + MONITOREXIT(ClassFile.MONITOREXIT, 1, Kind.MONITOR), /** Create new multidimensional array */ - MULTIANEWARRAY(Classfile.MULTIANEWARRAY, 4, Kind.NEW_MULTI_ARRAY), + MULTIANEWARRAY(ClassFile.MULTIANEWARRAY, 4, Kind.NEW_MULTI_ARRAY), /** Branch if reference is null */ - IFNULL(Classfile.IFNULL, 3, Kind.BRANCH, TypeKind.ReferenceType), + IFNULL(ClassFile.IFNULL, 3, Kind.BRANCH, TypeKind.ReferenceType), /** Branch if reference not null */ - IFNONNULL(Classfile.IFNONNULL, 3, Kind.BRANCH, TypeKind.IntType), + IFNONNULL(ClassFile.IFNONNULL, 3, Kind.BRANCH, TypeKind.IntType), /** Branch always (wide index) */ - GOTO_W(Classfile.GOTO_W, 5, Kind.BRANCH, TypeKind.VoidType), + GOTO_W(ClassFile.GOTO_W, 5, Kind.BRANCH, TypeKind.VoidType), - /** Jump subroutine (wide index) */ - JSR_W(Classfile.JSR_W, 5, Kind.DISCONTINUED_JSR), + /** + * Jump subroutine (wide index) is discontinued opcode + * @see java.lang.classfile.instruction.DiscontinuedInstruction + */ + JSR_W(ClassFile.JSR_W, 5, Kind.DISCONTINUED_JSR), /** Load int from local variable (wide index) */ - ILOAD_W((Classfile.WIDE << 8) | Classfile.ILOAD, 4, Kind.LOAD, TypeKind.IntType, -1), + ILOAD_W((ClassFile.WIDE << 8) | ClassFile.ILOAD, 4, Kind.LOAD, TypeKind.IntType, -1), /** Load long from local variable (wide index) */ - LLOAD_W((Classfile.WIDE << 8) | Classfile.LLOAD, 4, Kind.LOAD, TypeKind.LongType, -1), + LLOAD_W((ClassFile.WIDE << 8) | ClassFile.LLOAD, 4, Kind.LOAD, TypeKind.LongType, -1), /** Load float from local variable (wide index) */ - FLOAD_W((Classfile.WIDE << 8) | Classfile.FLOAD, 4, Kind.LOAD, TypeKind.FloatType, -1), + FLOAD_W((ClassFile.WIDE << 8) | ClassFile.FLOAD, 4, Kind.LOAD, TypeKind.FloatType, -1), /** Load double from local variable (wide index) */ - DLOAD_W((Classfile.WIDE << 8) | Classfile.DLOAD, 4, Kind.LOAD, TypeKind.DoubleType, -1), + DLOAD_W((ClassFile.WIDE << 8) | ClassFile.DLOAD, 4, Kind.LOAD, TypeKind.DoubleType, -1), /** Load reference from local variable (wide index) */ - ALOAD_W((Classfile.WIDE << 8) | Classfile.ALOAD, 4, Kind.LOAD, TypeKind.ReferenceType, -1), + ALOAD_W((ClassFile.WIDE << 8) | ClassFile.ALOAD, 4, Kind.LOAD, TypeKind.ReferenceType, -1), /** Store int into local variable (wide index) */ - ISTORE_W((Classfile.WIDE << 8) | Classfile.ISTORE, 4, Kind.STORE, TypeKind.IntType, -1), + ISTORE_W((ClassFile.WIDE << 8) | ClassFile.ISTORE, 4, Kind.STORE, TypeKind.IntType, -1), /** Store long into local variable (wide index) */ - LSTORE_W((Classfile.WIDE << 8) | Classfile.LSTORE, 4, Kind.STORE, TypeKind.LongType, -1), + LSTORE_W((ClassFile.WIDE << 8) | ClassFile.LSTORE, 4, Kind.STORE, TypeKind.LongType, -1), /** Store float into local variable (wide index) */ - FSTORE_W((Classfile.WIDE << 8) | Classfile.FSTORE, 4, Kind.STORE, TypeKind.FloatType, -1), + FSTORE_W((ClassFile.WIDE << 8) | ClassFile.FSTORE, 4, Kind.STORE, TypeKind.FloatType, -1), /** Store double into local variable (wide index) */ - DSTORE_W((Classfile.WIDE << 8) | Classfile.DSTORE, 4, Kind.STORE, TypeKind.DoubleType, -1), + DSTORE_W((ClassFile.WIDE << 8) | ClassFile.DSTORE, 4, Kind.STORE, TypeKind.DoubleType, -1), /** Store reference into local variable (wide index) */ - ASTORE_W((Classfile.WIDE << 8) | Classfile.ASTORE, 4, Kind.STORE, TypeKind.ReferenceType, -1), + ASTORE_W((ClassFile.WIDE << 8) | ClassFile.ASTORE, 4, Kind.STORE, TypeKind.ReferenceType, -1), - /** Return from subroutine (wide index) */ - RET_W((Classfile.WIDE << 8) | Classfile.RET, 4, Kind.DISCONTINUED_RET), + /** + * Return from subroutine (wide index) is discontinued opcode + * @see java.lang.classfile.instruction.DiscontinuedInstruction + */ + RET_W((ClassFile.WIDE << 8) | ClassFile.RET, 4, Kind.DISCONTINUED_RET), /** Increment local variable by constant (wide index) */ - IINC_W((Classfile.WIDE << 8) | Classfile.IINC, 6, Kind.INCREMENT, TypeKind.IntType, -1); + IINC_W((ClassFile.WIDE << 8) | ClassFile.IINC, 6, Kind.INCREMENT, TypeKind.IntType, -1); /** * Kinds of opcodes. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public static enum Kind { /** @@ -1042,6 +1061,7 @@ public static enum Kind { * * @see Opcode#JSR * @see Opcode#JSR_W + * @see java.lang.classfile.instruction.DiscontinuedInstruction */ DISCONTINUED_JSR, @@ -1050,6 +1070,7 @@ public static enum Kind { * * @see Opcode#RET * @see Opcode#RET_W + * @see java.lang.classfile.instruction.DiscontinuedInstruction */ DISCONTINUED_RET; } diff --git a/src/java.base/share/classes/jdk/internal/classfile/PseudoInstruction.java b/src/java.base/share/classes/java/lang/classfile/PseudoInstruction.java similarity index 76% rename from src/java.base/share/classes/jdk/internal/classfile/PseudoInstruction.java rename to src/java.base/share/classes/java/lang/classfile/PseudoInstruction.java index d419e2314e91b..8a2db569ba0c3 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/PseudoInstruction.java +++ b/src/java.base/share/classes/java/lang/classfile/PseudoInstruction.java @@ -22,16 +22,17 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; -import jdk.internal.classfile.attribute.CodeAttribute; -import jdk.internal.classfile.instruction.CharacterRange; -import jdk.internal.classfile.instruction.ExceptionCatch; -import jdk.internal.classfile.instruction.LabelTarget; -import jdk.internal.classfile.instruction.LineNumber; -import jdk.internal.classfile.instruction.LocalVariable; -import jdk.internal.classfile.instruction.LocalVariableType; +import java.lang.classfile.attribute.CodeAttribute; +import java.lang.classfile.instruction.CharacterRange; +import java.lang.classfile.instruction.ExceptionCatch; +import java.lang.classfile.instruction.LabelTarget; +import java.lang.classfile.instruction.LineNumber; +import java.lang.classfile.instruction.LocalVariable; +import java.lang.classfile.instruction.LocalVariableType; import jdk.internal.classfile.impl.AbstractPseudoInstruction; +import jdk.internal.javac.PreviewFeature; /** * Models metadata about a {@link CodeAttribute}, such as entries in the @@ -39,8 +40,11 @@ * between instructions and labels. Pseudo-instructions are delivered as part * of the element stream of a {@link CodeModel}. Delivery of some * pseudo-instructions can be disabled by modifying the value of classfile - * options (e.g., {@link Classfile.DebugElementsOption}). + * options (e.g., {@link ClassFile.DebugElementsOption}). + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface PseudoInstruction extends CodeElement permits CharacterRange, ExceptionCatch, LabelTarget, LineNumber, LocalVariable, LocalVariableType, AbstractPseudoInstruction { diff --git a/src/java.base/share/classes/jdk/internal/classfile/Signature.java b/src/java.base/share/classes/java/lang/classfile/Signature.java similarity index 91% rename from src/java.base/share/classes/jdk/internal/classfile/Signature.java rename to src/java.base/share/classes/java/lang/classfile/Signature.java index c9c7ae1c705f1..e5ed92acb833b 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/Signature.java +++ b/src/java.base/share/classes/java/lang/classfile/Signature.java @@ -22,7 +22,7 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.lang.constant.ClassDesc; import jdk.internal.classfile.impl.SignaturesImpl; @@ -31,10 +31,15 @@ import static java.util.Objects.requireNonNull; import java.util.Optional; import jdk.internal.classfile.impl.Util; +import jdk.internal.javac.PreviewFeature; /** * Models generic Java type signatures, as defined in {@jvms 4.7.9.1}. + * + * @sealedGraph + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface Signature { /** {@return the raw signature string} */ @@ -50,8 +55,8 @@ public static Signature parseFrom(String javaTypeSignature) { } /** + * {@return a Java type signature} * @param classDesc the symbolic description of the Java type - * @return Java type signature */ public static Signature of(ClassDesc classDesc) { requireNonNull(classDesc); @@ -64,7 +69,10 @@ public static Signature of(ClassDesc classDesc) { /** * Models the signature of a primitive type or void + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface BaseTypeSig extends Signature permits SignaturesImpl.BaseTypeSigImpl { @@ -97,7 +105,11 @@ public static BaseTypeSig of(char baseType) { /** * Models the signature of a reference type, which may be a class, interface, * type variable, or array type. + * + * @sealedGraph + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface RefTypeSig extends Signature permits ArrayTypeSig, ClassTypeSig, TypeVarSig { @@ -105,7 +117,10 @@ public sealed interface RefTypeSig /** * Models the signature of a possibly-parameterized class or interface type. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface ClassTypeSig extends RefTypeSig, ThrowableSig permits SignaturesImpl.ClassTypeSigImpl { @@ -169,14 +184,20 @@ public static ClassTypeSig of(ClassTypeSig outerType, String className, TypeArg. /** * Models the type argument. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface TypeArg permits SignaturesImpl.TypeArgImpl { /** * Indicator for whether a wildcard has default bound, no bound, * an upper bound, or a lower bound + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public enum WildcardIndicator { /** @@ -252,7 +273,10 @@ public static TypeArg of(WildcardIndicator wildcard, Optional boundT /** * Models the signature of a type variable. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface TypeVarSig extends RefTypeSig, ThrowableSig permits SignaturesImpl.TypeVarSigImpl { @@ -271,7 +295,10 @@ public static TypeVarSig of(String identifier) { /** * Models the signature of an array type. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface ArrayTypeSig extends RefTypeSig permits SignaturesImpl.ArrayTypeSigImpl { @@ -304,7 +331,10 @@ public static ArrayTypeSig of(int dims, Signature componentSignature) { /** * Models a signature for a type parameter of a generic class or method. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface TypeParam permits SignaturesImpl.TypeParamImpl { @@ -346,7 +376,11 @@ public static TypeParam of(String identifier, Optional classBound, R /** * Models a signature for a throwable type. + * + * @sealedGraph + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface ThrowableSig extends Signature { } } diff --git a/src/java.base/share/classes/jdk/internal/classfile/Superclass.java b/src/java.base/share/classes/java/lang/classfile/Superclass.java similarity index 86% rename from src/java.base/share/classes/jdk/internal/classfile/Superclass.java rename to src/java.base/share/classes/java/lang/classfile/Superclass.java index f8ca2359b5cf2..70b18bb14d0e2 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/Superclass.java +++ b/src/java.base/share/classes/java/lang/classfile/Superclass.java @@ -22,15 +22,19 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; -import jdk.internal.classfile.constantpool.ClassEntry; +import java.lang.classfile.constantpool.ClassEntry; import jdk.internal.classfile.impl.SuperclassImpl; +import jdk.internal.javac.PreviewFeature; /** * Models the superclass of a class. Delivered as a {@link - * jdk.internal.classfile.ClassElement} when traversing a {@link ClassModel}. + * java.lang.classfile.ClassElement} when traversing a {@link ClassModel}. + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface Superclass extends ClassElement permits SuperclassImpl { diff --git a/src/java.base/share/classes/jdk/internal/classfile/TypeAnnotation.java b/src/java.base/share/classes/java/lang/classfile/TypeAnnotation.java similarity index 89% rename from src/java.base/share/classes/jdk/internal/classfile/TypeAnnotation.java rename to src/java.base/share/classes/java/lang/classfile/TypeAnnotation.java index 4b9c1f1bbc4bb..add1872f6412a 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/TypeAnnotation.java +++ b/src/java.base/share/classes/java/lang/classfile/TypeAnnotation.java @@ -23,54 +23,61 @@ * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.lang.constant.ClassDesc; import java.util.List; -import jdk.internal.classfile.attribute.RuntimeInvisibleTypeAnnotationsAttribute; -import jdk.internal.classfile.attribute.RuntimeVisibleTypeAnnotationsAttribute; -import jdk.internal.classfile.constantpool.Utf8Entry; +import java.lang.classfile.attribute.RuntimeInvisibleTypeAnnotationsAttribute; +import java.lang.classfile.attribute.RuntimeVisibleTypeAnnotationsAttribute; +import java.lang.classfile.constantpool.Utf8Entry; import jdk.internal.classfile.impl.TargetInfoImpl; import jdk.internal.classfile.impl.UnboundAttribute; -import static jdk.internal.classfile.Classfile.TAT_CAST; -import static jdk.internal.classfile.Classfile.TAT_CLASS_EXTENDS; -import static jdk.internal.classfile.Classfile.TAT_CLASS_TYPE_PARAMETER; -import static jdk.internal.classfile.Classfile.TAT_CLASS_TYPE_PARAMETER_BOUND; -import static jdk.internal.classfile.Classfile.TAT_CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT; -import static jdk.internal.classfile.Classfile.TAT_CONSTRUCTOR_REFERENCE; -import static jdk.internal.classfile.Classfile.TAT_CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT; -import static jdk.internal.classfile.Classfile.TAT_EXCEPTION_PARAMETER; -import static jdk.internal.classfile.Classfile.TAT_FIELD; -import static jdk.internal.classfile.Classfile.TAT_INSTANCEOF; -import static jdk.internal.classfile.Classfile.TAT_LOCAL_VARIABLE; -import static jdk.internal.classfile.Classfile.TAT_METHOD_FORMAL_PARAMETER; -import static jdk.internal.classfile.Classfile.TAT_METHOD_INVOCATION_TYPE_ARGUMENT; -import static jdk.internal.classfile.Classfile.TAT_METHOD_RECEIVER; -import static jdk.internal.classfile.Classfile.TAT_METHOD_REFERENCE; -import static jdk.internal.classfile.Classfile.TAT_METHOD_REFERENCE_TYPE_ARGUMENT; -import static jdk.internal.classfile.Classfile.TAT_METHOD_RETURN; -import static jdk.internal.classfile.Classfile.TAT_METHOD_TYPE_PARAMETER; -import static jdk.internal.classfile.Classfile.TAT_METHOD_TYPE_PARAMETER_BOUND; -import static jdk.internal.classfile.Classfile.TAT_NEW; -import static jdk.internal.classfile.Classfile.TAT_RESOURCE_VARIABLE; -import static jdk.internal.classfile.Classfile.TAT_THROWS; +import static java.lang.classfile.ClassFile.TAT_CAST; +import static java.lang.classfile.ClassFile.TAT_CLASS_EXTENDS; +import static java.lang.classfile.ClassFile.TAT_CLASS_TYPE_PARAMETER; +import static java.lang.classfile.ClassFile.TAT_CLASS_TYPE_PARAMETER_BOUND; +import static java.lang.classfile.ClassFile.TAT_CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT; +import static java.lang.classfile.ClassFile.TAT_CONSTRUCTOR_REFERENCE; +import static java.lang.classfile.ClassFile.TAT_CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT; +import static java.lang.classfile.ClassFile.TAT_EXCEPTION_PARAMETER; +import static java.lang.classfile.ClassFile.TAT_FIELD; +import static java.lang.classfile.ClassFile.TAT_INSTANCEOF; +import static java.lang.classfile.ClassFile.TAT_LOCAL_VARIABLE; +import static java.lang.classfile.ClassFile.TAT_METHOD_FORMAL_PARAMETER; +import static java.lang.classfile.ClassFile.TAT_METHOD_INVOCATION_TYPE_ARGUMENT; +import static java.lang.classfile.ClassFile.TAT_METHOD_RECEIVER; +import static java.lang.classfile.ClassFile.TAT_METHOD_REFERENCE; +import static java.lang.classfile.ClassFile.TAT_METHOD_REFERENCE_TYPE_ARGUMENT; +import static java.lang.classfile.ClassFile.TAT_METHOD_RETURN; +import static java.lang.classfile.ClassFile.TAT_METHOD_TYPE_PARAMETER; +import static java.lang.classfile.ClassFile.TAT_METHOD_TYPE_PARAMETER_BOUND; +import static java.lang.classfile.ClassFile.TAT_NEW; +import static java.lang.classfile.ClassFile.TAT_RESOURCE_VARIABLE; +import static java.lang.classfile.ClassFile.TAT_THROWS; import jdk.internal.classfile.impl.TemporaryConstantPool; +import jdk.internal.javac.PreviewFeature; /** * Models an annotation on a type use, as defined in {@jvms 4.7.19} and {@jvms 4.7.20}. * * @see RuntimeVisibleTypeAnnotationsAttribute * @see RuntimeInvisibleTypeAnnotationsAttribute + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface TypeAnnotation extends Annotation permits UnboundAttribute.UnboundTypeAnnotation { /** * The kind of target on which the annotation appears, as defined in {@jvms 4.7.20.1}. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public enum TargetType { /** For annotations on a class type parameter declaration. */ CLASS_TYPE_PARAMETER(TAT_CLASS_TYPE_PARAMETER, 1), @@ -228,7 +235,11 @@ static TypeAnnotation of(TargetInfo targetInfo, List targetPa /** * Specifies which type in a declaration or expression is being annotated. + * + * @sealedGraph + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface TargetInfo { /** @@ -392,9 +403,9 @@ static CatchTarget ofExceptionParameter(int exceptionTableIndex) { /** * {@return a target for annotations on the type in an instanceof expression or a new expression, * or the type before the :: in a method reference expression} - * {@param targetType {@link TargetType#INSTANCEOF}, {@link TargetType#NEW}, - * {@link TargetType#CONSTRUCTOR_REFERENCE}, - * or {@link TargetType#METHOD_REFERENCE}} + * @param targetType {@link TargetType#INSTANCEOF}, {@link TargetType#NEW}, + * {@link TargetType#CONSTRUCTOR_REFERENCE}, + * or {@link TargetType#METHOD_REFERENCE} * @param target the code label corresponding to the instruction */ static OffsetTarget ofOffset(TargetType targetType, Label target) { @@ -438,10 +449,10 @@ static OffsetTarget ofMethodReference(Label target) { * or on the i'th type argument in the explicit type argument list for any of the following: * a new expression, an explicit constructor invocation statement, a method invocation expression, * or a method reference expression} - * {@param targetType {@link TargetType#CAST}, {@link TargetType#CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT}, - * {@link TargetType#METHOD_INVOCATION_TYPE_ARGUMENT}, - * {@link TargetType#CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT}, - * or {@link TargetType#METHOD_REFERENCE_TYPE_ARGUMENT}} + * @param targetType {@link TargetType#CAST}, {@link TargetType#CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT}, + * {@link TargetType#METHOD_INVOCATION_TYPE_ARGUMENT}, + * {@link TargetType#CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT}, + * or {@link TargetType#METHOD_REFERENCE_TYPE_ARGUMENT} * @param target the code label corresponding to the instruction * @param typeArgumentIndex specifies which type in the cast operator or argument is annotated */ @@ -503,7 +514,10 @@ static TypeArgumentTarget ofMethodReferenceTypeArgument(Label target, int typeAr * Indicates that an annotation appears on the declaration of the i'th type * parameter of a generic class, generic interface, generic method, or * generic constructor. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface TypeParameterTarget extends TargetInfo permits TargetInfoImpl.TypeParameterTargetImpl { @@ -519,7 +533,10 @@ sealed interface TypeParameterTarget extends TargetInfo /** * Indicates that an annotation appears on a type in the extends or implements * clause of a class or interface declaration. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface SupertypeTarget extends TargetInfo permits TargetInfoImpl.SupertypeTargetImpl { @@ -540,7 +557,10 @@ sealed interface SupertypeTarget extends TargetInfo * Indicates that an annotation appears on the i'th bound of the j'th * type parameter declaration of a generic class, interface, method, or * constructor. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface TypeParameterBoundTarget extends TargetInfo permits TargetInfoImpl.TypeParameterBoundTargetImpl { @@ -563,7 +583,10 @@ sealed interface TypeParameterBoundTarget extends TargetInfo * Indicates that an annotation appears on either the type in a field * declaration, the return type of a method, the type of a newly constructed * object, or the receiver type of a method or constructor. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface EmptyTarget extends TargetInfo permits TargetInfoImpl.EmptyTargetImpl { } @@ -571,7 +594,10 @@ sealed interface EmptyTarget extends TargetInfo /** * Indicates that an annotation appears on the type in a formal parameter * declaration of a method, constructor, or lambda expression. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface FormalParameterTarget extends TargetInfo permits TargetInfoImpl.FormalParameterTargetImpl { @@ -587,7 +613,10 @@ sealed interface FormalParameterTarget extends TargetInfo /** * Indicates that an annotation appears on the i'th type in the throws * clause of a method or constructor declaration. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface ThrowsTarget extends TargetInfo permits TargetInfoImpl.ThrowsTargetImpl { @@ -596,7 +625,7 @@ sealed interface ThrowsTarget extends TargetInfo * Exceptions attribute of the method_info structure enclosing the * RuntimeVisibleTypeAnnotations attribute. * - * @return the index into the list jdk.internal.classfile.attribute.ExceptionsAttribute.exceptions() + * @return the index into the list java.lang.classfile.attribute.ExceptionsAttribute.exceptions() */ int throwsTargetIndex(); } @@ -604,12 +633,15 @@ sealed interface ThrowsTarget extends TargetInfo /** * Indicates that an annotation appears on the type in a local variable declaration, * including a variable declared as a resource in a try-with-resources statement. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface LocalVarTarget extends TargetInfo permits TargetInfoImpl.LocalVarTargetImpl { /** - * @return the table of local variable location/indices. + * {@return the table of local variable location/indices.} */ List table(); } @@ -618,7 +650,10 @@ sealed interface LocalVarTarget extends TargetInfo * Indicates a range of code array offsets within which a local variable * has a value, and the index into the local variable array of the current * frame at which that local variable can be found. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface LocalVarTargetInfo permits TargetInfoImpl.LocalVarTargetInfoImpl { @@ -662,7 +697,10 @@ static LocalVarTargetInfo of(Label startLabel, Label endLabel, int index) { /** * Indicates that an annotation appears on the i'th type in an exception parameter * declaration. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface CatchTarget extends TargetInfo permits TargetInfoImpl.CatchTargetImpl { @@ -678,7 +716,10 @@ sealed interface CatchTarget extends TargetInfo /** * Indicates that an annotation appears on either the type in an instanceof expression * or a new expression, or the type before the :: in a method reference expression. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface OffsetTarget extends TargetInfo permits TargetInfoImpl.OffsetTargetImpl { @@ -697,7 +738,10 @@ sealed interface OffsetTarget extends TargetInfo * expression, or on the i'th type argument in the explicit type argument list for any of the following: a new * expression, an explicit constructor invocation statement, a method invocation expression, or a method reference * expression. + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface TypeArgumentTarget extends TargetInfo permits TargetInfoImpl.TypeArgumentTargetImpl { @@ -730,13 +774,19 @@ sealed interface TypeArgumentTarget extends TargetInfo /** * JVMS: Type_path structure identifies which part of the type is annotated, * as defined in {@jvms 4.7.20.2} + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) sealed interface TypePathComponent permits UnboundAttribute.TypePathComponentImpl { /** * Type path kind, as defined in {@jvms 4.7.20.2} + * + * @since 22 */ + @PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public enum Kind { /** Annotation is deeper in an array type */ diff --git a/src/java.base/share/classes/jdk/internal/classfile/TypeKind.java b/src/java.base/share/classes/java/lang/classfile/TypeKind.java similarity index 97% rename from src/java.base/share/classes/jdk/internal/classfile/TypeKind.java rename to src/java.base/share/classes/java/lang/classfile/TypeKind.java index cc61c840dace3..bf2435f43ef0e 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/TypeKind.java +++ b/src/java.base/share/classes/java/lang/classfile/TypeKind.java @@ -23,13 +23,17 @@ * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; import java.lang.invoke.TypeDescriptor; +import jdk.internal.javac.PreviewFeature; /** * Describes the types that can be part of a field or method descriptor. + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public enum TypeKind { /** the primitive type byte */ ByteType("byte", "B", 8), diff --git a/src/java.base/share/classes/jdk/internal/classfile/WritableElement.java b/src/java.base/share/classes/java/lang/classfile/WritableElement.java similarity index 84% rename from src/java.base/share/classes/jdk/internal/classfile/WritableElement.java rename to src/java.base/share/classes/java/lang/classfile/WritableElement.java index 8e75f996accbd..9a4db4e370f4b 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/WritableElement.java +++ b/src/java.base/share/classes/java/lang/classfile/WritableElement.java @@ -22,20 +22,25 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile; +package java.lang.classfile; -import jdk.internal.classfile.constantpool.ConstantPoolBuilder; -import jdk.internal.classfile.constantpool.PoolEntry; +import java.lang.classfile.constantpool.ConstantPoolBuilder; +import java.lang.classfile.constantpool.PoolEntry; import jdk.internal.classfile.impl.DirectFieldBuilder; import jdk.internal.classfile.impl.DirectMethodBuilder; +import jdk.internal.javac.PreviewFeature; /** * A classfile element that can encode itself as a stream of bytes in the * encoding expected by the classfile format. * * @param the type of the entity + * + * @sealedGraph + * @since 22 */ -public sealed interface WritableElement extends ClassfileElement +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) +public sealed interface WritableElement extends ClassFileElement permits Annotation, AnnotationElement, AnnotationValue, Attribute, PoolEntry, BootstrapMethodEntry, FieldModel, MethodModel, ConstantPoolBuilder, DirectFieldBuilder, DirectMethodBuilder { diff --git a/src/java.base/share/classes/jdk/internal/classfile/attribute/AnnotationDefaultAttribute.java b/src/java.base/share/classes/java/lang/classfile/attribute/AnnotationDefaultAttribute.java similarity index 86% rename from src/java.base/share/classes/jdk/internal/classfile/attribute/AnnotationDefaultAttribute.java rename to src/java.base/share/classes/java/lang/classfile/attribute/AnnotationDefaultAttribute.java index 3a0842cc5f6f6..16149ff66c522 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/attribute/AnnotationDefaultAttribute.java +++ b/src/java.base/share/classes/java/lang/classfile/attribute/AnnotationDefaultAttribute.java @@ -23,14 +23,15 @@ * questions. */ -package jdk.internal.classfile.attribute; +package java.lang.classfile.attribute; -import jdk.internal.classfile.AnnotationValue; -import jdk.internal.classfile.Attribute; -import jdk.internal.classfile.MethodElement; -import jdk.internal.classfile.MethodModel; +import java.lang.classfile.AnnotationValue; +import java.lang.classfile.Attribute; +import java.lang.classfile.MethodElement; +import java.lang.classfile.MethodModel; import jdk.internal.classfile.impl.BoundAttribute; import jdk.internal.classfile.impl.UnboundAttribute; +import jdk.internal.javac.PreviewFeature; /** * Models the {@code AnnotationDefault} attribute {@jvms 4.7.22}, which can @@ -41,7 +42,12 @@ * The attribute does not permit multiple instances in a given location. * Subsequent occurrence of the attribute takes precedence during the attributed * element build or transformation. + *

+ * The attribute was introduced in the Java SE Platform version 5.0. + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface AnnotationDefaultAttribute extends Attribute, MethodElement permits BoundAttribute.BoundAnnotationDefaultAttr, diff --git a/src/java.base/share/classes/jdk/internal/classfile/attribute/BootstrapMethodsAttribute.java b/src/java.base/share/classes/java/lang/classfile/attribute/BootstrapMethodsAttribute.java similarity index 86% rename from src/java.base/share/classes/jdk/internal/classfile/attribute/BootstrapMethodsAttribute.java rename to src/java.base/share/classes/java/lang/classfile/attribute/BootstrapMethodsAttribute.java index 638043f0e0940..436a7f80b1c7f 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/attribute/BootstrapMethodsAttribute.java +++ b/src/java.base/share/classes/java/lang/classfile/attribute/BootstrapMethodsAttribute.java @@ -23,15 +23,16 @@ * questions. */ -package jdk.internal.classfile.attribute; +package java.lang.classfile.attribute; import java.util.List; -import jdk.internal.classfile.Attribute; -import jdk.internal.classfile.BootstrapMethodEntry; -import jdk.internal.classfile.constantpool.ConstantPool; +import java.lang.classfile.Attribute; +import java.lang.classfile.BootstrapMethodEntry; +import java.lang.classfile.constantpool.ConstantPool; import jdk.internal.classfile.impl.BoundAttribute; import jdk.internal.classfile.impl.UnboundAttribute; +import jdk.internal.javac.PreviewFeature; /** * Models the {@code BootstrapMethods} attribute {@jvms 4.7.23}, which serves as @@ -41,7 +42,12 @@ * The attribute does not permit multiple instances in a given location. * Subsequent occurrence of the attribute takes precedence during the attributed * element build or transformation. + *

+ * The attribute was introduced in the Java SE Platform version 7. + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface BootstrapMethodsAttribute extends Attribute permits BoundAttribute.BoundBootstrapMethodsAttribute, diff --git a/src/java.base/share/classes/jdk/internal/classfile/attribute/CharacterRangeInfo.java b/src/java.base/share/classes/java/lang/classfile/attribute/CharacterRangeInfo.java similarity index 88% rename from src/java.base/share/classes/jdk/internal/classfile/attribute/CharacterRangeInfo.java rename to src/java.base/share/classes/java/lang/classfile/attribute/CharacterRangeInfo.java index cf995ef6fea53..37abcb027132e 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/attribute/CharacterRangeInfo.java +++ b/src/java.base/share/classes/java/lang/classfile/attribute/CharacterRangeInfo.java @@ -22,13 +22,17 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package jdk.internal.classfile.attribute; +package java.lang.classfile.attribute; import jdk.internal.classfile.impl.UnboundAttribute; +import jdk.internal.javac.PreviewFeature; /** * Models a single character range in the {@link CharacterRangeTableAttribute}. + * + * @since 22 */ +@PreviewFeature(feature = PreviewFeature.Feature.CLASSFILE_API) public sealed interface CharacterRangeInfo permits UnboundAttribute.UnboundCharacterRangeInfo { @@ -66,17 +70,17 @@ public sealed interface CharacterRangeInfo * The value of the flags item describes the kind of range. Multiple flags * may be set within flags. *

*/ -public class PassFailJFrame { +public final class PassFailJFrame { private static final String TITLE = "Test Instruction Frame"; private static final long TEST_TIMEOUT = 5; @@ -277,12 +281,18 @@ private PassFailJFrame(Builder builder) throws InterruptedException, this(builder.title, builder.instructions, builder.testTimeOut, builder.rows, builder.columns, builder.screenCapture); - if (builder.windowCreator != null) { + if (builder.windowListCreator != null) { invokeOnEDT(() -> - builder.testWindows = builder.windowCreator.createTestUI()); + builder.testWindows = builder.windowListCreator.createTestUI()); + if (builder.testWindows == null) { + throw new IllegalStateException("Window list creator returned null list"); + } } if (builder.testWindows != null) { + if (builder.testWindows.isEmpty()) { + throw new IllegalStateException("Window list is empty"); + } addTestWindow(builder.testWindows); builder.testWindows .forEach(w -> w.addWindowListener(windowClosingHandler)); @@ -293,17 +303,15 @@ private PassFailJFrame(Builder builder) throws InterruptedException, builder.positionWindows .positionTestWindows(unmodifiableList(builder.testWindows), builder.instructionUIHandler); - - windowList.forEach(w -> w.setVisible(true)); }); } else if (builder.testWindows.size() == 1) { Window window = builder.testWindows.get(0); positionTestWindow(window, builder.position); - window.setVisible(true); } else { positionTestWindow(null, builder.position); } } + showAllWindows(); } /** @@ -369,7 +377,7 @@ private static void createUI(String title, String instructions, frame.add(buttonsPanel, BorderLayout.SOUTH); frame.pack(); frame.setLocationRelativeTo(null); - windowList.add(frame); + addTestWindow(frame); } private static JTextComponent configurePlainText(String instructions, @@ -400,14 +408,27 @@ private static JTextComponent configureHTML(String instructions, /** - * Creates one or more windows for test UI. + * Creates a test UI window. */ @FunctionalInterface public interface WindowCreator { + /** + * Creates a window for test UI. + * This method is called by the framework on the EDT. + * @return a test UI window + */ + Window createTestUI(); + } + + /** + * Creates a list of test UI windows. + */ + @FunctionalInterface + public interface WindowListCreator { /** * Creates one or more windows for test UI. * This method is called by the framework on the EDT. - * @return a list of windows. + * @return a list of test UI windows */ List createTestUI(); } @@ -423,8 +444,13 @@ public interface PositionWindows { * the instruction UI frame was positioned on the screen. *

* The list of the test windows contains the windows - * that were passed to the framework via - * {@link Builder#testUI(WindowCreator) testUI} method. + * that were passed to the framework via the + * {@link Builder#testUI(Window...) testUI(Window...)} method or + * that were created with {@code WindowCreator} + * or {@code WindowListCreator} which were passed via + * {@link Builder#testUI(WindowCreator) testUI(WindowCreator)} or + * {@link Builder#testUI(WindowListCreator) testUI(WindowListCreator)} + * correspondingly. * * @param testWindows the list of test windows * @param instructionUI information about the instruction frame @@ -859,6 +885,29 @@ public static synchronized void addTestWindow(Collection testW windowList.addAll(testWindows); } + /** + * Displays all the windows in {@code windowList}. + * + * @throws InterruptedException if the thread is interrupted while + * waiting for the event dispatch thread to finish running + * the {@link #showUI() showUI} + * @throws InvocationTargetException if an exception is thrown while + * the event dispatch thread executes {@code showUI} + */ + private static void showAllWindows() + throws InterruptedException, InvocationTargetException { + invokeOnEDT(PassFailJFrame::showUI); + } + + /** + * Displays all the windows in {@code windowList}; it has to be called on + * the EDT — use {@link #showAllWindows() showAllWindows} to ensure it. + */ + private static synchronized void showUI() { + windowList.forEach(w -> w.setVisible(true)); + } + + /** * Forcibly pass the test. *

The sample usage: @@ -900,7 +949,7 @@ public static final class Builder { private boolean screenCapture; private List testWindows; - private WindowCreator windowCreator; + private WindowListCreator windowListCreator; private PositionWindows positionWindows; private InstructionUI instructionUIHandler; @@ -936,39 +985,109 @@ public Builder screenCapture() { return this; } + /** + * Adds a {@code WindowCreator} which the framework will use + * to create the test UI window. + * + * @param windowCreator a {@code WindowCreator} + * to create the test UI window + * @return this builder + * @throws IllegalArgumentException if {@code windowCreator} is {@code null} + * @throws IllegalStateException if a window creator + * or a list of test windows is already set + */ + public Builder testUI(WindowCreator windowCreator) { + if (windowCreator == null) { + throw new IllegalArgumentException("The window creator can't be null"); + } + + checkWindowsLists(); + + this.windowListCreator = () -> List.of(windowCreator.createTestUI()); + return this; + } + + /** + * Adds a {@code WindowListCreator} which the framework will use + * to create a list of test UI windows. + * + * @param windowListCreator a {@code WindowListCreator} + * to create test UI windows + * @return this builder + * @throws IllegalArgumentException if {@code windowListCreator} is {@code null} + * @throws IllegalStateException if a window creator + * or a list of test windows is already set + */ + public Builder testUI(WindowListCreator windowListCreator) { + if (windowListCreator == null) { + throw new IllegalArgumentException("The window list creator can't be null"); + } + + checkWindowsLists(); + + this.windowListCreator = windowListCreator; + return this; + } + + /** + * Adds an already created test UI window. + * The window is positioned and shown automatically. + * + * @param window a test UI window + * @return this builder + */ public Builder testUI(Window window) { return testUI(List.of(window)); } + /** + * Adds an array of already created test UI windows. + * + * @param windows an array of test UI windows + * @return this builder + */ public Builder testUI(Window... windows) { return testUI(List.of(windows)); } - public Builder testUI(List windows) { + /** + * Adds a list of already created test UI windows. + * + * @param windows a list of test UI windows + * @return this builder + * @throws IllegalArgumentException if {@code windows} is {@code null} + * or the list contains {@code null} + * @throws IllegalStateException if a window creator + * or a list of test windows is already set + */ + public Builder testUI(List windows) { if (windows == null) { throw new IllegalArgumentException("The list of windows can't be null"); } if (windows.stream() .anyMatch(Objects::isNull)) { - throw new IllegalArgumentException("The windows list can't contain null"); + throw new IllegalArgumentException("The list of windows can't contain null"); } - if (windowCreator != null) { - throw new IllegalStateException("windowCreator is already set"); - } + checkWindowsLists(); + this.testWindows = windows; return this; } - public Builder testUI(WindowCreator windowCreator) { - if (windowCreator == null) { - throw new IllegalArgumentException("The window creator can't be null"); + /** + * Verifies the state of window list and window creator. + * + * @throws IllegalStateException if a windows list creator + * or a list of test windows is already set + */ + private void checkWindowsLists() { + if (windowListCreator != null) { + throw new IllegalStateException("Window list creator is already set"); } if (testWindows != null) { - throw new IllegalStateException("testWindows are already set"); + throw new IllegalStateException("The list of test windows is already set"); } - this.windowCreator = windowCreator; - return this; } public Builder positionTestUI(PositionWindows positionWindows) { @@ -1010,13 +1129,13 @@ private void validate() { } if (position == null - && (testWindows != null || windowCreator != null)) { + && (testWindows != null || windowListCreator != null)) { position = Position.HORIZONTAL; } if (positionWindows != null) { - if (testWindows == null && windowCreator == null) { + if (testWindows == null && windowListCreator == null) { throw new IllegalStateException("To position windows, " + "provide an a list of windows to the builder"); } From 18c7922781536366be93b2478251e32e261d06bb Mon Sep 17 00:00:00 2001 From: Jan Lahoda Date: Tue, 5 Dec 2023 17:24:48 +0000 Subject: [PATCH 088/143] 8321224: ct.sym for JDK 22 contains references to internal modules Reviewed-by: darcy, vromero, asotona, ihse --- .../tools/symbolgenerator/CreateSymbols.java | 299 +- make/modules/jdk.compiler/Gendata.gmk | 7 +- .../share/data/symbols/java.base-H.sym.txt | 781 ++--- .../share/data/symbols/java.base-I.sym.txt | 518 +-- .../share/data/symbols/java.base-J.sym.txt | 3086 ++++++++++++++--- .../share/data/symbols/java.base-K.sym.txt | 965 ++---- .../share/data/symbols/java.base-L.sym.txt | 1049 +++--- .../data/symbols/java.compiler-H.sym.txt | 55 +- .../data/symbols/java.compiler-I.sym.txt | 56 +- .../data/symbols/java.compiler-J.sym.txt | 56 +- .../data/symbols/java.compiler-K.sym.txt | 56 +- .../data/symbols/java.compiler-L.sym.txt | 54 - .../data/symbols/java.datatransfer-H.sym.txt | 8 +- .../data/symbols/java.datatransfer-I.sym.txt | 36 - .../data/symbols/java.datatransfer-J.sym.txt | 36 - .../data/symbols/java.datatransfer-K.sym.txt | 36 - .../data/symbols/java.datatransfer-L.sym.txt | 36 - .../share/data/symbols/java.desktop-H.sym.txt | 800 +---- .../share/data/symbols/java.desktop-I.sym.txt | 800 +---- .../share/data/symbols/java.desktop-J.sym.txt | 808 +---- .../share/data/symbols/java.desktop-K.sym.txt | 832 +---- .../share/data/symbols/java.desktop-L.sym.txt | 824 ----- .../data/symbols/java.instrument-H.sym.txt | 31 - .../data/symbols/java.instrument-I.sym.txt | 31 - .../data/symbols/java.instrument-J.sym.txt | 31 - .../data/symbols/java.instrument-K.sym.txt | 31 - .../data/symbols/java.instrument-L.sym.txt | 31 - .../share/data/symbols/java.logging-H.sym.txt | 29 +- .../share/data/symbols/java.logging-I.sym.txt | 55 - .../share/data/symbols/java.logging-J.sym.txt | 55 - .../share/data/symbols/java.logging-K.sym.txt | 55 - .../share/data/symbols/java.logging-L.sym.txt | 21 - .../data/symbols/java.management-H.sym.txt | 240 +- .../data/symbols/java.management-I.sym.txt | 240 +- .../data/symbols/java.management-J.sym.txt | 240 +- .../data/symbols/java.management-K.sym.txt | 235 +- .../data/symbols/java.management-L.sym.txt | 233 -- .../symbols/java.management.rmi-H.sym.txt | 39 - .../symbols/java.management.rmi-I.sym.txt | 39 - .../symbols/java.management.rmi-J.sym.txt | 39 - .../symbols/java.management.rmi-K.sym.txt | 39 - .../symbols/java.management.rmi-L.sym.txt | 8 - .../share/data/symbols/java.naming-H.sym.txt | 50 +- .../share/data/symbols/java.naming-I.sym.txt | 76 - .../share/data/symbols/java.naming-J.sym.txt | 76 - .../share/data/symbols/java.naming-K.sym.txt | 50 +- .../share/data/symbols/java.naming-L.sym.txt | 76 - .../share/data/symbols/java.rmi-H.sym.txt | 26 +- .../share/data/symbols/java.rmi-I.sym.txt | 52 - .../share/data/symbols/java.rmi-J.sym.txt | 52 - .../share/data/symbols/java.rmi-K.sym.txt | 52 - .../share/data/symbols/java.rmi-L.sym.txt | 52 - .../data/symbols/java.scripting-H.sym.txt | 32 - .../data/symbols/java.scripting-I.sym.txt | 32 - .../data/symbols/java.scripting-J.sym.txt | 32 - .../data/symbols/java.scripting-K.sym.txt | 32 - .../data/symbols/java.scripting-L.sym.txt | 32 - .../data/symbols/java.security.jgss-H.sym.txt | 69 - .../data/symbols/java.security.jgss-I.sym.txt | 69 - .../data/symbols/java.security.jgss-J.sym.txt | 69 - .../data/symbols/java.security.jgss-K.sym.txt | 69 - .../data/symbols/java.security.jgss-L.sym.txt | 69 - .../data/symbols/java.security.sasl-H.sym.txt | 32 - .../data/symbols/java.security.sasl-I.sym.txt | 32 - .../data/symbols/java.security.sasl-J.sym.txt | 32 - .../data/symbols/java.security.sasl-K.sym.txt | 32 - .../data/symbols/java.security.sasl-L.sym.txt | 32 - .../data/symbols/java.smartcardio-H.sym.txt | 62 - .../data/symbols/java.smartcardio-I.sym.txt | 62 - .../data/symbols/java.smartcardio-J.sym.txt | 62 - .../data/symbols/java.smartcardio-K.sym.txt | 62 - .../data/symbols/java.smartcardio-L.sym.txt | 62 - .../share/data/symbols/java.sql-H.sym.txt | 60 - .../share/data/symbols/java.sql-I.sym.txt | 60 - .../share/data/symbols/java.sql-J.sym.txt | 60 - .../share/data/symbols/java.sql-K.sym.txt | 60 - .../share/data/symbols/java.sql-L.sym.txt | 60 - .../data/symbols/java.sql.rowset-H.sym.txt | 69 - .../data/symbols/java.sql.rowset-I.sym.txt | 69 - .../data/symbols/java.sql.rowset-J.sym.txt | 69 - .../data/symbols/java.sql.rowset-K.sym.txt | 43 +- .../data/symbols/java.sql.rowset-L.sym.txt | 69 - .../share/data/symbols/java.xml-H.sym.txt | 150 - .../share/data/symbols/java.xml-I.sym.txt | 122 +- .../share/data/symbols/java.xml-J.sym.txt | 150 - .../share/data/symbols/java.xml-K.sym.txt | 150 - .../share/data/symbols/java.xml-L.sym.txt | 150 - .../data/symbols/java.xml.crypto-H.sym.txt | 20 +- .../data/symbols/java.xml.crypto-I.sym.txt | 46 - .../data/symbols/java.xml.crypto-J.sym.txt | 46 - .../data/symbols/java.xml.crypto-K.sym.txt | 46 - .../data/symbols/java.xml.crypto-L.sym.txt | 18 - .../data/symbols/jdk.accessibility-H.sym.txt | 44 - .../data/symbols/jdk.accessibility-I.sym.txt | 18 +- .../data/symbols/jdk.accessibility-J.sym.txt | 44 - .../data/symbols/jdk.accessibility-K.sym.txt | 44 - .../data/symbols/jdk.accessibility-L.sym.txt | 44 - .../share/data/symbols/jdk.attach-H.sym.txt | 55 - .../share/data/symbols/jdk.attach-I.sym.txt | 55 - .../share/data/symbols/jdk.attach-J.sym.txt | 55 - .../share/data/symbols/jdk.attach-K.sym.txt | 55 - .../share/data/symbols/jdk.attach-L.sym.txt | 55 - .../share/data/symbols/jdk.compiler-H.sym.txt | 327 +- .../share/data/symbols/jdk.compiler-I.sym.txt | 327 +- .../share/data/symbols/jdk.compiler-J.sym.txt | 331 +- .../share/data/symbols/jdk.compiler-K.sym.txt | 325 +- .../share/data/symbols/jdk.compiler-L.sym.txt | 319 -- .../share/data/symbols/jdk.dynalink-H.sym.txt | 136 - .../share/data/symbols/jdk.dynalink-I.sym.txt | 136 - .../share/data/symbols/jdk.dynalink-J.sym.txt | 136 - .../share/data/symbols/jdk.dynalink-K.sym.txt | 136 - .../share/data/symbols/jdk.dynalink-L.sym.txt | 136 - .../data/symbols/jdk.httpserver-H.sym.txt | 34 +- .../data/symbols/jdk.httpserver-I.sym.txt | 21 +- .../data/symbols/jdk.httpserver-J.sym.txt | 47 - .../data/symbols/jdk.httpserver-K.sym.txt | 47 - .../data/symbols/jdk.httpserver-L.sym.txt | 47 - .../symbols/jdk.incubator.foreign-H.sym.txt | 409 ++- .../symbols/jdk.incubator.foreign-I.sym.txt | 555 ++- .../symbols/jdk.incubator.foreign-J.sym.txt | 676 +++- .../symbols/jdk.incubator.foreign-K.sym.txt | 542 +++ .../symbols/jdk.incubator.foreign-L.sym.txt | 237 ++ .../share/data/symbols/jdk.jartool-H.sym.txt | 31 - .../share/data/symbols/jdk.jartool-I.sym.txt | 31 - .../share/data/symbols/jdk.jartool-J.sym.txt | 31 - .../share/data/symbols/jdk.jartool-K.sym.txt | 5 +- .../share/data/symbols/jdk.jartool-L.sym.txt | 3 - .../share/data/symbols/jdk.javadoc-H.sym.txt | 6 +- .../share/data/symbols/jdk.javadoc-I.sym.txt | 8 +- .../share/data/symbols/jdk.javadoc-J.sym.txt | 36 - .../share/data/symbols/jdk.javadoc-K.sym.txt | 36 - .../share/data/symbols/jdk.javadoc-L.sym.txt | 8 - .../share/data/symbols/jdk.jconsole-H.sym.txt | 31 - .../share/data/symbols/jdk.jconsole-I.sym.txt | 31 - .../share/data/symbols/jdk.jconsole-J.sym.txt | 31 - .../share/data/symbols/jdk.jconsole-K.sym.txt | 31 - .../share/data/symbols/jdk.jconsole-L.sym.txt | 31 - .../share/data/symbols/jdk.jdi-H.sym.txt | 395 --- .../share/data/symbols/jdk.jdi-I.sym.txt | 395 --- .../share/data/symbols/jdk.jdi-J.sym.txt | 362 +- .../share/data/symbols/jdk.jdi-K.sym.txt | 395 --- .../share/data/symbols/jdk.jdi-L.sym.txt | 361 -- .../share/data/symbols/jdk.jfr-J.sym.txt | 4 +- .../share/data/symbols/jdk.jfr-K.sym.txt | 5 +- .../share/data/symbols/jdk.jfr-L.sym.txt | 3 - .../share/data/symbols/jdk.jshell-H.sym.txt | 80 +- .../share/data/symbols/jdk.jshell-I.sym.txt | 108 - .../share/data/symbols/jdk.jshell-J.sym.txt | 82 +- .../share/data/symbols/jdk.jshell-K.sym.txt | 82 +- .../share/data/symbols/jdk.jshell-L.sym.txt | 78 - .../share/data/symbols/jdk.jsobject-H.sym.txt | 31 - .../share/data/symbols/jdk.jsobject-I.sym.txt | 31 - .../share/data/symbols/jdk.jsobject-J.sym.txt | 31 - .../share/data/symbols/jdk.jsobject-K.sym.txt | 31 - .../share/data/symbols/jdk.jsobject-L.sym.txt | 31 - .../data/symbols/jdk.management-H.sym.txt | 49 - .../data/symbols/jdk.management-I.sym.txt | 49 - .../data/symbols/jdk.management-J.sym.txt | 20 +- .../data/symbols/jdk.management-K.sym.txt | 46 - .../data/symbols/jdk.management-L.sym.txt | 16 - .../share/data/symbols/jdk.net-H.sym.txt | 31 - .../share/data/symbols/jdk.net-I.sym.txt | 31 - .../share/data/symbols/jdk.net-J.sym.txt | 5 +- .../share/data/symbols/jdk.net-K.sym.txt | 31 - .../share/data/symbols/jdk.net-L.sym.txt | 31 - .../share/data/symbols/jdk.sctp-H.sym.txt | 73 - .../share/data/symbols/jdk.sctp-I.sym.txt | 73 - .../share/data/symbols/jdk.sctp-J.sym.txt | 73 - .../share/data/symbols/jdk.sctp-K.sym.txt | 73 - .../share/data/symbols/jdk.sctp-L.sym.txt | 45 - .../data/symbols/jdk.security.auth-H.sym.txt | 106 - .../data/symbols/jdk.security.auth-I.sym.txt | 106 - .../data/symbols/jdk.security.auth-J.sym.txt | 106 - .../data/symbols/jdk.security.auth-K.sym.txt | 106 - .../data/symbols/jdk.security.auth-L.sym.txt | 106 - .../data/symbols/jdk.security.jgss-H.sym.txt | 19 +- .../data/symbols/jdk.security.jgss-I.sym.txt | 47 - .../data/symbols/jdk.security.jgss-J.sym.txt | 47 - .../data/symbols/jdk.security.jgss-K.sym.txt | 47 - .../data/symbols/jdk.security.jgss-L.sym.txt | 47 - .../data/symbols/jdk.unsupported-H.sym.txt | 22 +- .../data/symbols/jdk.unsupported-I.sym.txt | 22 +- .../data/symbols/jdk.unsupported-J.sym.txt | 48 - .../data/symbols/jdk.unsupported-K.sym.txt | 48 - .../data/symbols/jdk.unsupported-L.sym.txt | 16 - .../share/data/symbols/jdk.xml.dom-H.sym.txt | 295 -- .../share/data/symbols/jdk.xml.dom-I.sym.txt | 295 -- .../share/data/symbols/jdk.xml.dom-J.sym.txt | 295 -- .../share/data/symbols/jdk.xml.dom-K.sym.txt | 295 -- .../share/data/symbols/jdk.xml.dom-L.sym.txt | 295 -- src/jdk.compiler/share/data/symbols/symbols | 10 +- .../platform/CanHandleClassFilesTest.java | 5 +- .../createsymbols/CreateSymbolsTestImpl.java | 15 +- .../tools/javac/sym/PrintCTSymContent.java | 117 + 194 files changed, 6614 insertions(+), 20769 deletions(-) delete mode 100644 src/jdk.compiler/share/data/symbols/java.datatransfer-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.datatransfer-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.datatransfer-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.datatransfer-L.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.instrument-H.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.instrument-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.instrument-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.instrument-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.instrument-L.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.logging-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.logging-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.logging-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.management.rmi-H.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.management.rmi-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.management.rmi-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.management.rmi-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.naming-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.naming-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.naming-L.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.rmi-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.rmi-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.rmi-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.rmi-L.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.scripting-H.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.scripting-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.scripting-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.scripting-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.scripting-L.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.security.jgss-H.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.security.jgss-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.security.jgss-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.security.jgss-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.security.jgss-L.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.security.sasl-H.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.security.sasl-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.security.sasl-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.security.sasl-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.security.sasl-L.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.smartcardio-H.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.smartcardio-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.smartcardio-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.smartcardio-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.smartcardio-L.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.sql-H.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.sql-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.sql-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.sql-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.sql-L.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.sql.rowset-H.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.sql.rowset-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.sql.rowset-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.sql.rowset-L.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.xml-H.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.xml-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.xml-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.xml-L.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.xml.crypto-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.xml.crypto-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/java.xml.crypto-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.accessibility-H.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.accessibility-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.accessibility-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.accessibility-L.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.attach-H.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.attach-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.attach-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.attach-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.attach-L.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.dynalink-H.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.dynalink-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.dynalink-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.dynalink-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.dynalink-L.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.httpserver-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.httpserver-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.httpserver-L.sym.txt create mode 100644 src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-K.sym.txt create mode 100644 src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-L.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.jartool-H.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.jartool-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.jartool-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.javadoc-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.javadoc-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.jconsole-H.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.jconsole-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.jconsole-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.jconsole-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.jconsole-L.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.jdi-H.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.jdi-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.jdi-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.jshell-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.jsobject-H.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.jsobject-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.jsobject-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.jsobject-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.jsobject-L.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.management-H.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.management-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.management-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.net-H.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.net-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.net-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.net-L.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.sctp-H.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.sctp-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.sctp-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.sctp-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.security.auth-H.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.security.auth-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.security.auth-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.security.auth-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.security.auth-L.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.security.jgss-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.security.jgss-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.security.jgss-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.security.jgss-L.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.unsupported-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.unsupported-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.xml.dom-H.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.xml.dom-I.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.xml.dom-J.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.xml.dom-K.sym.txt delete mode 100644 src/jdk.compiler/share/data/symbols/jdk.xml.dom-L.sym.txt create mode 100644 test/langtools/tools/javac/sym/PrintCTSymContent.java diff --git a/make/langtools/src/classes/build/tools/symbolgenerator/CreateSymbols.java b/make/langtools/src/classes/build/tools/symbolgenerator/CreateSymbols.java index 860a96f2b677d..154810e20f2d2 100644 --- a/make/langtools/src/classes/build/tools/symbolgenerator/CreateSymbols.java +++ b/make/langtools/src/classes/build/tools/symbolgenerator/CreateSymbols.java @@ -230,7 +230,8 @@ public class CreateSymbols { */ @SuppressWarnings("unchecked") public void createSymbols(String ctDescriptionFileExtra, String ctDescriptionFile, String ctSymLocation, - long timestamp, String currentVersion, String preReleaseTag, String moduleClasses) throws IOException { + long timestamp, String currentVersion, String preReleaseTag, String moduleClasses, + String includedModulesFile) throws IOException { LoadDescriptions data = load(ctDescriptionFileExtra != null ? Paths.get(ctDescriptionFileExtra) : null, Paths.get(ctDescriptionFile)); @@ -246,8 +247,12 @@ public void createSymbols(String ctDescriptionFileExtra, String ctDescriptionFil //load current version classes: Path moduleClassPath = Paths.get(moduleClasses); + Set includedModules = Files.lines(Paths.get(includedModulesFile)) + .flatMap(l -> Arrays.stream(l.split(" "))) + .collect(Collectors.toSet()); - loadVersionClassesFromDirectory(data.classes, data.modules, moduleClassPath, currentVersion, previousVersion); + loadVersionClassesFromDirectory(data.classes, data.modules, moduleClassPath, + includedModules, currentVersion, previousVersion); stripNonExistentAnnotations(data); splitHeaders(data.classes); @@ -1540,7 +1545,7 @@ private void loadVersionClasses(ClassList classes, } ClassList currentVersionClasses = new ClassList(); - Map extraModulesPackagesToDerive = new HashMap<>(); + Map> extraModulesPackagesToDerive = new HashMap<>(); for (byte[] classFileData : classData) { try (InputStream in = new ByteArrayInputStream(classFileData)) { @@ -1557,7 +1562,8 @@ private void loadVersionClasses(ClassList classes, if (!currentEIList.accepts(permittedClassName, false)) { String permittedPack = permittedClassName.substring(0, permittedClassName.lastIndexOf('/')); - extraModulesPackagesToDerive.put(permittedPack, currentPack); + extraModulesPackagesToDerive.computeIfAbsent(permittedPack, x -> new HashSet<>()) + .add(currentPack); } } } catch (ConstantPoolException ex) { @@ -1576,15 +1582,18 @@ private void loadVersionClasses(ClassList classes, do { modified = false; - for (Iterator> it = extraModulesPackagesToDerive.entrySet().iterator(); it.hasNext();) { - Entry e = it.next(); - Optional module = currentVersionModules.values().stream().map(md -> md.header.get(0)).filter(d -> containsPackage(d, e.getValue())).findAny(); - if (module.isPresent()) { - if (!module.get().extraModulePackages.contains(e.getKey())) { - module.get().extraModulePackages.add(e.getKey()); + for (Iterator>> it = extraModulesPackagesToDerive.entrySet().iterator(); it.hasNext();) { + Entry> e = it.next(); + for (String basePackage : e.getValue()) { + Optional module = currentVersionModules.values().stream().map(md -> md.header.get(0)).filter(d -> containsPackage(d, basePackage)).findAny(); + if (module.isPresent()) { + if (!module.get().extraModulePackages.contains(e.getKey())) { + module.get().extraModulePackages.add(e.getKey()); + } + it.remove(); + modified = true; + break; } - it.remove(); - modified = true; } } } while (modified); @@ -1604,6 +1613,7 @@ private boolean containsPackage(ModuleHeaderDescription module, String pack) { private void loadVersionClassesFromDirectory(ClassList classes, Map modules, Path modulesDirectory, + Set includedModules, String version, String baseline) { Map currentVersionModules = @@ -1621,6 +1631,10 @@ private void loadVersionClassesFromDirectory(ClassList classes, try (DirectoryStream ds = Files.newDirectoryStream(modulesDirectory)) { for (Path p : ds) { + if (!includedModules.contains(p.getFileName().toString())) { + continue; + } + Path moduleInfo = p.resolve("module-info.class"); if (Files.isReadable(moduleInfo)) { @@ -1646,6 +1660,10 @@ private void loadVersionClassesFromDirectory(ClassList classes, includes.add(dir); pendingExportedDirectories.add(p.resolve(dir)); } + } else { + throw new IllegalArgumentException("Included module: " + + p.getFileName() + + " does not have a module-info.class"); } } } @@ -1735,41 +1753,67 @@ private void finishClassLoading(ClassList classes, Map includedClasses = new HashSet<>(); + Map> package2ModulesUsingIt = new HashMap<>(); + Map package2Module = new HashMap<>(); + currentVersionModules.values() + .forEach(md -> { + md.header.get(0).allPackages().forEach(pack -> { + package2Module.put(pack, md.name); + }); + }); boolean modified; do { modified = false; for (ClassDescription clazz : currentVersionClasses) { + Set thisClassIncludedClasses = new HashSet<>(); ClassHeaderDescription header = clazz.header.get(0); if (includeEffectiveAccess(currentVersionClasses, clazz) && currentEIList.accepts(clazz.name, false)) { - modified |= include(includedClasses, currentVersionClasses, clazz.name); + include(thisClassIncludedClasses, currentVersionClasses, clazz.name); } if (includedClasses.contains(clazz.name)) { - modified |= include(includedClasses, currentVersionClasses, header.extendsAttr); + include(thisClassIncludedClasses, currentVersionClasses, header.extendsAttr); for (String i : header.implementsAttr) { - modified |= include(includedClasses, currentVersionClasses, i); + include(thisClassIncludedClasses, currentVersionClasses, i); } if (header.permittedSubclasses != null) { for (String i : header.permittedSubclasses) { - modified |= include(includedClasses, currentVersionClasses, i); + include(thisClassIncludedClasses, currentVersionClasses, i); } } - modified |= includeOutputType(Collections.singleton(header), - h -> "", - includedClasses, - currentVersionClasses); - modified |= includeOutputType(clazz.fields, - f -> f.descriptor, - includedClasses, - currentVersionClasses); - modified |= includeOutputType(clazz.methods, - m -> m.descriptor, - includedClasses, - currentVersionClasses); + includeOutputType(Collections.singleton(header), + h -> "", + thisClassIncludedClasses, + currentVersionClasses); + includeOutputType(clazz.fields, + f -> f.descriptor, + thisClassIncludedClasses, + currentVersionClasses); + includeOutputType(clazz.methods, + m -> m.descriptor, + thisClassIncludedClasses, + currentVersionClasses); + } + + if (includedClasses.addAll(thisClassIncludedClasses)) { + modified |= true; + } + + for (String includedClass : thisClassIncludedClasses) { + int lastSlash = includedClass.lastIndexOf('/'); + String pack; + if (lastSlash != (-1)) { + pack = includedClass.substring(0, lastSlash) + .replace('.', '/'); + } else { + pack = ""; + } + package2ModulesUsingIt.computeIfAbsent(pack, p -> new HashSet<>()) + .add(package2Module.get(clazz.packge())); } } } while (modified); @@ -1834,8 +1878,24 @@ private void finishClassLoading(ClassList classes, Map ed.isQualified() && - !allIncludedPackages.contains(ed.packageName())); + for (Iterator it = header.exports.iterator(); it.hasNext();) { + ExportsDescription ed = it.next(); + + if (!ed.isQualified()) { + continue; + } + + Set usingModules = package2ModulesUsingIt.getOrDefault(ed.packageName(), Set.of()); + + ed.to.retainAll(usingModules); + + if (ed.to.isEmpty()) { + it.remove(); + if (allIncludedPackages.contains(ed.packageName())) { + header.extraModulePackages.add(ed.packageName()); + } + } + } if (header.extraModulePackages != null) { header.extraModulePackages.retainAll(allIncludedPackages); @@ -1872,17 +1932,7 @@ private void dumpDescriptions(ClassList classes, md.header .stream() .filter(h -> h.versions.contains(v.version)) - .flatMap(h -> { - List packages = new ArrayList<>(); - h.exports.stream() - .map(ExportsDescription::packageName) - .forEach(packages::add); - if (h.extraModulePackages != null) { - packages.addAll(h.extraModulePackages); - } - return packages.stream(); - }) - .map(p -> p.replace('/', '.')) + .flatMap(ModuleHeaderDescription::allPackages) .forEach(p -> package2Modules.putIfAbsent(p, md.name)); } }); @@ -2041,7 +2091,9 @@ private void incrementalUpdate(String ctDescriptionFile, ExcludeIncludeList excludeList = ExcludeIncludeList.create(excludeFile); - loadVersionClasses(classes, modules, classBytes, excludeList, "$", version); + String computedBaseline = baseline.apply(data); + + loadVersionClasses(classes, modules, classBytes, excludeList, "$", computedBaseline); removeVersion(data, version); @@ -2064,14 +2116,14 @@ private void incrementalUpdate(String ctDescriptionFile, } if (versions.stream().noneMatch(inp -> version.equals(inp.version))) { - versions.add(new PlatformInput(null, version, baseline.apply(data), null)); + versions.add(new PlatformInput(null, version, computedBaseline, null)); } Set writeVersions = new HashSet<>(); writeVersions.add(version); - //re-write all platforms that have version as their basline: + //re-write all platforms that have version as their baseline: versions.stream() .filter(inp -> version.equals(inp.basePlatform)) .map(inp -> inp.version) @@ -2091,53 +2143,66 @@ public void createIncrementalBaseLineFromDataFile(String ctDescriptionFile, public void createIncrementalBaseLine(String ctDescriptionFile, String excludeFile, String[] args) throws IOException { - String specVersion = System.getProperty("java.specification.version"); + String platformVersion = System.getProperty("java.specification.version"); + String currentVersion = + Integer.toString(Integer.parseInt(platformVersion), Character.MAX_RADIX); + String version = currentVersion.toUpperCase(Locale.ROOT); Iterable classBytes = dumpCurrentClasses(); Function baseline = data -> { if (data.versions.isEmpty()) { return null; } else { return data.versions.stream() + .filter(v -> v.version.compareTo(version) < 0) .sorted((v1, v2) -> v2.version.compareTo(v1.version)) .findFirst() .get() .version; } }; - incrementalUpdate(ctDescriptionFile, excludeFile, specVersion, classBytes, baseline, args); + incrementalUpdate(ctDescriptionFile, excludeFile, platformVersion, classBytes, baseline, args); } private List dumpCurrentClasses() throws IOException { - JavacTool tool = JavacTool.create(); - Context ctx = new Context(); + Set includedModuleNames = new HashSet<>(); String version = System.getProperty("java.specification.version"); - JavacTask task = tool.getTask(null, null, null, - List.of("--release", version), - null, null, ctx); - task.getElements().getTypeElement("java.lang.Object"); - JavaFileManager fm = ctx.get(JavaFileManager.class); + JavaFileManager moduleFM = setupJavac("--release", version); - List data = new ArrayList<>(); for (Location modLoc : LOCATIONS) { for (Set module : - fm.listLocationsForModules(modLoc)) { + moduleFM.listLocationsForModules(modLoc)) { for (JavaFileManager.Location loc : module) { - Iterable files = - fm.list(loc, - "", - EnumSet.of(Kind.CLASS), - true); - - for (JavaFileObject jfo : files) { - try (InputStream is = jfo.openInputStream(); - InputStream in = - new BufferedInputStream(is)) { - ByteArrayOutputStream baos = - new ByteArrayOutputStream(); - - in.transferTo(baos); - data.add(baos.toByteArray()); - } + includedModuleNames.add(moduleFM.inferModuleName(loc)); + } + } + } + + JavaFileManager dumpFM = setupJavac("--source", version); + List data = new ArrayList<>(); + + for (Location modLoc : LOCATIONS) { + for (String moduleName : includedModuleNames) { + Location loc = dumpFM.getLocationForModule(modLoc, moduleName); + + if (loc == null) { + continue; + } + + Iterable files = + dumpFM.list(loc, + "", + EnumSet.of(Kind.CLASS), + true); + + for (JavaFileObject jfo : files) { + try (InputStream is = jfo.openInputStream(); + InputStream in = + new BufferedInputStream(is)) { + ByteArrayOutputStream baos = + new ByteArrayOutputStream(); + + in.transferTo(baos); + data.add(baos.toByteArray()); } } } @@ -2150,6 +2215,15 @@ private List dumpCurrentClasses() throws IOException { List.of(StandardLocation.SYSTEM_MODULES, StandardLocation.UPGRADE_MODULE_PATH); + private JavaFileManager setupJavac(String... options) { + JavacTool tool = JavacTool.create(); + Context ctx = new Context(); + JavacTask task = tool.getTask(null, null, null, + List.of(options), + null, null, ctx); + task.getElements().getTypeElement("java.lang.Object"); + return ctx.get(JavaFileManager.class); + } // //non-final for tests: public static String PROFILE_ANNOTATION = "Ljdk/Profile+Annotation;"; @@ -2351,18 +2425,20 @@ private boolean include(int accessFlags) { private void addClassHeader(ClassDescription clazzDesc, ClassHeaderDescription headerDesc, String version, String baseline) { //normalize: + Iterable headers = sortedHeaders(clazzDesc.header, baseline); boolean existed = false; - for (ClassHeaderDescription existing : clazzDesc.header) { - if (existing.equals(headerDesc) && (!existed || (baseline != null && existing.versions.contains(baseline)))) { + for (ClassHeaderDescription existing : headers) { + if (existing.equals(headerDesc)) { headerDesc = existing; existed = true; + break; } } if (!existed) { //check if the only difference between the 7 and 8 version is the Profile annotation //if so, copy it to the pre-8 version, so save space - for (ClassHeaderDescription existing : clazzDesc.header) { + for (ClassHeaderDescription existing : headers) { List annots = existing.classAnnotations; if (annots != null) { @@ -2391,6 +2467,26 @@ private void addClassHeader(ClassDescription clazzDesc, ClassHeaderDescription h } } + private Iterable sortedHeaders(List headers, String baseline) { + if (baseline == null) { + return headers; + } + + //move the description whose version contains baseline to the front: + List result = new ArrayList<>(headers); + + for (Iterator it = result.iterator(); it.hasNext();) { + T fd = it.next(); + if (fd.versions.contains(baseline)) { + it.remove(); + result.add(0, fd); + break; + } + } + + return result; + } + private void addMethod(ClassDescription clazzDesc, MethodDescription methDesc, String version, String baseline) { //normalize: boolean methodExisted = false; @@ -2797,41 +2893,35 @@ protected boolean includeEffectiveAccess(ClassList classes, ClassDescription cla return true; } - boolean include(Set includedClasses, ClassList classes, String clazzName) { + void include(Set includedClasses, ClassList classes, String clazzName) { if (clazzName == null) - return false; + return ; ClassDescription desc = classes.find(clazzName, true); if (desc == null) { - return false; + return ; } - boolean modified = includedClasses.add(clazzName); + includedClasses.add(clazzName); for (ClassDescription outer : classes.enclosingClasses(desc)) { - modified |= includedClasses.add(outer.name); + includedClasses.add(outer.name); } - - return modified; } - boolean includeOutputType(Iterable features, + void includeOutputType(Iterable features, Function feature2Descriptor, Set includedClasses, ClassList classes) { - boolean modified = false; - for (T feature : features) { CharSequence sig = feature.signature != null ? feature.signature : feature2Descriptor.apply(feature); Matcher m = OUTPUT_TYPE_PATTERN.matcher(sig); while (m.find()) { - modified |= include(includedClasses, classes, m.group(1)); + include(includedClasses, classes, m.group(1)); } } - - return modified; } static final Pattern OUTPUT_TYPE_PATTERN = Pattern.compile("L([^;<]+)(;|<)"); @@ -3255,6 +3345,20 @@ public boolean read(LineBasedReader reader) throws IOException { return true; } + public Stream allPackages() { + List packages = new ArrayList<>(); + + exports.stream() + .map(ExportsDescription::packageName) + .forEach(packages::add); + if (extraModulePackages != null) { + packages.addAll(extraModulePackages); + } + + return packages.stream() + .map(p -> p.replace('/', '.')); + } + record ExportsDescription(String packageName, List to) { public String serialize() { return packageName + @@ -3660,6 +3764,7 @@ public void write(Appendable output, String baselineVersion, String version) thr } if (isSealed) { output.append(" sealed true"); + output.append(" permittedSubclasses " + serializeList(permittedSubclasses)); } writeAttributes(output); output.append("\n"); @@ -3680,6 +3785,11 @@ public boolean read(LineBasedReader reader) throws IOException { String nestMembersList = reader.attributes.get("nestMembers"); nestMembers = deserializeList(nestMembersList); isRecord = reader.attributes.containsKey("record"); + isSealed = reader.attributes.containsKey("permittedSubclasses"); + if (isSealed) { + String subclassesList = reader.attributes.get("permittedSubclasses"); + permittedSubclasses = deserializeList(subclassesList); + } readAttributes(reader); reader.moveNext(); @@ -3688,11 +3798,6 @@ public boolean read(LineBasedReader reader) throws IOException { } readInnerClasses(reader); - isSealed = reader.attributes.containsKey("permittedSubclasses"); - if (isSealed) { - String subclassesList = reader.attributes.get("permittedSubclasses"); - permittedSubclasses = deserializeList(subclassesList); - } return true; } @@ -4642,8 +4747,9 @@ public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOExce String currentVersion; String preReleaseTag; String moduleClasses; + String includedModules; - if (args.length == 7) { + if (args.length == 8) { ctDescriptionFileExtra = null; ctDescriptionFile = args[1]; ctSymLocation = args[2]; @@ -4651,7 +4757,8 @@ public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOExce currentVersion = args[4]; preReleaseTag = args[5]; moduleClasses = args[6]; - } else if (args.length == 8) { + includedModules = args[7]; + } else if (args.length == 9) { ctDescriptionFileExtra = args[1]; ctDescriptionFile = args[2]; ctSymLocation = args[3]; @@ -4659,6 +4766,7 @@ public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOExce currentVersion = args[5]; preReleaseTag = args[6]; moduleClasses = args[7]; + includedModules = args[8]; } else { help(); return ; @@ -4675,7 +4783,8 @@ public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOExce timestamp, currentVersion, preReleaseTag, - moduleClasses); + moduleClasses, + includedModules); break; } case "build-javadoc-data": { diff --git a/make/modules/jdk.compiler/Gendata.gmk b/make/modules/jdk.compiler/Gendata.gmk index df0ced743e7d6..e9ff3c439bea5 100644 --- a/make/modules/jdk.compiler/Gendata.gmk +++ b/make/modules/jdk.compiler/Gendata.gmk @@ -42,6 +42,9 @@ CT_MODULES_API_TARGETS := \ $(foreach m, $(CT_MODULES) $(CT_TRANSITIVE_MODULES), \ $(call SetupJavaCompilationApiTarget, $m, $(JDK_OUTPUTDIR)/modules/$m)) +#undocumented modules which should also be included in ct.sym: +CT_EXTRA_MODULES := jdk.unsupported + SYMBOL_FILES := $(wildcard $(MODULE_SRC)/share/data/symbols/*) CT_DATA_DESCRIPTION += $(MODULE_SRC)/share/data/symbols/symbols @@ -72,6 +75,7 @@ $(SUPPORT_OUTPUTDIR)/symbols/ct.sym: $(COMPILE_CREATE_SYMBOLS) $(SYMBOL_FILES) \ $(RM) -r $(@D) $(MKDIR) -p $(@D) $(ECHO) Creating ct.sym classes + $(ECHO) $(CT_MODULES) $(CT_TRANSITIVE_MODULES) $(CT_EXTRA_MODULES) >$(SUPPORT_OUTPUTDIR)/symbols/included-modules $(BUILD_JAVA_SMALL) \ $(COMPILECREATESYMBOLS_ADD_EXPORTS) \ -classpath $(BUILDTOOLS_OUTPUTDIR)/create_symbols_javac \ @@ -82,7 +86,8 @@ $(SUPPORT_OUTPUTDIR)/symbols/ct.sym: $(COMPILE_CREATE_SYMBOLS) $(SYMBOL_FILES) \ $(SOURCE_DATE_EPOCH) \ $(JDK_SOURCE_TARGET_VERSION) \ "$(VERSION_PRE)" \ - $(JDK_OUTPUTDIR)/modules/ + $(JDK_OUTPUTDIR)/modules/ \ + $(SUPPORT_OUTPUTDIR)/symbols/included-modules $(TOUCH) $@ # Copy ct.sym to the modules libs dir diff --git a/src/jdk.compiler/share/data/symbols/java.base-H.sym.txt b/src/jdk.compiler/share/data/symbols/java.base-H.sym.txt index c6ef0d70aeb71..990a46b40a8b2 100644 --- a/src/jdk.compiler/share/data/symbols/java.base-H.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.base-H.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -27,7 +27,7 @@ # ########################################################## # module name java.base -header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/lang/runtime,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/random,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert,jdk/internal/event[jdk.jfr],jdk/internal/vm/vector[jdk.incubator.vector] uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/random/RandomGenerator,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider,interface\u0020;java/util/random/RandomGenerator\u0020;impls\u0020;java/security/SecureRandom\u005C;u002C;java/util/Random\u005C;u002C;java/util/SplittableRandom target linux-amd64 flags 8000 +header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/lang/runtime,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/random,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert,jdk/internal/access/foreign[jdk.incubator.foreign],jdk/internal/event[jdk.jfr],jdk/internal/misc[jdk.incubator.foreign],jdk/internal/vm/vector[jdk.incubator.vector] uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/random/RandomGenerator,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider,interface\u0020;java/util/random/RandomGenerator\u0020;impls\u0020;java/security/SecureRandom\u005C;u002C;java/util/Random\u005C;u002C;java/util/SplittableRandom target linux-amd64 flags 8000 class name java/io/CharArrayReader method name read descriptor (Ljava/nio/CharBuffer;)I thrownTypes java/io/IOException flags 1 @@ -52,40 +52,16 @@ class name java/io/ObjectInputFilter$Config method name getSerialFilterFactory descriptor ()Ljava/util/function/BinaryOperator; flags 9 signature ()Ljava/util/function/BinaryOperator; method name setSerialFilterFactory descriptor (Ljava/util/function/BinaryOperator;)V flags 9 signature (Ljava/util/function/BinaryOperator;)V -class name java/io/PrintStream -header extends java/io/FilterOutputStream implements java/lang/Appendable,java/io/Closeable flags 21 -innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 - class name java/io/WriteAbortedException -field name detail descriptor Ljava/lang/Exception; field name detail descriptor Ljava/lang/Exception; flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="17") -class name java/lang/AbstractStringBuilder -header extends java/lang/Object implements java/lang/Appendable,java/lang/CharSequence flags 420 -innerclass innerClass java/util/Spliterator$OfInt outerClass java/util/Spliterator innerClassName OfInt flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/lang/Class -method name isSealed descriptor ()Z -method name getPermittedSubclasses descriptor ()[Ljava/lang/Class; method name getPermittedSubclasses descriptor ()[Ljava/lang/Class; flags 1 signature ()[Ljava/lang/Class<*>; runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; method name isSealed descriptor ()Z flags 1 -class name java/lang/Compiler -header extends java/lang/Object flags 31 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9") - -class name java/lang/Deprecated -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;CONSTRUCTOR;eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;LOCAL_VARIABLE;eLjava/lang/annotation/ElementType;METHOD;eLjava/lang/annotation/ElementType;PACKAGE;eLjava/lang/annotation/ElementType;MODULE;eLjava/lang/annotation/ElementType;PARAMETER;eLjava/lang/annotation/ElementType;TYPE;}) - -class name java/lang/IllegalCallerException -header extends java/lang/RuntimeException flags 21 - -class name java/lang/LayerInstantiationException -header extends java/lang/RuntimeException flags 21 - -class name java/lang/NamedPackage -header extends java/lang/Object flags 20 - class name java/lang/Process method name inputReader descriptor ()Ljava/io/BufferedReader; flags 11 method name inputReader descriptor (Ljava/nio/charset/Charset;)Ljava/io/BufferedReader; flags 11 @@ -108,9 +84,6 @@ class name java/lang/StrictMath method name toRadians descriptor (D)D flags 9 method name toDegrees descriptor (D)D flags 9 -class name java/lang/SuppressWarnings -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;METHOD;eLjava/lang/annotation/ElementType;PARAMETER;eLjava/lang/annotation/ElementType;CONSTRUCTOR;eLjava/lang/annotation/ElementType;LOCAL_VARIABLE;eLjava/lang/annotation/ElementType;MODULE;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;SOURCE;) - class name java/lang/System -method name setSecurityManager descriptor (Ljava/lang/SecurityManager;)V -method name getSecurityManager descriptor ()Ljava/lang/SecurityManager; @@ -125,18 +98,43 @@ class name java/lang/ThreadGroup -method name checkAccess descriptor ()V method name checkAccess descriptor ()V flags 11 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="17") +class name java/lang/constant/AsTypeMethodHandleDesc +header extends java/lang/constant/DynamicConstantDesc implements java/lang/constant/MethodHandleDesc flags 30 signature Ljava/lang/constant/DynamicConstantDesc;Ljava/lang/constant/MethodHandleDesc; +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name invocationType descriptor ()Ljava/lang/constant/MethodTypeDesc; flags 1 +method name resolveConstantDesc descriptor (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/invoke/MethodHandle; thrownTypes java/lang/ReflectiveOperationException flags 1 +method name toString descriptor ()Ljava/lang/String; flags 1 +method name resolveConstantDesc descriptor (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/Object; thrownTypes java/lang/ReflectiveOperationException flags 1041 + class name java/lang/constant/ClassDesc -header extends java/lang/Object implements java/lang/constant/ConstantDesc,java/lang/invoke/TypeDescriptor$OfField sealed true flags 601 signature Ljava/lang/Object;Ljava/lang/constant/ConstantDesc;Ljava/lang/invoke/TypeDescriptor$OfField; +header extends java/lang/Object implements java/lang/constant/ConstantDesc,java/lang/invoke/TypeDescriptor$OfField sealed true permittedSubclasses java/lang/constant/PrimitiveClassDescImpl,java/lang/constant/ReferenceClassDescImpl flags 601 signature Ljava/lang/Object;Ljava/lang/constant/ConstantDesc;Ljava/lang/invoke/TypeDescriptor$OfField; innerclass innerClass java/lang/invoke/TypeDescriptor$OfField outerClass java/lang/invoke/TypeDescriptor innerClassName OfField flags 609 class name java/lang/constant/ConstantDesc -header extends java/lang/Object sealed true flags 601 +header extends java/lang/Object sealed true permittedSubclasses java/lang/constant/ClassDesc,java/lang/constant/MethodHandleDesc,java/lang/constant/MethodTypeDesc,java/lang/Double,java/lang/constant/DynamicConstantDesc,java/lang/Float,java/lang/Integer,java/lang/Long,java/lang/String flags 601 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 class name java/lang/constant/DirectMethodHandleDesc -header extends java/lang/Object implements java/lang/constant/MethodHandleDesc nestMembers java/lang/constant/DirectMethodHandleDesc$Kind sealed true flags 601 +header extends java/lang/Object implements java/lang/constant/MethodHandleDesc nestMembers java/lang/constant/DirectMethodHandleDesc$Kind sealed true permittedSubclasses java/lang/constant/DirectMethodHandleDescImpl flags 601 innerclass innerClass java/lang/constant/DirectMethodHandleDesc$Kind outerClass java/lang/constant/DirectMethodHandleDesc innerClassName Kind flags 4019 +class name java/lang/constant/DirectMethodHandleDescImpl +header extends java/lang/Object implements java/lang/constant/DirectMethodHandleDesc flags 30 +innerclass innerClass java/lang/constant/DirectMethodHandleDesc$Kind outerClass java/lang/constant/DirectMethodHandleDesc innerClassName Kind flags 4019 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name kind descriptor ()Ljava/lang/constant/DirectMethodHandleDesc$Kind; flags 1 +method name refKind descriptor ()I flags 1 +method name isOwnerInterface descriptor ()Z flags 1 +method name owner descriptor ()Ljava/lang/constant/ClassDesc; flags 1 +method name methodName descriptor ()Ljava/lang/String; flags 1 +method name invocationType descriptor ()Ljava/lang/constant/MethodTypeDesc; flags 1 +method name lookupDescriptor descriptor ()Ljava/lang/String; flags 1 +method name resolveConstantDesc descriptor (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/invoke/MethodHandle; thrownTypes java/lang/ReflectiveOperationException flags 1 +method name equals descriptor (Ljava/lang/Object;)Z flags 1 +method name hashCode descriptor ()I flags 1 +method name toString descriptor ()Ljava/lang/String; flags 1 +method name resolveConstantDesc descriptor (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/Object; thrownTypes java/lang/ReflectiveOperationException flags 1041 + class name java/lang/constant/DynamicConstantDesc header extends java/lang/Object implements java/lang/constant/ConstantDesc flags 421 signature Ljava/lang/Object;Ljava/lang/constant/ConstantDesc; innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 @@ -144,68 +142,75 @@ innerclass innerClass java/lang/Enum$EnumDesc outerClass java/lang/Enum innerCla innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 class name java/lang/constant/MethodHandleDesc -header extends java/lang/Object implements java/lang/constant/ConstantDesc sealed true flags 601 +header extends java/lang/Object implements java/lang/constant/ConstantDesc sealed true permittedSubclasses java/lang/constant/AsTypeMethodHandleDesc,java/lang/constant/DirectMethodHandleDesc flags 601 innerclass innerClass java/lang/constant/DirectMethodHandleDesc$Kind outerClass java/lang/constant/DirectMethodHandleDesc innerClassName Kind flags 4019 class name java/lang/constant/MethodTypeDesc -header extends java/lang/Object implements java/lang/constant/ConstantDesc,java/lang/invoke/TypeDescriptor$OfMethod sealed true flags 601 signature Ljava/lang/Object;Ljava/lang/constant/ConstantDesc;Ljava/lang/invoke/TypeDescriptor$OfMethod; +header extends java/lang/Object implements java/lang/constant/ConstantDesc,java/lang/invoke/TypeDescriptor$OfMethod sealed true permittedSubclasses java/lang/constant/MethodTypeDescImpl flags 601 signature Ljava/lang/Object;Ljava/lang/constant/ConstantDesc;Ljava/lang/invoke/TypeDescriptor$OfMethod; innerclass innerClass java/lang/invoke/TypeDescriptor$OfMethod outerClass java/lang/invoke/TypeDescriptor innerClassName OfMethod flags 609 innerclass innerClass java/lang/invoke/TypeDescriptor$OfField outerClass java/lang/invoke/TypeDescriptor innerClassName OfField flags 609 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name java/lang/invoke/CallSite -header extends java/lang/Object flags 421 +class name java/lang/constant/MethodTypeDescImpl +header extends java/lang/Object implements java/lang/constant/MethodTypeDesc flags 30 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +innerclass innerClass java/lang/invoke/TypeDescriptor$OfField outerClass java/lang/invoke/TypeDescriptor innerClassName OfField flags 609 +innerclass innerClass java/lang/invoke/TypeDescriptor$OfMethod outerClass java/lang/invoke/TypeDescriptor innerClassName OfMethod flags 609 +method name returnType descriptor ()Ljava/lang/constant/ClassDesc; flags 1 +method name parameterCount descriptor ()I flags 1 +method name parameterType descriptor (I)Ljava/lang/constant/ClassDesc; flags 1 +method name parameterList descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List; +method name parameterArray descriptor ()[Ljava/lang/constant/ClassDesc; flags 1 +method name changeReturnType descriptor (Ljava/lang/constant/ClassDesc;)Ljava/lang/constant/MethodTypeDesc; flags 1 +method name changeParameterType descriptor (ILjava/lang/constant/ClassDesc;)Ljava/lang/constant/MethodTypeDesc; flags 1 +method name dropParameterTypes descriptor (II)Ljava/lang/constant/MethodTypeDesc; flags 1 +method name insertParameterTypes descriptor (I[Ljava/lang/constant/ClassDesc;)Ljava/lang/constant/MethodTypeDesc; flags 81 +method name resolveConstantDesc descriptor (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/invoke/MethodType; thrownTypes java/lang/ReflectiveOperationException flags 1 +method name equals descriptor (Ljava/lang/Object;)Z flags 1 +method name hashCode descriptor ()I flags 1 +method name toString descriptor ()Ljava/lang/String; flags 1 +method name resolveConstantDesc descriptor (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/Object; thrownTypes java/lang/ReflectiveOperationException flags 1041 +method name insertParameterTypes descriptor (I[Ljava/lang/invoke/TypeDescriptor$OfField;)Ljava/lang/invoke/TypeDescriptor$OfMethod; flags 1041 +method name dropParameterTypes descriptor (II)Ljava/lang/invoke/TypeDescriptor$OfMethod; flags 1041 +method name changeParameterType descriptor (ILjava/lang/invoke/TypeDescriptor$OfField;)Ljava/lang/invoke/TypeDescriptor$OfMethod; flags 1041 +method name changeReturnType descriptor (Ljava/lang/invoke/TypeDescriptor$OfField;)Ljava/lang/invoke/TypeDescriptor$OfMethod; flags 1041 +method name parameterArray descriptor ()[Ljava/lang/invoke/TypeDescriptor$OfField; flags 1041 +method name returnType descriptor ()Ljava/lang/invoke/TypeDescriptor$OfField; flags 1041 +method name parameterType descriptor (I)Ljava/lang/invoke/TypeDescriptor$OfField; flags 1041 + +class name java/lang/constant/PrimitiveClassDescImpl +header extends java/lang/constant/DynamicConstantDesc implements java/lang/constant/ClassDesc flags 30 signature Ljava/lang/constant/DynamicConstantDesc;>;Ljava/lang/constant/ClassDesc; +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name descriptorString descriptor ()Ljava/lang/String; flags 1 +method name resolveConstantDesc descriptor (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/Class; flags 1 signature (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/Class<*>; +method name toString descriptor ()Ljava/lang/String; flags 1 +method name resolveConstantDesc descriptor (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/Object; thrownTypes java/lang/ReflectiveOperationException flags 1041 -class name java/lang/invoke/LambdaMetafactory -header extends java/lang/Object flags 31 +class name java/lang/constant/ReferenceClassDescImpl +header extends java/lang/Object implements java/lang/constant/ClassDesc flags 30 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name descriptorString descriptor ()Ljava/lang/String; flags 1 +method name resolveConstantDesc descriptor (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/Class; thrownTypes java/lang/ReflectiveOperationException flags 1 signature (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/Class<*>; +method name equals descriptor (Ljava/lang/Object;)Z flags 1 +method name hashCode descriptor ()I flags 1 +method name toString descriptor ()Ljava/lang/String; flags 1 +method name resolveConstantDesc descriptor (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/Object; thrownTypes java/lang/ReflectiveOperationException flags 1041 class name java/lang/invoke/MethodHandles method name tableSwitch descriptor (Ljava/lang/invoke/MethodHandle;[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle; flags 89 -class name java/lang/invoke/StringConcatException -header extends java/lang/Exception flags 21 - -class name java/lang/module/Configuration -header extends java/lang/Object flags 31 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/module/FindException -header extends java/lang/RuntimeException flags 21 - -class name java/lang/module/InvalidModuleDescriptorException -header extends java/lang/RuntimeException flags 21 - -class name java/lang/module/ModuleReader -header extends java/lang/Object implements java/io/Closeable flags 601 - -class name java/lang/module/ModuleReference -header extends java/lang/Object flags 421 - -class name java/lang/module/ResolutionException -header extends java/lang/RuntimeException flags 21 - -class name java/lang/module/ResolvedModule -header extends java/lang/Object flags 31 +class name java/lang/ref/Reference +header extends java/lang/Object flags 421 signature Ljava/lang/Object; class name java/lang/reflect/AccessibleObject header extends java/lang/Object implements java/lang/reflect/AnnotatedElement flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) -method name descriptor ()V method name descriptor ()V flags 4 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="17") -class name java/lang/reflect/AnnotatedElement -header extends java/lang/Object flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/lang/reflect/Executable -header extends java/lang/reflect/AccessibleObject implements java/lang/reflect/Member,java/lang/reflect/GenericDeclaration sealed true flags 421 +header extends java/lang/reflect/AccessibleObject implements java/lang/reflect/Member,java/lang/reflect/GenericDeclaration sealed true permittedSubclasses java/lang/reflect/Constructor,java/lang/reflect/Method flags 421 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name java/lang/reflect/InaccessibleObjectException -header extends java/lang/RuntimeException flags 21 - class name java/lang/runtime/SwitchBootstraps header extends java/lang/Object flags 21 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;) innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 @@ -233,15 +238,39 @@ class name java/net/URLStreamHandler -method name getHostAddress descriptor (Ljava/net/URL;)Ljava/net/InetAddress; method name getHostAddress descriptor (Ljava/net/URL;)Ljava/net/InetAddress; flags 4 -class name java/net/spi/URLStreamHandlerProvider -header extends java/lang/Object implements java/net/URLStreamHandlerFactory flags 421 +class name java/nio/Buffer +header extends java/lang/Object flags 421 +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope outerClass jdk/internal/misc/ScopedMemoryAccess innerClassName Scope flags 609 + +class name java/nio/ByteBuffer +header extends java/nio/Buffer implements java/lang/Comparable flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope outerClass jdk/internal/misc/ScopedMemoryAccess innerClassName Scope flags 609 class name java/nio/CharBuffer header extends java/nio/Buffer implements java/lang/Comparable,java/lang/Appendable,java/lang/CharSequence,java/lang/Readable flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable;Ljava/lang/Appendable;Ljava/lang/CharSequence;Ljava/lang/Readable; +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope outerClass jdk/internal/misc/ScopedMemoryAccess innerClassName Scope flags 609 innerclass innerClass java/util/Spliterator$OfInt outerClass java/util/Spliterator innerClassName OfInt flags 609 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +class name java/nio/DoubleBuffer +header extends java/nio/Buffer implements java/lang/Comparable flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope outerClass jdk/internal/misc/ScopedMemoryAccess innerClassName Scope flags 609 + +class name java/nio/FloatBuffer +header extends java/nio/Buffer implements java/lang/Comparable flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope outerClass jdk/internal/misc/ScopedMemoryAccess innerClassName Scope flags 609 + +class name java/nio/IntBuffer +header extends java/nio/Buffer implements java/lang/Comparable flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope outerClass jdk/internal/misc/ScopedMemoryAccess innerClassName Scope flags 609 + +class name java/nio/LongBuffer +header extends java/nio/Buffer implements java/lang/Comparable flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope outerClass jdk/internal/misc/ScopedMemoryAccess innerClassName Scope flags 609 + class name java/nio/MappedByteBuffer +header extends java/nio/ByteBuffer flags 421 +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope outerClass jdk/internal/misc/ScopedMemoryAccess innerClassName Scope flags 609 method name slice descriptor ()Ljava/nio/MappedByteBuffer; flags 401 method name slice descriptor (II)Ljava/nio/MappedByteBuffer; flags 401 method name duplicate descriptor ()Ljava/nio/MappedByteBuffer; flags 401 @@ -254,6 +283,10 @@ method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 method name slice descriptor ()Ljava/nio/Buffer; flags 1041 +class name java/nio/ShortBuffer +header extends java/nio/Buffer implements java/lang/Comparable flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope outerClass jdk/internal/misc/ScopedMemoryAccess innerClassName Scope flags 609 + class name java/security/AccessControlContext header extends java/lang/Object flags 31 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="17") @@ -263,15 +296,9 @@ header extends java/lang/SecurityException flags 21 deprecated true runtimeAnnot class name java/security/AccessController header extends java/lang/Object flags 31 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="17") -class name java/security/Certificate -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="1.2") - class name java/security/DomainCombiner header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="17") -class name java/security/Identity -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 421 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="1.2") - class name java/security/Policy header extends java/lang/Object nestMembers java/security/Policy$Parameters flags 421 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="17") innerclass innerClass java/security/Policy$Parameters outerClass java/security/Policy innerClassName Parameters flags 609 @@ -287,70 +314,6 @@ class name java/security/SecureRandom header extends java/util/Random flags 21 runtimeAnnotations @Ljdk/internal/util/random/RandomSupport$RandomGeneratorProperties;(name="SecureRandom",isStochastic=Ztrue) innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 -class name java/security/SecureRandomParameters -header extends java/lang/Object flags 601 - -class name java/security/SignedObject -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 - -class name java/security/cert/CertificateRevokedException -header extends java/security/cert/CertificateException flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 - -class name java/security/cert/URICertStoreParameters -header extends java/lang/Object implements java/security/cert/CertStoreParameters flags 31 - -class name java/security/interfaces/RSAKey --method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; -method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1 - -class name java/security/spec/MGF1ParameterSpec --field name SHA512_224 descriptor Ljava/security/spec/MGF1ParameterSpec; --field name SHA512_256 descriptor Ljava/security/spec/MGF1ParameterSpec; -field name SHA512_224 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19 -field name SHA512_256 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19 - -class name java/security/spec/PSSParameterSpec --field name TRAILER_FIELD_BC descriptor I --method name toString descriptor ()Ljava/lang/String; -field name TRAILER_FIELD_BC descriptor I constantValue 1 flags 19 -method name toString descriptor ()Ljava/lang/String; flags 1 - -class name java/security/spec/RSAKeyGenParameterSpec --method name descriptor (ILjava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V --method name getKeyParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; -method name descriptor (ILjava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1 -method name getKeyParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1 - -class name java/security/spec/RSAMultiPrimePrivateCrtKeySpec --method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;[Ljava/security/spec/RSAOtherPrimeInfo;Ljava/security/spec/AlgorithmParameterSpec;)V -method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;[Ljava/security/spec/RSAOtherPrimeInfo;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1 - -class name java/security/spec/RSAPrivateCrtKeySpec --method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V -method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1 - -class name java/security/spec/RSAPrivateKeySpec --method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V --method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; -method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1 -method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1 - -class name java/security/spec/RSAPublicKeySpec --method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V --method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; -method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1 -method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1 - -class name java/text/DateFormatSymbols -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 - -class name java/text/RuleBasedCollator -header extends java/text/Collator flags 21 -innerclass innerClass java/text/Normalizer$Form outerClass java/text/Normalizer innerClassName Form flags 4019 - class name java/time/Clock header extends java/lang/Object implements java/time/InstantSource flags 421 @@ -364,37 +327,8 @@ method name instant descriptor ()Ljava/time/Instant; flags 401 method name millis descriptor ()J flags 1 method name withZone descriptor (Ljava/time/ZoneId;)Ljava/time/Clock; flags 1 -class name java/time/chrono/ChronoLocalDate -header extends java/lang/Object implements java/time/temporal/Temporal,java/time/temporal/TemporalAdjuster,java/lang/Comparable flags 601 signature Ljava/lang/Object;Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalAdjuster;Ljava/lang/Comparable; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/time/chrono/ChronoLocalDateTime -header extends java/lang/Object implements java/time/temporal/Temporal,java/time/temporal/TemporalAdjuster,java/lang/Comparable flags 601 signature Ljava/lang/Object;Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalAdjuster;Ljava/lang/Comparable;>; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/time/format/DecimalStyle -header extends java/lang/Object flags 31 -innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 - -class name java/time/temporal/TemporalAdjusters -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/Comparator -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/DoubleSummaryStatistics -header extends java/lang/Object implements java/util/function/DoubleConsumer flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/GregorianCalendar -header extends java/util/Calendar flags 21 -innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 - -class name java/util/HashSet -header extends java/util/AbstractSet implements java/util/Set,java/lang/Cloneable,java/io/Serializable flags 21 signature Ljava/util/AbstractSet;Ljava/util/Set;Ljava/lang/Cloneable;Ljava/io/Serializable; -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 +class name java/util/EnumSet +header extends java/util/AbstractSet implements java/lang/Cloneable,java/io/Serializable flags 421 signature ;>Ljava/util/AbstractSet;Ljava/lang/Cloneable;Ljava/io/Serializable; class name java/util/HexFormat header extends java/lang/Object flags 31 @@ -436,19 +370,13 @@ method name hashCode descriptor ()I flags 1 method name toString descriptor ()Ljava/lang/String; flags 1 class name java/util/Locale$IsoCountryCode -header extends java/lang/Enum nestHost java/util/Locale sealed true flags 4421 signature Ljava/lang/Enum; +header extends java/lang/Enum nestHost java/util/Locale sealed true permittedSubclasses java/util/Locale$IsoCountryCode$1,java/util/Locale$IsoCountryCode$2,java/util/Locale$IsoCountryCode$3 flags 4421 signature Ljava/lang/Enum; innerclass innerClass java/util/Locale$IsoCountryCode outerClass java/util/Locale innerClassName IsoCountryCode flags 4409 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 class name java/util/Map$Entry method name copyOf descriptor (Ljava/util/Map$Entry;)Ljava/util/Map$Entry; flags 9 signature (Ljava/util/Map$Entry<+TK;+TV;>;)Ljava/util/Map$Entry; -class name java/util/Observable -header extends java/lang/Object flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") - -class name java/util/Observer -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") - class name java/util/Random header extends java/lang/Object implements java/util/random/RandomGenerator,java/io/Serializable flags 21 runtimeAnnotations @Ljdk/internal/util/random/RandomSupport$RandomGeneratorProperties;(name="Random",i=I48,j=I0,k=I0,equidistribution=I0) innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 @@ -473,32 +401,10 @@ method name splits descriptor (JLjava/util/random/RandomGenerator$SplittableGene method name split descriptor (Ljava/util/random/RandomGenerator$SplittableGenerator;)Ljava/util/random/RandomGenerator$SplittableGenerator; flags 1041 method name split descriptor ()Ljava/util/random/RandomGenerator$SplittableGenerator; flags 1041 -class name java/util/TimeZone -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 -innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 - class name java/util/Timer header extends java/lang/Object flags 21 innerclass innerClass java/lang/ref/Cleaner$Cleanable outerClass java/lang/ref/Cleaner innerClassName Cleanable flags 609 -class name java/util/TreeSet -header extends java/util/AbstractSet implements java/util/NavigableSet,java/lang/Cloneable,java/io/Serializable flags 21 signature Ljava/util/AbstractSet;Ljava/util/NavigableSet;Ljava/lang/Cloneable;Ljava/io/Serializable; -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 - -class name java/util/concurrent/ConcurrentMap -header extends java/lang/Object implements java/util/Map flags 601 signature Ljava/lang/Object;Ljava/util/Map; -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/concurrent/ConcurrentSkipListSet -header extends java/util/AbstractSet implements java/util/NavigableSet,java/lang/Cloneable,java/io/Serializable flags 21 signature Ljava/util/AbstractSet;Ljava/util/NavigableSet;Ljava/lang/Cloneable;Ljava/io/Serializable; -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/concurrent/CountedCompleter -header extends java/util/concurrent/ForkJoinTask flags 421 signature Ljava/util/concurrent/ForkJoinTask; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/util/concurrent/Executors -method name privilegedThreadFactory descriptor ()Ljava/util/concurrent/ThreadFactory; -method name privilegedCallable descriptor (Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Callable; @@ -533,102 +439,6 @@ innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/Obj method name nextFloat descriptor (F)F flags 1 method name nextFloat descriptor (FF)F flags 1 -class name java/util/concurrent/atomic/AtomicBoolean -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/concurrent/atomic/AtomicReference -header extends java/lang/Object implements java/io/Serializable flags 21 signature Ljava/lang/Object;Ljava/io/Serializable; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/concurrent/atomic/AtomicReferenceArray -header extends java/lang/Object implements java/io/Serializable flags 21 signature Ljava/lang/Object;Ljava/io/Serializable; -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/concurrent/locks/StampedLock -header extends java/lang/Object implements java/io/Serializable flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) --method name tryWriteLock descriptor ()J --method name writeLockInterruptibly descriptor ()J --method name tryReadLock descriptor ()J --method name tryReadLock descriptor (JLjava/util/concurrent/TimeUnit;)J --method name readLockInterruptibly descriptor ()J --method name unlock descriptor (J)V -method name tryWriteLock descriptor ()J flags 1 -method name writeLockInterruptibly descriptor ()J thrownTypes java/lang/InterruptedException flags 1 -method name tryReadLock descriptor ()J flags 1 -method name tryReadLock descriptor (JLjava/util/concurrent/TimeUnit;)J thrownTypes java/lang/InterruptedException flags 1 -method name readLockInterruptibly descriptor ()J thrownTypes java/lang/InterruptedException flags 1 -method name unlock descriptor (J)V flags 1 - -class name java/util/function/BiConsumer -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/BiFunction -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/BiPredicate -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/BinaryOperator -header extends java/lang/Object implements java/util/function/BiFunction flags 601 signature Ljava/lang/Object;Ljava/util/function/BiFunction; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/Consumer -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/DoubleConsumer -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/DoublePredicate -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/DoubleUnaryOperator -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/Function -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/IntConsumer -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/IntPredicate -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/IntUnaryOperator -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/LongConsumer -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/LongPredicate -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/LongUnaryOperator -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/Predicate -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/UnaryOperator -header extends java/lang/Object implements java/util/function/Function flags 601 signature Ljava/lang/Object;Ljava/util/function/Function; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/util/random/RandomGenerator header extends java/lang/Object nestMembers java/util/random/RandomGenerator$ArbitrarilyJumpableGenerator,java/util/random/RandomGenerator$LeapableGenerator,java/util/random/RandomGenerator$JumpableGenerator,java/util/random/RandomGenerator$SplittableGenerator,java/util/random/RandomGenerator$StreamableGenerator flags 601 innerclass innerClass java/util/random/RandomGenerator$ArbitrarilyJumpableGenerator outerClass java/util/random/RandomGenerator innerClassName ArbitrarilyJumpableGenerator flags 609 @@ -769,154 +579,6 @@ method name create descriptor ()Ljava/util/random/RandomGenerator; flags 1 signa method name create descriptor (J)Ljava/util/random/RandomGenerator; flags 1 signature (J)TT; method name create descriptor ([B)Ljava/util/random/RandomGenerator; flags 1 signature ([B)TT; -class name java/util/spi/AbstractResourceBundleProvider -header extends java/lang/Object implements java/util/spi/ResourceBundleProvider flags 421 -innerclass innerClass java/util/ResourceBundle$Control outerClass java/util/ResourceBundle innerClassName Control flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/spi/CurrencyNameProvider -header extends java/util/spi/LocaleServiceProvider flags 421 -innerclass innerClass java/util/ResourceBundle$Control outerClass java/util/ResourceBundle innerClassName Control flags 9 - -class name java/util/spi/ResourceBundleProvider -header extends java/lang/Object flags 601 - -class name java/util/spi/ToolProvider -header extends java/lang/Object flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/zip/CRC32C -header extends java/lang/Object implements java/util/zip/Checksum flags 31 - -class name javax/crypto/AEADBadTagException -header extends javax/crypto/BadPaddingException flags 21 - -class name javax/crypto/BadPaddingException -header extends java/security/GeneralSecurityException flags 21 - -class name javax/crypto/CipherInputStream -header extends java/io/FilterInputStream flags 21 - -class name javax/crypto/CipherOutputStream -header extends java/io/FilterOutputStream flags 21 - -class name javax/crypto/CipherSpi -header extends java/lang/Object flags 421 - -class name javax/crypto/EncryptedPrivateKeyInfo -header extends java/lang/Object flags 21 - -class name javax/crypto/ExemptionMechanism -header extends java/lang/Object flags 21 - -class name javax/crypto/ExemptionMechanismException -header extends java/security/GeneralSecurityException flags 21 - -class name javax/crypto/ExemptionMechanismSpi -header extends java/lang/Object flags 421 - -class name javax/crypto/IllegalBlockSizeException -header extends java/security/GeneralSecurityException flags 21 - -class name javax/crypto/KeyAgreement -header extends java/lang/Object flags 21 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 - -class name javax/crypto/KeyAgreementSpi -header extends java/lang/Object flags 421 - -class name javax/crypto/KeyGenerator -header extends java/lang/Object flags 21 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 - -class name javax/crypto/KeyGeneratorSpi -header extends java/lang/Object flags 421 - -class name javax/crypto/Mac -header extends java/lang/Object implements java/lang/Cloneable flags 21 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 - -class name javax/crypto/MacSpi -header extends java/lang/Object flags 421 - -class name javax/crypto/NoSuchPaddingException -header extends java/security/GeneralSecurityException flags 21 - -class name javax/crypto/NullCipher -header extends javax/crypto/Cipher flags 21 - -class name javax/crypto/SealedObject -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/crypto/SecretKey -header extends java/lang/Object implements java/security/Key,javax/security/auth/Destroyable flags 601 - -class name javax/crypto/SecretKeyFactory -header extends java/lang/Object flags 21 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 - -class name javax/crypto/SecretKeyFactorySpi -header extends java/lang/Object flags 421 - -class name javax/crypto/ShortBufferException -header extends java/security/GeneralSecurityException flags 21 - -class name javax/crypto/interfaces/DHKey -header extends java/lang/Object flags 601 - -class name javax/crypto/interfaces/DHPrivateKey -header extends java/lang/Object implements javax/crypto/interfaces/DHKey,java/security/PrivateKey flags 601 - -class name javax/crypto/interfaces/DHPublicKey -header extends java/lang/Object implements javax/crypto/interfaces/DHKey,java/security/PublicKey flags 601 - -class name javax/crypto/interfaces/PBEKey -header extends java/lang/Object implements javax/crypto/SecretKey flags 601 - -class name javax/crypto/spec/DESKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec flags 21 - -class name javax/crypto/spec/DESedeKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec flags 21 - -class name javax/crypto/spec/DHGenParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 - -class name javax/crypto/spec/DHParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 - -class name javax/crypto/spec/DHPrivateKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec flags 21 - -class name javax/crypto/spec/DHPublicKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec flags 21 - -class name javax/crypto/spec/GCMParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 - -class name javax/crypto/spec/IvParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 - -class name javax/crypto/spec/OAEPParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 -innerclass innerClass javax/crypto/spec/PSource$PSpecified outerClass javax/crypto/spec/PSource innerClassName PSpecified flags 19 - -class name javax/crypto/spec/PBEKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec flags 21 - -class name javax/crypto/spec/PBEParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 - -class name javax/crypto/spec/RC2ParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 - -class name javax/crypto/spec/RC5ParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 - -class name javax/crypto/spec/SecretKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec,javax/crypto/SecretKey flags 21 - class name javax/security/auth/Subject -method name getSubject descriptor (Ljava/security/AccessControlContext;)Ljavax/security/auth/Subject; -method name doAsPrivileged descriptor (Ljavax/security/auth/Subject;Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; @@ -928,6 +590,231 @@ method name doAsPrivileged descriptor (Ljavax/security/auth/Subject;Ljava/securi class name javax/security/auth/SubjectDomainCombiner header extends java/lang/Object implements java/security/DomainCombiner flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="17") +class name jdk/internal/access/foreign/MemorySegmentProxy +header extends java/lang/Object flags 421 +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope outerClass jdk/internal/misc/ScopedMemoryAccess innerClassName Scope flags 609 +method name descriptor ()V flags 1 +method name checkAccess descriptor (JJZ)V flags 401 +method name unsafeGetOffset descriptor ()J flags 401 +method name unsafeGetBase descriptor ()Ljava/lang/Object; flags 401 +method name isSmall descriptor ()Z flags 401 +method name scope descriptor ()Ljdk/internal/misc/ScopedMemoryAccess$Scope; flags 401 +method name addOffsets descriptor (JJLjdk/internal/access/foreign/MemorySegmentProxy;)J flags 9 +method name multiplyOffsets descriptor (JJLjdk/internal/access/foreign/MemorySegmentProxy;)J flags 9 + +class name jdk/internal/misc/ScopedMemoryAccess +header extends java/lang/Object nestMembers jdk/internal/misc/ScopedMemoryAccess$Scope,jdk/internal/misc/ScopedMemoryAccess$Scope$Handle flags 21 +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope outerClass jdk/internal/misc/ScopedMemoryAccess innerClassName Scope flags 609 +innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9 +innerclass innerClass jdk/internal/vm/vector/VectorSupport$Vector outerClass jdk/internal/vm/vector/VectorSupport innerClassName Vector flags 9 +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope$Handle outerClass jdk/internal/misc/ScopedMemoryAccess$Scope innerClassName Handle flags 609 +method name closeScope descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;)Z flags 1 +method name getScopedMemoryAccess descriptor ()Ljdk/internal/misc/ScopedMemoryAccess; flags 9 +method name copyMemory descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JLjava/lang/Object;JJ)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name copySwapMemory descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JLjava/lang/Object;JJJ)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name setMemory descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJB)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name vectorizedMismatch descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JLjava/lang/Object;JII)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name isLoaded descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;JZJ)Z flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name isLoadedInternal descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;JZJ)Z flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/misc/ScopedMemoryAccess$Scoped; +method name load descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;JZJ)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name loadInternal descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;JZJ)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/misc/ScopedMemoryAccess$Scoped; +method name unload descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;JZJ)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name unloadInternal descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;JZJ)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/misc/ScopedMemoryAccess$Scoped; +method name force descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/io/FileDescriptor;JZJJ)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name forceInternal descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/io/FileDescriptor;JZJJ)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/misc/ScopedMemoryAccess$Scoped; +method name loadFromByteBuffer descriptor (Ljava/lang/Class;Ljava/lang/Class;ILjava/nio/ByteBuffer;ILjdk/internal/vm/vector/VectorSupport$VectorSpecies;Ljdk/internal/vm/vector/VectorSupport$LoadOperation;)Ljdk/internal/vm/vector/VectorSupport$Vector; flags 9 signature ;E:Ljava/lang/Object;S:Ljdk/internal/vm/vector/VectorSupport$VectorSpecies;>(Ljava/lang/Class<+TV;>;Ljava/lang/Class;ILjava/nio/ByteBuffer;ITS;Ljdk/internal/vm/vector/VectorSupport$LoadOperation;)TV; runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name storeIntoByteBuffer descriptor (Ljava/lang/Class;Ljava/lang/Class;ILjdk/internal/vm/vector/VectorSupport$Vector;Ljava/nio/ByteBuffer;ILjdk/internal/vm/vector/VectorSupport$StoreVectorOperation;)V flags 9 signature ;E:Ljava/lang/Object;>(Ljava/lang/Class<+TV;>;Ljava/lang/Class;ITV;Ljava/nio/ByteBuffer;ILjdk/internal/vm/vector/VectorSupport$StoreVectorOperation;)V runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getByte descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)B flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putByte descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JB)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getByteVolatile descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)B flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putByteVolatile descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JB)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getByteAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)B flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putByteRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JB)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getByteOpaque descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)B flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putByteOpaque descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JB)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndAddByte descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JB)B flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndAddByteAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JB)B flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndAddByteRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JB)B flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseOrByte descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JB)B flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseOrByteAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JB)B flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseOrByteRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JB)B flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseAndByte descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JB)B flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseAndByteAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JB)B flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseAndByteRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JB)B flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseXorByte descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JB)B flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseXorByteAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JB)B flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseXorByteRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JB)B flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getShort descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)S flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putShort descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JS)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getShortUnaligned descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JZ)S flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putShortUnaligned descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JSZ)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getShortVolatile descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)S flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putShortVolatile descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JS)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getShortAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)S flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putShortRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JS)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getShortOpaque descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)S flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putShortOpaque descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JS)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndAddShort descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JS)S flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndAddShortAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JS)S flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndAddShortRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JS)S flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseOrShort descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JS)S flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseOrShortAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JS)S flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseOrShortRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JS)S flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseAndShort descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JS)S flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseAndShortAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JS)S flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseAndShortRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JS)S flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseXorShort descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JS)S flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseXorShortAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JS)S flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseXorShortRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JS)S flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getChar descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)C flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putChar descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JC)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getCharUnaligned descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JZ)C flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putCharUnaligned descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JCZ)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getCharVolatile descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)C flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putCharVolatile descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JC)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getCharAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)C flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putCharRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JC)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getCharOpaque descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)C flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putCharOpaque descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JC)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndAddChar descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JC)C flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndAddCharAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JC)C flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndAddCharRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JC)C flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseOrChar descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JC)C flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseOrCharAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JC)C flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseOrCharRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JC)C flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseAndChar descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JC)C flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseAndCharAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JC)C flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseAndCharRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JC)C flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseXorChar descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JC)C flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseXorCharAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JC)C flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseXorCharRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JC)C flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getInt descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putInt descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JI)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getIntUnaligned descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JZ)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putIntUnaligned descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JIZ)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getIntVolatile descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putIntVolatile descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JI)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getIntAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putIntRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JI)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getIntOpaque descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putIntOpaque descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JI)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name compareAndSetInt descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JII)Z flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name compareAndExchangeInt descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JII)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name compareAndExchangeIntAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JII)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name compareAndExchangeIntRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JII)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name weakCompareAndSetIntPlain descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JII)Z flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name weakCompareAndSetInt descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JII)Z flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name weakCompareAndSetIntAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JII)Z flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name weakCompareAndSetIntRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JII)Z flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndSetInt descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JI)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndSetIntAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JI)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndSetIntRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JI)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndAddInt descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JI)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndAddIntAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JI)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndAddIntRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JI)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseOrInt descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JI)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseOrIntAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JI)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseOrIntRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JI)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseAndInt descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JI)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseAndIntAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JI)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseAndIntRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JI)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseXorInt descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JI)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseXorIntAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JI)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseXorIntRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JI)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getLong descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putLong descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJ)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getLongUnaligned descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JZ)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putLongUnaligned descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJZ)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getLongVolatile descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putLongVolatile descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJ)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getLongAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putLongRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJ)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getLongOpaque descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putLongOpaque descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJ)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name compareAndSetLong descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJJ)Z flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name compareAndExchangeLong descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJJ)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name compareAndExchangeLongAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJJ)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name compareAndExchangeLongRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJJ)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name weakCompareAndSetLongPlain descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJJ)Z flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name weakCompareAndSetLong descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJJ)Z flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name weakCompareAndSetLongAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJJ)Z flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name weakCompareAndSetLongRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJJ)Z flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndSetLong descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJ)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndSetLongAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJ)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndSetLongRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJ)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndAddLong descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJ)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndAddLongAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJ)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndAddLongRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJ)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseOrLong descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJ)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseOrLongAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJ)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseOrLongRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJ)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseAndLong descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJ)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseAndLongAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJ)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseAndLongRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJ)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseXorLong descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJ)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseXorLongAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJ)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndBitwiseXorLongRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JJ)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getFloat descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)F flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putFloat descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JF)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getFloatVolatile descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)F flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putFloatVolatile descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JF)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getFloatAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)F flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putFloatRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JF)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getFloatOpaque descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)F flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putFloatOpaque descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JF)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name compareAndSetFloat descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JFF)Z flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name compareAndExchangeFloat descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JFF)F flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name compareAndExchangeFloatAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JFF)F flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name compareAndExchangeFloatRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JFF)F flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name weakCompareAndSetFloatPlain descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JFF)Z flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name weakCompareAndSetFloat descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JFF)Z flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name weakCompareAndSetFloatAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JFF)Z flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name weakCompareAndSetFloatRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JFF)Z flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndSetFloat descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JF)F flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndSetFloatAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JF)F flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndSetFloatRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JF)F flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndAddFloat descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JF)F flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndAddFloatAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JF)F flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndAddFloatRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JF)F flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getDouble descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)D flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putDouble descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JD)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getDoubleVolatile descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)D flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putDoubleVolatile descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JD)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getDoubleAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)D flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putDoubleRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JD)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getDoubleOpaque descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;J)D flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name putDoubleOpaque descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JD)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name compareAndSetDouble descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JDD)Z flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name compareAndExchangeDouble descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JDD)D flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name compareAndExchangeDoubleAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JDD)D flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name compareAndExchangeDoubleRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JDD)D flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name weakCompareAndSetDoublePlain descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JDD)Z flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name weakCompareAndSetDouble descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JDD)Z flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name weakCompareAndSetDoubleAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JDD)Z flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name weakCompareAndSetDoubleRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JDD)Z flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndSetDouble descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JD)D flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndSetDoubleAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JD)D flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndSetDoubleRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JD)D flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndAddDouble descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JD)D flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndAddDoubleAcquire descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JD)D flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name getAndAddDoubleRelease descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope;Ljava/lang/Object;JD)D flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; + +class name jdk/internal/misc/ScopedMemoryAccess$Scope +header extends java/lang/Object nestHost jdk/internal/misc/ScopedMemoryAccess flags 601 +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope outerClass jdk/internal/misc/ScopedMemoryAccess innerClassName Scope flags 609 +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope$Handle outerClass jdk/internal/misc/ScopedMemoryAccess$Scope innerClassName Handle flags 609 +method name checkValidState descriptor ()V flags 401 +method name ownerThread descriptor ()Ljava/lang/Thread; flags 401 +method name isImplicit descriptor ()Z flags 401 +method name acquire descriptor ()Ljdk/internal/misc/ScopedMemoryAccess$Scope$Handle; flags 401 +method name release descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope$Handle;)V flags 401 + +class name jdk/internal/misc/ScopedMemoryAccess$Scope$Handle +header extends java/lang/Object nestHost jdk/internal/misc/ScopedMemoryAccess flags 601 +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope outerClass jdk/internal/misc/ScopedMemoryAccess innerClassName Scope flags 609 +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope$Handle outerClass jdk/internal/misc/ScopedMemoryAccess$Scope innerClassName Handle flags 609 +method name scope descriptor ()Ljdk/internal/misc/ScopedMemoryAccess$Scope; flags 401 + class name jdk/internal/vm/vector/VectorSupport field name VECTOR_OP_MASK_TRUECOUNT descriptor I constantValue 19 flags 19 field name VECTOR_OP_MASK_FIRSTTRUE descriptor I constantValue 20 flags 19 diff --git a/src/jdk.compiler/share/data/symbols/java.base-I.sym.txt b/src/jdk.compiler/share/data/symbols/java.base-I.sym.txt index bb60a7a307070..50b1ed9110ad2 100644 --- a/src/jdk.compiler/share/data/symbols/java.base-I.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.base-I.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, 2022, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -27,7 +27,7 @@ # ########################################################## # module name java.base -header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/lang/runtime,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/random,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert,jdk/internal/event[jdk.jfr],jdk/internal/vm/vector[jdk.incubator.vector] uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/InetAddressResolverProvider,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/random/RandomGenerator,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider,interface\u0020;java/util/random/RandomGenerator\u0020;impls\u0020;java/security/SecureRandom\u005C;u002C;java/util/Random\u005C;u002C;java/util/SplittableRandom target linux-amd64 flags 8000 +header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/lang/runtime,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/random,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert,jdk/internal/access/foreign[jdk.incubator.foreign],jdk/internal/event[jdk.jfr],jdk/internal/misc[jdk.incubator.foreign],jdk/internal/vm/vector[jdk.incubator.vector] extraModulePackages sun/net,sun/net uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/InetAddressResolverProvider,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/random/RandomGenerator,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider,interface\u0020;java/util/random/RandomGenerator\u0020;impls\u0020;java/security/SecureRandom\u005C;u002C;java/util/Random\u005C;u002C;java/util/SplittableRandom target linux-amd64 flags 8000 class name java/io/FileInputStream method name transferTo descriptor (Ljava/io/OutputStream;)J thrownTypes java/io/IOException flags 1 @@ -37,31 +37,12 @@ class name java/io/ObjectInputStream$GetField method name get descriptor (Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; thrownTypes java/io/IOException,java/lang/ClassNotFoundException flags 401 class name java/io/PrintStream -header extends java/io/FilterOutputStream implements java/lang/Appendable,java/io/Closeable flags 21 -innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 method name charset descriptor ()Ljava/nio/charset/Charset; flags 1 -class name java/lang/AbstractStringBuilder -header extends java/lang/Object implements java/lang/Appendable,java/lang/CharSequence flags 420 -innerclass innerClass java/util/Spliterator$OfInt outerClass java/util/Spliterator innerClassName OfInt flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/Compiler -header extends java/lang/Object flags 31 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9") - -class name java/lang/Deprecated -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;CONSTRUCTOR;eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;LOCAL_VARIABLE;eLjava/lang/annotation/ElementType;METHOD;eLjava/lang/annotation/ElementType;PACKAGE;eLjava/lang/annotation/ElementType;MODULE;eLjava/lang/annotation/ElementType;PARAMETER;eLjava/lang/annotation/ElementType;TYPE;}) - class name java/lang/Enum -method name finalize descriptor ()V method name finalize descriptor ()V flags 14 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="18") -class name java/lang/IllegalCallerException -header extends java/lang/RuntimeException flags 21 - -class name java/lang/LayerInstantiationException -header extends java/lang/RuntimeException flags 21 - class name java/lang/Math method name divideExact descriptor (II)I flags 9 method name divideExact descriptor (JJ)J flags 9 @@ -77,9 +58,6 @@ method name ceilMod descriptor (II)I flags 9 method name ceilMod descriptor (JI)I flags 9 method name ceilMod descriptor (JJ)J flags 9 -class name java/lang/NamedPackage -header extends java/lang/Object flags 20 - class name java/lang/Object -method name finalize descriptor ()V method name finalize descriptor ()V thrownTypes java/lang/Throwable flags 4 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9") @@ -109,9 +87,6 @@ method name ceilMod descriptor (II)I flags 9 method name ceilMod descriptor (JI)I flags 9 method name ceilMod descriptor (JJ)J flags 9 -class name java/lang/SuppressWarnings -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;METHOD;eLjava/lang/annotation/ElementType;PARAMETER;eLjava/lang/annotation/ElementType;CONSTRUCTOR;eLjava/lang/annotation/ElementType;LOCAL_VARIABLE;eLjava/lang/annotation/ElementType;MODULE;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;SOURCE;) - class name java/lang/System -method name runFinalization descriptor ()V method name runFinalization descriptor ()V flags 9 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="18") @@ -120,80 +95,10 @@ class name java/lang/Thread -method name stop descriptor ()V method name stop descriptor ()V flags 11 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="1.2") -class name java/lang/constant/ClassDesc -header extends java/lang/Object implements java/lang/constant/ConstantDesc,java/lang/invoke/TypeDescriptor$OfField sealed true flags 601 signature Ljava/lang/Object;Ljava/lang/constant/ConstantDesc;Ljava/lang/invoke/TypeDescriptor$OfField; -innerclass innerClass java/lang/invoke/TypeDescriptor$OfField outerClass java/lang/invoke/TypeDescriptor innerClassName OfField flags 609 - -class name java/lang/constant/ConstantDesc -header extends java/lang/Object sealed true flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/constant/DirectMethodHandleDesc -header extends java/lang/Object implements java/lang/constant/MethodHandleDesc nestMembers java/lang/constant/DirectMethodHandleDesc$Kind sealed true flags 601 -innerclass innerClass java/lang/constant/DirectMethodHandleDesc$Kind outerClass java/lang/constant/DirectMethodHandleDesc innerClassName Kind flags 4019 - -class name java/lang/constant/MethodHandleDesc -header extends java/lang/Object implements java/lang/constant/ConstantDesc sealed true flags 601 -innerclass innerClass java/lang/constant/DirectMethodHandleDesc$Kind outerClass java/lang/constant/DirectMethodHandleDesc innerClassName Kind flags 4019 - -class name java/lang/constant/MethodTypeDesc -header extends java/lang/Object implements java/lang/constant/ConstantDesc,java/lang/invoke/TypeDescriptor$OfMethod sealed true flags 601 signature Ljava/lang/Object;Ljava/lang/constant/ConstantDesc;Ljava/lang/invoke/TypeDescriptor$OfMethod; -innerclass innerClass java/lang/invoke/TypeDescriptor$OfMethod outerClass java/lang/invoke/TypeDescriptor innerClassName OfMethod flags 609 -innerclass innerClass java/lang/invoke/TypeDescriptor$OfField outerClass java/lang/invoke/TypeDescriptor innerClassName OfField flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/invoke/CallSite -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/invoke/LambdaMetafactory -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/lang/invoke/MethodHandle -method name asType descriptor (Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; method name asType descriptor (Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; flags 11 -class name java/lang/invoke/StringConcatException -header extends java/lang/Exception flags 21 - -class name java/lang/module/Configuration -header extends java/lang/Object flags 31 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/module/FindException -header extends java/lang/RuntimeException flags 21 - -class name java/lang/module/InvalidModuleDescriptorException -header extends java/lang/RuntimeException flags 21 - -class name java/lang/module/ModuleReader -header extends java/lang/Object implements java/io/Closeable flags 601 - -class name java/lang/module/ModuleReference -header extends java/lang/Object flags 421 - -class name java/lang/module/ResolutionException -header extends java/lang/RuntimeException flags 21 - -class name java/lang/module/ResolvedModule -header extends java/lang/Object flags 31 - -class name java/lang/reflect/AccessibleObject -header extends java/lang/Object implements java/lang/reflect/AnnotatedElement flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) - -class name java/lang/reflect/AnnotatedElement -header extends java/lang/Object flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/reflect/Executable -header extends java/lang/reflect/AccessibleObject implements java/lang/reflect/Member,java/lang/reflect/GenericDeclaration sealed true flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/reflect/InaccessibleObjectException -header extends java/lang/RuntimeException flags 21 - class name java/lang/reflect/Method -method name invoke descriptor (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; method name invoke descriptor (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; thrownTypes java/lang/IllegalAccessException,java/lang/reflect/InvocationTargetException flags 81 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;@Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/vm/annotation/IntrinsicCandidate; @@ -246,28 +151,14 @@ method name name descriptor ()Ljava/lang/String; flags 401 method name descriptor ()V flags 4 class name java/net/spi/InetAddressResolverProvider$Configuration -header extends java/lang/Object nestHost java/net/spi/InetAddressResolverProvider sealed true flags 601 +header extends java/lang/Object nestHost java/net/spi/InetAddressResolverProvider sealed true permittedSubclasses sun/net/ResolverProviderConfiguration flags 601 innerclass innerClass java/net/spi/InetAddressResolverProvider$Configuration outerClass java/net/spi/InetAddressResolverProvider innerClassName Configuration flags 609 method name builtinResolver descriptor ()Ljava/net/spi/InetAddressResolver; flags 401 method name lookupLocalHostName descriptor ()Ljava/lang/String; flags 401 -class name java/net/spi/URLStreamHandlerProvider -header extends java/lang/Object implements java/net/URLStreamHandlerFactory flags 421 - -class name java/nio/CharBuffer -header extends java/nio/Buffer implements java/lang/Comparable,java/lang/Appendable,java/lang/CharSequence,java/lang/Readable flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable;Ljava/lang/Appendable;Ljava/lang/CharSequence;Ljava/lang/Readable; -innerclass innerClass java/util/Spliterator$OfInt outerClass java/util/Spliterator innerClassName OfInt flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/nio/charset/Charset method name forName descriptor (Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/nio/charset/Charset; flags 9 -class name java/security/Certificate -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="1.2") - -class name java/security/Identity -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 421 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="1.2") - class name java/security/KeyStore method name getAttributes descriptor (Ljava/lang/String;)Ljava/util/Set; thrownTypes java/security/KeyStoreException flags 11 signature (Ljava/lang/String;)Ljava/util/Set; @@ -288,101 +179,9 @@ class name java/security/Provider -method name getServices descriptor ()Ljava/util/Set; method name getServices descriptor ()Ljava/util/Set; flags 1 signature ()Ljava/util/Set; -class name java/security/SecureRandomParameters -header extends java/lang/Object flags 601 - -class name java/security/SignedObject -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 - -class name java/security/cert/CertificateRevokedException -header extends java/security/cert/CertificateException flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 - -class name java/security/cert/URICertStoreParameters -header extends java/lang/Object implements java/security/cert/CertStoreParameters flags 31 - -class name java/security/interfaces/RSAKey --method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; -method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1 - -class name java/security/spec/MGF1ParameterSpec --field name SHA512_224 descriptor Ljava/security/spec/MGF1ParameterSpec; --field name SHA512_256 descriptor Ljava/security/spec/MGF1ParameterSpec; -field name SHA512_224 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19 -field name SHA512_256 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19 - -class name java/security/spec/PSSParameterSpec --field name TRAILER_FIELD_BC descriptor I --method name toString descriptor ()Ljava/lang/String; -field name TRAILER_FIELD_BC descriptor I constantValue 1 flags 19 -method name toString descriptor ()Ljava/lang/String; flags 1 - -class name java/security/spec/RSAKeyGenParameterSpec --method name descriptor (ILjava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V --method name getKeyParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; -method name descriptor (ILjava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1 -method name getKeyParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1 - -class name java/security/spec/RSAMultiPrimePrivateCrtKeySpec --method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;[Ljava/security/spec/RSAOtherPrimeInfo;Ljava/security/spec/AlgorithmParameterSpec;)V -method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;[Ljava/security/spec/RSAOtherPrimeInfo;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1 - -class name java/security/spec/RSAPrivateCrtKeySpec --method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V -method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1 - -class name java/security/spec/RSAPrivateKeySpec --method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V --method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; -method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1 -method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1 - -class name java/security/spec/RSAPublicKeySpec --method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V --method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; -method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1 -method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1 - -class name java/text/DateFormatSymbols -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 - -class name java/text/RuleBasedCollator -header extends java/text/Collator flags 21 -innerclass innerClass java/text/Normalizer$Form outerClass java/text/Normalizer innerClassName Form flags 4019 - class name java/time/Duration method name isPositive descriptor ()Z flags 1 -class name java/time/chrono/ChronoLocalDate -header extends java/lang/Object implements java/time/temporal/Temporal,java/time/temporal/TemporalAdjuster,java/lang/Comparable flags 601 signature Ljava/lang/Object;Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalAdjuster;Ljava/lang/Comparable; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/time/chrono/ChronoLocalDateTime -header extends java/lang/Object implements java/time/temporal/Temporal,java/time/temporal/TemporalAdjuster,java/lang/Comparable flags 601 signature Ljava/lang/Object;Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalAdjuster;Ljava/lang/Comparable;>; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/time/format/DecimalStyle -header extends java/lang/Object flags 31 -innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 - -class name java/time/temporal/TemporalAdjusters -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/Comparator -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/DoubleSummaryStatistics -header extends java/lang/Object implements java/util/function/DoubleConsumer flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/GregorianCalendar -header extends java/util/Calendar flags 21 -innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 - class name java/util/HashMap header extends java/util/AbstractMap implements java/util/Map,java/lang/Cloneable,java/io/Serializable flags 21 signature Ljava/util/AbstractMap;Ljava/util/Map;Ljava/lang/Cloneable;Ljava/io/Serializable; innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 @@ -403,287 +202,10 @@ header extends java/util/AbstractMap implements java/util/Map,java/io/Serializab innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -class name java/util/Locale$IsoCountryCode -header extends java/lang/Enum nestHost java/util/Locale sealed true flags 4421 signature Ljava/lang/Enum; -innerclass innerClass java/util/Locale$IsoCountryCode outerClass java/util/Locale innerClassName IsoCountryCode flags 4409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/Observable -header extends java/lang/Object flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") - -class name java/util/Observer -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") - -class name java/util/TimeZone -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 -innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 - -class name java/util/TreeSet -header extends java/util/AbstractSet implements java/util/NavigableSet,java/lang/Cloneable,java/io/Serializable flags 21 signature Ljava/util/AbstractSet;Ljava/util/NavigableSet;Ljava/lang/Cloneable;Ljava/io/Serializable; -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 - -class name java/util/concurrent/ConcurrentMap -header extends java/lang/Object implements java/util/Map flags 601 signature Ljava/lang/Object;Ljava/util/Map; -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/concurrent/ConcurrentSkipListSet -header extends java/util/AbstractSet implements java/util/NavigableSet,java/lang/Cloneable,java/io/Serializable flags 21 signature Ljava/util/AbstractSet;Ljava/util/NavigableSet;Ljava/lang/Cloneable;Ljava/io/Serializable; -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/concurrent/CountedCompleter -header extends java/util/concurrent/ForkJoinTask flags 421 signature Ljava/util/concurrent/ForkJoinTask; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/util/concurrent/ThreadPoolExecutor -method name finalize descriptor ()V method name finalize descriptor ()V flags 4 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9") -class name java/util/concurrent/atomic/AtomicBoolean -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/concurrent/atomic/AtomicReference -header extends java/lang/Object implements java/io/Serializable flags 21 signature Ljava/lang/Object;Ljava/io/Serializable; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/concurrent/atomic/AtomicReferenceArray -header extends java/lang/Object implements java/io/Serializable flags 21 signature Ljava/lang/Object;Ljava/io/Serializable; -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/concurrent/locks/StampedLock -header extends java/lang/Object implements java/io/Serializable flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) --method name tryWriteLock descriptor ()J --method name writeLockInterruptibly descriptor ()J --method name tryReadLock descriptor ()J --method name tryReadLock descriptor (JLjava/util/concurrent/TimeUnit;)J --method name readLockInterruptibly descriptor ()J --method name unlock descriptor (J)V -method name tryWriteLock descriptor ()J flags 1 -method name writeLockInterruptibly descriptor ()J thrownTypes java/lang/InterruptedException flags 1 -method name tryReadLock descriptor ()J flags 1 -method name tryReadLock descriptor (JLjava/util/concurrent/TimeUnit;)J thrownTypes java/lang/InterruptedException flags 1 -method name readLockInterruptibly descriptor ()J thrownTypes java/lang/InterruptedException flags 1 -method name unlock descriptor (J)V flags 1 - -class name java/util/function/BiConsumer -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/BiFunction -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/BiPredicate -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/BinaryOperator -header extends java/lang/Object implements java/util/function/BiFunction flags 601 signature Ljava/lang/Object;Ljava/util/function/BiFunction; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/Consumer -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/DoubleConsumer -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/DoublePredicate -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/DoubleUnaryOperator -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/Function -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/IntConsumer -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/IntPredicate -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/IntUnaryOperator -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/LongConsumer -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/LongPredicate -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/LongUnaryOperator -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/Predicate -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/UnaryOperator -header extends java/lang/Object implements java/util/function/Function flags 601 signature Ljava/lang/Object;Ljava/util/function/Function; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/spi/AbstractResourceBundleProvider -header extends java/lang/Object implements java/util/spi/ResourceBundleProvider flags 421 -innerclass innerClass java/util/ResourceBundle$Control outerClass java/util/ResourceBundle innerClassName Control flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/spi/CurrencyNameProvider -header extends java/util/spi/LocaleServiceProvider flags 421 -innerclass innerClass java/util/ResourceBundle$Control outerClass java/util/ResourceBundle innerClassName Control flags 9 - -class name java/util/spi/ResourceBundleProvider -header extends java/lang/Object flags 601 - -class name java/util/spi/ToolProvider -header extends java/lang/Object flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/zip/CRC32C -header extends java/lang/Object implements java/util/zip/Checksum flags 31 - -class name javax/crypto/AEADBadTagException -header extends javax/crypto/BadPaddingException flags 21 - -class name javax/crypto/BadPaddingException -header extends java/security/GeneralSecurityException flags 21 - -class name javax/crypto/CipherInputStream -header extends java/io/FilterInputStream flags 21 - -class name javax/crypto/CipherOutputStream -header extends java/io/FilterOutputStream flags 21 - -class name javax/crypto/CipherSpi -header extends java/lang/Object flags 421 - -class name javax/crypto/EncryptedPrivateKeyInfo -header extends java/lang/Object flags 21 - -class name javax/crypto/ExemptionMechanism -header extends java/lang/Object flags 21 - -class name javax/crypto/ExemptionMechanismException -header extends java/security/GeneralSecurityException flags 21 - -class name javax/crypto/ExemptionMechanismSpi -header extends java/lang/Object flags 421 - -class name javax/crypto/IllegalBlockSizeException -header extends java/security/GeneralSecurityException flags 21 - -class name javax/crypto/KeyAgreement -header extends java/lang/Object flags 21 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 - -class name javax/crypto/KeyAgreementSpi -header extends java/lang/Object flags 421 - -class name javax/crypto/KeyGenerator -header extends java/lang/Object flags 21 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 - -class name javax/crypto/KeyGeneratorSpi -header extends java/lang/Object flags 421 - -class name javax/crypto/Mac -header extends java/lang/Object implements java/lang/Cloneable flags 21 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 - -class name javax/crypto/MacSpi -header extends java/lang/Object flags 421 - -class name javax/crypto/NoSuchPaddingException -header extends java/security/GeneralSecurityException flags 21 - -class name javax/crypto/NullCipher -header extends javax/crypto/Cipher flags 21 - -class name javax/crypto/SealedObject -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/crypto/SecretKey -header extends java/lang/Object implements java/security/Key,javax/security/auth/Destroyable flags 601 - -class name javax/crypto/SecretKeyFactory -header extends java/lang/Object flags 21 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 - -class name javax/crypto/SecretKeyFactorySpi -header extends java/lang/Object flags 421 - -class name javax/crypto/ShortBufferException -header extends java/security/GeneralSecurityException flags 21 - -class name javax/crypto/interfaces/DHKey -header extends java/lang/Object flags 601 - -class name javax/crypto/interfaces/DHPrivateKey -header extends java/lang/Object implements javax/crypto/interfaces/DHKey,java/security/PrivateKey flags 601 - -class name javax/crypto/interfaces/DHPublicKey -header extends java/lang/Object implements javax/crypto/interfaces/DHKey,java/security/PublicKey flags 601 - -class name javax/crypto/interfaces/PBEKey -header extends java/lang/Object implements javax/crypto/SecretKey flags 601 - -class name javax/crypto/spec/DESKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec flags 21 - -class name javax/crypto/spec/DESedeKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec flags 21 - -class name javax/crypto/spec/DHGenParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 - -class name javax/crypto/spec/DHParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 - -class name javax/crypto/spec/DHPrivateKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec flags 21 - -class name javax/crypto/spec/DHPublicKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec flags 21 - -class name javax/crypto/spec/GCMParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 - -class name javax/crypto/spec/IvParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 - -class name javax/crypto/spec/OAEPParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 -innerclass innerClass javax/crypto/spec/PSource$PSpecified outerClass javax/crypto/spec/PSource innerClassName PSpecified flags 19 - -class name javax/crypto/spec/PBEKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec flags 21 - -class name javax/crypto/spec/PBEParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 - -class name javax/crypto/spec/RC2ParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 - -class name javax/crypto/spec/RC5ParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 - -class name javax/crypto/spec/SecretKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec,javax/crypto/SecretKey flags 21 - class name javax/security/auth/Subject header extends java/lang/Object implements java/io/Serializable flags 31 innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 @@ -701,6 +223,33 @@ innerclass innerClass javax/security/auth/login/AppConfigurationEntry$LoginModul innerclass innerClass java/util/ServiceLoader$Provider outerClass java/util/ServiceLoader innerClassName Provider flags 609 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +class name jdk/internal/access/foreign/MemorySegmentProxy +method name maxAlignMask descriptor ()J flags 401 + +class name jdk/internal/misc/ScopedMemoryAccess +header extends java/lang/Object nestMembers jdk/internal/misc/ScopedMemoryAccess$Scope flags 21 +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope outerClass jdk/internal/misc/ScopedMemoryAccess innerClassName Scope flags 609 +innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9 +innerclass innerClass jdk/internal/vm/vector/VectorSupport$Vector outerClass jdk/internal/vm/vector/VectorSupport innerClassName Vector flags 9 +innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorPayload outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorPayload flags 9 +innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorMask outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorMask flags 9 +-method name loadFromByteBuffer descriptor (Ljava/lang/Class;Ljava/lang/Class;ILjava/nio/ByteBuffer;ILjdk/internal/vm/vector/VectorSupport$VectorSpecies;Ljdk/internal/vm/vector/VectorSupport$LoadOperation;)Ljdk/internal/vm/vector/VectorSupport$Vector; +method name isReadOnly descriptor (Ljava/nio/ByteBuffer;)Z flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name loadFromByteBuffer descriptor (Ljava/lang/Class;Ljava/lang/Class;ILjava/nio/ByteBuffer;ILjdk/internal/vm/vector/VectorSupport$VectorSpecies;Ljdk/internal/vm/vector/VectorSupport$LoadOperation;)Ljdk/internal/vm/vector/VectorSupport$Vector; flags 9 signature ;E:Ljava/lang/Object;S:Ljdk/internal/vm/vector/VectorSupport$VectorSpecies;>(Ljava/lang/Class<+TV;>;Ljava/lang/Class;ILjava/nio/ByteBuffer;ITS;Ljdk/internal/vm/vector/VectorSupport$LoadOperation;)TV; runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name loadFromByteBufferMasked descriptor (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;ILjava/nio/ByteBuffer;ILjdk/internal/vm/vector/VectorSupport$VectorMask;Ljdk/internal/vm/vector/VectorSupport$VectorSpecies;Ljdk/internal/vm/vector/VectorSupport$LoadVectorMaskedOperation;)Ljdk/internal/vm/vector/VectorSupport$Vector; flags 9 signature ;E:Ljava/lang/Object;S:Ljdk/internal/vm/vector/VectorSupport$VectorSpecies;M:Ljdk/internal/vm/vector/VectorSupport$VectorMask;>(Ljava/lang/Class<+TV;>;Ljava/lang/Class;Ljava/lang/Class;ILjava/nio/ByteBuffer;ITM;TS;Ljdk/internal/vm/vector/VectorSupport$LoadVectorMaskedOperation;)TV; runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name storeIntoByteBufferMasked descriptor (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;ILjdk/internal/vm/vector/VectorSupport$Vector;Ljdk/internal/vm/vector/VectorSupport$VectorMask;Ljava/nio/ByteBuffer;ILjdk/internal/vm/vector/VectorSupport$StoreVectorMaskedOperation;)V flags 9 signature ;E:Ljava/lang/Object;M:Ljdk/internal/vm/vector/VectorSupport$VectorMask;>(Ljava/lang/Class<+TV;>;Ljava/lang/Class;Ljava/lang/Class;ITV;TM;Ljava/nio/ByteBuffer;ILjdk/internal/vm/vector/VectorSupport$StoreVectorMaskedOperation;)V runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; + +class name jdk/internal/misc/ScopedMemoryAccess$Scope +header extends java/lang/Object nestHost jdk/internal/misc/ScopedMemoryAccess flags 601 +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope outerClass jdk/internal/misc/ScopedMemoryAccess innerClassName Scope flags 609 +-method name isImplicit descriptor ()Z +-method name acquire descriptor ()Ljdk/internal/misc/ScopedMemoryAccess$Scope$Handle; +-method name release descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope$Handle;)V +method name acquire0 descriptor ()V flags 401 +method name release0 descriptor ()V flags 401 + +-class name jdk/internal/misc/ScopedMemoryAccess$Scope$Handle + class name jdk/internal/vm/vector/VectorSupport header extends java/lang/Object nestMembers jdk/internal/vm/vector/VectorSupport$VectorMask,jdk/internal/vm/vector/VectorSupport$VectorShuffle,jdk/internal/vm/vector/VectorSupport$Vector,jdk/internal/vm/vector/VectorSupport$VectorPayload,jdk/internal/vm/vector/VectorSupport$VectorSpecies flags 21 innerclass innerClass jdk/internal/vm/vector/VectorSupport$VectorSpecies outerClass jdk/internal/vm/vector/VectorSupport innerClassName VectorSpecies flags 9 @@ -754,3 +303,10 @@ method name broadcastInt descriptor (ILjava/lang/Class;Ljava/lang/Class;Ljava/la method name maybeRebox descriptor (Ljdk/internal/vm/vector/VectorSupport$VectorPayload;)Ljdk/internal/vm/vector/VectorSupport$VectorPayload; flags 9 signature (TVP;)TVP; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate; method name maskReductionCoerced descriptor (ILjava/lang/Class;Ljava/lang/Class;ILjdk/internal/vm/vector/VectorSupport$VectorMask;Ljdk/internal/vm/vector/VectorSupport$VectorMaskOp;)J flags 9 signature ;E:Ljava/lang/Object;>(ILjava/lang/Class<+TM;>;Ljava/lang/Class<*>;ITM;Ljdk/internal/vm/vector/VectorSupport$VectorMaskOp;)J runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate; +class name sun/net/ResolverProviderConfiguration +header extends java/lang/Object implements java/net/spi/InetAddressResolverProvider$Configuration flags 31 +innerclass innerClass java/net/spi/InetAddressResolverProvider$Configuration outerClass java/net/spi/InetAddressResolverProvider innerClassName Configuration flags 609 +method name descriptor (Ljava/net/spi/InetAddressResolver;Ljava/util/function/Supplier;)V flags 1 signature (Ljava/net/spi/InetAddressResolver;Ljava/util/function/Supplier;)V +method name builtinResolver descriptor ()Ljava/net/spi/InetAddressResolver; flags 1 +method name lookupLocalHostName descriptor ()Ljava/lang/String; flags 1 + diff --git a/src/jdk.compiler/share/data/symbols/java.base-J.sym.txt b/src/jdk.compiler/share/data/symbols/java.base-J.sym.txt index 155c9ac3eb408..97e9f6489f553 100644 --- a/src/jdk.compiler/share/data/symbols/java.base-J.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.base-J.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -27,7 +27,7 @@ # ########################################################## # module name java.base -header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/foreign,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/lang/runtime,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/random,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert,jdk/internal/event[jdk.jfr],jdk/internal/vm/vector[jdk.incubator.vector] uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/InetAddressResolverProvider,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/random/RandomGenerator,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider,interface\u0020;java/util/random/RandomGenerator\u0020;impls\u0020;java/security/SecureRandom\u005C;u002C;java/util/Random\u005C;u002C;java/util/SplittableRandom target linux-amd64 flags 8000 +header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/foreign,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/lang/runtime,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/random,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert,jdk/internal/event[jdk.jfr],jdk/internal/vm/vector[jdk.incubator.vector] extraModulePackages jdk/internal/foreign/abi,jdk/internal/foreign/abi/aarch64/linux,jdk/internal/foreign/abi/aarch64/macos,jdk/internal/foreign/abi/x64/sysv,jdk/internal/foreign/abi/x64/windows,sun/net,jdk/internal/foreign,jdk/internal/foreign,sun/net,sun/nio/ch uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/InetAddressResolverProvider,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/random/RandomGenerator,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider,interface\u0020;java/util/random/RandomGenerator\u0020;impls\u0020;java/security/SecureRandom\u005C;u002C;java/util/Random\u005C;u002C;java/util/SplittableRandom target linux-amd64 flags 8000 class name java/io/BufferedInputStream -method name read descriptor ()I @@ -78,10 +78,6 @@ class name java/io/ObjectStreamException method name descriptor (Ljava/lang/String;Ljava/lang/Throwable;)V flags 4 method name descriptor (Ljava/lang/Throwable;)V flags 4 -class name java/io/PrintStream -header extends java/io/FilterOutputStream implements java/lang/Appendable,java/io/Closeable flags 21 -innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 - class name java/io/PushbackInputStream -method name mark descriptor (I)V -method name reset descriptor ()V @@ -97,7 +93,7 @@ method name length descriptor ()J thrownTypes java/io/IOException flags 1 method name setLength descriptor (J)V thrownTypes java/io/IOException flags 1 class name java/lang/AbstractStringBuilder -header extends java/lang/Object implements java/lang/Appendable,java/lang/CharSequence sealed true flags 420 +header extends java/lang/Object implements java/lang/Appendable,java/lang/CharSequence sealed true permittedSubclasses java/lang/StringBuilder,java/lang/StringBuffer flags 420 innerclass innerClass java/util/Spliterator$OfInt outerClass java/util/Spliterator innerClassName OfInt flags 609 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 @@ -122,12 +118,6 @@ field name CYPRO_MINOAN descriptor Ljava/lang/Character$UnicodeScript; flags 401 field name TANGSA descriptor Ljava/lang/Character$UnicodeScript; flags 4019 field name TOTO descriptor Ljava/lang/Character$UnicodeScript; flags 4019 -class name java/lang/Compiler -header extends java/lang/Object flags 31 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9") - -class name java/lang/Deprecated -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;CONSTRUCTOR;eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;LOCAL_VARIABLE;eLjava/lang/annotation/ElementType;METHOD;eLjava/lang/annotation/ElementType;PACKAGE;eLjava/lang/annotation/ElementType;MODULE;eLjava/lang/annotation/ElementType;PARAMETER;eLjava/lang/annotation/ElementType;TYPE;}) - class name java/lang/Double -method name isInfinite descriptor (D)Z field name PRECISION descriptor I constantValue 53 flags 19 @@ -138,9 +128,6 @@ class name java/lang/Float field name PRECISION descriptor I constantValue 24 flags 19 method name isInfinite descriptor (F)Z flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate; -class name java/lang/IllegalCallerException -header extends java/lang/RuntimeException flags 21 - class name java/lang/Integer -method name divideUnsigned descriptor (II)I -method name remainderUnsigned descriptor (II)I @@ -149,9 +136,6 @@ method name remainderUnsigned descriptor (II)I flags 9 runtimeAnnotations @Ljdk/ method name compress descriptor (II)I flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate; method name expand descriptor (II)I flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate; -class name java/lang/LayerInstantiationException -header extends java/lang/RuntimeException flags 21 - class name java/lang/Long -method name divideUnsigned descriptor (JJ)J -method name remainderUnsigned descriptor (JJ)J @@ -171,9 +155,6 @@ field name TAU descriptor D constantValue 6.283185307179586 flags 19 method name round descriptor (F)I flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate; method name round descriptor (D)J flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate; -class name java/lang/NamedPackage -header extends java/lang/Object flags 20 - class name java/lang/Object -method name wait descriptor (J)V method name wait descriptor (J)V thrownTypes java/lang/InterruptedException flags 11 @@ -186,6 +167,8 @@ header extends java/lang/Object implements java/lang/annotation/Annotation flags class name java/lang/Thread header extends java/lang/Object implements java/lang/Runnable nestMembers java/lang/Thread$UncaughtExceptionHandler,java/lang/Thread$State,java/lang/Thread$Builder,java/lang/Thread$Builder$OfVirtual,java/lang/Thread$Builder$OfPlatform flags 21 +innerclass innerClass java/lang/ThreadBuilders$PlatformThreadBuilder outerClass java/lang/ThreadBuilders innerClassName PlatformThreadBuilder flags 18 +innerclass innerClass java/lang/ThreadBuilders$VirtualThreadBuilder outerClass java/lang/ThreadBuilders innerClassName VirtualThreadBuilder flags 18 innerclass innerClass java/lang/Thread$UncaughtExceptionHandler outerClass java/lang/Thread innerClassName UncaughtExceptionHandler flags 609 innerclass innerClass java/lang/Thread$State outerClass java/lang/Thread innerClassName State flags 4019 innerclass innerClass java/lang/Thread$Builder outerClass java/lang/Thread innerClassName Builder flags 609 @@ -215,11 +198,12 @@ method name getId descriptor ()J flags 1 deprecated true runtimeAnnotations @Lja method name threadId descriptor ()J flags 11 class name java/lang/Thread$Builder -header extends java/lang/Object nestHost java/lang/Thread sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;VIRTUAL_THREADS;) +header extends java/lang/Object nestHost java/lang/Thread sealed true permittedSubclasses java/lang/Thread$Builder$OfPlatform,java/lang/Thread$Builder$OfVirtual,java/lang/ThreadBuilders$BaseThreadBuilder flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;VIRTUAL_THREADS;) innerclass innerClass java/lang/Thread$Builder outerClass java/lang/Thread innerClassName Builder flags 609 innerclass innerClass java/lang/Thread$Builder$OfVirtual outerClass java/lang/Thread$Builder innerClassName OfVirtual flags 609 innerclass innerClass java/lang/Thread$Builder$OfPlatform outerClass java/lang/Thread$Builder innerClassName OfPlatform flags 609 innerclass innerClass java/lang/Thread$UncaughtExceptionHandler outerClass java/lang/Thread innerClassName UncaughtExceptionHandler flags 609 +innerclass innerClass java/lang/ThreadBuilders$BaseThreadBuilder outerClass java/lang/ThreadBuilders innerClassName BaseThreadBuilder flags 408 method name name descriptor (Ljava/lang/String;)Ljava/lang/Thread$Builder; flags 401 method name name descriptor (Ljava/lang/String;J)Ljava/lang/Thread$Builder; flags 401 method name allowSetThreadLocals descriptor (Z)Ljava/lang/Thread$Builder; flags 401 @@ -230,10 +214,11 @@ method name start descriptor (Ljava/lang/Runnable;)Ljava/lang/Thread; flags 401 method name factory descriptor ()Ljava/util/concurrent/ThreadFactory; flags 401 class name java/lang/Thread$Builder$OfPlatform -header extends java/lang/Object implements java/lang/Thread$Builder nestHost java/lang/Thread sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;VIRTUAL_THREADS;) +header extends java/lang/Object implements java/lang/Thread$Builder nestHost java/lang/Thread sealed true permittedSubclasses java/lang/ThreadBuilders$PlatformThreadBuilder flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;VIRTUAL_THREADS;) innerclass innerClass java/lang/Thread$Builder outerClass java/lang/Thread innerClassName Builder flags 609 innerclass innerClass java/lang/Thread$Builder$OfPlatform outerClass java/lang/Thread$Builder innerClassName OfPlatform flags 609 innerclass innerClass java/lang/Thread$UncaughtExceptionHandler outerClass java/lang/Thread innerClassName UncaughtExceptionHandler flags 609 +innerclass innerClass java/lang/ThreadBuilders$PlatformThreadBuilder outerClass java/lang/ThreadBuilders innerClassName PlatformThreadBuilder flags 18 method name name descriptor (Ljava/lang/String;)Ljava/lang/Thread$Builder$OfPlatform; flags 401 method name name descriptor (Ljava/lang/String;J)Ljava/lang/Thread$Builder$OfPlatform; flags 401 method name allowSetThreadLocals descriptor (Z)Ljava/lang/Thread$Builder$OfPlatform; flags 401 @@ -251,10 +236,11 @@ method name name descriptor (Ljava/lang/String;J)Ljava/lang/Thread$Builder; flag method name name descriptor (Ljava/lang/String;)Ljava/lang/Thread$Builder; flags 1041 class name java/lang/Thread$Builder$OfVirtual -header extends java/lang/Object implements java/lang/Thread$Builder nestHost java/lang/Thread sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;VIRTUAL_THREADS;) +header extends java/lang/Object implements java/lang/Thread$Builder nestHost java/lang/Thread sealed true permittedSubclasses java/lang/ThreadBuilders$VirtualThreadBuilder flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;VIRTUAL_THREADS;) innerclass innerClass java/lang/Thread$Builder outerClass java/lang/Thread innerClassName Builder flags 609 innerclass innerClass java/lang/Thread$Builder$OfVirtual outerClass java/lang/Thread$Builder innerClassName OfVirtual flags 609 innerclass innerClass java/lang/Thread$UncaughtExceptionHandler outerClass java/lang/Thread innerClassName UncaughtExceptionHandler flags 609 +innerclass innerClass java/lang/ThreadBuilders$VirtualThreadBuilder outerClass java/lang/ThreadBuilders innerClassName VirtualThreadBuilder flags 18 method name name descriptor (Ljava/lang/String;)Ljava/lang/Thread$Builder$OfVirtual; flags 401 method name name descriptor (Ljava/lang/String;J)Ljava/lang/Thread$Builder$OfVirtual; flags 401 method name allowSetThreadLocals descriptor (Z)Ljava/lang/Thread$Builder$OfVirtual; flags 401 @@ -266,6 +252,59 @@ method name allowSetThreadLocals descriptor (Z)Ljava/lang/Thread$Builder; flags method name name descriptor (Ljava/lang/String;J)Ljava/lang/Thread$Builder; flags 1041 method name name descriptor (Ljava/lang/String;)Ljava/lang/Thread$Builder; flags 1041 +class name java/lang/ThreadBuilders +header extends java/lang/Object nestMembers java/lang/ThreadBuilders$VirtualThreadBuilder,java/lang/ThreadBuilders$PlatformThreadBuilder,java/lang/ThreadBuilders$BaseThreadBuilder flags 20 +innerclass innerClass java/lang/ThreadBuilders$VirtualThreadBuilder outerClass java/lang/ThreadBuilders innerClassName VirtualThreadBuilder flags 18 +innerclass innerClass java/lang/ThreadBuilders$PlatformThreadBuilder outerClass java/lang/ThreadBuilders innerClassName PlatformThreadBuilder flags 18 +innerclass innerClass java/lang/ThreadBuilders$BaseThreadBuilder outerClass java/lang/ThreadBuilders innerClassName BaseThreadBuilder flags 408 + +class name java/lang/ThreadBuilders$BaseThreadBuilder +header extends java/lang/Object implements java/lang/Thread$Builder nestHost java/lang/ThreadBuilders flags 420 signature Ljava/lang/Object;Ljava/lang/Thread$Builder; +innerclass innerClass java/lang/ThreadBuilders$BaseThreadBuilder outerClass java/lang/ThreadBuilders innerClassName BaseThreadBuilder flags 408 +innerclass innerClass java/lang/Thread$UncaughtExceptionHandler outerClass java/lang/Thread innerClassName UncaughtExceptionHandler flags 609 +innerclass innerClass java/lang/Thread$Builder outerClass java/lang/Thread innerClassName Builder flags 609 +method name name descriptor (Ljava/lang/String;)Ljava/lang/Thread$Builder; flags 1 signature (Ljava/lang/String;)TT; +method name name descriptor (Ljava/lang/String;J)Ljava/lang/Thread$Builder; flags 1 signature (Ljava/lang/String;J)TT; +method name allowSetThreadLocals descriptor (Z)Ljava/lang/Thread$Builder; flags 1 signature (Z)TT; +method name inheritInheritableThreadLocals descriptor (Z)Ljava/lang/Thread$Builder; flags 1 signature (Z)TT; +method name uncaughtExceptionHandler descriptor (Ljava/lang/Thread$UncaughtExceptionHandler;)Ljava/lang/Thread$Builder; flags 1 signature (Ljava/lang/Thread$UncaughtExceptionHandler;)TT; + +class name java/lang/ThreadBuilders$PlatformThreadBuilder +header extends java/lang/ThreadBuilders$BaseThreadBuilder implements java/lang/Thread$Builder$OfPlatform nestHost java/lang/ThreadBuilders flags 30 signature Ljava/lang/ThreadBuilders$BaseThreadBuilder;Ljava/lang/Thread$Builder$OfPlatform; +innerclass innerClass java/lang/ThreadBuilders$BaseThreadBuilder outerClass java/lang/ThreadBuilders innerClassName BaseThreadBuilder flags 408 +innerclass innerClass java/lang/ThreadBuilders$PlatformThreadBuilder outerClass java/lang/ThreadBuilders innerClassName PlatformThreadBuilder flags 18 +innerclass innerClass java/lang/Thread$UncaughtExceptionHandler outerClass java/lang/Thread innerClassName UncaughtExceptionHandler flags 609 +innerclass innerClass java/lang/Thread$Builder outerClass java/lang/Thread innerClassName Builder flags 609 +innerclass innerClass java/lang/Thread$Builder$OfPlatform outerClass java/lang/Thread$Builder innerClassName OfPlatform flags 609 +method name group descriptor (Ljava/lang/ThreadGroup;)Ljava/lang/Thread$Builder$OfPlatform; flags 1 +method name daemon descriptor (Z)Ljava/lang/Thread$Builder$OfPlatform; flags 1 +method name priority descriptor (I)Ljava/lang/Thread$Builder$OfPlatform; flags 1 +method name stackSize descriptor (J)Ljava/lang/Thread$Builder$OfPlatform; flags 1 +method name unstarted descriptor (Ljava/lang/Runnable;)Ljava/lang/Thread; flags 1 +method name start descriptor (Ljava/lang/Runnable;)Ljava/lang/Thread; flags 1 +method name factory descriptor ()Ljava/util/concurrent/ThreadFactory; flags 1 +method name uncaughtExceptionHandler descriptor (Ljava/lang/Thread$UncaughtExceptionHandler;)Ljava/lang/Thread$Builder$OfPlatform; flags 1041 +method name inheritInheritableThreadLocals descriptor (Z)Ljava/lang/Thread$Builder$OfPlatform; flags 1041 +method name allowSetThreadLocals descriptor (Z)Ljava/lang/Thread$Builder$OfPlatform; flags 1041 +method name name descriptor (Ljava/lang/String;J)Ljava/lang/Thread$Builder$OfPlatform; flags 1041 +method name name descriptor (Ljava/lang/String;)Ljava/lang/Thread$Builder$OfPlatform; flags 1041 + +class name java/lang/ThreadBuilders$VirtualThreadBuilder +header extends java/lang/ThreadBuilders$BaseThreadBuilder implements java/lang/Thread$Builder$OfVirtual nestHost java/lang/ThreadBuilders flags 30 signature Ljava/lang/ThreadBuilders$BaseThreadBuilder;Ljava/lang/Thread$Builder$OfVirtual; +innerclass innerClass java/lang/ThreadBuilders$BaseThreadBuilder outerClass java/lang/ThreadBuilders innerClassName BaseThreadBuilder flags 408 +innerclass innerClass java/lang/ThreadBuilders$VirtualThreadBuilder outerClass java/lang/ThreadBuilders innerClassName VirtualThreadBuilder flags 18 +innerclass innerClass java/lang/Thread$UncaughtExceptionHandler outerClass java/lang/Thread innerClassName UncaughtExceptionHandler flags 609 +innerclass innerClass java/lang/Thread$Builder outerClass java/lang/Thread innerClassName Builder flags 609 +innerclass innerClass java/lang/Thread$Builder$OfVirtual outerClass java/lang/Thread$Builder innerClassName OfVirtual flags 609 +method name unstarted descriptor (Ljava/lang/Runnable;)Ljava/lang/Thread; flags 1 +method name start descriptor (Ljava/lang/Runnable;)Ljava/lang/Thread; flags 1 +method name factory descriptor ()Ljava/util/concurrent/ThreadFactory; flags 1 +method name uncaughtExceptionHandler descriptor (Ljava/lang/Thread$UncaughtExceptionHandler;)Ljava/lang/Thread$Builder$OfVirtual; flags 1041 +method name inheritInheritableThreadLocals descriptor (Z)Ljava/lang/Thread$Builder$OfVirtual; flags 1041 +method name allowSetThreadLocals descriptor (Z)Ljava/lang/Thread$Builder$OfVirtual; flags 1041 +method name name descriptor (Ljava/lang/String;J)Ljava/lang/Thread$Builder$OfVirtual; flags 1041 +method name name descriptor (Ljava/lang/String;)Ljava/lang/Thread$Builder$OfVirtual; flags 1041 + class name java/lang/ThreadGroup header extends java/lang/Object implements java/lang/Thread$UncaughtExceptionHandler flags 21 innerclass innerClass java/lang/Thread$UncaughtExceptionHandler outerClass java/lang/Thread innerClassName UncaughtExceptionHandler flags 609 @@ -280,28 +319,6 @@ method name descriptor (Ljava/lang/String;)V flags 1 method name descriptor (Ljava/lang/String;Ljava/lang/Throwable;)V flags 1 method name descriptor (Ljava/lang/Throwable;)V flags 1 -class name java/lang/constant/ClassDesc -header extends java/lang/Object implements java/lang/constant/ConstantDesc,java/lang/invoke/TypeDescriptor$OfField sealed true flags 601 signature Ljava/lang/Object;Ljava/lang/constant/ConstantDesc;Ljava/lang/invoke/TypeDescriptor$OfField; -innerclass innerClass java/lang/invoke/TypeDescriptor$OfField outerClass java/lang/invoke/TypeDescriptor innerClassName OfField flags 609 - -class name java/lang/constant/ConstantDesc -header extends java/lang/Object sealed true flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/constant/DirectMethodHandleDesc -header extends java/lang/Object implements java/lang/constant/MethodHandleDesc nestMembers java/lang/constant/DirectMethodHandleDesc$Kind sealed true flags 601 -innerclass innerClass java/lang/constant/DirectMethodHandleDesc$Kind outerClass java/lang/constant/DirectMethodHandleDesc innerClassName Kind flags 4019 - -class name java/lang/constant/MethodHandleDesc -header extends java/lang/Object implements java/lang/constant/ConstantDesc sealed true flags 601 -innerclass innerClass java/lang/constant/DirectMethodHandleDesc$Kind outerClass java/lang/constant/DirectMethodHandleDesc innerClassName Kind flags 4019 - -class name java/lang/constant/MethodTypeDesc -header extends java/lang/Object implements java/lang/constant/ConstantDesc,java/lang/invoke/TypeDescriptor$OfMethod sealed true flags 601 signature Ljava/lang/Object;Ljava/lang/constant/ConstantDesc;Ljava/lang/invoke/TypeDescriptor$OfMethod; -innerclass innerClass java/lang/invoke/TypeDescriptor$OfMethod outerClass java/lang/invoke/TypeDescriptor innerClassName OfMethod flags 609 -innerclass innerClass java/lang/invoke/TypeDescriptor$OfField outerClass java/lang/invoke/TypeDescriptor innerClassName OfField flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/lang/foreign/AbstractLayout header extends java/lang/Object implements java/lang/foreign/MemoryLayout flags 420 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 @@ -320,11 +337,12 @@ method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/MemoryLay method name byteSize descriptor ()J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; class name java/lang/foreign/Addressable -header extends java/lang/Object sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object sealed true permittedSubclasses java/lang/foreign/MemorySegment,java/lang/foreign/MemoryAddress,java/lang/foreign/VaList flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) method name address descriptor ()Ljava/lang/foreign/MemoryAddress; flags 401 class name java/lang/foreign/FunctionDescriptor -header extends java/lang/Object sealed true flags 21 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object nestMembers java/lang/foreign/FunctionDescriptor$VariadicFunction sealed true permittedSubclasses java/lang/foreign/FunctionDescriptor$VariadicFunction flags 21 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +innerclass innerClass java/lang/foreign/FunctionDescriptor$VariadicFunction outerClass java/lang/foreign/FunctionDescriptor innerClassName VariadicFunction flags 18 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 method name returnLayout descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; method name argumentLayouts descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List; @@ -340,6 +358,16 @@ method name toString descriptor ()Ljava/lang/String; flags 1 method name equals descriptor (Ljava/lang/Object;)Z flags 1 method name hashCode descriptor ()I flags 1 +class name java/lang/foreign/FunctionDescriptor$VariadicFunction +header extends java/lang/foreign/FunctionDescriptor nestHost java/lang/foreign/FunctionDescriptor flags 30 +innerclass innerClass java/lang/foreign/FunctionDescriptor$VariadicFunction outerClass java/lang/foreign/FunctionDescriptor innerClassName VariadicFunction flags 18 +method name descriptor (Ljava/lang/foreign/FunctionDescriptor;[Ljava/lang/foreign/MemoryLayout;)V flags 81 +method name firstVariadicArgumentIndex descriptor ()I flags 1 +method name appendArgumentLayouts descriptor ([Ljava/lang/foreign/MemoryLayout;)Ljava/lang/foreign/FunctionDescriptor; flags 81 +method name insertArgumentLayouts descriptor (I[Ljava/lang/foreign/MemoryLayout;)Ljava/lang/foreign/FunctionDescriptor; flags 81 +method name changeReturnLayout descriptor (Ljava/lang/foreign/MemoryLayout;)Ljava/lang/foreign/FunctionDescriptor; flags 1 +method name dropReturnLayout descriptor ()Ljava/lang/foreign/FunctionDescriptor; flags 1 + class name java/lang/foreign/GroupLayout header extends java/lang/foreign/AbstractLayout implements java/lang/foreign/MemoryLayout flags 31 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 @@ -360,7 +388,7 @@ method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/MemoryLay method name byteSize descriptor ()J flags 1041 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; class name java/lang/foreign/Linker -header extends java/lang/Object sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/foreign/abi/AbstractLinker flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) method name nativeLinker descriptor ()Ljava/lang/foreign/Linker; flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; method name downcallHandle descriptor (Ljava/lang/foreign/Addressable;Ljava/lang/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; flags 1 method name downcallHandle descriptor (Ljava/lang/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; flags 401 @@ -370,7 +398,7 @@ method name downcallType descriptor (Ljava/lang/foreign/FunctionDescriptor;)Ljav method name upcallType descriptor (Ljava/lang/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodType; flags 9 class name java/lang/foreign/MemoryAddress -header extends java/lang/Object implements java/lang/foreign/Addressable sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object implements java/lang/foreign/Addressable sealed true permittedSubclasses jdk/internal/foreign/MemoryAddressImpl flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) innerclass innerClass java/lang/foreign/ValueLayout$OfByte outerClass java/lang/foreign/ValueLayout innerClassName OfByte flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfBoolean outerClass java/lang/foreign/ValueLayout innerClassName OfBoolean flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfChar outerClass java/lang/foreign/ValueLayout innerClassName OfChar flags 19 @@ -422,7 +450,8 @@ method name getAtIndex descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;J)Lj method name setAtIndex descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;JLjava/lang/foreign/Addressable;)V flags 401 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; class name java/lang/foreign/MemoryLayout -header extends java/lang/Object nestMembers java/lang/foreign/MemoryLayout$PathElement sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object nestMembers java/lang/foreign/MemoryLayout$PathElement sealed true permittedSubclasses java/lang/foreign/AbstractLayout,java/lang/foreign/SequenceLayout,java/lang/foreign/GroupLayout,java/lang/foreign/PaddingLayout,java/lang/foreign/ValueLayout flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +innerclass innerClass jdk/internal/foreign/LayoutPath$PathElementImpl outerClass jdk/internal/foreign/LayoutPath innerClassName PathElementImpl flags 19 innerclass innerClass java/lang/foreign/MemoryLayout$PathElement outerClass java/lang/foreign/MemoryLayout innerClassName PathElement flags 609 innerclass innerClass java/lang/foreign/ValueLayout$OfBoolean outerClass java/lang/foreign/ValueLayout innerClassName OfBoolean flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfChar outerClass java/lang/foreign/ValueLayout innerClassName OfChar flags 19 @@ -459,7 +488,8 @@ method name structLayout descriptor ([Ljava/lang/foreign/MemoryLayout;)Ljava/lan method name unionLayout descriptor ([Ljava/lang/foreign/MemoryLayout;)Ljava/lang/foreign/GroupLayout; flags 89 class name java/lang/foreign/MemoryLayout$PathElement -header extends java/lang/Object nestHost java/lang/foreign/MemoryLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object nestHost java/lang/foreign/MemoryLayout sealed true permittedSubclasses jdk/internal/foreign/LayoutPath$PathElementImpl flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +innerclass innerClass jdk/internal/foreign/LayoutPath$PathElementImpl outerClass jdk/internal/foreign/LayoutPath innerClassName PathElementImpl flags 19 innerclass innerClass java/lang/foreign/MemoryLayout$PathElement outerClass java/lang/foreign/MemoryLayout innerClassName PathElement flags 609 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 method name groupElement descriptor (Ljava/lang/String;)Ljava/lang/foreign/MemoryLayout$PathElement; flags 9 @@ -468,7 +498,7 @@ method name sequenceElement descriptor (JJ)Ljava/lang/foreign/MemoryLayout$PathE method name sequenceElement descriptor ()Ljava/lang/foreign/MemoryLayout$PathElement; flags 9 class name java/lang/foreign/MemorySegment -header extends java/lang/Object implements java/lang/foreign/Addressable sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object implements java/lang/foreign/Addressable sealed true permittedSubclasses jdk/internal/foreign/AbstractMemorySegmentImpl flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) innerclass innerClass java/lang/foreign/ValueLayout$OfByte outerClass java/lang/foreign/ValueLayout innerClassName OfByte flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfBoolean outerClass java/lang/foreign/ValueLayout innerClassName OfBoolean flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfChar outerClass java/lang/foreign/ValueLayout innerClassName OfChar flags 19 @@ -560,7 +590,8 @@ method name copy descriptor (Ljava/lang/Object;ILjava/lang/foreign/MemorySegment method name ofBuffer descriptor (Ljava/nio/Buffer;)Ljava/lang/foreign/MemorySegment; flags 9 class name java/lang/foreign/MemorySession -header extends java/lang/Object implements java/lang/AutoCloseable,java/lang/foreign/SegmentAllocator sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object implements java/lang/AutoCloseable,java/lang/foreign/SegmentAllocator sealed true permittedSubclasses jdk/internal/foreign/MemorySessionImpl,jdk/internal/foreign/MemorySessionImpl$NonCloseableView flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +innerclass innerClass jdk/internal/foreign/MemorySessionImpl$NonCloseableView outerClass jdk/internal/foreign/MemorySessionImpl innerClassName NonCloseableView flags 19 method name isAlive descriptor ()Z flags 401 method name isCloseable descriptor ()Z flags 401 method name ownerThread descriptor ()Ljava/lang/Thread; flags 401 @@ -578,6 +609,19 @@ method name openShared descriptor (Ljava/lang/ref/Cleaner;)Ljava/lang/foreign/Me method name openImplicit descriptor ()Ljava/lang/foreign/MemorySession; flags 9 method name global descriptor ()Ljava/lang/foreign/MemorySession; flags 9 +class name java/lang/foreign/PaddingLayout +header extends java/lang/foreign/AbstractLayout implements java/lang/foreign/MemoryLayout flags 30 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/MemoryLayout; flags 1041 +method name toString descriptor ()Ljava/lang/String; flags 1 +method name equals descriptor (Ljava/lang/Object;)Z flags 1 +method name hashCode descriptor ()I flags 1 +method name hasNaturalAlignment descriptor ()Z flags 1 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/PaddingLayout; flags 1 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/PaddingLayout; flags 1 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/AbstractLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/AbstractLayout; flags 1041 + class name java/lang/foreign/SegmentAllocator header extends java/lang/Object flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) runtimeAnnotations @Ljava/lang/FunctionalInterface; innerclass innerClass java/lang/foreign/MemoryLayout$PathElement outerClass java/lang/foreign/MemoryLayout innerClassName PathElement flags 609 @@ -639,18 +683,21 @@ method name byteSize descriptor ()J flags 1041 runtimeAnnotations @Ljdk/internal class name java/lang/foreign/SymbolLookup header extends java/lang/Object flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) runtimeAnnotations @Ljava/lang/FunctionalInterface; innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +innerclass innerClass jdk/internal/foreign/MemorySessionImpl$ResourceList outerClass jdk/internal/foreign/MemorySessionImpl innerClassName ResourceList flags 409 +innerclass innerClass jdk/internal/foreign/MemorySessionImpl$ResourceList$ResourceCleanup outerClass jdk/internal/foreign/MemorySessionImpl$ResourceList innerClassName ResourceCleanup flags 409 method name lookup descriptor (Ljava/lang/String;)Ljava/util/Optional; flags 401 signature (Ljava/lang/String;)Ljava/util/Optional; method name loaderLookup descriptor ()Ljava/lang/foreign/SymbolLookup; flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; method name libraryLookup descriptor (Ljava/lang/String;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/SymbolLookup; flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; method name libraryLookup descriptor (Ljava/nio/file/Path;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/SymbolLookup; flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; class name java/lang/foreign/VaList -header extends java/lang/Object implements java/lang/foreign/Addressable nestMembers java/lang/foreign/VaList$Builder sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object implements java/lang/foreign/Addressable nestMembers java/lang/foreign/VaList$Builder sealed true permittedSubclasses jdk/internal/foreign/abi/x64/windows/WinVaList,jdk/internal/foreign/abi/x64/sysv/SysVVaList,jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList,jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList,jdk/internal/foreign/abi/SharedUtils$EmptyVaList flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) innerclass innerClass java/lang/foreign/VaList$Builder outerClass java/lang/foreign/VaList innerClassName Builder flags 609 innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 19 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 9 method name session descriptor ()Ljava/lang/foreign/MemorySession; flags 401 method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfInt;)I flags 401 method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfLong;)J flags 401 @@ -665,12 +712,16 @@ method name make descriptor (Ljava/util/function/Consumer;Ljava/lang/foreign/Mem method name empty descriptor ()Ljava/lang/foreign/VaList; flags 9 class name java/lang/foreign/VaList$Builder -header extends java/lang/Object nestHost java/lang/foreign/VaList sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object nestHost java/lang/foreign/VaList sealed true permittedSubclasses jdk/internal/foreign/abi/x64/windows/WinVaList$Builder,jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder,jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder,jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) innerclass innerClass java/lang/foreign/VaList$Builder outerClass java/lang/foreign/VaList innerClassName Builder flags 609 innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 19 +innerclass innerClass jdk/internal/foreign/abi/x64/windows/WinVaList$Builder outerClass jdk/internal/foreign/abi/x64/windows/WinVaList innerClassName Builder flags 9 +innerclass innerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder outerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList innerClassName Builder flags 9 +innerclass innerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList innerClassName Builder flags 9 +innerclass innerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList innerClassName Builder flags 9 method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfInt;I)Ljava/lang/foreign/VaList$Builder; flags 401 method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfLong;J)Ljava/lang/foreign/VaList$Builder; flags 401 method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfDouble;D)Ljava/lang/foreign/VaList$Builder; flags 401 @@ -678,7 +729,7 @@ method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/l method name addVarg descriptor (Ljava/lang/foreign/GroupLayout;Ljava/lang/foreign/MemorySegment;)Ljava/lang/foreign/VaList$Builder; flags 401 class name java/lang/foreign/ValueLayout -header extends java/lang/foreign/AbstractLayout implements java/lang/foreign/MemoryLayout nestMembers java/lang/foreign/ValueLayout$OfAddress,java/lang/foreign/ValueLayout$OfDouble,java/lang/foreign/ValueLayout$OfLong,java/lang/foreign/ValueLayout$OfFloat,java/lang/foreign/ValueLayout$OfInt,java/lang/foreign/ValueLayout$OfShort,java/lang/foreign/ValueLayout$OfChar,java/lang/foreign/ValueLayout$OfByte,java/lang/foreign/ValueLayout$OfBoolean sealed true flags 21 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/foreign/AbstractLayout implements java/lang/foreign/MemoryLayout nestMembers java/lang/foreign/ValueLayout$OfAddress,java/lang/foreign/ValueLayout$OfDouble,java/lang/foreign/ValueLayout$OfLong,java/lang/foreign/ValueLayout$OfFloat,java/lang/foreign/ValueLayout$OfInt,java/lang/foreign/ValueLayout$OfShort,java/lang/foreign/ValueLayout$OfChar,java/lang/foreign/ValueLayout$OfByte,java/lang/foreign/ValueLayout$OfBoolean sealed true permittedSubclasses java/lang/foreign/ValueLayout$OfByte,java/lang/foreign/ValueLayout$OfShort,java/lang/foreign/ValueLayout$OfChar,java/lang/foreign/ValueLayout$OfInt,java/lang/foreign/ValueLayout$OfFloat,java/lang/foreign/ValueLayout$OfLong,java/lang/foreign/ValueLayout$OfDouble,java/lang/foreign/ValueLayout$OfBoolean,java/lang/foreign/ValueLayout$OfAddress flags 21 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) innerclass innerClass java/lang/foreign/MemoryLayout$PathElement outerClass java/lang/foreign/MemoryLayout innerClassName PathElement flags 609 innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfByte outerClass java/lang/foreign/ValueLayout innerClassName OfByte flags 19 @@ -868,19 +919,116 @@ method name withBitAlignment descriptor (J)Ljava/lang/foreign/AbstractLayout; fl method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/AbstractLayout; flags 1041 method name byteSize descriptor ()J flags 1041 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +class name java/lang/invoke/BoundMethodHandle +header extends java/lang/invoke/MethodHandle flags 420 + class name java/lang/invoke/CallSite -header extends java/lang/Object sealed true flags 421 +header extends java/lang/Object sealed true permittedSubclasses java/lang/invoke/ConstantCallSite,java/lang/invoke/MutableCallSite,java/lang/invoke/VolatileCallSite flags 421 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name java/lang/invoke/LambdaMetafactory -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +class name java/lang/invoke/DelegatingMethodHandle +header extends java/lang/invoke/MethodHandle sealed true permittedSubclasses java/lang/invoke/MethodHandleImpl$AsVarargsCollector,java/lang/invoke/MethodHandleImpl$WrappedMember,java/lang/invoke/MethodHandleImpl$IntrinsicMethodHandle,java/lang/invoke/MethodHandleImpl$CountingWrapper flags 420 +innerclass innerClass java/lang/invoke/MethodHandleImpl$AsVarargsCollector outerClass java/lang/invoke/MethodHandleImpl innerClassName AsVarargsCollector flags 18 +innerclass innerClass java/lang/invoke/MethodHandleImpl$WrappedMember outerClass java/lang/invoke/MethodHandleImpl innerClassName WrappedMember flags 18 +innerclass innerClass java/lang/invoke/MethodHandleImpl$IntrinsicMethodHandle outerClass java/lang/invoke/MethodHandleImpl innerClassName IntrinsicMethodHandle flags 18 +innerclass innerClass java/lang/invoke/MethodHandleImpl$CountingWrapper outerClass java/lang/invoke/MethodHandleImpl innerClassName CountingWrapper flags 18 +method name descriptor (Ljava/lang/invoke/MethodHandle;)V flags 4 +method name descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)V flags 4 +method name descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)V flags 4 +method name getTarget descriptor ()Ljava/lang/invoke/MethodHandle; flags 404 + +class name java/lang/invoke/DirectMethodHandle +header extends java/lang/invoke/MethodHandle nestMembers java/lang/invoke/DirectMethodHandle$StaticAccessor,java/lang/invoke/DirectMethodHandle$Accessor,java/lang/invoke/DirectMethodHandle$Constructor,java/lang/invoke/DirectMethodHandle$Interface,java/lang/invoke/DirectMethodHandle$Special sealed true permittedSubclasses java/lang/invoke/DirectMethodHandle$Special,java/lang/invoke/DirectMethodHandle$Interface,java/lang/invoke/DirectMethodHandle$Constructor,java/lang/invoke/DirectMethodHandle$Accessor,java/lang/invoke/DirectMethodHandle$StaticAccessor flags 20 +innerclass innerClass java/lang/invoke/DirectMethodHandle$Special outerClass java/lang/invoke/DirectMethodHandle innerClassName Special flags 18 +innerclass innerClass java/lang/invoke/DirectMethodHandle$Interface outerClass java/lang/invoke/DirectMethodHandle innerClassName Interface flags 18 +innerclass innerClass java/lang/invoke/DirectMethodHandle$StaticAccessor outerClass java/lang/invoke/DirectMethodHandle innerClassName StaticAccessor flags 18 +innerclass innerClass java/lang/invoke/DirectMethodHandle$Accessor outerClass java/lang/invoke/DirectMethodHandle innerClassName Accessor flags 18 +innerclass innerClass java/lang/invoke/DirectMethodHandle$Constructor outerClass java/lang/invoke/DirectMethodHandle innerClassName Constructor flags 18 + +class name java/lang/invoke/DirectMethodHandle$Accessor +header extends java/lang/invoke/DirectMethodHandle nestHost java/lang/invoke/DirectMethodHandle flags 30 +innerclass innerClass java/lang/invoke/DirectMethodHandle$Accessor outerClass java/lang/invoke/DirectMethodHandle innerClassName Accessor flags 18 + +class name java/lang/invoke/DirectMethodHandle$Constructor +header extends java/lang/invoke/DirectMethodHandle nestHost java/lang/invoke/DirectMethodHandle flags 30 +innerclass innerClass java/lang/invoke/DirectMethodHandle$Constructor outerClass java/lang/invoke/DirectMethodHandle innerClassName Constructor flags 18 + +class name java/lang/invoke/DirectMethodHandle$Interface +header extends java/lang/invoke/DirectMethodHandle nestHost java/lang/invoke/DirectMethodHandle flags 30 +innerclass innerClass java/lang/invoke/DirectMethodHandle$Interface outerClass java/lang/invoke/DirectMethodHandle innerClassName Interface flags 18 + +class name java/lang/invoke/DirectMethodHandle$Special +header extends java/lang/invoke/DirectMethodHandle nestHost java/lang/invoke/DirectMethodHandle flags 30 +innerclass innerClass java/lang/invoke/DirectMethodHandle$Special outerClass java/lang/invoke/DirectMethodHandle innerClassName Special flags 18 + +class name java/lang/invoke/DirectMethodHandle$StaticAccessor +header extends java/lang/invoke/DirectMethodHandle nestHost java/lang/invoke/DirectMethodHandle flags 30 +innerclass innerClass java/lang/invoke/DirectMethodHandle$StaticAccessor outerClass java/lang/invoke/DirectMethodHandle innerClassName StaticAccessor flags 18 + +class name java/lang/invoke/IndirectVarHandle +header extends java/lang/invoke/VarHandle flags 30 +innerclass innerClass java/lang/invoke/VarHandle$AccessMode outerClass java/lang/invoke/VarHandle innerClassName AccessMode flags 4019 +method name varType descriptor ()Ljava/lang/Class; flags 1 signature ()Ljava/lang/Class<*>; +method name coordinateTypes descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List;>; +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1 +method name toMethodHandle descriptor (Ljava/lang/invoke/VarHandle$AccessMode;)Ljava/lang/invoke/MethodHandle; flags 1 + +class name java/lang/invoke/LambdaForm +header extends java/lang/Object flags 20 +field name VOID_RESULT descriptor I constantValue -1 flags 19 +field name LAST_RESULT descriptor I constantValue -2 flags 19 +method name prepare descriptor ()V flags 1 +method name toString descriptor ()Ljava/lang/String; flags 1 +method name equals descriptor (Ljava/lang/Object;)Z flags 1 +method name equals descriptor (Ljava/lang/invoke/LambdaForm;)Z flags 1 +method name hashCode descriptor ()I flags 1 +method name basicTypeSignature descriptor (Ljava/lang/invoke/MethodType;)Ljava/lang/String; flags 9 +method name shortenSignature descriptor (Ljava/lang/String;)Ljava/lang/String; flags 9 class name java/lang/invoke/MethodHandle -header extends java/lang/Object implements java/lang/constant/Constable sealed true flags 421 +header extends java/lang/Object implements java/lang/constant/Constable sealed true permittedSubclasses java/lang/invoke/NativeMethodHandle,java/lang/invoke/DirectMethodHandle,java/lang/invoke/DelegatingMethodHandle,java/lang/invoke/BoundMethodHandle flags 421 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 innerclass innerClass java/lang/constant/DirectMethodHandleDesc$Kind outerClass java/lang/constant/DirectMethodHandleDesc innerClassName Kind flags 4019 +class name java/lang/invoke/MethodHandleImpl +header extends java/lang/Object nestMembers java/lang/invoke/MethodHandleImpl$IntrinsicMethodHandle,java/lang/invoke/MethodHandleImpl$WrappedMember,java/lang/invoke/MethodHandleImpl$CountingWrapper,java/lang/invoke/MethodHandleImpl$AsVarargsCollector flags 420 +innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 +innerclass innerClass java/lang/invoke/MethodHandleImpl$AsVarargsCollector outerClass java/lang/invoke/MethodHandleImpl innerClassName AsVarargsCollector flags 18 +innerclass innerClass java/lang/invoke/MethodHandleImpl$CountingWrapper outerClass java/lang/invoke/MethodHandleImpl innerClassName CountingWrapper flags 18 +innerclass innerClass java/lang/invoke/MethodHandleImpl$WrappedMember outerClass java/lang/invoke/MethodHandleImpl innerClassName WrappedMember flags 18 +innerclass innerClass java/lang/invoke/MethodHandleImpl$IntrinsicMethodHandle outerClass java/lang/invoke/MethodHandleImpl innerClassName IntrinsicMethodHandle flags 18 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 + +class name java/lang/invoke/MethodHandleImpl$AsVarargsCollector +header extends java/lang/invoke/DelegatingMethodHandle nestHost java/lang/invoke/MethodHandleImpl flags 30 +innerclass innerClass java/lang/invoke/MethodHandleImpl$AsVarargsCollector outerClass java/lang/invoke/MethodHandleImpl innerClassName AsVarargsCollector flags 18 +method name isVarargsCollector descriptor ()Z flags 1 +method name getTarget descriptor ()Ljava/lang/invoke/MethodHandle; flags 4 +method name asFixedArity descriptor ()Ljava/lang/invoke/MethodHandle; flags 1 +method name withVarargs descriptor (Z)Ljava/lang/invoke/MethodHandle; flags 1 +method name asTypeUncached descriptor (Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; flags 1 +method name invokeWithArguments descriptor ([Ljava/lang/Object;)Ljava/lang/Object; thrownTypes java/lang/Throwable flags 81 + +class name java/lang/invoke/MethodHandleImpl$CountingWrapper +header extends java/lang/invoke/DelegatingMethodHandle nestHost java/lang/invoke/MethodHandleImpl flags 30 +innerclass innerClass java/lang/invoke/MethodHandleImpl$CountingWrapper outerClass java/lang/invoke/MethodHandleImpl innerClassName CountingWrapper flags 18 +method name getTarget descriptor ()Ljava/lang/invoke/MethodHandle; flags 4 runtimeAnnotations @Ljdk/internal/vm/annotation/Hidden; +method name asTypeUncached descriptor (Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; flags 1 + +class name java/lang/invoke/MethodHandleImpl$IntrinsicMethodHandle +header extends java/lang/invoke/DelegatingMethodHandle nestHost java/lang/invoke/MethodHandleImpl flags 30 +innerclass innerClass java/lang/invoke/MethodHandleImpl$IntrinsicMethodHandle outerClass java/lang/invoke/MethodHandleImpl innerClassName IntrinsicMethodHandle flags 18 +method name getTarget descriptor ()Ljava/lang/invoke/MethodHandle; flags 4 +method name asTypeUncached descriptor (Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; flags 1 +method name asCollector descriptor (Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandle; flags 1 signature (Ljava/lang/Class<*>;I)Ljava/lang/invoke/MethodHandle; + +class name java/lang/invoke/MethodHandleImpl$WrappedMember +header extends java/lang/invoke/DelegatingMethodHandle nestHost java/lang/invoke/MethodHandleImpl flags 30 +innerclass innerClass java/lang/invoke/MethodHandleImpl$WrappedMember outerClass java/lang/invoke/MethodHandleImpl innerClassName WrappedMember flags 18 +method name getTarget descriptor ()Ljava/lang/invoke/MethodHandle; flags 4 +method name asTypeUncached descriptor (Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; flags 1 + class name java/lang/invoke/MethodHandleProxies header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) @@ -893,69 +1041,889 @@ method name permuteCoordinates descriptor (Ljava/lang/invoke/VarHandle;Ljava/uti method name collectCoordinates descriptor (Ljava/lang/invoke/VarHandle;ILjava/lang/invoke/MethodHandle;)Ljava/lang/invoke/VarHandle; flags 9 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) method name dropCoordinates descriptor (Ljava/lang/invoke/VarHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/VarHandle; flags 89 signature (Ljava/lang/invoke/VarHandle;I[Ljava/lang/Class<*>;)Ljava/lang/invoke/VarHandle; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) -class name java/lang/invoke/StringConcatException -header extends java/lang/Exception flags 21 +class name java/lang/invoke/NativeMethodHandle +header extends java/lang/invoke/MethodHandle flags 30 +method name make descriptor (Ljdk/internal/foreign/abi/NativeEntryPoint;)Ljava/lang/invoke/MethodHandle; flags 9 -class name java/lang/invoke/VarHandle -header extends java/lang/Object implements java/lang/constant/Constable nestMembers java/lang/invoke/VarHandle$VarHandleDesc,java/lang/invoke/VarHandle$AccessMode sealed true flags 421 +class name java/lang/invoke/VarForm +header extends java/lang/Object flags 30 innerclass innerClass java/lang/invoke/VarHandle$AccessMode outerClass java/lang/invoke/VarHandle innerClassName AccessMode flags 4019 -innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 - -class name java/lang/module/Configuration -header extends java/lang/Object flags 31 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name java/lang/module/FindException -header extends java/lang/RuntimeException flags 21 - -class name java/lang/module/InvalidModuleDescriptorException -header extends java/lang/RuntimeException flags 21 - -class name java/lang/module/ModuleReader -header extends java/lang/Object implements java/io/Closeable flags 601 - -class name java/lang/module/ModuleReference -header extends java/lang/Object flags 421 - -class name java/lang/module/ResolutionException -header extends java/lang/RuntimeException flags 21 - -class name java/lang/module/ResolvedModule -header extends java/lang/Object flags 31 +class name java/lang/invoke/VarHandle +header extends java/lang/Object implements java/lang/constant/Constable nestMembers java/lang/invoke/VarHandle$VarHandleDesc,java/lang/invoke/VarHandle$AccessMode sealed true permittedSubclasses java/lang/invoke/IndirectVarHandle,java/lang/invoke/VarHandleSegmentViewBase,java/lang/invoke/VarHandleByteArrayAsChars$ByteArrayViewVarHandle,java/lang/invoke/VarHandleByteArrayAsDoubles$ByteArrayViewVarHandle,java/lang/invoke/VarHandleByteArrayAsFloats$ByteArrayViewVarHandle,java/lang/invoke/VarHandleByteArrayAsInts$ByteArrayViewVarHandle,java/lang/invoke/VarHandleByteArrayAsLongs$ByteArrayViewVarHandle,java/lang/invoke/VarHandleByteArrayAsShorts$ByteArrayViewVarHandle,java/lang/invoke/VarHandleBooleans$Array,java/lang/invoke/VarHandleBooleans$FieldInstanceReadOnly,java/lang/invoke/VarHandleBooleans$FieldStaticReadOnly,java/lang/invoke/VarHandleBytes$Array,java/lang/invoke/VarHandleBytes$FieldInstanceReadOnly,java/lang/invoke/VarHandleBytes$FieldStaticReadOnly,java/lang/invoke/VarHandleChars$Array,java/lang/invoke/VarHandleChars$FieldInstanceReadOnly,java/lang/invoke/VarHandleChars$FieldStaticReadOnly,java/lang/invoke/VarHandleDoubles$Array,java/lang/invoke/VarHandleDoubles$FieldInstanceReadOnly,java/lang/invoke/VarHandleDoubles$FieldStaticReadOnly,java/lang/invoke/VarHandleFloats$Array,java/lang/invoke/VarHandleFloats$FieldInstanceReadOnly,java/lang/invoke/VarHandleFloats$FieldStaticReadOnly,java/lang/invoke/VarHandleInts$Array,java/lang/invoke/VarHandleInts$FieldInstanceReadOnly,java/lang/invoke/VarHandleInts$FieldStaticReadOnly,java/lang/invoke/VarHandleLongs$Array,java/lang/invoke/VarHandleLongs$FieldInstanceReadOnly,java/lang/invoke/VarHandleLongs$FieldStaticReadOnly,java/lang/invoke/VarHandleReferences$Array,java/lang/invoke/VarHandleReferences$FieldInstanceReadOnly,java/lang/invoke/VarHandleReferences$FieldStaticReadOnly,java/lang/invoke/VarHandleShorts$Array,java/lang/invoke/VarHandleShorts$FieldInstanceReadOnly,java/lang/invoke/VarHandleShorts$FieldStaticReadOnly flags 421 +innerclass innerClass java/lang/invoke/VarHandle$AccessMode outerClass java/lang/invoke/VarHandle innerClassName AccessMode flags 4019 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsChars$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsChars innerClassName ByteArrayViewVarHandle flags 408 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsDoubles$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsDoubles innerClassName ByteArrayViewVarHandle flags 408 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsFloats$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsFloats innerClassName ByteArrayViewVarHandle flags 408 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsInts$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsInts innerClassName ByteArrayViewVarHandle flags 408 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsLongs$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsLongs innerClassName ByteArrayViewVarHandle flags 408 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsShorts$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsShorts innerClassName ByteArrayViewVarHandle flags 408 +innerclass innerClass java/lang/invoke/VarHandleBooleans$Array outerClass java/lang/invoke/VarHandleBooleans innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandleBooleans$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleBooleans innerClassName FieldInstanceReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleBooleans$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleBooleans innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleBytes$Array outerClass java/lang/invoke/VarHandleBytes innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandleBytes$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleBytes innerClassName FieldInstanceReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleBytes$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleBytes innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleChars$Array outerClass java/lang/invoke/VarHandleChars innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandleChars$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleChars innerClassName FieldInstanceReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleChars$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleChars innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleDoubles$Array outerClass java/lang/invoke/VarHandleDoubles innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandleDoubles$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleDoubles innerClassName FieldInstanceReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleDoubles$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleDoubles innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleFloats$Array outerClass java/lang/invoke/VarHandleFloats innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandleFloats$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleFloats innerClassName FieldInstanceReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleFloats$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleFloats innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleInts$Array outerClass java/lang/invoke/VarHandleInts innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandleInts$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleInts innerClassName FieldInstanceReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleInts$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleInts innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleLongs$Array outerClass java/lang/invoke/VarHandleLongs innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandleLongs$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleLongs innerClassName FieldInstanceReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleLongs$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleLongs innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleReferences$Array outerClass java/lang/invoke/VarHandleReferences innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandleReferences$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleReferences innerClassName FieldInstanceReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleReferences$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleReferences innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleShorts$Array outerClass java/lang/invoke/VarHandleShorts innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandleShorts$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleShorts innerClassName FieldInstanceReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleShorts$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleShorts innerClassName FieldStaticReadOnly flags 8 + +class name java/lang/invoke/VarHandleBooleans +header extends java/lang/Object nestMembers java/lang/invoke/VarHandleBooleans$Array,java/lang/invoke/VarHandleBooleans$FieldStaticReadWrite,java/lang/invoke/VarHandleBooleans$FieldStaticReadOnly,java/lang/invoke/VarHandleBooleans$FieldInstanceReadWrite,java/lang/invoke/VarHandleBooleans$FieldInstanceReadOnly flags 30 +innerclass innerClass java/lang/invoke/VarHandleBooleans$Array outerClass java/lang/invoke/VarHandleBooleans innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandleBooleans$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleBooleans innerClassName FieldStaticReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleBooleans$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleBooleans innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleBooleans$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleBooleans innerClassName FieldInstanceReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleBooleans$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleBooleans innerClassName FieldInstanceReadOnly flags 8 + +class name java/lang/invoke/VarHandleBooleans$Array +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleBooleans flags 30 +innerclass innerClass java/lang/invoke/VarHandleBooleans$Array outerClass java/lang/invoke/VarHandleBooleans innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleBooleans$Array; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleBooleans$Array; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleBooleans$FieldInstanceReadOnly +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleBooleans sealed true permittedSubclasses java/lang/invoke/VarHandleBooleans$FieldInstanceReadWrite flags 20 +innerclass innerClass java/lang/invoke/VarHandleBooleans$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleBooleans innerClassName FieldInstanceReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +innerclass innerClass java/lang/invoke/VarHandleBooleans$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleBooleans innerClassName FieldInstanceReadWrite flags 18 +method name descriptor (Ljava/lang/Class;JLjava/lang/invoke/VarForm;Z)V flags 4 signature (Ljava/lang/Class<*>;JLjava/lang/invoke/VarForm;Z)V +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleBooleans$FieldInstanceReadOnly; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleBooleans$FieldInstanceReadOnly; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleBooleans$FieldInstanceReadWrite +header extends java/lang/invoke/VarHandleBooleans$FieldInstanceReadOnly nestHost java/lang/invoke/VarHandleBooleans flags 30 +innerclass innerClass java/lang/invoke/VarHandleBooleans$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleBooleans innerClassName FieldInstanceReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleBooleans$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleBooleans innerClassName FieldInstanceReadOnly flags 8 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleBooleans$FieldInstanceReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleBooleans$FieldInstanceReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleBooleans$FieldInstanceReadOnly; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleBooleans$FieldInstanceReadOnly; flags 1041 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleBooleans$FieldStaticReadOnly +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleBooleans sealed true permittedSubclasses java/lang/invoke/VarHandleBooleans$FieldStaticReadWrite flags 20 +innerclass innerClass java/lang/invoke/VarHandleBooleans$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleBooleans innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +innerclass innerClass java/lang/invoke/VarHandleBooleans$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleBooleans innerClassName FieldStaticReadWrite flags 18 +method name descriptor (Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V flags 4 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleBooleans$FieldStaticReadOnly; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleBooleans$FieldStaticReadOnly; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleBooleans$FieldStaticReadWrite +header extends java/lang/invoke/VarHandleBooleans$FieldStaticReadOnly nestHost java/lang/invoke/VarHandleBooleans flags 30 +innerclass innerClass java/lang/invoke/VarHandleBooleans$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleBooleans innerClassName FieldStaticReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleBooleans$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleBooleans innerClassName FieldStaticReadOnly flags 8 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleBooleans$FieldStaticReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleBooleans$FieldStaticReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleBooleans$FieldStaticReadOnly; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleBooleans$FieldStaticReadOnly; flags 1041 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleByteArrayAsChars +header extends java/lang/invoke/VarHandleByteArrayBase nestMembers java/lang/invoke/VarHandleByteArrayAsChars$ByteBufferHandle,java/lang/invoke/VarHandleByteArrayAsChars$ArrayHandle,java/lang/invoke/VarHandleByteArrayAsChars$ByteArrayViewVarHandle flags 30 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsChars$ByteBufferHandle outerClass java/lang/invoke/VarHandleByteArrayAsChars innerClassName ByteBufferHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsChars$ArrayHandle outerClass java/lang/invoke/VarHandleByteArrayAsChars innerClassName ArrayHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsChars$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsChars innerClassName ByteArrayViewVarHandle flags 408 + +class name java/lang/invoke/VarHandleByteArrayAsChars$ArrayHandle +header extends java/lang/invoke/VarHandleByteArrayAsChars$ByteArrayViewVarHandle nestHost java/lang/invoke/VarHandleByteArrayAsChars flags 30 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsChars$ArrayHandle outerClass java/lang/invoke/VarHandleByteArrayAsChars innerClassName ArrayHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsChars$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsChars innerClassName ByteArrayViewVarHandle flags 408 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleByteArrayAsChars$ArrayHandle; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleByteArrayAsChars$ArrayHandle; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleByteArrayAsChars$ByteArrayViewVarHandle +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleByteArrayAsChars sealed true permittedSubclasses java/lang/invoke/VarHandleByteArrayAsChars$ArrayHandle,java/lang/invoke/VarHandleByteArrayAsChars$ByteBufferHandle flags 420 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsChars$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsChars innerClassName ByteArrayViewVarHandle flags 408 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsChars$ArrayHandle outerClass java/lang/invoke/VarHandleByteArrayAsChars innerClassName ArrayHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsChars$ByteBufferHandle outerClass java/lang/invoke/VarHandleByteArrayAsChars innerClassName ByteBufferHandle flags 18 + +class name java/lang/invoke/VarHandleByteArrayAsChars$ByteBufferHandle +header extends java/lang/invoke/VarHandleByteArrayAsChars$ByteArrayViewVarHandle nestHost java/lang/invoke/VarHandleByteArrayAsChars flags 30 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsChars$ByteBufferHandle outerClass java/lang/invoke/VarHandleByteArrayAsChars innerClassName ByteBufferHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsChars$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsChars innerClassName ByteArrayViewVarHandle flags 408 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleByteArrayAsChars$ByteBufferHandle; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleByteArrayAsChars$ByteBufferHandle; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleByteArrayAsDoubles +header extends java/lang/invoke/VarHandleByteArrayBase nestMembers java/lang/invoke/VarHandleByteArrayAsDoubles$ByteBufferHandle,java/lang/invoke/VarHandleByteArrayAsDoubles$ArrayHandle,java/lang/invoke/VarHandleByteArrayAsDoubles$ByteArrayViewVarHandle flags 30 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsDoubles$ByteBufferHandle outerClass java/lang/invoke/VarHandleByteArrayAsDoubles innerClassName ByteBufferHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsDoubles$ArrayHandle outerClass java/lang/invoke/VarHandleByteArrayAsDoubles innerClassName ArrayHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsDoubles$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsDoubles innerClassName ByteArrayViewVarHandle flags 408 + +class name java/lang/invoke/VarHandleByteArrayAsDoubles$ArrayHandle +header extends java/lang/invoke/VarHandleByteArrayAsDoubles$ByteArrayViewVarHandle nestHost java/lang/invoke/VarHandleByteArrayAsDoubles flags 30 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsDoubles$ArrayHandle outerClass java/lang/invoke/VarHandleByteArrayAsDoubles innerClassName ArrayHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsDoubles$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsDoubles innerClassName ByteArrayViewVarHandle flags 408 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleByteArrayAsDoubles$ArrayHandle; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleByteArrayAsDoubles$ArrayHandle; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleByteArrayAsDoubles$ByteArrayViewVarHandle +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleByteArrayAsDoubles sealed true permittedSubclasses java/lang/invoke/VarHandleByteArrayAsDoubles$ArrayHandle,java/lang/invoke/VarHandleByteArrayAsDoubles$ByteBufferHandle flags 420 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsDoubles$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsDoubles innerClassName ByteArrayViewVarHandle flags 408 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsDoubles$ArrayHandle outerClass java/lang/invoke/VarHandleByteArrayAsDoubles innerClassName ArrayHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsDoubles$ByteBufferHandle outerClass java/lang/invoke/VarHandleByteArrayAsDoubles innerClassName ByteBufferHandle flags 18 + +class name java/lang/invoke/VarHandleByteArrayAsDoubles$ByteBufferHandle +header extends java/lang/invoke/VarHandleByteArrayAsDoubles$ByteArrayViewVarHandle nestHost java/lang/invoke/VarHandleByteArrayAsDoubles flags 30 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsDoubles$ByteBufferHandle outerClass java/lang/invoke/VarHandleByteArrayAsDoubles innerClassName ByteBufferHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsDoubles$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsDoubles innerClassName ByteArrayViewVarHandle flags 408 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleByteArrayAsDoubles$ByteBufferHandle; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleByteArrayAsDoubles$ByteBufferHandle; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleByteArrayAsFloats +header extends java/lang/invoke/VarHandleByteArrayBase nestMembers java/lang/invoke/VarHandleByteArrayAsFloats$ByteBufferHandle,java/lang/invoke/VarHandleByteArrayAsFloats$ArrayHandle,java/lang/invoke/VarHandleByteArrayAsFloats$ByteArrayViewVarHandle flags 30 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsFloats$ByteBufferHandle outerClass java/lang/invoke/VarHandleByteArrayAsFloats innerClassName ByteBufferHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsFloats$ArrayHandle outerClass java/lang/invoke/VarHandleByteArrayAsFloats innerClassName ArrayHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsFloats$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsFloats innerClassName ByteArrayViewVarHandle flags 408 + +class name java/lang/invoke/VarHandleByteArrayAsFloats$ArrayHandle +header extends java/lang/invoke/VarHandleByteArrayAsFloats$ByteArrayViewVarHandle nestHost java/lang/invoke/VarHandleByteArrayAsFloats flags 30 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsFloats$ArrayHandle outerClass java/lang/invoke/VarHandleByteArrayAsFloats innerClassName ArrayHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsFloats$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsFloats innerClassName ByteArrayViewVarHandle flags 408 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleByteArrayAsFloats$ArrayHandle; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleByteArrayAsFloats$ArrayHandle; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleByteArrayAsFloats$ByteArrayViewVarHandle +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleByteArrayAsFloats sealed true permittedSubclasses java/lang/invoke/VarHandleByteArrayAsFloats$ArrayHandle,java/lang/invoke/VarHandleByteArrayAsFloats$ByteBufferHandle flags 420 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsFloats$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsFloats innerClassName ByteArrayViewVarHandle flags 408 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsFloats$ArrayHandle outerClass java/lang/invoke/VarHandleByteArrayAsFloats innerClassName ArrayHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsFloats$ByteBufferHandle outerClass java/lang/invoke/VarHandleByteArrayAsFloats innerClassName ByteBufferHandle flags 18 + +class name java/lang/invoke/VarHandleByteArrayAsFloats$ByteBufferHandle +header extends java/lang/invoke/VarHandleByteArrayAsFloats$ByteArrayViewVarHandle nestHost java/lang/invoke/VarHandleByteArrayAsFloats flags 30 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsFloats$ByteBufferHandle outerClass java/lang/invoke/VarHandleByteArrayAsFloats innerClassName ByteBufferHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsFloats$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsFloats innerClassName ByteArrayViewVarHandle flags 408 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleByteArrayAsFloats$ByteBufferHandle; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleByteArrayAsFloats$ByteBufferHandle; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleByteArrayAsInts +header extends java/lang/invoke/VarHandleByteArrayBase nestMembers java/lang/invoke/VarHandleByteArrayAsInts$ByteBufferHandle,java/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle,java/lang/invoke/VarHandleByteArrayAsInts$ByteArrayViewVarHandle flags 30 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsInts$ByteBufferHandle outerClass java/lang/invoke/VarHandleByteArrayAsInts innerClassName ByteBufferHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle outerClass java/lang/invoke/VarHandleByteArrayAsInts innerClassName ArrayHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsInts$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsInts innerClassName ByteArrayViewVarHandle flags 408 + +class name java/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle +header extends java/lang/invoke/VarHandleByteArrayAsInts$ByteArrayViewVarHandle nestHost java/lang/invoke/VarHandleByteArrayAsInts flags 30 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle outerClass java/lang/invoke/VarHandleByteArrayAsInts innerClassName ArrayHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsInts$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsInts innerClassName ByteArrayViewVarHandle flags 408 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleByteArrayAsInts$ByteArrayViewVarHandle +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleByteArrayAsInts sealed true permittedSubclasses java/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle,java/lang/invoke/VarHandleByteArrayAsInts$ByteBufferHandle flags 420 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsInts$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsInts innerClassName ByteArrayViewVarHandle flags 408 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsInts$ArrayHandle outerClass java/lang/invoke/VarHandleByteArrayAsInts innerClassName ArrayHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsInts$ByteBufferHandle outerClass java/lang/invoke/VarHandleByteArrayAsInts innerClassName ByteBufferHandle flags 18 + +class name java/lang/invoke/VarHandleByteArrayAsInts$ByteBufferHandle +header extends java/lang/invoke/VarHandleByteArrayAsInts$ByteArrayViewVarHandle nestHost java/lang/invoke/VarHandleByteArrayAsInts flags 30 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsInts$ByteBufferHandle outerClass java/lang/invoke/VarHandleByteArrayAsInts innerClassName ByteBufferHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsInts$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsInts innerClassName ByteArrayViewVarHandle flags 408 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleByteArrayAsInts$ByteBufferHandle; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleByteArrayAsInts$ByteBufferHandle; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleByteArrayAsLongs +header extends java/lang/invoke/VarHandleByteArrayBase nestMembers java/lang/invoke/VarHandleByteArrayAsLongs$ByteBufferHandle,java/lang/invoke/VarHandleByteArrayAsLongs$ArrayHandle,java/lang/invoke/VarHandleByteArrayAsLongs$ByteArrayViewVarHandle flags 30 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsLongs$ByteBufferHandle outerClass java/lang/invoke/VarHandleByteArrayAsLongs innerClassName ByteBufferHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsLongs$ArrayHandle outerClass java/lang/invoke/VarHandleByteArrayAsLongs innerClassName ArrayHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsLongs$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsLongs innerClassName ByteArrayViewVarHandle flags 408 + +class name java/lang/invoke/VarHandleByteArrayAsLongs$ArrayHandle +header extends java/lang/invoke/VarHandleByteArrayAsLongs$ByteArrayViewVarHandle nestHost java/lang/invoke/VarHandleByteArrayAsLongs flags 30 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsLongs$ArrayHandle outerClass java/lang/invoke/VarHandleByteArrayAsLongs innerClassName ArrayHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsLongs$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsLongs innerClassName ByteArrayViewVarHandle flags 408 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleByteArrayAsLongs$ArrayHandle; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleByteArrayAsLongs$ArrayHandle; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleByteArrayAsLongs$ByteArrayViewVarHandle +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleByteArrayAsLongs sealed true permittedSubclasses java/lang/invoke/VarHandleByteArrayAsLongs$ArrayHandle,java/lang/invoke/VarHandleByteArrayAsLongs$ByteBufferHandle flags 420 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsLongs$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsLongs innerClassName ByteArrayViewVarHandle flags 408 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsLongs$ArrayHandle outerClass java/lang/invoke/VarHandleByteArrayAsLongs innerClassName ArrayHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsLongs$ByteBufferHandle outerClass java/lang/invoke/VarHandleByteArrayAsLongs innerClassName ByteBufferHandle flags 18 + +class name java/lang/invoke/VarHandleByteArrayAsLongs$ByteBufferHandle +header extends java/lang/invoke/VarHandleByteArrayAsLongs$ByteArrayViewVarHandle nestHost java/lang/invoke/VarHandleByteArrayAsLongs flags 30 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsLongs$ByteBufferHandle outerClass java/lang/invoke/VarHandleByteArrayAsLongs innerClassName ByteBufferHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsLongs$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsLongs innerClassName ByteArrayViewVarHandle flags 408 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleByteArrayAsLongs$ByteBufferHandle; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleByteArrayAsLongs$ByteBufferHandle; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleByteArrayAsShorts +header extends java/lang/invoke/VarHandleByteArrayBase nestMembers java/lang/invoke/VarHandleByteArrayAsShorts$ByteBufferHandle,java/lang/invoke/VarHandleByteArrayAsShorts$ArrayHandle,java/lang/invoke/VarHandleByteArrayAsShorts$ByteArrayViewVarHandle flags 30 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsShorts$ByteBufferHandle outerClass java/lang/invoke/VarHandleByteArrayAsShorts innerClassName ByteBufferHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsShorts$ArrayHandle outerClass java/lang/invoke/VarHandleByteArrayAsShorts innerClassName ArrayHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsShorts$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsShorts innerClassName ByteArrayViewVarHandle flags 408 + +class name java/lang/invoke/VarHandleByteArrayAsShorts$ArrayHandle +header extends java/lang/invoke/VarHandleByteArrayAsShorts$ByteArrayViewVarHandle nestHost java/lang/invoke/VarHandleByteArrayAsShorts flags 30 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsShorts$ArrayHandle outerClass java/lang/invoke/VarHandleByteArrayAsShorts innerClassName ArrayHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsShorts$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsShorts innerClassName ByteArrayViewVarHandle flags 408 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleByteArrayAsShorts$ArrayHandle; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleByteArrayAsShorts$ArrayHandle; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleByteArrayAsShorts$ByteArrayViewVarHandle +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleByteArrayAsShorts sealed true permittedSubclasses java/lang/invoke/VarHandleByteArrayAsShorts$ArrayHandle,java/lang/invoke/VarHandleByteArrayAsShorts$ByteBufferHandle flags 420 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsShorts$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsShorts innerClassName ByteArrayViewVarHandle flags 408 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsShorts$ArrayHandle outerClass java/lang/invoke/VarHandleByteArrayAsShorts innerClassName ArrayHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsShorts$ByteBufferHandle outerClass java/lang/invoke/VarHandleByteArrayAsShorts innerClassName ByteBufferHandle flags 18 + +class name java/lang/invoke/VarHandleByteArrayAsShorts$ByteBufferHandle +header extends java/lang/invoke/VarHandleByteArrayAsShorts$ByteArrayViewVarHandle nestHost java/lang/invoke/VarHandleByteArrayAsShorts flags 30 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsShorts$ByteBufferHandle outerClass java/lang/invoke/VarHandleByteArrayAsShorts innerClassName ByteBufferHandle flags 18 +innerclass innerClass java/lang/invoke/VarHandleByteArrayAsShorts$ByteArrayViewVarHandle outerClass java/lang/invoke/VarHandleByteArrayAsShorts innerClassName ByteArrayViewVarHandle flags 408 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleByteArrayAsShorts$ByteBufferHandle; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleByteArrayAsShorts$ByteBufferHandle; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleByteArrayBase +header extends java/lang/Object flags 420 + +class name java/lang/invoke/VarHandleBytes +header extends java/lang/Object nestMembers java/lang/invoke/VarHandleBytes$Array,java/lang/invoke/VarHandleBytes$FieldStaticReadWrite,java/lang/invoke/VarHandleBytes$FieldStaticReadOnly,java/lang/invoke/VarHandleBytes$FieldInstanceReadWrite,java/lang/invoke/VarHandleBytes$FieldInstanceReadOnly flags 30 +innerclass innerClass java/lang/invoke/VarHandleBytes$Array outerClass java/lang/invoke/VarHandleBytes innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandleBytes$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleBytes innerClassName FieldStaticReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleBytes$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleBytes innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleBytes$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleBytes innerClassName FieldInstanceReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleBytes$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleBytes innerClassName FieldInstanceReadOnly flags 8 + +class name java/lang/invoke/VarHandleBytes$Array +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleBytes flags 30 +innerclass innerClass java/lang/invoke/VarHandleBytes$Array outerClass java/lang/invoke/VarHandleBytes innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleBytes$Array; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleBytes$Array; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleBytes$FieldInstanceReadOnly +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleBytes sealed true permittedSubclasses java/lang/invoke/VarHandleBytes$FieldInstanceReadWrite flags 20 +innerclass innerClass java/lang/invoke/VarHandleBytes$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleBytes innerClassName FieldInstanceReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +innerclass innerClass java/lang/invoke/VarHandleBytes$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleBytes innerClassName FieldInstanceReadWrite flags 18 +method name descriptor (Ljava/lang/Class;JLjava/lang/invoke/VarForm;Z)V flags 4 signature (Ljava/lang/Class<*>;JLjava/lang/invoke/VarForm;Z)V +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleBytes$FieldInstanceReadOnly; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleBytes$FieldInstanceReadOnly; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleBytes$FieldInstanceReadWrite +header extends java/lang/invoke/VarHandleBytes$FieldInstanceReadOnly nestHost java/lang/invoke/VarHandleBytes flags 30 +innerclass innerClass java/lang/invoke/VarHandleBytes$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleBytes innerClassName FieldInstanceReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleBytes$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleBytes innerClassName FieldInstanceReadOnly flags 8 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleBytes$FieldInstanceReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleBytes$FieldInstanceReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleBytes$FieldInstanceReadOnly; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleBytes$FieldInstanceReadOnly; flags 1041 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleBytes$FieldStaticReadOnly +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleBytes sealed true permittedSubclasses java/lang/invoke/VarHandleBytes$FieldStaticReadWrite flags 20 +innerclass innerClass java/lang/invoke/VarHandleBytes$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleBytes innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +innerclass innerClass java/lang/invoke/VarHandleBytes$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleBytes innerClassName FieldStaticReadWrite flags 18 +method name descriptor (Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V flags 4 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleBytes$FieldStaticReadOnly; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleBytes$FieldStaticReadOnly; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleBytes$FieldStaticReadWrite +header extends java/lang/invoke/VarHandleBytes$FieldStaticReadOnly nestHost java/lang/invoke/VarHandleBytes flags 30 +innerclass innerClass java/lang/invoke/VarHandleBytes$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleBytes innerClassName FieldStaticReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleBytes$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleBytes innerClassName FieldStaticReadOnly flags 8 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleBytes$FieldStaticReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleBytes$FieldStaticReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleBytes$FieldStaticReadOnly; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleBytes$FieldStaticReadOnly; flags 1041 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleChars +header extends java/lang/Object nestMembers java/lang/invoke/VarHandleChars$Array,java/lang/invoke/VarHandleChars$FieldStaticReadWrite,java/lang/invoke/VarHandleChars$FieldStaticReadOnly,java/lang/invoke/VarHandleChars$FieldInstanceReadWrite,java/lang/invoke/VarHandleChars$FieldInstanceReadOnly flags 30 +innerclass innerClass java/lang/invoke/VarHandleChars$Array outerClass java/lang/invoke/VarHandleChars innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandleChars$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleChars innerClassName FieldStaticReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleChars$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleChars innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleChars$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleChars innerClassName FieldInstanceReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleChars$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleChars innerClassName FieldInstanceReadOnly flags 8 + +class name java/lang/invoke/VarHandleChars$Array +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleChars flags 30 +innerclass innerClass java/lang/invoke/VarHandleChars$Array outerClass java/lang/invoke/VarHandleChars innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleChars$Array; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleChars$Array; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleChars$FieldInstanceReadOnly +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleChars sealed true permittedSubclasses java/lang/invoke/VarHandleChars$FieldInstanceReadWrite flags 20 +innerclass innerClass java/lang/invoke/VarHandleChars$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleChars innerClassName FieldInstanceReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +innerclass innerClass java/lang/invoke/VarHandleChars$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleChars innerClassName FieldInstanceReadWrite flags 18 +method name descriptor (Ljava/lang/Class;JLjava/lang/invoke/VarForm;Z)V flags 4 signature (Ljava/lang/Class<*>;JLjava/lang/invoke/VarForm;Z)V +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleChars$FieldInstanceReadOnly; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleChars$FieldInstanceReadOnly; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleChars$FieldInstanceReadWrite +header extends java/lang/invoke/VarHandleChars$FieldInstanceReadOnly nestHost java/lang/invoke/VarHandleChars flags 30 +innerclass innerClass java/lang/invoke/VarHandleChars$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleChars innerClassName FieldInstanceReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleChars$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleChars innerClassName FieldInstanceReadOnly flags 8 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleChars$FieldInstanceReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleChars$FieldInstanceReadOnly; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleChars$FieldInstanceReadOnly; flags 1041 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleChars$FieldStaticReadOnly +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleChars sealed true permittedSubclasses java/lang/invoke/VarHandleChars$FieldStaticReadWrite flags 20 +innerclass innerClass java/lang/invoke/VarHandleChars$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleChars innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +innerclass innerClass java/lang/invoke/VarHandleChars$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleChars innerClassName FieldStaticReadWrite flags 18 +method name descriptor (Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V flags 4 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleChars$FieldStaticReadOnly; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleChars$FieldStaticReadOnly; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleChars$FieldStaticReadWrite +header extends java/lang/invoke/VarHandleChars$FieldStaticReadOnly nestHost java/lang/invoke/VarHandleChars flags 30 +innerclass innerClass java/lang/invoke/VarHandleChars$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleChars innerClassName FieldStaticReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleChars$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleChars innerClassName FieldStaticReadOnly flags 8 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleChars$FieldStaticReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleChars$FieldStaticReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleChars$FieldStaticReadOnly; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleChars$FieldStaticReadOnly; flags 1041 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleDoubles +header extends java/lang/Object nestMembers java/lang/invoke/VarHandleDoubles$Array,java/lang/invoke/VarHandleDoubles$FieldStaticReadWrite,java/lang/invoke/VarHandleDoubles$FieldStaticReadOnly,java/lang/invoke/VarHandleDoubles$FieldInstanceReadWrite,java/lang/invoke/VarHandleDoubles$FieldInstanceReadOnly flags 30 +innerclass innerClass java/lang/invoke/VarHandleDoubles$Array outerClass java/lang/invoke/VarHandleDoubles innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandleDoubles$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleDoubles innerClassName FieldStaticReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleDoubles$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleDoubles innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleDoubles$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleDoubles innerClassName FieldInstanceReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleDoubles$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleDoubles innerClassName FieldInstanceReadOnly flags 8 + +class name java/lang/invoke/VarHandleDoubles$Array +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleDoubles flags 30 +innerclass innerClass java/lang/invoke/VarHandleDoubles$Array outerClass java/lang/invoke/VarHandleDoubles innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleDoubles$Array; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleDoubles$Array; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleDoubles$FieldInstanceReadOnly +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleDoubles sealed true permittedSubclasses java/lang/invoke/VarHandleDoubles$FieldInstanceReadWrite flags 20 +innerclass innerClass java/lang/invoke/VarHandleDoubles$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleDoubles innerClassName FieldInstanceReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +innerclass innerClass java/lang/invoke/VarHandleDoubles$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleDoubles innerClassName FieldInstanceReadWrite flags 18 +method name descriptor (Ljava/lang/Class;JLjava/lang/invoke/VarForm;Z)V flags 4 signature (Ljava/lang/Class<*>;JLjava/lang/invoke/VarForm;Z)V +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleDoubles$FieldInstanceReadOnly; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleDoubles$FieldInstanceReadOnly; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleDoubles$FieldInstanceReadWrite +header extends java/lang/invoke/VarHandleDoubles$FieldInstanceReadOnly nestHost java/lang/invoke/VarHandleDoubles flags 30 +innerclass innerClass java/lang/invoke/VarHandleDoubles$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleDoubles innerClassName FieldInstanceReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleDoubles$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleDoubles innerClassName FieldInstanceReadOnly flags 8 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleDoubles$FieldInstanceReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleDoubles$FieldInstanceReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleDoubles$FieldInstanceReadOnly; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleDoubles$FieldInstanceReadOnly; flags 1041 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleDoubles$FieldStaticReadOnly +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleDoubles sealed true permittedSubclasses java/lang/invoke/VarHandleDoubles$FieldStaticReadWrite flags 20 +innerclass innerClass java/lang/invoke/VarHandleDoubles$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleDoubles innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +innerclass innerClass java/lang/invoke/VarHandleDoubles$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleDoubles innerClassName FieldStaticReadWrite flags 18 +method name descriptor (Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V flags 4 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleDoubles$FieldStaticReadOnly; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleDoubles$FieldStaticReadOnly; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleDoubles$FieldStaticReadWrite +header extends java/lang/invoke/VarHandleDoubles$FieldStaticReadOnly nestHost java/lang/invoke/VarHandleDoubles flags 30 +innerclass innerClass java/lang/invoke/VarHandleDoubles$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleDoubles innerClassName FieldStaticReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleDoubles$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleDoubles innerClassName FieldStaticReadOnly flags 8 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleDoubles$FieldStaticReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleDoubles$FieldStaticReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleDoubles$FieldStaticReadOnly; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleDoubles$FieldStaticReadOnly; flags 1041 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleFloats +header extends java/lang/Object nestMembers java/lang/invoke/VarHandleFloats$Array,java/lang/invoke/VarHandleFloats$FieldStaticReadWrite,java/lang/invoke/VarHandleFloats$FieldStaticReadOnly,java/lang/invoke/VarHandleFloats$FieldInstanceReadWrite,java/lang/invoke/VarHandleFloats$FieldInstanceReadOnly flags 30 +innerclass innerClass java/lang/invoke/VarHandleFloats$Array outerClass java/lang/invoke/VarHandleFloats innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandleFloats$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleFloats innerClassName FieldStaticReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleFloats$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleFloats innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleFloats$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleFloats innerClassName FieldInstanceReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleFloats$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleFloats innerClassName FieldInstanceReadOnly flags 8 + +class name java/lang/invoke/VarHandleFloats$Array +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleFloats flags 30 +innerclass innerClass java/lang/invoke/VarHandleFloats$Array outerClass java/lang/invoke/VarHandleFloats innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleFloats$Array; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleFloats$Array; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleFloats$FieldInstanceReadOnly +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleFloats sealed true permittedSubclasses java/lang/invoke/VarHandleFloats$FieldInstanceReadWrite flags 20 +innerclass innerClass java/lang/invoke/VarHandleFloats$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleFloats innerClassName FieldInstanceReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +innerclass innerClass java/lang/invoke/VarHandleFloats$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleFloats innerClassName FieldInstanceReadWrite flags 18 +method name descriptor (Ljava/lang/Class;JLjava/lang/invoke/VarForm;Z)V flags 4 signature (Ljava/lang/Class<*>;JLjava/lang/invoke/VarForm;Z)V +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleFloats$FieldInstanceReadOnly; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleFloats$FieldInstanceReadOnly; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleFloats$FieldInstanceReadWrite +header extends java/lang/invoke/VarHandleFloats$FieldInstanceReadOnly nestHost java/lang/invoke/VarHandleFloats flags 30 +innerclass innerClass java/lang/invoke/VarHandleFloats$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleFloats innerClassName FieldInstanceReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleFloats$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleFloats innerClassName FieldInstanceReadOnly flags 8 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleFloats$FieldInstanceReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleFloats$FieldInstanceReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleFloats$FieldInstanceReadOnly; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleFloats$FieldInstanceReadOnly; flags 1041 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleFloats$FieldStaticReadOnly +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleFloats sealed true permittedSubclasses java/lang/invoke/VarHandleFloats$FieldStaticReadWrite flags 20 +innerclass innerClass java/lang/invoke/VarHandleFloats$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleFloats innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +innerclass innerClass java/lang/invoke/VarHandleFloats$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleFloats innerClassName FieldStaticReadWrite flags 18 +method name descriptor (Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V flags 4 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleFloats$FieldStaticReadOnly; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleFloats$FieldStaticReadOnly; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleFloats$FieldStaticReadWrite +header extends java/lang/invoke/VarHandleFloats$FieldStaticReadOnly nestHost java/lang/invoke/VarHandleFloats flags 30 +innerclass innerClass java/lang/invoke/VarHandleFloats$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleFloats innerClassName FieldStaticReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleFloats$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleFloats innerClassName FieldStaticReadOnly flags 8 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleFloats$FieldStaticReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleFloats$FieldStaticReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleFloats$FieldStaticReadOnly; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleFloats$FieldStaticReadOnly; flags 1041 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleInts +header extends java/lang/Object nestMembers java/lang/invoke/VarHandleInts$Array,java/lang/invoke/VarHandleInts$FieldStaticReadWrite,java/lang/invoke/VarHandleInts$FieldStaticReadOnly,java/lang/invoke/VarHandleInts$FieldInstanceReadWrite,java/lang/invoke/VarHandleInts$FieldInstanceReadOnly flags 30 +innerclass innerClass java/lang/invoke/VarHandleInts$Array outerClass java/lang/invoke/VarHandleInts innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandleInts$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleInts innerClassName FieldStaticReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleInts$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleInts innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleInts$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleInts innerClassName FieldInstanceReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleInts$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleInts innerClassName FieldInstanceReadOnly flags 8 + +class name java/lang/invoke/VarHandleInts$Array +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleInts flags 30 +innerclass innerClass java/lang/invoke/VarHandleInts$Array outerClass java/lang/invoke/VarHandleInts innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleInts$Array; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleInts$Array; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleInts$FieldInstanceReadOnly +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleInts sealed true permittedSubclasses java/lang/invoke/VarHandleInts$FieldInstanceReadWrite flags 20 +innerclass innerClass java/lang/invoke/VarHandleInts$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleInts innerClassName FieldInstanceReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +innerclass innerClass java/lang/invoke/VarHandleInts$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleInts innerClassName FieldInstanceReadWrite flags 18 +method name descriptor (Ljava/lang/Class;JLjava/lang/invoke/VarForm;Z)V flags 4 signature (Ljava/lang/Class<*>;JLjava/lang/invoke/VarForm;Z)V +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleInts$FieldInstanceReadOnly; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleInts$FieldInstanceReadOnly; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleInts$FieldInstanceReadWrite +header extends java/lang/invoke/VarHandleInts$FieldInstanceReadOnly nestHost java/lang/invoke/VarHandleInts flags 30 +innerclass innerClass java/lang/invoke/VarHandleInts$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleInts innerClassName FieldInstanceReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleInts$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleInts innerClassName FieldInstanceReadOnly flags 8 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleInts$FieldInstanceReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleInts$FieldInstanceReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleInts$FieldInstanceReadOnly; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleInts$FieldInstanceReadOnly; flags 1041 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleInts$FieldStaticReadOnly +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleInts sealed true permittedSubclasses java/lang/invoke/VarHandleInts$FieldStaticReadWrite flags 20 +innerclass innerClass java/lang/invoke/VarHandleInts$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleInts innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +innerclass innerClass java/lang/invoke/VarHandleInts$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleInts innerClassName FieldStaticReadWrite flags 18 +method name descriptor (Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V flags 4 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleInts$FieldStaticReadOnly; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleInts$FieldStaticReadOnly; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleInts$FieldStaticReadWrite +header extends java/lang/invoke/VarHandleInts$FieldStaticReadOnly nestHost java/lang/invoke/VarHandleInts flags 30 +innerclass innerClass java/lang/invoke/VarHandleInts$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleInts innerClassName FieldStaticReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleInts$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleInts innerClassName FieldStaticReadOnly flags 8 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleInts$FieldStaticReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleInts$FieldStaticReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleInts$FieldStaticReadOnly; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleInts$FieldStaticReadOnly; flags 1041 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleLongs +header extends java/lang/Object nestMembers java/lang/invoke/VarHandleLongs$Array,java/lang/invoke/VarHandleLongs$FieldStaticReadWrite,java/lang/invoke/VarHandleLongs$FieldStaticReadOnly,java/lang/invoke/VarHandleLongs$FieldInstanceReadWrite,java/lang/invoke/VarHandleLongs$FieldInstanceReadOnly flags 30 +innerclass innerClass java/lang/invoke/VarHandleLongs$Array outerClass java/lang/invoke/VarHandleLongs innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandleLongs$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleLongs innerClassName FieldStaticReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleLongs$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleLongs innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleLongs$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleLongs innerClassName FieldInstanceReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleLongs$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleLongs innerClassName FieldInstanceReadOnly flags 8 + +class name java/lang/invoke/VarHandleLongs$Array +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleLongs flags 30 +innerclass innerClass java/lang/invoke/VarHandleLongs$Array outerClass java/lang/invoke/VarHandleLongs innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleLongs$Array; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleLongs$Array; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleLongs$FieldInstanceReadOnly +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleLongs sealed true permittedSubclasses java/lang/invoke/VarHandleLongs$FieldInstanceReadWrite flags 20 +innerclass innerClass java/lang/invoke/VarHandleLongs$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleLongs innerClassName FieldInstanceReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +innerclass innerClass java/lang/invoke/VarHandleLongs$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleLongs innerClassName FieldInstanceReadWrite flags 18 +method name descriptor (Ljava/lang/Class;JLjava/lang/invoke/VarForm;Z)V flags 4 signature (Ljava/lang/Class<*>;JLjava/lang/invoke/VarForm;Z)V +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleLongs$FieldInstanceReadOnly; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleLongs$FieldInstanceReadOnly; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleLongs$FieldInstanceReadWrite +header extends java/lang/invoke/VarHandleLongs$FieldInstanceReadOnly nestHost java/lang/invoke/VarHandleLongs flags 30 +innerclass innerClass java/lang/invoke/VarHandleLongs$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleLongs innerClassName FieldInstanceReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleLongs$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleLongs innerClassName FieldInstanceReadOnly flags 8 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleLongs$FieldInstanceReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleLongs$FieldInstanceReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleLongs$FieldInstanceReadOnly; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleLongs$FieldInstanceReadOnly; flags 1041 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleLongs$FieldStaticReadOnly +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleLongs sealed true permittedSubclasses java/lang/invoke/VarHandleLongs$FieldStaticReadWrite flags 20 +innerclass innerClass java/lang/invoke/VarHandleLongs$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleLongs innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +innerclass innerClass java/lang/invoke/VarHandleLongs$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleLongs innerClassName FieldStaticReadWrite flags 18 +method name descriptor (Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V flags 4 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleLongs$FieldStaticReadOnly; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleLongs$FieldStaticReadOnly; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleLongs$FieldStaticReadWrite +header extends java/lang/invoke/VarHandleLongs$FieldStaticReadOnly nestHost java/lang/invoke/VarHandleLongs flags 30 +innerclass innerClass java/lang/invoke/VarHandleLongs$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleLongs innerClassName FieldStaticReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleLongs$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleLongs innerClassName FieldStaticReadOnly flags 8 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleLongs$FieldStaticReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleLongs$FieldStaticReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleLongs$FieldStaticReadOnly; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleLongs$FieldStaticReadOnly; flags 1041 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleReferences +header extends java/lang/Object nestMembers java/lang/invoke/VarHandleReferences$Array,java/lang/invoke/VarHandleReferences$FieldStaticReadWrite,java/lang/invoke/VarHandleReferences$FieldStaticReadOnly,java/lang/invoke/VarHandleReferences$FieldInstanceReadWrite,java/lang/invoke/VarHandleReferences$FieldInstanceReadOnly flags 30 +innerclass innerClass java/lang/invoke/VarHandleReferences$Array outerClass java/lang/invoke/VarHandleReferences innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandleReferences$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleReferences innerClassName FieldStaticReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleReferences$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleReferences innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleReferences$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleReferences innerClassName FieldInstanceReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleReferences$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleReferences innerClassName FieldInstanceReadOnly flags 8 + +class name java/lang/invoke/VarHandleReferences$Array +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleReferences flags 30 +innerclass innerClass java/lang/invoke/VarHandleReferences$Array outerClass java/lang/invoke/VarHandleReferences innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleReferences$Array; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleReferences$Array; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleReferences$FieldInstanceReadOnly +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleReferences sealed true permittedSubclasses java/lang/invoke/VarHandleReferences$FieldInstanceReadWrite flags 20 +innerclass innerClass java/lang/invoke/VarHandleReferences$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleReferences innerClassName FieldInstanceReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +innerclass innerClass java/lang/invoke/VarHandleReferences$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleReferences innerClassName FieldInstanceReadWrite flags 18 +method name descriptor (Ljava/lang/Class;JLjava/lang/Class;Ljava/lang/invoke/VarForm;Z)V flags 4 signature (Ljava/lang/Class<*>;JLjava/lang/Class<*>;Ljava/lang/invoke/VarForm;Z)V +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleReferences$FieldInstanceReadOnly; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleReferences$FieldInstanceReadOnly; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleReferences$FieldInstanceReadWrite +header extends java/lang/invoke/VarHandleReferences$FieldInstanceReadOnly nestHost java/lang/invoke/VarHandleReferences flags 30 +innerclass innerClass java/lang/invoke/VarHandleReferences$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleReferences innerClassName FieldInstanceReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleReferences$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleReferences innerClassName FieldInstanceReadOnly flags 8 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleReferences$FieldInstanceReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleReferences$FieldInstanceReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleReferences$FieldInstanceReadOnly; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleReferences$FieldInstanceReadOnly; flags 1041 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleReferences$FieldStaticReadOnly +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleReferences sealed true permittedSubclasses java/lang/invoke/VarHandleReferences$FieldStaticReadWrite flags 20 +innerclass innerClass java/lang/invoke/VarHandleReferences$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleReferences innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +innerclass innerClass java/lang/invoke/VarHandleReferences$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleReferences innerClassName FieldStaticReadWrite flags 18 +method name descriptor (Ljava/lang/Object;JLjava/lang/Class;Ljava/lang/invoke/VarForm;Z)V flags 4 signature (Ljava/lang/Object;JLjava/lang/Class<*>;Ljava/lang/invoke/VarForm;Z)V +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleReferences$FieldStaticReadOnly; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleReferences$FieldStaticReadOnly; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleReferences$FieldStaticReadWrite +header extends java/lang/invoke/VarHandleReferences$FieldStaticReadOnly nestHost java/lang/invoke/VarHandleReferences flags 30 +innerclass innerClass java/lang/invoke/VarHandleReferences$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleReferences innerClassName FieldStaticReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleReferences$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleReferences innerClassName FieldStaticReadOnly flags 8 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleReferences$FieldStaticReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleReferences$FieldStaticReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleReferences$FieldStaticReadOnly; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleReferences$FieldStaticReadOnly; flags 1041 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleSegmentAsBytes +header extends java/lang/invoke/VarHandleSegmentViewBase flags 30 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleSegmentAsBytes; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleSegmentAsBytes; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleSegmentAsChars +header extends java/lang/invoke/VarHandleSegmentViewBase flags 30 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleSegmentAsChars; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleSegmentAsChars; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleSegmentAsDoubles +header extends java/lang/invoke/VarHandleSegmentViewBase flags 30 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleSegmentAsDoubles; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleSegmentAsDoubles; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleSegmentAsFloats +header extends java/lang/invoke/VarHandleSegmentViewBase flags 30 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleSegmentAsFloats; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleSegmentAsFloats; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleSegmentAsInts +header extends java/lang/invoke/VarHandleSegmentViewBase flags 30 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleSegmentAsInts; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleSegmentAsInts; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleSegmentAsLongs +header extends java/lang/invoke/VarHandleSegmentViewBase flags 30 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleSegmentAsLongs; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleSegmentAsLongs; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleSegmentAsShorts +header extends java/lang/invoke/VarHandleSegmentViewBase flags 30 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleSegmentAsShorts; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleSegmentAsShorts; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleSegmentViewBase +header extends java/lang/invoke/VarHandle sealed true permittedSubclasses java/lang/invoke/VarHandleSegmentAsBytes,java/lang/invoke/VarHandleSegmentAsChars,java/lang/invoke/VarHandleSegmentAsDoubles,java/lang/invoke/VarHandleSegmentAsFloats,java/lang/invoke/VarHandleSegmentAsInts,java/lang/invoke/VarHandleSegmentAsLongs,java/lang/invoke/VarHandleSegmentAsShorts flags 420 + +class name java/lang/invoke/VarHandleShorts +header extends java/lang/Object nestMembers java/lang/invoke/VarHandleShorts$Array,java/lang/invoke/VarHandleShorts$FieldStaticReadWrite,java/lang/invoke/VarHandleShorts$FieldStaticReadOnly,java/lang/invoke/VarHandleShorts$FieldInstanceReadWrite,java/lang/invoke/VarHandleShorts$FieldInstanceReadOnly flags 30 +innerclass innerClass java/lang/invoke/VarHandleShorts$Array outerClass java/lang/invoke/VarHandleShorts innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandleShorts$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleShorts innerClassName FieldStaticReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleShorts$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleShorts innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandleShorts$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleShorts innerClassName FieldInstanceReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleShorts$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleShorts innerClassName FieldInstanceReadOnly flags 8 + +class name java/lang/invoke/VarHandleShorts$Array +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleShorts flags 30 +innerclass innerClass java/lang/invoke/VarHandleShorts$Array outerClass java/lang/invoke/VarHandleShorts innerClassName Array flags 18 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleShorts$Array; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleShorts$Array; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleShorts$FieldInstanceReadOnly +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleShorts sealed true permittedSubclasses java/lang/invoke/VarHandleShorts$FieldInstanceReadWrite flags 20 +innerclass innerClass java/lang/invoke/VarHandleShorts$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleShorts innerClassName FieldInstanceReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +innerclass innerClass java/lang/invoke/VarHandleShorts$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleShorts innerClassName FieldInstanceReadWrite flags 18 +method name descriptor (Ljava/lang/Class;JLjava/lang/invoke/VarForm;Z)V flags 4 signature (Ljava/lang/Class<*>;JLjava/lang/invoke/VarForm;Z)V +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleShorts$FieldInstanceReadOnly; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleShorts$FieldInstanceReadOnly; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleShorts$FieldInstanceReadWrite +header extends java/lang/invoke/VarHandleShorts$FieldInstanceReadOnly nestHost java/lang/invoke/VarHandleShorts flags 30 +innerclass innerClass java/lang/invoke/VarHandleShorts$FieldInstanceReadWrite outerClass java/lang/invoke/VarHandleShorts innerClassName FieldInstanceReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleShorts$FieldInstanceReadOnly outerClass java/lang/invoke/VarHandleShorts innerClassName FieldInstanceReadOnly flags 8 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleShorts$FieldInstanceReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleShorts$FieldInstanceReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleShorts$FieldInstanceReadOnly; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleShorts$FieldInstanceReadOnly; flags 1041 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleShorts$FieldStaticReadOnly +header extends java/lang/invoke/VarHandle nestHost java/lang/invoke/VarHandleShorts sealed true permittedSubclasses java/lang/invoke/VarHandleShorts$FieldStaticReadWrite flags 20 +innerclass innerClass java/lang/invoke/VarHandleShorts$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleShorts innerClassName FieldStaticReadOnly flags 8 +innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 +innerclass innerClass java/lang/invoke/VarHandleShorts$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleShorts innerClassName FieldStaticReadWrite flags 18 +method name descriptor (Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V flags 4 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleShorts$FieldStaticReadOnly; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleShorts$FieldStaticReadOnly; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/invoke/VarHandleShorts$FieldStaticReadWrite +header extends java/lang/invoke/VarHandleShorts$FieldStaticReadOnly nestHost java/lang/invoke/VarHandleShorts flags 30 +innerclass innerClass java/lang/invoke/VarHandleShorts$FieldStaticReadWrite outerClass java/lang/invoke/VarHandleShorts innerClassName FieldStaticReadWrite flags 18 +innerclass innerClass java/lang/invoke/VarHandleShorts$FieldStaticReadOnly outerClass java/lang/invoke/VarHandleShorts innerClassName FieldStaticReadOnly flags 8 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleShorts$FieldStaticReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleShorts$FieldStaticReadWrite; flags 1 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandleShorts$FieldStaticReadOnly; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandleShorts$FieldStaticReadOnly; flags 1041 +method name withInvokeBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 +method name withInvokeExactBehavior descriptor ()Ljava/lang/invoke/VarHandle; flags 1041 + +class name java/lang/ref/FinalReference +header extends java/lang/ref/Reference sealed true permittedSubclasses java/lang/ref/Finalizer flags 20 signature Ljava/lang/ref/Reference; +method name descriptor (Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V flags 1 signature (TT;Ljava/lang/ref/ReferenceQueue<-TT;>;)V +method name get descriptor ()Ljava/lang/Object; flags 1 signature ()TT; +method name clear descriptor ()V flags 1 +method name enqueue descriptor ()Z flags 1 + +class name java/lang/ref/Finalizer +header extends java/lang/ref/FinalReference flags 30 signature Ljava/lang/ref/FinalReference; class name java/lang/ref/Reference -header extends java/lang/Object sealed true flags 421 signature Ljava/lang/Object; +header extends java/lang/Object sealed true permittedSubclasses java/lang/ref/PhantomReference,java/lang/ref/SoftReference,java/lang/ref/WeakReference,java/lang/ref/FinalReference flags 421 signature Ljava/lang/Object; class name java/lang/ref/ReferenceQueue -method name remove descriptor (J)Ljava/lang/ref/Reference; method name remove descriptor (J)Ljava/lang/ref/Reference; thrownTypes java/lang/InterruptedException flags 1 signature (J)Ljava/lang/ref/Reference<+TT;>; -class name java/lang/reflect/AccessibleObject -header extends java/lang/Object implements java/lang/reflect/AnnotatedElement flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) - -class name java/lang/reflect/AnnotatedElement -header extends java/lang/Object flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/reflect/Executable -header extends java/lang/reflect/AccessibleObject implements java/lang/reflect/Member,java/lang/reflect/GenericDeclaration sealed true flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/reflect/InaccessibleObjectException -header extends java/lang/RuntimeException flags 21 - class name java/math/BigDecimal field name TWO descriptor Ljava/math/BigDecimal; flags 19 class name java/math/BigInteger method name parallelMultiply descriptor (Ljava/math/BigInteger;)Ljava/math/BigInteger; flags 1 -class name java/net/DatagramSocket -header extends java/lang/Object implements java/io/Closeable flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) - class name java/net/InetAddress -header extends java/lang/Object implements java/io/Serializable sealed true flags 21 +header extends java/lang/Object implements java/io/Serializable sealed true permittedSubclasses java/net/Inet4Address,java/net/Inet6Address flags 21 innerclass innerClass java/net/spi/InetAddressResolver$LookupPolicy outerClass java/net/spi/InetAddressResolver innerClassName LookupPolicy flags 19 innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 @@ -966,139 +1934,1461 @@ class name java/net/SocketException method name descriptor (Ljava/lang/String;Ljava/lang/Throwable;)V flags 1 method name descriptor (Ljava/lang/Throwable;)V flags 1 -class name java/net/SocketImpl -header extends java/lang/Object implements java/net/SocketOptions flags 421 - -class name java/net/spi/InetAddressResolverProvider$Configuration -header extends java/lang/Object nestHost java/net/spi/InetAddressResolverProvider sealed true flags 601 -innerclass innerClass java/net/spi/InetAddressResolverProvider$Configuration outerClass java/net/spi/InetAddressResolverProvider innerClassName Configuration flags 609 - -class name java/net/spi/URLStreamHandlerProvider -header extends java/lang/Object implements java/net/URLStreamHandlerFactory flags 421 - class name java/nio/Buffer -header extends java/lang/Object sealed true flags 421 +header extends java/lang/Object sealed true permittedSubclasses java/nio/ByteBuffer,java/nio/CharBuffer,java/nio/DoubleBuffer,java/nio/FloatBuffer,java/nio/IntBuffer,java/nio/LongBuffer,java/nio/ShortBuffer flags 421 class name java/nio/ByteBuffer -header extends java/nio/Buffer implements java/lang/Comparable sealed true flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; +header extends java/nio/Buffer implements java/lang/Comparable sealed true permittedSubclasses java/nio/HeapByteBuffer,java/nio/MappedByteBuffer flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; + +class name java/nio/ByteBufferAsCharBufferB +header extends java/nio/CharBuffer sealed true permittedSubclasses java/nio/ByteBufferAsCharBufferRB flags 20 +field name bb descriptor Ljava/nio/ByteBuffer; flags 14 +method name slice descriptor ()Ljava/nio/CharBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/CharBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/CharBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/CharBuffer; flags 1 +method name byteOffset descriptor (J)J flags 4 +method name get descriptor ()C flags 1 +method name get descriptor (I)C flags 1 +method name put descriptor (C)Ljava/nio/CharBuffer; flags 1 +method name put descriptor (IC)Ljava/nio/CharBuffer; flags 1 +method name compact descriptor ()Ljava/nio/CharBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name toString descriptor (II)Ljava/lang/String; flags 1 +method name subSequence descriptor (II)Ljava/nio/CharBuffer; flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name subSequence descriptor (II)Ljava/lang/CharSequence; flags 1041 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/ByteBufferAsCharBufferL +header extends java/nio/CharBuffer sealed true permittedSubclasses java/nio/ByteBufferAsCharBufferRL flags 20 +field name bb descriptor Ljava/nio/ByteBuffer; flags 14 +method name slice descriptor ()Ljava/nio/CharBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/CharBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/CharBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/CharBuffer; flags 1 +method name byteOffset descriptor (J)J flags 4 +method name get descriptor ()C flags 1 +method name get descriptor (I)C flags 1 +method name put descriptor (C)Ljava/nio/CharBuffer; flags 1 +method name put descriptor (IC)Ljava/nio/CharBuffer; flags 1 +method name compact descriptor ()Ljava/nio/CharBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name toString descriptor (II)Ljava/lang/String; flags 1 +method name subSequence descriptor (II)Ljava/nio/CharBuffer; flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name subSequence descriptor (II)Ljava/lang/CharSequence; flags 1041 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/ByteBufferAsCharBufferRB +header extends java/nio/ByteBufferAsCharBufferB flags 30 +method name slice descriptor ()Ljava/nio/CharBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/CharBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/CharBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/CharBuffer; flags 1 +method name put descriptor (C)Ljava/nio/CharBuffer; flags 1 +method name put descriptor (IC)Ljava/nio/CharBuffer; flags 1 +method name compact descriptor ()Ljava/nio/CharBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name toString descriptor (II)Ljava/lang/String; flags 1 +method name subSequence descriptor (II)Ljava/nio/CharBuffer; flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name subSequence descriptor (II)Ljava/lang/CharSequence; flags 1041 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/ByteBufferAsCharBufferRL +header extends java/nio/ByteBufferAsCharBufferL flags 30 +method name slice descriptor ()Ljava/nio/CharBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/CharBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/CharBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/CharBuffer; flags 1 +method name put descriptor (C)Ljava/nio/CharBuffer; flags 1 +method name put descriptor (IC)Ljava/nio/CharBuffer; flags 1 +method name compact descriptor ()Ljava/nio/CharBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name toString descriptor (II)Ljava/lang/String; flags 1 +method name subSequence descriptor (II)Ljava/nio/CharBuffer; flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name subSequence descriptor (II)Ljava/lang/CharSequence; flags 1041 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/ByteBufferAsDoubleBufferB +header extends java/nio/DoubleBuffer sealed true permittedSubclasses java/nio/ByteBufferAsDoubleBufferRB flags 20 +field name bb descriptor Ljava/nio/ByteBuffer; flags 14 +method name slice descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/DoubleBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name byteOffset descriptor (J)J flags 4 +method name get descriptor ()D flags 1 +method name get descriptor (I)D flags 1 +method name put descriptor (D)Ljava/nio/DoubleBuffer; flags 1 +method name put descriptor (ID)Ljava/nio/DoubleBuffer; flags 1 +method name compact descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/ByteBufferAsDoubleBufferL +header extends java/nio/DoubleBuffer sealed true permittedSubclasses java/nio/ByteBufferAsDoubleBufferRL flags 20 +field name bb descriptor Ljava/nio/ByteBuffer; flags 14 +method name slice descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/DoubleBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name byteOffset descriptor (J)J flags 4 +method name get descriptor ()D flags 1 +method name get descriptor (I)D flags 1 +method name put descriptor (D)Ljava/nio/DoubleBuffer; flags 1 +method name put descriptor (ID)Ljava/nio/DoubleBuffer; flags 1 +method name compact descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/ByteBufferAsDoubleBufferRB +header extends java/nio/ByteBufferAsDoubleBufferB flags 30 +method name slice descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/DoubleBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name put descriptor (D)Ljava/nio/DoubleBuffer; flags 1 +method name put descriptor (ID)Ljava/nio/DoubleBuffer; flags 1 +method name compact descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/ByteBufferAsDoubleBufferRL +header extends java/nio/ByteBufferAsDoubleBufferL flags 30 +method name slice descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/DoubleBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name put descriptor (D)Ljava/nio/DoubleBuffer; flags 1 +method name put descriptor (ID)Ljava/nio/DoubleBuffer; flags 1 +method name compact descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/ByteBufferAsFloatBufferB +header extends java/nio/FloatBuffer sealed true permittedSubclasses java/nio/ByteBufferAsFloatBufferRB flags 20 +field name bb descriptor Ljava/nio/ByteBuffer; flags 14 +method name slice descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/FloatBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name byteOffset descriptor (J)J flags 4 +method name get descriptor ()F flags 1 +method name get descriptor (I)F flags 1 +method name put descriptor (F)Ljava/nio/FloatBuffer; flags 1 +method name put descriptor (IF)Ljava/nio/FloatBuffer; flags 1 +method name compact descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/ByteBufferAsFloatBufferL +header extends java/nio/FloatBuffer sealed true permittedSubclasses java/nio/ByteBufferAsFloatBufferRL flags 20 +field name bb descriptor Ljava/nio/ByteBuffer; flags 14 +method name slice descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/FloatBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name byteOffset descriptor (J)J flags 4 +method name get descriptor ()F flags 1 +method name get descriptor (I)F flags 1 +method name put descriptor (F)Ljava/nio/FloatBuffer; flags 1 +method name put descriptor (IF)Ljava/nio/FloatBuffer; flags 1 +method name compact descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/ByteBufferAsFloatBufferRB +header extends java/nio/ByteBufferAsFloatBufferB flags 30 +method name slice descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/FloatBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name put descriptor (F)Ljava/nio/FloatBuffer; flags 1 +method name put descriptor (IF)Ljava/nio/FloatBuffer; flags 1 +method name compact descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/ByteBufferAsFloatBufferRL +header extends java/nio/ByteBufferAsFloatBufferL flags 30 +method name slice descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/FloatBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name put descriptor (F)Ljava/nio/FloatBuffer; flags 1 +method name put descriptor (IF)Ljava/nio/FloatBuffer; flags 1 +method name compact descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/ByteBufferAsIntBufferB +header extends java/nio/IntBuffer sealed true permittedSubclasses java/nio/ByteBufferAsIntBufferRB flags 20 +field name bb descriptor Ljava/nio/ByteBuffer; flags 14 +method name slice descriptor ()Ljava/nio/IntBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/IntBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/IntBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/IntBuffer; flags 1 +method name byteOffset descriptor (J)J flags 4 +method name get descriptor ()I flags 1 +method name get descriptor (I)I flags 1 +method name put descriptor (I)Ljava/nio/IntBuffer; flags 1 +method name put descriptor (II)Ljava/nio/IntBuffer; flags 1 +method name compact descriptor ()Ljava/nio/IntBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/ByteBufferAsIntBufferL +header extends java/nio/IntBuffer sealed true permittedSubclasses java/nio/ByteBufferAsIntBufferRL flags 20 +field name bb descriptor Ljava/nio/ByteBuffer; flags 14 +method name slice descriptor ()Ljava/nio/IntBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/IntBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/IntBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/IntBuffer; flags 1 +method name byteOffset descriptor (J)J flags 4 +method name get descriptor ()I flags 1 +method name get descriptor (I)I flags 1 +method name put descriptor (I)Ljava/nio/IntBuffer; flags 1 +method name put descriptor (II)Ljava/nio/IntBuffer; flags 1 +method name compact descriptor ()Ljava/nio/IntBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/ByteBufferAsIntBufferRB +header extends java/nio/ByteBufferAsIntBufferB flags 30 +method name slice descriptor ()Ljava/nio/IntBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/IntBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/IntBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/IntBuffer; flags 1 +method name put descriptor (I)Ljava/nio/IntBuffer; flags 1 +method name put descriptor (II)Ljava/nio/IntBuffer; flags 1 +method name compact descriptor ()Ljava/nio/IntBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/ByteBufferAsIntBufferRL +header extends java/nio/ByteBufferAsIntBufferL flags 30 +method name slice descriptor ()Ljava/nio/IntBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/IntBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/IntBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/IntBuffer; flags 1 +method name put descriptor (I)Ljava/nio/IntBuffer; flags 1 +method name put descriptor (II)Ljava/nio/IntBuffer; flags 1 +method name compact descriptor ()Ljava/nio/IntBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/ByteBufferAsLongBufferB +header extends java/nio/LongBuffer sealed true permittedSubclasses java/nio/ByteBufferAsLongBufferRB flags 20 +field name bb descriptor Ljava/nio/ByteBuffer; flags 14 +method name slice descriptor ()Ljava/nio/LongBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/LongBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/LongBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/LongBuffer; flags 1 +method name byteOffset descriptor (J)J flags 4 +method name get descriptor ()J flags 1 +method name get descriptor (I)J flags 1 +method name put descriptor (J)Ljava/nio/LongBuffer; flags 1 +method name put descriptor (IJ)Ljava/nio/LongBuffer; flags 1 +method name compact descriptor ()Ljava/nio/LongBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/ByteBufferAsLongBufferL +header extends java/nio/LongBuffer sealed true permittedSubclasses java/nio/ByteBufferAsLongBufferRL flags 20 +field name bb descriptor Ljava/nio/ByteBuffer; flags 14 +method name slice descriptor ()Ljava/nio/LongBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/LongBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/LongBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/LongBuffer; flags 1 +method name byteOffset descriptor (J)J flags 4 +method name get descriptor ()J flags 1 +method name get descriptor (I)J flags 1 +method name put descriptor (J)Ljava/nio/LongBuffer; flags 1 +method name put descriptor (IJ)Ljava/nio/LongBuffer; flags 1 +method name compact descriptor ()Ljava/nio/LongBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/ByteBufferAsLongBufferRB +header extends java/nio/ByteBufferAsLongBufferB flags 30 +method name slice descriptor ()Ljava/nio/LongBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/LongBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/LongBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/LongBuffer; flags 1 +method name put descriptor (J)Ljava/nio/LongBuffer; flags 1 +method name put descriptor (IJ)Ljava/nio/LongBuffer; flags 1 +method name compact descriptor ()Ljava/nio/LongBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/ByteBufferAsLongBufferRL +header extends java/nio/ByteBufferAsLongBufferL flags 30 +method name slice descriptor ()Ljava/nio/LongBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/LongBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/LongBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/LongBuffer; flags 1 +method name put descriptor (J)Ljava/nio/LongBuffer; flags 1 +method name put descriptor (IJ)Ljava/nio/LongBuffer; flags 1 +method name compact descriptor ()Ljava/nio/LongBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/ByteBufferAsShortBufferB +header extends java/nio/ShortBuffer sealed true permittedSubclasses java/nio/ByteBufferAsShortBufferRB flags 20 +field name bb descriptor Ljava/nio/ByteBuffer; flags 14 +method name slice descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/ShortBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name byteOffset descriptor (J)J flags 4 +method name get descriptor ()S flags 1 +method name get descriptor (I)S flags 1 +method name put descriptor (S)Ljava/nio/ShortBuffer; flags 1 +method name put descriptor (IS)Ljava/nio/ShortBuffer; flags 1 +method name compact descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/ByteBufferAsShortBufferL +header extends java/nio/ShortBuffer sealed true permittedSubclasses java/nio/ByteBufferAsShortBufferRL flags 20 +field name bb descriptor Ljava/nio/ByteBuffer; flags 14 +method name slice descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/ShortBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name byteOffset descriptor (J)J flags 4 +method name get descriptor ()S flags 1 +method name get descriptor (I)S flags 1 +method name put descriptor (S)Ljava/nio/ShortBuffer; flags 1 +method name put descriptor (IS)Ljava/nio/ShortBuffer; flags 1 +method name compact descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/ByteBufferAsShortBufferRB +header extends java/nio/ByteBufferAsShortBufferB flags 30 +method name slice descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/ShortBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name put descriptor (S)Ljava/nio/ShortBuffer; flags 1 +method name put descriptor (IS)Ljava/nio/ShortBuffer; flags 1 +method name compact descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/ByteBufferAsShortBufferRL +header extends java/nio/ByteBufferAsShortBufferL flags 30 +method name slice descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/ShortBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name put descriptor (S)Ljava/nio/ShortBuffer; flags 1 +method name put descriptor (IS)Ljava/nio/ShortBuffer; flags 1 +method name compact descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 class name java/nio/CharBuffer -header extends java/nio/Buffer implements java/lang/Comparable,java/lang/Appendable,java/lang/CharSequence,java/lang/Readable sealed true flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable;Ljava/lang/Appendable;Ljava/lang/CharSequence;Ljava/lang/Readable; +header extends java/nio/Buffer implements java/lang/Comparable,java/lang/Appendable,java/lang/CharSequence,java/lang/Readable sealed true permittedSubclasses java/nio/StringCharBuffer,java/nio/HeapCharBuffer,java/nio/DirectCharBufferS,java/nio/DirectCharBufferU,java/nio/ByteBufferAsCharBufferB,java/nio/ByteBufferAsCharBufferL flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable;Ljava/lang/Appendable;Ljava/lang/CharSequence;Ljava/lang/Readable; innerclass innerClass java/util/Spliterator$OfInt outerClass java/util/Spliterator innerClassName OfInt flags 609 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +class name java/nio/DirectByteBuffer +header extends java/nio/MappedByteBuffer implements sun/nio/ch/DirectBuffer sealed true permittedSubclasses java/nio/DirectByteBufferR flags 20 +field name UNALIGNED descriptor Z flags 1c +method name attachment descriptor ()Ljava/lang/Object; flags 1 +method name cleaner descriptor ()Ljdk/internal/ref/Cleaner; flags 1 +method name descriptor (IJLjava/io/FileDescriptor;Ljava/lang/Runnable;ZLjava/lang/foreign/MemorySegment;)V flags 4 +method name slice descriptor ()Ljava/nio/MappedByteBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/MappedByteBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/MappedByteBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/ByteBuffer; flags 1 +method name address descriptor ()J flags 1 +method name get descriptor ()B flags 1 +method name get descriptor (I)B flags 1 +method name put descriptor (B)Ljava/nio/ByteBuffer; flags 1 +method name put descriptor (IB)Ljava/nio/ByteBuffer; flags 1 +method name compact descriptor ()Ljava/nio/MappedByteBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name getChar descriptor ()C flags 1 +method name getChar descriptor (I)C flags 1 +method name putChar descriptor (C)Ljava/nio/ByteBuffer; flags 1 +method name putChar descriptor (IC)Ljava/nio/ByteBuffer; flags 1 +method name asCharBuffer descriptor ()Ljava/nio/CharBuffer; flags 1 +method name getShort descriptor ()S flags 1 +method name getShort descriptor (I)S flags 1 +method name putShort descriptor (S)Ljava/nio/ByteBuffer; flags 1 +method name putShort descriptor (IS)Ljava/nio/ByteBuffer; flags 1 +method name asShortBuffer descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name getInt descriptor ()I flags 1 +method name getInt descriptor (I)I flags 1 +method name putInt descriptor (I)Ljava/nio/ByteBuffer; flags 1 +method name putInt descriptor (II)Ljava/nio/ByteBuffer; flags 1 +method name asIntBuffer descriptor ()Ljava/nio/IntBuffer; flags 1 +method name getLong descriptor ()J flags 1 +method name getLong descriptor (I)J flags 1 +method name putLong descriptor (J)Ljava/nio/ByteBuffer; flags 1 +method name putLong descriptor (IJ)Ljava/nio/ByteBuffer; flags 1 +method name asLongBuffer descriptor ()Ljava/nio/LongBuffer; flags 1 +method name getFloat descriptor ()F flags 1 +method name getFloat descriptor (I)F flags 1 +method name putFloat descriptor (F)Ljava/nio/ByteBuffer; flags 1 +method name putFloat descriptor (IF)Ljava/nio/ByteBuffer; flags 1 +method name asFloatBuffer descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name getDouble descriptor ()D flags 1 +method name getDouble descriptor (I)D flags 1 +method name putDouble descriptor (D)Ljava/nio/ByteBuffer; flags 1 +method name putDouble descriptor (ID)Ljava/nio/ByteBuffer; flags 1 +method name asDoubleBuffer descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name compact descriptor ()Ljava/nio/ByteBuffer; flags 1041 +method name duplicate descriptor ()Ljava/nio/ByteBuffer; flags 1041 +method name slice descriptor (II)Ljava/nio/ByteBuffer; flags 1041 +method name slice descriptor ()Ljava/nio/ByteBuffer; flags 1041 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/DirectByteBufferR +header extends java/nio/DirectByteBuffer implements sun/nio/ch/DirectBuffer flags 30 +method name descriptor (IJLjava/io/FileDescriptor;Ljava/lang/Runnable;ZLjava/lang/foreign/MemorySegment;)V flags 4 +method name slice descriptor ()Ljava/nio/MappedByteBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/MappedByteBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/MappedByteBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/ByteBuffer; flags 1 +method name put descriptor (B)Ljava/nio/ByteBuffer; flags 1 +method name put descriptor (IB)Ljava/nio/ByteBuffer; flags 1 +method name compact descriptor ()Ljava/nio/MappedByteBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name putChar descriptor (C)Ljava/nio/ByteBuffer; flags 1 +method name putChar descriptor (IC)Ljava/nio/ByteBuffer; flags 1 +method name asCharBuffer descriptor ()Ljava/nio/CharBuffer; flags 1 +method name putShort descriptor (S)Ljava/nio/ByteBuffer; flags 1 +method name putShort descriptor (IS)Ljava/nio/ByteBuffer; flags 1 +method name asShortBuffer descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name putInt descriptor (I)Ljava/nio/ByteBuffer; flags 1 +method name putInt descriptor (II)Ljava/nio/ByteBuffer; flags 1 +method name asIntBuffer descriptor ()Ljava/nio/IntBuffer; flags 1 +method name putLong descriptor (J)Ljava/nio/ByteBuffer; flags 1 +method name putLong descriptor (IJ)Ljava/nio/ByteBuffer; flags 1 +method name asLongBuffer descriptor ()Ljava/nio/LongBuffer; flags 1 +method name putFloat descriptor (F)Ljava/nio/ByteBuffer; flags 1 +method name putFloat descriptor (IF)Ljava/nio/ByteBuffer; flags 1 +method name asFloatBuffer descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name putDouble descriptor (D)Ljava/nio/ByteBuffer; flags 1 +method name putDouble descriptor (ID)Ljava/nio/ByteBuffer; flags 1 +method name asDoubleBuffer descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name compact descriptor ()Ljava/nio/ByteBuffer; flags 1041 +method name duplicate descriptor ()Ljava/nio/ByteBuffer; flags 1041 +method name slice descriptor (II)Ljava/nio/ByteBuffer; flags 1041 +method name slice descriptor ()Ljava/nio/ByteBuffer; flags 1041 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/DirectCharBufferRS +header extends java/nio/DirectCharBufferS implements sun/nio/ch/DirectBuffer flags 30 +method name slice descriptor ()Ljava/nio/CharBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/CharBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/CharBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/CharBuffer; flags 1 +method name put descriptor (C)Ljava/nio/CharBuffer; flags 1 +method name put descriptor (IC)Ljava/nio/CharBuffer; flags 1 +method name compact descriptor ()Ljava/nio/CharBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name toString descriptor (II)Ljava/lang/String; flags 1 +method name subSequence descriptor (II)Ljava/nio/CharBuffer; flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name subSequence descriptor (II)Ljava/lang/CharSequence; flags 1041 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/DirectCharBufferRU +header extends java/nio/DirectCharBufferU implements sun/nio/ch/DirectBuffer flags 30 +method name slice descriptor ()Ljava/nio/CharBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/CharBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/CharBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/CharBuffer; flags 1 +method name put descriptor (C)Ljava/nio/CharBuffer; flags 1 +method name put descriptor (IC)Ljava/nio/CharBuffer; flags 1 +method name compact descriptor ()Ljava/nio/CharBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name toString descriptor (II)Ljava/lang/String; flags 1 +method name subSequence descriptor (II)Ljava/nio/CharBuffer; flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name subSequence descriptor (II)Ljava/lang/CharSequence; flags 1041 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/DirectCharBufferS +header extends java/nio/CharBuffer implements sun/nio/ch/DirectBuffer sealed true permittedSubclasses java/nio/DirectCharBufferRS flags 20 +field name UNALIGNED descriptor Z flags 1c +method name attachment descriptor ()Ljava/lang/Object; flags 1 +method name cleaner descriptor ()Ljdk/internal/ref/Cleaner; flags 1 +method name slice descriptor ()Ljava/nio/CharBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/CharBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/CharBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/CharBuffer; flags 1 +method name address descriptor ()J flags 1 +method name get descriptor ()C flags 1 +method name get descriptor (I)C flags 1 +method name put descriptor (C)Ljava/nio/CharBuffer; flags 1 +method name put descriptor (IC)Ljava/nio/CharBuffer; flags 1 +method name compact descriptor ()Ljava/nio/CharBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name toString descriptor (II)Ljava/lang/String; flags 1 +method name subSequence descriptor (II)Ljava/nio/CharBuffer; flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name subSequence descriptor (II)Ljava/lang/CharSequence; flags 1041 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/DirectCharBufferU +header extends java/nio/CharBuffer implements sun/nio/ch/DirectBuffer sealed true permittedSubclasses java/nio/DirectCharBufferRU flags 20 +field name UNALIGNED descriptor Z flags 1c +method name attachment descriptor ()Ljava/lang/Object; flags 1 +method name cleaner descriptor ()Ljdk/internal/ref/Cleaner; flags 1 +method name slice descriptor ()Ljava/nio/CharBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/CharBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/CharBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/CharBuffer; flags 1 +method name address descriptor ()J flags 1 +method name get descriptor ()C flags 1 +method name get descriptor (I)C flags 1 +method name put descriptor (C)Ljava/nio/CharBuffer; flags 1 +method name put descriptor (IC)Ljava/nio/CharBuffer; flags 1 +method name compact descriptor ()Ljava/nio/CharBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name toString descriptor (II)Ljava/lang/String; flags 1 +method name subSequence descriptor (II)Ljava/nio/CharBuffer; flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name subSequence descriptor (II)Ljava/lang/CharSequence; flags 1041 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/DirectDoubleBufferRS +header extends java/nio/DirectDoubleBufferS implements sun/nio/ch/DirectBuffer flags 30 +method name slice descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/DoubleBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name put descriptor (D)Ljava/nio/DoubleBuffer; flags 1 +method name put descriptor (ID)Ljava/nio/DoubleBuffer; flags 1 +method name compact descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/DirectDoubleBufferRU +header extends java/nio/DirectDoubleBufferU implements sun/nio/ch/DirectBuffer flags 30 +method name slice descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/DoubleBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name put descriptor (D)Ljava/nio/DoubleBuffer; flags 1 +method name put descriptor (ID)Ljava/nio/DoubleBuffer; flags 1 +method name compact descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/DirectDoubleBufferS +header extends java/nio/DoubleBuffer implements sun/nio/ch/DirectBuffer sealed true permittedSubclasses java/nio/DirectDoubleBufferRS flags 20 +field name UNALIGNED descriptor Z flags 1c +method name attachment descriptor ()Ljava/lang/Object; flags 1 +method name cleaner descriptor ()Ljdk/internal/ref/Cleaner; flags 1 +method name slice descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/DoubleBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name address descriptor ()J flags 1 +method name get descriptor ()D flags 1 +method name get descriptor (I)D flags 1 +method name put descriptor (D)Ljava/nio/DoubleBuffer; flags 1 +method name put descriptor (ID)Ljava/nio/DoubleBuffer; flags 1 +method name compact descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/DirectDoubleBufferU +header extends java/nio/DoubleBuffer implements sun/nio/ch/DirectBuffer sealed true permittedSubclasses java/nio/DirectDoubleBufferRU flags 20 +field name UNALIGNED descriptor Z flags 1c +method name attachment descriptor ()Ljava/lang/Object; flags 1 +method name cleaner descriptor ()Ljdk/internal/ref/Cleaner; flags 1 +method name slice descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/DoubleBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name address descriptor ()J flags 1 +method name get descriptor ()D flags 1 +method name get descriptor (I)D flags 1 +method name put descriptor (D)Ljava/nio/DoubleBuffer; flags 1 +method name put descriptor (ID)Ljava/nio/DoubleBuffer; flags 1 +method name compact descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/DirectFloatBufferRS +header extends java/nio/DirectFloatBufferS implements sun/nio/ch/DirectBuffer flags 30 +method name slice descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/FloatBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name put descriptor (F)Ljava/nio/FloatBuffer; flags 1 +method name put descriptor (IF)Ljava/nio/FloatBuffer; flags 1 +method name compact descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/DirectFloatBufferRU +header extends java/nio/DirectFloatBufferU implements sun/nio/ch/DirectBuffer flags 30 +method name slice descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/FloatBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name put descriptor (F)Ljava/nio/FloatBuffer; flags 1 +method name put descriptor (IF)Ljava/nio/FloatBuffer; flags 1 +method name compact descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/DirectFloatBufferS +header extends java/nio/FloatBuffer implements sun/nio/ch/DirectBuffer sealed true permittedSubclasses java/nio/DirectFloatBufferRS flags 20 +field name UNALIGNED descriptor Z flags 1c +method name attachment descriptor ()Ljava/lang/Object; flags 1 +method name cleaner descriptor ()Ljdk/internal/ref/Cleaner; flags 1 +method name slice descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/FloatBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name address descriptor ()J flags 1 +method name get descriptor ()F flags 1 +method name get descriptor (I)F flags 1 +method name put descriptor (F)Ljava/nio/FloatBuffer; flags 1 +method name put descriptor (IF)Ljava/nio/FloatBuffer; flags 1 +method name compact descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/DirectFloatBufferU +header extends java/nio/FloatBuffer implements sun/nio/ch/DirectBuffer sealed true permittedSubclasses java/nio/DirectFloatBufferRU flags 20 +field name UNALIGNED descriptor Z flags 1c +method name attachment descriptor ()Ljava/lang/Object; flags 1 +method name cleaner descriptor ()Ljdk/internal/ref/Cleaner; flags 1 +method name slice descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/FloatBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name address descriptor ()J flags 1 +method name get descriptor ()F flags 1 +method name get descriptor (I)F flags 1 +method name put descriptor (F)Ljava/nio/FloatBuffer; flags 1 +method name put descriptor (IF)Ljava/nio/FloatBuffer; flags 1 +method name compact descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/DirectIntBufferRS +header extends java/nio/DirectIntBufferS implements sun/nio/ch/DirectBuffer flags 30 +method name slice descriptor ()Ljava/nio/IntBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/IntBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/IntBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/IntBuffer; flags 1 +method name put descriptor (I)Ljava/nio/IntBuffer; flags 1 +method name put descriptor (II)Ljava/nio/IntBuffer; flags 1 +method name compact descriptor ()Ljava/nio/IntBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/DirectIntBufferRU +header extends java/nio/DirectIntBufferU implements sun/nio/ch/DirectBuffer flags 30 +method name slice descriptor ()Ljava/nio/IntBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/IntBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/IntBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/IntBuffer; flags 1 +method name put descriptor (I)Ljava/nio/IntBuffer; flags 1 +method name put descriptor (II)Ljava/nio/IntBuffer; flags 1 +method name compact descriptor ()Ljava/nio/IntBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/DirectIntBufferS +header extends java/nio/IntBuffer implements sun/nio/ch/DirectBuffer sealed true permittedSubclasses java/nio/DirectIntBufferRS flags 20 +field name UNALIGNED descriptor Z flags 1c +method name attachment descriptor ()Ljava/lang/Object; flags 1 +method name cleaner descriptor ()Ljdk/internal/ref/Cleaner; flags 1 +method name slice descriptor ()Ljava/nio/IntBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/IntBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/IntBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/IntBuffer; flags 1 +method name address descriptor ()J flags 1 +method name get descriptor ()I flags 1 +method name get descriptor (I)I flags 1 +method name put descriptor (I)Ljava/nio/IntBuffer; flags 1 +method name put descriptor (II)Ljava/nio/IntBuffer; flags 1 +method name compact descriptor ()Ljava/nio/IntBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/DirectIntBufferU +header extends java/nio/IntBuffer implements sun/nio/ch/DirectBuffer sealed true permittedSubclasses java/nio/DirectIntBufferRU flags 20 +field name UNALIGNED descriptor Z flags 1c +method name attachment descriptor ()Ljava/lang/Object; flags 1 +method name cleaner descriptor ()Ljdk/internal/ref/Cleaner; flags 1 +method name slice descriptor ()Ljava/nio/IntBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/IntBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/IntBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/IntBuffer; flags 1 +method name address descriptor ()J flags 1 +method name get descriptor ()I flags 1 +method name get descriptor (I)I flags 1 +method name put descriptor (I)Ljava/nio/IntBuffer; flags 1 +method name put descriptor (II)Ljava/nio/IntBuffer; flags 1 +method name compact descriptor ()Ljava/nio/IntBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/DirectLongBufferRS +header extends java/nio/DirectLongBufferS implements sun/nio/ch/DirectBuffer flags 30 +method name slice descriptor ()Ljava/nio/LongBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/LongBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/LongBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/LongBuffer; flags 1 +method name put descriptor (J)Ljava/nio/LongBuffer; flags 1 +method name put descriptor (IJ)Ljava/nio/LongBuffer; flags 1 +method name compact descriptor ()Ljava/nio/LongBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/DirectLongBufferRU +header extends java/nio/DirectLongBufferU implements sun/nio/ch/DirectBuffer flags 30 +method name slice descriptor ()Ljava/nio/LongBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/LongBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/LongBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/LongBuffer; flags 1 +method name put descriptor (J)Ljava/nio/LongBuffer; flags 1 +method name put descriptor (IJ)Ljava/nio/LongBuffer; flags 1 +method name compact descriptor ()Ljava/nio/LongBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/DirectLongBufferS +header extends java/nio/LongBuffer implements sun/nio/ch/DirectBuffer sealed true permittedSubclasses java/nio/DirectLongBufferRS flags 20 +field name UNALIGNED descriptor Z flags 1c +method name attachment descriptor ()Ljava/lang/Object; flags 1 +method name cleaner descriptor ()Ljdk/internal/ref/Cleaner; flags 1 +method name slice descriptor ()Ljava/nio/LongBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/LongBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/LongBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/LongBuffer; flags 1 +method name address descriptor ()J flags 1 +method name get descriptor ()J flags 1 +method name get descriptor (I)J flags 1 +method name put descriptor (J)Ljava/nio/LongBuffer; flags 1 +method name put descriptor (IJ)Ljava/nio/LongBuffer; flags 1 +method name compact descriptor ()Ljava/nio/LongBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/DirectLongBufferU +header extends java/nio/LongBuffer implements sun/nio/ch/DirectBuffer sealed true permittedSubclasses java/nio/DirectLongBufferRU flags 20 +field name UNALIGNED descriptor Z flags 1c +method name attachment descriptor ()Ljava/lang/Object; flags 1 +method name cleaner descriptor ()Ljdk/internal/ref/Cleaner; flags 1 +method name slice descriptor ()Ljava/nio/LongBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/LongBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/LongBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/LongBuffer; flags 1 +method name address descriptor ()J flags 1 +method name get descriptor ()J flags 1 +method name get descriptor (I)J flags 1 +method name put descriptor (J)Ljava/nio/LongBuffer; flags 1 +method name put descriptor (IJ)Ljava/nio/LongBuffer; flags 1 +method name compact descriptor ()Ljava/nio/LongBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/DirectShortBufferRS +header extends java/nio/DirectShortBufferS implements sun/nio/ch/DirectBuffer flags 30 +method name slice descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/ShortBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name put descriptor (S)Ljava/nio/ShortBuffer; flags 1 +method name put descriptor (IS)Ljava/nio/ShortBuffer; flags 1 +method name compact descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/DirectShortBufferRU +header extends java/nio/DirectShortBufferU implements sun/nio/ch/DirectBuffer flags 30 +method name slice descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/ShortBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name put descriptor (S)Ljava/nio/ShortBuffer; flags 1 +method name put descriptor (IS)Ljava/nio/ShortBuffer; flags 1 +method name compact descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/DirectShortBufferS +header extends java/nio/ShortBuffer implements sun/nio/ch/DirectBuffer sealed true permittedSubclasses java/nio/DirectShortBufferRS flags 20 +field name UNALIGNED descriptor Z flags 1c +method name attachment descriptor ()Ljava/lang/Object; flags 1 +method name cleaner descriptor ()Ljdk/internal/ref/Cleaner; flags 1 +method name slice descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/ShortBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name address descriptor ()J flags 1 +method name get descriptor ()S flags 1 +method name get descriptor (I)S flags 1 +method name put descriptor (S)Ljava/nio/ShortBuffer; flags 1 +method name put descriptor (IS)Ljava/nio/ShortBuffer; flags 1 +method name compact descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/DirectShortBufferU +header extends java/nio/ShortBuffer implements sun/nio/ch/DirectBuffer sealed true permittedSubclasses java/nio/DirectShortBufferRU flags 20 +field name UNALIGNED descriptor Z flags 1c +method name attachment descriptor ()Ljava/lang/Object; flags 1 +method name cleaner descriptor ()Ljdk/internal/ref/Cleaner; flags 1 +method name slice descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/ShortBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name address descriptor ()J flags 1 +method name get descriptor ()S flags 1 +method name get descriptor (I)S flags 1 +method name put descriptor (S)Ljava/nio/ShortBuffer; flags 1 +method name put descriptor (IS)Ljava/nio/ShortBuffer; flags 1 +method name compact descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + class name java/nio/DoubleBuffer -header extends java/nio/Buffer implements java/lang/Comparable sealed true flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; +header extends java/nio/Buffer implements java/lang/Comparable sealed true permittedSubclasses java/nio/HeapDoubleBuffer,java/nio/DirectDoubleBufferS,java/nio/DirectDoubleBufferU,java/nio/ByteBufferAsDoubleBufferB,java/nio/ByteBufferAsDoubleBufferL flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; class name java/nio/FloatBuffer -header extends java/nio/Buffer implements java/lang/Comparable sealed true flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; +header extends java/nio/Buffer implements java/lang/Comparable sealed true permittedSubclasses java/nio/HeapFloatBuffer,java/nio/DirectFloatBufferS,java/nio/DirectFloatBufferU,java/nio/ByteBufferAsFloatBufferB,java/nio/ByteBufferAsFloatBufferL flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; + +class name java/nio/HeapByteBuffer +header extends java/nio/ByteBuffer sealed true permittedSubclasses java/nio/HeapByteBufferR flags 20 +method name descriptor ([BIIIIILjava/lang/foreign/MemorySegment;)V flags 4 +method name slice descriptor ()Ljava/nio/ByteBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/ByteBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/ByteBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/ByteBuffer; flags 1 +method name ix descriptor (I)I flags 4 +method name get descriptor ()B flags 1 +method name get descriptor (I)B flags 1 +method name get descriptor ([BII)Ljava/nio/ByteBuffer; flags 1 +method name get descriptor (I[BII)Ljava/nio/ByteBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name put descriptor (B)Ljava/nio/ByteBuffer; flags 1 +method name put descriptor (IB)Ljava/nio/ByteBuffer; flags 1 +method name put descriptor ([BII)Ljava/nio/ByteBuffer; flags 1 +method name put descriptor (Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer; flags 1 +method name put descriptor (ILjava/nio/ByteBuffer;II)Ljava/nio/ByteBuffer; flags 1 +method name put descriptor (I[BII)Ljava/nio/ByteBuffer; flags 1 +method name compact descriptor ()Ljava/nio/ByteBuffer; flags 1 +method name getChar descriptor ()C flags 1 +method name getChar descriptor (I)C flags 1 +method name putChar descriptor (C)Ljava/nio/ByteBuffer; flags 1 +method name putChar descriptor (IC)Ljava/nio/ByteBuffer; flags 1 +method name asCharBuffer descriptor ()Ljava/nio/CharBuffer; flags 1 +method name getShort descriptor ()S flags 1 +method name getShort descriptor (I)S flags 1 +method name putShort descriptor (S)Ljava/nio/ByteBuffer; flags 1 +method name putShort descriptor (IS)Ljava/nio/ByteBuffer; flags 1 +method name asShortBuffer descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name getInt descriptor ()I flags 1 +method name getInt descriptor (I)I flags 1 +method name putInt descriptor (I)Ljava/nio/ByteBuffer; flags 1 +method name putInt descriptor (II)Ljava/nio/ByteBuffer; flags 1 +method name asIntBuffer descriptor ()Ljava/nio/IntBuffer; flags 1 +method name getLong descriptor ()J flags 1 +method name getLong descriptor (I)J flags 1 +method name putLong descriptor (J)Ljava/nio/ByteBuffer; flags 1 +method name putLong descriptor (IJ)Ljava/nio/ByteBuffer; flags 1 +method name asLongBuffer descriptor ()Ljava/nio/LongBuffer; flags 1 +method name getFloat descriptor ()F flags 1 +method name getFloat descriptor (I)F flags 1 +method name putFloat descriptor (F)Ljava/nio/ByteBuffer; flags 1 +method name putFloat descriptor (IF)Ljava/nio/ByteBuffer; flags 1 +method name asFloatBuffer descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name getDouble descriptor ()D flags 1 +method name getDouble descriptor (I)D flags 1 +method name putDouble descriptor (D)Ljava/nio/ByteBuffer; flags 1 +method name putDouble descriptor (ID)Ljava/nio/ByteBuffer; flags 1 +method name asDoubleBuffer descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/HeapByteBufferR +header extends java/nio/HeapByteBuffer flags 30 +method name descriptor ([BIIIIILjava/lang/foreign/MemorySegment;)V flags 4 +method name slice descriptor ()Ljava/nio/ByteBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/ByteBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/ByteBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/ByteBuffer; flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name put descriptor (B)Ljava/nio/ByteBuffer; flags 1 +method name put descriptor (IB)Ljava/nio/ByteBuffer; flags 1 +method name put descriptor ([BII)Ljava/nio/ByteBuffer; flags 1 +method name put descriptor (Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer; flags 1 +method name put descriptor (ILjava/nio/ByteBuffer;II)Ljava/nio/ByteBuffer; flags 1 +method name put descriptor (I[BII)Ljava/nio/ByteBuffer; flags 1 +method name compact descriptor ()Ljava/nio/ByteBuffer; flags 1 +method name putChar descriptor (C)Ljava/nio/ByteBuffer; flags 1 +method name putChar descriptor (IC)Ljava/nio/ByteBuffer; flags 1 +method name asCharBuffer descriptor ()Ljava/nio/CharBuffer; flags 1 +method name putShort descriptor (S)Ljava/nio/ByteBuffer; flags 1 +method name putShort descriptor (IS)Ljava/nio/ByteBuffer; flags 1 +method name asShortBuffer descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name putInt descriptor (I)Ljava/nio/ByteBuffer; flags 1 +method name putInt descriptor (II)Ljava/nio/ByteBuffer; flags 1 +method name asIntBuffer descriptor ()Ljava/nio/IntBuffer; flags 1 +method name putLong descriptor (J)Ljava/nio/ByteBuffer; flags 1 +method name putLong descriptor (IJ)Ljava/nio/ByteBuffer; flags 1 +method name asLongBuffer descriptor ()Ljava/nio/LongBuffer; flags 1 +method name putFloat descriptor (F)Ljava/nio/ByteBuffer; flags 1 +method name putFloat descriptor (IF)Ljava/nio/ByteBuffer; flags 1 +method name asFloatBuffer descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name putDouble descriptor (D)Ljava/nio/ByteBuffer; flags 1 +method name putDouble descriptor (ID)Ljava/nio/ByteBuffer; flags 1 +method name asDoubleBuffer descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/HeapCharBuffer +header extends java/nio/CharBuffer sealed true permittedSubclasses java/nio/HeapCharBufferR flags 20 +method name descriptor ([CIIIIILjava/lang/foreign/MemorySegment;)V flags 4 +method name slice descriptor ()Ljava/nio/CharBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/CharBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/CharBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/CharBuffer; flags 1 +method name ix descriptor (I)I flags 4 +method name get descriptor ()C flags 1 +method name get descriptor (I)C flags 1 +method name get descriptor ([CII)Ljava/nio/CharBuffer; flags 1 +method name get descriptor (I[CII)Ljava/nio/CharBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name put descriptor (C)Ljava/nio/CharBuffer; flags 1 +method name put descriptor (IC)Ljava/nio/CharBuffer; flags 1 +method name put descriptor ([CII)Ljava/nio/CharBuffer; flags 1 +method name put descriptor (Ljava/nio/CharBuffer;)Ljava/nio/CharBuffer; flags 1 +method name put descriptor (ILjava/nio/CharBuffer;II)Ljava/nio/CharBuffer; flags 1 +method name put descriptor (I[CII)Ljava/nio/CharBuffer; flags 1 +method name put descriptor (Ljava/lang/String;II)Ljava/nio/CharBuffer; flags 1 +method name compact descriptor ()Ljava/nio/CharBuffer; flags 1 +method name subSequence descriptor (II)Ljava/nio/CharBuffer; flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name subSequence descriptor (II)Ljava/lang/CharSequence; flags 1041 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/HeapCharBufferR +header extends java/nio/HeapCharBuffer flags 30 +method name descriptor ([CIIIIILjava/lang/foreign/MemorySegment;)V flags 4 +method name slice descriptor ()Ljava/nio/CharBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/CharBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/CharBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/CharBuffer; flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name put descriptor (C)Ljava/nio/CharBuffer; flags 1 +method name put descriptor (IC)Ljava/nio/CharBuffer; flags 1 +method name put descriptor ([CII)Ljava/nio/CharBuffer; flags 1 +method name put descriptor (Ljava/nio/CharBuffer;)Ljava/nio/CharBuffer; flags 1 +method name put descriptor (ILjava/nio/CharBuffer;II)Ljava/nio/CharBuffer; flags 1 +method name put descriptor (I[CII)Ljava/nio/CharBuffer; flags 1 +method name put descriptor (Ljava/lang/String;II)Ljava/nio/CharBuffer; flags 1 +method name compact descriptor ()Ljava/nio/CharBuffer; flags 1 +method name subSequence descriptor (II)Ljava/nio/CharBuffer; flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name subSequence descriptor (II)Ljava/lang/CharSequence; flags 1041 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/HeapDoubleBuffer +header extends java/nio/DoubleBuffer sealed true permittedSubclasses java/nio/HeapDoubleBufferR flags 20 +method name descriptor ([DIIIIILjava/lang/foreign/MemorySegment;)V flags 4 +method name slice descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/DoubleBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name ix descriptor (I)I flags 4 +method name get descriptor ()D flags 1 +method name get descriptor (I)D flags 1 +method name get descriptor ([DII)Ljava/nio/DoubleBuffer; flags 1 +method name get descriptor (I[DII)Ljava/nio/DoubleBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name put descriptor (D)Ljava/nio/DoubleBuffer; flags 1 +method name put descriptor (ID)Ljava/nio/DoubleBuffer; flags 1 +method name put descriptor ([DII)Ljava/nio/DoubleBuffer; flags 1 +method name put descriptor (Ljava/nio/DoubleBuffer;)Ljava/nio/DoubleBuffer; flags 1 +method name put descriptor (ILjava/nio/DoubleBuffer;II)Ljava/nio/DoubleBuffer; flags 1 +method name put descriptor (I[DII)Ljava/nio/DoubleBuffer; flags 1 +method name compact descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/HeapDoubleBufferR +header extends java/nio/HeapDoubleBuffer flags 30 +method name descriptor ([DIIIIILjava/lang/foreign/MemorySegment;)V flags 4 +method name slice descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/DoubleBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name put descriptor (D)Ljava/nio/DoubleBuffer; flags 1 +method name put descriptor (ID)Ljava/nio/DoubleBuffer; flags 1 +method name put descriptor ([DII)Ljava/nio/DoubleBuffer; flags 1 +method name put descriptor (Ljava/nio/DoubleBuffer;)Ljava/nio/DoubleBuffer; flags 1 +method name put descriptor (ILjava/nio/DoubleBuffer;II)Ljava/nio/DoubleBuffer; flags 1 +method name put descriptor (I[DII)Ljava/nio/DoubleBuffer; flags 1 +method name compact descriptor ()Ljava/nio/DoubleBuffer; flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/HeapFloatBuffer +header extends java/nio/FloatBuffer sealed true permittedSubclasses java/nio/HeapFloatBufferR flags 20 +method name descriptor ([FIIIIILjava/lang/foreign/MemorySegment;)V flags 4 +method name slice descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/FloatBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name ix descriptor (I)I flags 4 +method name get descriptor ()F flags 1 +method name get descriptor (I)F flags 1 +method name get descriptor ([FII)Ljava/nio/FloatBuffer; flags 1 +method name get descriptor (I[FII)Ljava/nio/FloatBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name put descriptor (F)Ljava/nio/FloatBuffer; flags 1 +method name put descriptor (IF)Ljava/nio/FloatBuffer; flags 1 +method name put descriptor ([FII)Ljava/nio/FloatBuffer; flags 1 +method name put descriptor (Ljava/nio/FloatBuffer;)Ljava/nio/FloatBuffer; flags 1 +method name put descriptor (ILjava/nio/FloatBuffer;II)Ljava/nio/FloatBuffer; flags 1 +method name put descriptor (I[FII)Ljava/nio/FloatBuffer; flags 1 +method name compact descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/HeapFloatBufferR +header extends java/nio/HeapFloatBuffer flags 30 +method name descriptor ([FIIIIILjava/lang/foreign/MemorySegment;)V flags 4 +method name slice descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/FloatBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name put descriptor (F)Ljava/nio/FloatBuffer; flags 1 +method name put descriptor (IF)Ljava/nio/FloatBuffer; flags 1 +method name put descriptor ([FII)Ljava/nio/FloatBuffer; flags 1 +method name put descriptor (Ljava/nio/FloatBuffer;)Ljava/nio/FloatBuffer; flags 1 +method name put descriptor (ILjava/nio/FloatBuffer;II)Ljava/nio/FloatBuffer; flags 1 +method name put descriptor (I[FII)Ljava/nio/FloatBuffer; flags 1 +method name compact descriptor ()Ljava/nio/FloatBuffer; flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/HeapIntBuffer +header extends java/nio/IntBuffer sealed true permittedSubclasses java/nio/HeapIntBufferR flags 20 +method name descriptor ([IIIIIILjava/lang/foreign/MemorySegment;)V flags 4 +method name slice descriptor ()Ljava/nio/IntBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/IntBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/IntBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/IntBuffer; flags 1 +method name ix descriptor (I)I flags 4 +method name get descriptor ()I flags 1 +method name get descriptor (I)I flags 1 +method name get descriptor ([III)Ljava/nio/IntBuffer; flags 1 +method name get descriptor (I[III)Ljava/nio/IntBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name put descriptor (I)Ljava/nio/IntBuffer; flags 1 +method name put descriptor (II)Ljava/nio/IntBuffer; flags 1 +method name put descriptor ([III)Ljava/nio/IntBuffer; flags 1 +method name put descriptor (Ljava/nio/IntBuffer;)Ljava/nio/IntBuffer; flags 1 +method name put descriptor (ILjava/nio/IntBuffer;II)Ljava/nio/IntBuffer; flags 1 +method name put descriptor (I[III)Ljava/nio/IntBuffer; flags 1 +method name compact descriptor ()Ljava/nio/IntBuffer; flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/HeapIntBufferR +header extends java/nio/HeapIntBuffer flags 30 +method name descriptor ([IIIIIILjava/lang/foreign/MemorySegment;)V flags 4 +method name slice descriptor ()Ljava/nio/IntBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/IntBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/IntBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/IntBuffer; flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name put descriptor (I)Ljava/nio/IntBuffer; flags 1 +method name put descriptor (II)Ljava/nio/IntBuffer; flags 1 +method name put descriptor ([III)Ljava/nio/IntBuffer; flags 1 +method name put descriptor (Ljava/nio/IntBuffer;)Ljava/nio/IntBuffer; flags 1 +method name put descriptor (ILjava/nio/IntBuffer;II)Ljava/nio/IntBuffer; flags 1 +method name put descriptor (I[III)Ljava/nio/IntBuffer; flags 1 +method name compact descriptor ()Ljava/nio/IntBuffer; flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/HeapLongBuffer +header extends java/nio/LongBuffer sealed true permittedSubclasses java/nio/HeapLongBufferR flags 20 +method name descriptor ([JIIIIILjava/lang/foreign/MemorySegment;)V flags 4 +method name slice descriptor ()Ljava/nio/LongBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/LongBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/LongBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/LongBuffer; flags 1 +method name ix descriptor (I)I flags 4 +method name get descriptor ()J flags 1 +method name get descriptor (I)J flags 1 +method name get descriptor ([JII)Ljava/nio/LongBuffer; flags 1 +method name get descriptor (I[JII)Ljava/nio/LongBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name put descriptor (J)Ljava/nio/LongBuffer; flags 1 +method name put descriptor (IJ)Ljava/nio/LongBuffer; flags 1 +method name put descriptor ([JII)Ljava/nio/LongBuffer; flags 1 +method name put descriptor (Ljava/nio/LongBuffer;)Ljava/nio/LongBuffer; flags 1 +method name put descriptor (ILjava/nio/LongBuffer;II)Ljava/nio/LongBuffer; flags 1 +method name put descriptor (I[JII)Ljava/nio/LongBuffer; flags 1 +method name compact descriptor ()Ljava/nio/LongBuffer; flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/HeapLongBufferR +header extends java/nio/HeapLongBuffer flags 30 +method name descriptor ([JIIIIILjava/lang/foreign/MemorySegment;)V flags 4 +method name slice descriptor ()Ljava/nio/LongBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/LongBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/LongBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/LongBuffer; flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name put descriptor (J)Ljava/nio/LongBuffer; flags 1 +method name put descriptor (IJ)Ljava/nio/LongBuffer; flags 1 +method name put descriptor ([JII)Ljava/nio/LongBuffer; flags 1 +method name put descriptor (Ljava/nio/LongBuffer;)Ljava/nio/LongBuffer; flags 1 +method name put descriptor (ILjava/nio/LongBuffer;II)Ljava/nio/LongBuffer; flags 1 +method name put descriptor (I[JII)Ljava/nio/LongBuffer; flags 1 +method name compact descriptor ()Ljava/nio/LongBuffer; flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/HeapShortBuffer +header extends java/nio/ShortBuffer sealed true permittedSubclasses java/nio/HeapShortBufferR flags 20 +method name descriptor ([SIIIIILjava/lang/foreign/MemorySegment;)V flags 4 +method name slice descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/ShortBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name ix descriptor (I)I flags 4 +method name get descriptor ()S flags 1 +method name get descriptor (I)S flags 1 +method name get descriptor ([SII)Ljava/nio/ShortBuffer; flags 1 +method name get descriptor (I[SII)Ljava/nio/ShortBuffer; flags 1 +method name isDirect descriptor ()Z flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name put descriptor (S)Ljava/nio/ShortBuffer; flags 1 +method name put descriptor (IS)Ljava/nio/ShortBuffer; flags 1 +method name put descriptor ([SII)Ljava/nio/ShortBuffer; flags 1 +method name put descriptor (Ljava/nio/ShortBuffer;)Ljava/nio/ShortBuffer; flags 1 +method name put descriptor (ILjava/nio/ShortBuffer;II)Ljava/nio/ShortBuffer; flags 1 +method name put descriptor (I[SII)Ljava/nio/ShortBuffer; flags 1 +method name compact descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 + +class name java/nio/HeapShortBufferR +header extends java/nio/HeapShortBuffer flags 30 +method name descriptor ([SIIIIILjava/lang/foreign/MemorySegment;)V flags 4 +method name slice descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/ShortBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name put descriptor (S)Ljava/nio/ShortBuffer; flags 1 +method name put descriptor (IS)Ljava/nio/ShortBuffer; flags 1 +method name put descriptor ([SII)Ljava/nio/ShortBuffer; flags 1 +method name put descriptor (Ljava/nio/ShortBuffer;)Ljava/nio/ShortBuffer; flags 1 +method name put descriptor (ILjava/nio/ShortBuffer;II)Ljava/nio/ShortBuffer; flags 1 +method name put descriptor (I[SII)Ljava/nio/ShortBuffer; flags 1 +method name compact descriptor ()Ljava/nio/ShortBuffer; flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 class name java/nio/IntBuffer -header extends java/nio/Buffer implements java/lang/Comparable sealed true flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; +header extends java/nio/Buffer implements java/lang/Comparable sealed true permittedSubclasses java/nio/HeapIntBuffer,java/nio/DirectIntBufferS,java/nio/DirectIntBufferU,java/nio/ByteBufferAsIntBufferB,java/nio/ByteBufferAsIntBufferL flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; class name java/nio/LongBuffer -header extends java/nio/Buffer implements java/lang/Comparable sealed true flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; +header extends java/nio/Buffer implements java/lang/Comparable sealed true permittedSubclasses java/nio/HeapLongBuffer,java/nio/DirectLongBufferS,java/nio/DirectLongBufferU,java/nio/ByteBufferAsLongBufferB,java/nio/ByteBufferAsLongBufferL flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; class name java/nio/MappedByteBuffer -header extends java/nio/ByteBuffer sealed true flags 421 +header extends java/nio/ByteBuffer sealed true permittedSubclasses java/nio/DirectByteBuffer flags 421 class name java/nio/ShortBuffer -header extends java/nio/Buffer implements java/lang/Comparable sealed true flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; +header extends java/nio/Buffer implements java/lang/Comparable sealed true permittedSubclasses java/nio/HeapShortBuffer,java/nio/DirectShortBufferS,java/nio/DirectShortBufferU,java/nio/ByteBufferAsShortBufferB,java/nio/ByteBufferAsShortBufferL flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; + +class name java/nio/StringCharBuffer +header extends java/nio/CharBuffer flags 30 +method name slice descriptor ()Ljava/nio/CharBuffer; flags 1 +method name slice descriptor (II)Ljava/nio/CharBuffer; flags 1 +method name duplicate descriptor ()Ljava/nio/CharBuffer; flags 1 +method name asReadOnlyBuffer descriptor ()Ljava/nio/CharBuffer; flags 1 +method name get descriptor ()C flags 11 +method name get descriptor (I)C flags 11 +method name put descriptor (C)Ljava/nio/CharBuffer; flags 11 +method name put descriptor (IC)Ljava/nio/CharBuffer; flags 11 +method name compact descriptor ()Ljava/nio/CharBuffer; flags 11 +method name isReadOnly descriptor ()Z flags 11 +method name subSequence descriptor (II)Ljava/nio/CharBuffer; flags 11 +method name isDirect descriptor ()Z flags 1 +method name order descriptor ()Ljava/nio/ByteOrder; flags 1 +method name equals descriptor (Ljava/lang/Object;)Z flags 1 +method name compareTo descriptor (Ljava/nio/CharBuffer;)I flags 1 +method name compareTo descriptor (Ljava/lang/Object;)I flags 1041 +method name subSequence descriptor (II)Ljava/lang/CharSequence; flags 1041 +method name duplicate descriptor ()Ljava/nio/Buffer; flags 1041 +method name slice descriptor (II)Ljava/nio/Buffer; flags 1041 +method name slice descriptor ()Ljava/nio/Buffer; flags 1041 class name java/nio/channels/FileChannel method name map descriptor (Ljava/nio/channels/FileChannel$MapMode;JJLjava/lang/foreign/MemorySession;)Ljava/lang/foreign/MemorySegment; thrownTypes java/io/IOException flags 1 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) -class name java/security/Certificate -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="1.2") - -class name java/security/Identity -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 421 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="1.2") - -class name java/security/SecureRandomParameters -header extends java/lang/Object flags 601 - -class name java/security/SignedObject -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 - -class name java/security/cert/CertificateRevokedException -header extends java/security/cert/CertificateException flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 - -class name java/security/cert/URICertStoreParameters -header extends java/lang/Object implements java/security/cert/CertStoreParameters flags 31 - -class name java/security/interfaces/RSAKey --method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; -method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1 - -class name java/security/spec/MGF1ParameterSpec --field name SHA512_224 descriptor Ljava/security/spec/MGF1ParameterSpec; --field name SHA512_256 descriptor Ljava/security/spec/MGF1ParameterSpec; -field name SHA512_224 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19 -field name SHA512_256 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19 - class name java/security/spec/PSSParameterSpec -field name DEFAULT descriptor Ljava/security/spec/PSSParameterSpec; --field name TRAILER_FIELD_BC descriptor I -method name descriptor (I)V --method name toString descriptor ()Ljava/lang/String; -field name TRAILER_FIELD_BC descriptor I constantValue 1 flags 19 field name DEFAULT descriptor Ljava/security/spec/PSSParameterSpec; flags 19 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="19") -method name toString descriptor ()Ljava/lang/String; flags 1 method name descriptor (I)V flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="19") -class name java/security/spec/RSAKeyGenParameterSpec --method name descriptor (ILjava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V --method name getKeyParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; -method name descriptor (ILjava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1 -method name getKeyParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1 - -class name java/security/spec/RSAMultiPrimePrivateCrtKeySpec --method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;[Ljava/security/spec/RSAOtherPrimeInfo;Ljava/security/spec/AlgorithmParameterSpec;)V -method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;[Ljava/security/spec/RSAOtherPrimeInfo;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1 - -class name java/security/spec/RSAPrivateCrtKeySpec --method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V -method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1 - -class name java/security/spec/RSAPrivateKeySpec --method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V --method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; -method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1 -method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1 - -class name java/security/spec/RSAPublicKeySpec --method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V --method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; -method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1 -method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1 - -class name java/text/DateFormatSymbols -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 - class name java/text/DecimalFormatSymbols method name getLocale descriptor ()Ljava/util/Locale; flags 1 -class name java/text/RuleBasedCollator -header extends java/text/Collator flags 21 -innerclass innerClass java/text/Normalizer$Form outerClass java/text/Normalizer innerClassName Form flags 4019 - class name java/time/ZoneId -header extends java/lang/Object implements java/io/Serializable sealed true flags 421 runtimeAnnotations @Ljdk/internal/ValueBased; +header extends java/lang/Object implements java/io/Serializable sealed true permittedSubclasses java/time/ZoneOffset,java/time/ZoneRegion flags 421 runtimeAnnotations @Ljdk/internal/ValueBased; innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 class name java/time/ZoneOffset method name normalized descriptor ()Ljava/time/ZoneId; flags 1 -class name java/time/chrono/ChronoLocalDate -header extends java/lang/Object implements java/time/temporal/Temporal,java/time/temporal/TemporalAdjuster,java/lang/Comparable flags 601 signature Ljava/lang/Object;Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalAdjuster;Ljava/lang/Comparable; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/time/chrono/ChronoLocalDateTime -header extends java/lang/Object implements java/time/temporal/Temporal,java/time/temporal/TemporalAdjuster,java/lang/Comparable flags 601 signature Ljava/lang/Object;Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalAdjuster;Ljava/lang/Comparable;>; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +class name java/time/ZoneRegion +header extends java/time/ZoneId implements java/io/Serializable flags 30 +method name getId descriptor ()Ljava/lang/String; flags 1 +method name getRules descriptor ()Ljava/time/zone/ZoneRules; flags 1 class name java/time/chrono/Chronology method name isIsoBased descriptor ()Z flags 1 @@ -1122,28 +3412,8 @@ class name java/time/format/DateTimeFormatterBuilder method name getLocalizedDateTimePattern descriptor (Ljava/lang/String;Ljava/time/chrono/Chronology;Ljava/util/Locale;)Ljava/lang/String; flags 9 method name appendLocalized descriptor (Ljava/lang/String;)Ljava/time/format/DateTimeFormatterBuilder; flags 1 -class name java/time/format/DecimalStyle -header extends java/lang/Object flags 31 -innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 - -class name java/time/temporal/TemporalAdjusters -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/Comparator -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/DoubleSummaryStatistics -header extends java/lang/Object implements java/util/function/DoubleConsumer flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/util/EnumSet -header extends java/util/AbstractSet implements java/lang/Cloneable,java/io/Serializable sealed true flags 421 signature ;>Ljava/util/AbstractSet;Ljava/lang/Cloneable;Ljava/io/Serializable; - -class name java/util/GregorianCalendar -header extends java/util/Calendar flags 21 -innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 +header extends java/util/AbstractSet implements java/lang/Cloneable,java/io/Serializable sealed true permittedSubclasses java/util/JumboEnumSet,java/util/RegularEnumSet flags 421 signature ;>Ljava/util/AbstractSet;Ljava/lang/Cloneable;Ljava/io/Serializable; class name java/util/HashMap method name newHashMap descriptor (I)Ljava/util/HashMap; flags 9 signature (I)Ljava/util/HashMap; @@ -1151,8 +3421,30 @@ method name newHashMap descriptor (I)Ljava/util/HashMap; flags 9 signature (I)Ljava/util/HashSet; +class name java/util/IllegalFormatArgumentIndexException +header extends java/util/IllegalFormatException flags 30 +method name getMessage descriptor ()Ljava/lang/String; flags 1 + class name java/util/IllegalFormatException -header extends java/lang/IllegalArgumentException sealed true flags 21 +header extends java/lang/IllegalArgumentException sealed true permittedSubclasses java/util/DuplicateFormatFlagsException,java/util/FormatFlagsConversionMismatchException,java/util/IllegalFormatArgumentIndexException,java/util/IllegalFormatCodePointException,java/util/IllegalFormatConversionException,java/util/IllegalFormatFlagsException,java/util/IllegalFormatPrecisionException,java/util/IllegalFormatWidthException,java/util/MissingFormatArgumentException,java/util/MissingFormatWidthException,java/util/UnknownFormatConversionException,java/util/UnknownFormatFlagsException flags 21 + +class name java/util/JumboEnumSet +header extends java/util/EnumSet flags 30 signature ;>Ljava/util/EnumSet; +method name iterator descriptor ()Ljava/util/Iterator; flags 1 signature ()Ljava/util/Iterator; +method name size descriptor ()I flags 1 +method name isEmpty descriptor ()Z flags 1 +method name contains descriptor (Ljava/lang/Object;)Z flags 1 +method name add descriptor (Ljava/lang/Enum;)Z flags 1 signature (TE;)Z +method name remove descriptor (Ljava/lang/Object;)Z flags 1 +method name containsAll descriptor (Ljava/util/Collection;)Z flags 1 signature (Ljava/util/Collection<*>;)Z +method name addAll descriptor (Ljava/util/Collection;)Z flags 1 signature (Ljava/util/Collection<+TE;>;)Z +method name removeAll descriptor (Ljava/util/Collection;)Z flags 1 signature (Ljava/util/Collection<*>;)Z +method name retainAll descriptor (Ljava/util/Collection;)Z flags 1 signature (Ljava/util/Collection<*>;)Z +method name clear descriptor ()V flags 1 +method name equals descriptor (Ljava/lang/Object;)Z flags 1 +method name clone descriptor ()Ljava/util/EnumSet; flags 1 signature ()Ljava/util/EnumSet; +method name add descriptor (Ljava/lang/Object;)Z flags 1041 +method name clone descriptor ()Ljava/lang/Object; thrownTypes java/lang/CloneNotSupportedException flags 1041 class name java/util/LinkedHashMap method name newLinkedHashMap descriptor (I)Ljava/util/LinkedHashMap; flags 9 signature (I)Ljava/util/LinkedHashMap; @@ -1171,11 +3463,6 @@ method name of descriptor (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String method name of descriptor (Ljava/lang/String;Ljava/lang/String;)Ljava/util/Locale; flags 9 method name of descriptor (Ljava/lang/String;)Ljava/util/Locale; flags 9 -class name java/util/Locale$IsoCountryCode -header extends java/lang/Enum nestHost java/util/Locale sealed true flags 4421 signature Ljava/lang/Enum; -innerclass innerClass java/util/Locale$IsoCountryCode outerClass java/util/Locale innerClassName IsoCountryCode flags 4409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/util/Objects -method name requireNonNull descriptor (Ljava/lang/Object;)Ljava/lang/Object; -method name requireNonNull descriptor (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; @@ -1183,12 +3470,6 @@ method name toIdentityString descriptor (Ljava/lang/Object;)Ljava/lang/String; f method name requireNonNull descriptor (Ljava/lang/Object;)Ljava/lang/Object; flags 9 signature (TT;)TT; runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; method name requireNonNull descriptor (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; flags 9 signature (TT;Ljava/lang/String;)TT; runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; -class name java/util/Observable -header extends java/lang/Object flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") - -class name java/util/Observer -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") - class name java/util/Properties header extends java/util/Hashtable flags 21 signature Ljava/util/Hashtable; innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 @@ -1197,13 +3478,21 @@ innerclass innerClass java/util/concurrent/ConcurrentHashMap$KeySetView outerCla class name java/util/Random method name from descriptor (Ljava/util/random/RandomGenerator;)Ljava/util/Random; flags 9 -class name java/util/TimeZone -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 -innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 - -class name java/util/TreeSet -header extends java/util/AbstractSet implements java/util/NavigableSet,java/lang/Cloneable,java/io/Serializable flags 21 signature Ljava/util/AbstractSet;Ljava/util/NavigableSet;Ljava/lang/Cloneable;Ljava/io/Serializable; -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 +class name java/util/RegularEnumSet +header extends java/util/EnumSet flags 30 signature ;>Ljava/util/EnumSet; +method name iterator descriptor ()Ljava/util/Iterator; flags 1 signature ()Ljava/util/Iterator; +method name size descriptor ()I flags 1 +method name isEmpty descriptor ()Z flags 1 +method name contains descriptor (Ljava/lang/Object;)Z flags 1 +method name add descriptor (Ljava/lang/Enum;)Z flags 1 signature (TE;)Z +method name remove descriptor (Ljava/lang/Object;)Z flags 1 +method name containsAll descriptor (Ljava/util/Collection;)Z flags 1 signature (Ljava/util/Collection<*>;)Z +method name addAll descriptor (Ljava/util/Collection;)Z flags 1 signature (Ljava/util/Collection<+TE;>;)Z +method name removeAll descriptor (Ljava/util/Collection;)Z flags 1 signature (Ljava/util/Collection<*>;)Z +method name retainAll descriptor (Ljava/util/Collection;)Z flags 1 signature (Ljava/util/Collection<*>;)Z +method name clear descriptor ()V flags 1 +method name equals descriptor (Ljava/lang/Object;)Z flags 1 +method name add descriptor (Ljava/lang/Object;)Z flags 1041 class name java/util/WeakHashMap method name newWeakHashMap descriptor (I)Ljava/util/WeakHashMap; flags 9 signature (I)Ljava/util/WeakHashMap; @@ -1219,32 +3508,57 @@ method name exceptionNow descriptor ()Ljava/lang/Throwable; flags 1 method name state descriptor ()Ljava/util/concurrent/Future$State; flags 1 class name java/util/concurrent/ConcurrentHashMap -header extends java/util/AbstractMap implements java/util/concurrent/ConcurrentMap,java/io/Serializable nestMembers java/util/concurrent/ConcurrentHashMap$KeySetView,java/util/concurrent/ConcurrentHashMap$CollectionView flags 21 signature Ljava/util/AbstractMap;Ljava/util/concurrent/ConcurrentMap;Ljava/io/Serializable; +header extends java/util/AbstractMap implements java/util/concurrent/ConcurrentMap,java/io/Serializable nestMembers java/util/concurrent/ConcurrentHashMap$EntrySetView,java/util/concurrent/ConcurrentHashMap$ValuesView,java/util/concurrent/ConcurrentHashMap$KeySetView,java/util/concurrent/ConcurrentHashMap$CollectionView flags 21 signature Ljava/util/AbstractMap;Ljava/util/concurrent/ConcurrentMap;Ljava/io/Serializable; innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 innerclass innerClass java/util/concurrent/ConcurrentHashMap$KeySetView outerClass java/util/concurrent/ConcurrentHashMap innerClassName KeySetView flags 19 +innerclass innerClass java/util/concurrent/ConcurrentHashMap$ValuesView outerClass java/util/concurrent/ConcurrentHashMap innerClassName ValuesView flags 18 +innerclass innerClass java/util/concurrent/ConcurrentHashMap$EntrySetView outerClass java/util/concurrent/ConcurrentHashMap innerClassName EntrySetView flags 18 innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 innerclass innerClass java/util/AbstractMap$SimpleImmutableEntry outerClass java/util/AbstractMap innerClassName SimpleImmutableEntry flags 9 innerclass innerClass java/util/concurrent/ConcurrentHashMap$CollectionView outerClass java/util/concurrent/ConcurrentHashMap innerClassName CollectionView flags 408 class name java/util/concurrent/ConcurrentHashMap$CollectionView -header extends java/lang/Object implements java/util/Collection,java/io/Serializable nestHost java/util/concurrent/ConcurrentHashMap sealed true flags 420 signature Ljava/lang/Object;Ljava/util/Collection;Ljava/io/Serializable; +header extends java/lang/Object implements java/util/Collection,java/io/Serializable nestHost java/util/concurrent/ConcurrentHashMap sealed true permittedSubclasses java/util/concurrent/ConcurrentHashMap$EntrySetView,java/util/concurrent/ConcurrentHashMap$KeySetView,java/util/concurrent/ConcurrentHashMap$ValuesView flags 420 signature Ljava/lang/Object;Ljava/util/Collection;Ljava/io/Serializable; innerclass innerClass java/util/concurrent/ConcurrentHashMap$CollectionView outerClass java/util/concurrent/ConcurrentHashMap innerClassName CollectionView flags 408 +innerclass innerClass java/util/concurrent/ConcurrentHashMap$EntrySetView outerClass java/util/concurrent/ConcurrentHashMap innerClassName EntrySetView flags 18 innerclass innerClass java/util/concurrent/ConcurrentHashMap$KeySetView outerClass java/util/concurrent/ConcurrentHashMap innerClassName KeySetView flags 19 +innerclass innerClass java/util/concurrent/ConcurrentHashMap$ValuesView outerClass java/util/concurrent/ConcurrentHashMap innerClassName ValuesView flags 18 + +class name java/util/concurrent/ConcurrentHashMap$EntrySetView +header extends java/util/concurrent/ConcurrentHashMap$CollectionView implements java/util/Set,java/io/Serializable nestHost java/util/concurrent/ConcurrentHashMap flags 30 signature Ljava/util/concurrent/ConcurrentHashMap$CollectionView;>;Ljava/util/Set;>;Ljava/io/Serializable; +innerclass innerClass java/util/concurrent/ConcurrentHashMap$CollectionView outerClass java/util/concurrent/ConcurrentHashMap innerClassName CollectionView flags 408 +innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 +innerclass innerClass java/util/concurrent/ConcurrentHashMap$EntrySetView outerClass java/util/concurrent/ConcurrentHashMap innerClassName EntrySetView flags 18 +method name contains descriptor (Ljava/lang/Object;)Z flags 1 +method name remove descriptor (Ljava/lang/Object;)Z flags 1 +method name iterator descriptor ()Ljava/util/Iterator; flags 1 signature ()Ljava/util/Iterator;>; +method name add descriptor (Ljava/util/Map$Entry;)Z flags 1 signature (Ljava/util/Map$Entry;)Z +method name addAll descriptor (Ljava/util/Collection;)Z flags 1 signature (Ljava/util/Collection<+Ljava/util/Map$Entry;>;)Z +method name removeIf descriptor (Ljava/util/function/Predicate;)Z flags 1 signature (Ljava/util/function/Predicate<-Ljava/util/Map$Entry;>;)Z +method name hashCode descriptor ()I flags 11 +method name equals descriptor (Ljava/lang/Object;)Z flags 11 +method name spliterator descriptor ()Ljava/util/Spliterator; flags 1 signature ()Ljava/util/Spliterator;>; +method name forEach descriptor (Ljava/util/function/Consumer;)V flags 1 signature (Ljava/util/function/Consumer<-Ljava/util/Map$Entry;>;)V +method name add descriptor (Ljava/lang/Object;)Z flags 1041 class name java/util/concurrent/ConcurrentHashMap$KeySetView header extends java/util/concurrent/ConcurrentHashMap$CollectionView implements java/util/Set,java/io/Serializable nestHost java/util/concurrent/ConcurrentHashMap flags 31 signature Ljava/util/concurrent/ConcurrentHashMap$CollectionView;Ljava/util/Set;Ljava/io/Serializable; innerclass innerClass java/util/concurrent/ConcurrentHashMap$CollectionView outerClass java/util/concurrent/ConcurrentHashMap innerClassName CollectionView flags 408 innerclass innerClass java/util/concurrent/ConcurrentHashMap$KeySetView outerClass java/util/concurrent/ConcurrentHashMap innerClassName KeySetView flags 19 -class name java/util/concurrent/ConcurrentMap -header extends java/lang/Object implements java/util/Map flags 601 signature Ljava/lang/Object;Ljava/util/Map; -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/concurrent/ConcurrentSkipListSet -header extends java/util/AbstractSet implements java/util/NavigableSet,java/lang/Cloneable,java/io/Serializable flags 21 signature Ljava/util/AbstractSet;Ljava/util/NavigableSet;Ljava/lang/Cloneable;Ljava/io/Serializable; -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +class name java/util/concurrent/ConcurrentHashMap$ValuesView +header extends java/util/concurrent/ConcurrentHashMap$CollectionView implements java/util/Collection,java/io/Serializable nestHost java/util/concurrent/ConcurrentHashMap flags 30 signature Ljava/util/concurrent/ConcurrentHashMap$CollectionView;Ljava/util/Collection;Ljava/io/Serializable; +innerclass innerClass java/util/concurrent/ConcurrentHashMap$CollectionView outerClass java/util/concurrent/ConcurrentHashMap innerClassName CollectionView flags 408 +innerclass innerClass java/util/concurrent/ConcurrentHashMap$ValuesView outerClass java/util/concurrent/ConcurrentHashMap innerClassName ValuesView flags 18 +method name contains descriptor (Ljava/lang/Object;)Z flags 11 +method name remove descriptor (Ljava/lang/Object;)Z flags 11 +method name iterator descriptor ()Ljava/util/Iterator; flags 11 signature ()Ljava/util/Iterator; +method name add descriptor (Ljava/lang/Object;)Z flags 11 signature (TV;)Z +method name addAll descriptor (Ljava/util/Collection;)Z flags 11 signature (Ljava/util/Collection<+TV;>;)Z +method name removeAll descriptor (Ljava/util/Collection;)Z flags 1 signature (Ljava/util/Collection<*>;)Z +method name removeIf descriptor (Ljava/util/function/Predicate;)Z flags 1 signature (Ljava/util/function/Predicate<-TV;>;)Z +method name spliterator descriptor ()Ljava/util/Spliterator; flags 1 signature ()Ljava/util/Spliterator; +method name forEach descriptor (Ljava/util/function/Consumer;)V flags 1 signature (Ljava/util/function/Consumer<-TV;>;)V class name java/util/concurrent/CountedCompleter header extends java/util/concurrent/ForkJoinTask flags 421 signature Ljava/util/concurrent/ForkJoinTask; classAnnotations @Ljdk/Profile+Annotation;(value=I1) @@ -1313,256 +3627,19 @@ class name java/util/concurrent/ThreadLocalRandom header extends java/util/Random flags 31 runtimeAnnotations @Ljdk/internal/util/random/RandomSupport$RandomGeneratorProperties;(name="ThreadLocalRandom",i=I64,j=I0,k=I0,equidistribution=I1) innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -class name java/util/concurrent/atomic/AtomicBoolean -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/concurrent/atomic/AtomicReference -header extends java/lang/Object implements java/io/Serializable flags 21 signature Ljava/lang/Object;Ljava/io/Serializable; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/concurrent/atomic/AtomicReferenceArray -header extends java/lang/Object implements java/io/Serializable flags 21 signature Ljava/lang/Object;Ljava/io/Serializable; -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/concurrent/locks/StampedLock -header extends java/lang/Object implements java/io/Serializable flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) --method name tryWriteLock descriptor ()J --method name writeLockInterruptibly descriptor ()J --method name tryReadLock descriptor ()J --method name tryReadLock descriptor (JLjava/util/concurrent/TimeUnit;)J --method name readLockInterruptibly descriptor ()J --method name unlock descriptor (J)V -method name tryWriteLock descriptor ()J flags 1 -method name writeLockInterruptibly descriptor ()J thrownTypes java/lang/InterruptedException flags 1 -method name tryReadLock descriptor ()J flags 1 -method name tryReadLock descriptor (JLjava/util/concurrent/TimeUnit;)J thrownTypes java/lang/InterruptedException flags 1 -method name readLockInterruptibly descriptor ()J thrownTypes java/lang/InterruptedException flags 1 -method name unlock descriptor (J)V flags 1 - -class name java/util/function/BiConsumer -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/BiFunction -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/BiPredicate -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/BinaryOperator -header extends java/lang/Object implements java/util/function/BiFunction flags 601 signature Ljava/lang/Object;Ljava/util/function/BiFunction; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/Consumer -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/DoubleConsumer -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/DoublePredicate -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/DoubleUnaryOperator -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/Function -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/IntConsumer -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/IntPredicate -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/IntUnaryOperator -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/LongConsumer -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/LongPredicate -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/LongUnaryOperator -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/Predicate -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/UnaryOperator -header extends java/lang/Object implements java/util/function/Function flags 601 signature Ljava/lang/Object;Ljava/util/function/Function; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/spi/AbstractResourceBundleProvider -header extends java/lang/Object implements java/util/spi/ResourceBundleProvider flags 421 -innerclass innerClass java/util/ResourceBundle$Control outerClass java/util/ResourceBundle innerClassName Control flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/spi/CurrencyNameProvider -header extends java/util/spi/LocaleServiceProvider flags 421 -innerclass innerClass java/util/ResourceBundle$Control outerClass java/util/ResourceBundle innerClassName Control flags 9 - -class name java/util/spi/ResourceBundleProvider -header extends java/lang/Object flags 601 - class name java/util/spi/ToolProvider -header extends java/lang/Object flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 method name description descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; -class name java/util/zip/CRC32C -header extends java/lang/Object implements java/util/zip/Checksum flags 31 - class name java/util/zip/InflaterInputStream -method name mark descriptor (I)V -method name reset descriptor ()V method name mark descriptor (I)V flags 1 method name reset descriptor ()V thrownTypes java/io/IOException flags 1 -class name javax/crypto/AEADBadTagException -header extends javax/crypto/BadPaddingException flags 21 - -class name javax/crypto/BadPaddingException -header extends java/security/GeneralSecurityException flags 21 - -class name javax/crypto/CipherInputStream -header extends java/io/FilterInputStream flags 21 - -class name javax/crypto/CipherOutputStream -header extends java/io/FilterOutputStream flags 21 - -class name javax/crypto/CipherSpi -header extends java/lang/Object flags 421 - -class name javax/crypto/EncryptedPrivateKeyInfo -header extends java/lang/Object flags 21 - -class name javax/crypto/ExemptionMechanism -header extends java/lang/Object flags 21 - -class name javax/crypto/ExemptionMechanismException -header extends java/security/GeneralSecurityException flags 21 - -class name javax/crypto/ExemptionMechanismSpi -header extends java/lang/Object flags 421 - -class name javax/crypto/IllegalBlockSizeException -header extends java/security/GeneralSecurityException flags 21 - -class name javax/crypto/KeyAgreement -header extends java/lang/Object flags 21 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 - -class name javax/crypto/KeyAgreementSpi -header extends java/lang/Object flags 421 - -class name javax/crypto/KeyGenerator -header extends java/lang/Object flags 21 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 - -class name javax/crypto/KeyGeneratorSpi -header extends java/lang/Object flags 421 - -class name javax/crypto/Mac -header extends java/lang/Object implements java/lang/Cloneable flags 21 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 - -class name javax/crypto/MacSpi -header extends java/lang/Object flags 421 - -class name javax/crypto/NoSuchPaddingException -header extends java/security/GeneralSecurityException flags 21 - -class name javax/crypto/NullCipher -header extends javax/crypto/Cipher flags 21 - -class name javax/crypto/SealedObject -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/crypto/SecretKey -header extends java/lang/Object implements java/security/Key,javax/security/auth/Destroyable flags 601 - -class name javax/crypto/SecretKeyFactory -header extends java/lang/Object flags 21 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 - -class name javax/crypto/SecretKeyFactorySpi -header extends java/lang/Object flags 421 - -class name javax/crypto/ShortBufferException -header extends java/security/GeneralSecurityException flags 21 - -class name javax/crypto/interfaces/DHKey -header extends java/lang/Object flags 601 - -class name javax/crypto/interfaces/DHPrivateKey -header extends java/lang/Object implements javax/crypto/interfaces/DHKey,java/security/PrivateKey flags 601 - -class name javax/crypto/interfaces/DHPublicKey -header extends java/lang/Object implements javax/crypto/interfaces/DHKey,java/security/PublicKey flags 601 - -class name javax/crypto/interfaces/PBEKey -header extends java/lang/Object implements javax/crypto/SecretKey flags 601 - -class name javax/crypto/spec/DESKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec flags 21 - -class name javax/crypto/spec/DESedeKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec flags 21 - -class name javax/crypto/spec/DHGenParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 - -class name javax/crypto/spec/DHParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 - -class name javax/crypto/spec/DHPrivateKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec flags 21 - -class name javax/crypto/spec/DHPublicKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec flags 21 - -class name javax/crypto/spec/GCMParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 - -class name javax/crypto/spec/IvParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 - class name javax/crypto/spec/OAEPParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 -innerclass innerClass javax/crypto/spec/PSource$PSpecified outerClass javax/crypto/spec/PSource innerClassName PSpecified flags 19 -field name DEFAULT descriptor Ljavax/crypto/spec/OAEPParameterSpec; field name DEFAULT descriptor Ljavax/crypto/spec/OAEPParameterSpec; flags 19 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="19") -class name javax/crypto/spec/PBEKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec flags 21 - -class name javax/crypto/spec/PBEParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 - -class name javax/crypto/spec/RC2ParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 - -class name javax/crypto/spec/RC5ParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 - class name javax/crypto/spec/SecretKeySpec header extends java/lang/Object implements java/security/spec/KeySpec,javax/crypto/SecretKey flags 21 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 @@ -1610,22 +3687,11 @@ header extends java/lang/Object implements javax/security/auth/callback/Callback innerclass innerClass java/lang/ref/Cleaner$Cleanable outerClass java/lang/ref/Cleaner innerClassName Cleanable flags 609 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name jdk/internal/event/Event -header extends java/lang/Object flags 421 --method name descriptor ()V --method name begin descriptor ()V --method name end descriptor ()V --method name commit descriptor ()V --method name isEnabled descriptor ()Z --method name shouldCommit descriptor ()Z --method name set descriptor (ILjava/lang/Object;)V -method name descriptor ()V flags 4 -method name begin descriptor ()V flags 1 -method name end descriptor ()V flags 1 -method name commit descriptor ()V flags 1 -method name isEnabled descriptor ()Z flags 1 -method name shouldCommit descriptor ()Z flags 1 -method name set descriptor (ILjava/lang/Object;)V flags 1 +-class name jdk/internal/access/foreign/MemorySegmentProxy + +-class name jdk/internal/misc/ScopedMemoryAccess + +-class name jdk/internal/misc/ScopedMemoryAccess$Scope class name jdk/internal/vm/vector/VectorSupport -field name VECTOR_OP_REINTERPRET descriptor I @@ -1667,3 +3733,9 @@ method name storeMasked descriptor (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang method name compressExpandOp descriptor (ILjava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;ILjdk/internal/vm/vector/VectorSupport$Vector;Ljdk/internal/vm/vector/VectorSupport$VectorMask;Ljdk/internal/vm/vector/VectorSupport$CompressExpandOperation;)Ljdk/internal/vm/vector/VectorSupport$VectorPayload; flags 9 signature ;M:Ljdk/internal/vm/vector/VectorSupport$VectorMask;E:Ljava/lang/Object;>(ILjava/lang/Class<+TV;>;Ljava/lang/Class<+TM;>;Ljava/lang/Class;ITV;TM;Ljdk/internal/vm/vector/VectorSupport$CompressExpandOperation;)Ljdk/internal/vm/vector/VectorSupport$VectorPayload; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate; method name loadMasked descriptor (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;ILjava/lang/Object;JLjdk/internal/vm/vector/VectorSupport$VectorMask;ILjava/lang/Object;JLjdk/internal/vm/vector/VectorSupport$VectorSpecies;Ljdk/internal/vm/vector/VectorSupport$LoadVectorMaskedOperation;)Ljdk/internal/vm/vector/VectorSupport$Vector; flags 9 signature ;E:Ljava/lang/Object;S:Ljdk/internal/vm/vector/VectorSupport$VectorSpecies;M:Ljdk/internal/vm/vector/VectorSupport$VectorMask;>(Ljava/lang/Class<+TV;>;Ljava/lang/Class;Ljava/lang/Class;ILjava/lang/Object;JTM;ITC;JTS;Ljdk/internal/vm/vector/VectorSupport$LoadVectorMaskedOperation;)TV; runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate; +class name sun/nio/ch/DirectBuffer +header extends java/lang/Object flags 601 +method name address descriptor ()J flags 401 +method name attachment descriptor ()Ljava/lang/Object; flags 401 +method name cleaner descriptor ()Ljdk/internal/ref/Cleaner; flags 401 + diff --git a/src/jdk.compiler/share/data/symbols/java.base-K.sym.txt b/src/jdk.compiler/share/data/symbols/java.base-K.sym.txt index 8165f97595b93..c17dcd982990b 100644 --- a/src/jdk.compiler/share/data/symbols/java.base-K.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.base-K.sym.txt @@ -27,7 +27,7 @@ # ########################################################## # module name java.base -header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/foreign,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/lang/runtime,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/random,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert,jdk/internal/event[jdk.jfr],jdk/internal/vm/vector[jdk.incubator.vector] uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/InetAddressResolverProvider,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/random/RandomGenerator,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/io/JdkConsoleProvider,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider,interface\u0020;java/util/random/RandomGenerator\u0020;impls\u0020;java/security/SecureRandom\u005C;u002C;java/util/Random\u005C;u002C;java/util/SplittableRandom target linux-amd64 flags 8000 +header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/foreign,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/lang/runtime,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/random,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert,jdk/internal/event[jdk.jfr],jdk/internal/vm/vector[jdk.incubator.vector] extraModulePackages jdk/internal/access/foreign,jdk/internal/foreign/abi,jdk/internal/foreign/abi/aarch64/linux,jdk/internal/foreign/abi/aarch64/macos,jdk/internal/foreign/abi/x64/sysv,jdk/internal/foreign/abi/x64/windows,jdk/internal/foreign/layout,sun/net,jdk/internal/foreign,jdk/internal/foreign,sun/net,sun/nio/ch uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/InetAddressResolverProvider,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/random/RandomGenerator,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/io/JdkConsoleProvider,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider,interface\u0020;java/util/random/RandomGenerator\u0020;impls\u0020;java/security/SecureRandom\u005C;u002C;java/util/Random\u005C;u002C;java/util/SplittableRandom target linux-amd64 flags 8000 class name java/io/BufferedInputStream method name transferTo descriptor (Ljava/io/OutputStream;)J thrownTypes java/io/IOException flags 1 @@ -37,21 +37,12 @@ header extends java/lang/Object implements java/io/Flushable flags 21 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 innerclass innerClass java/util/ServiceLoader$Provider outerClass java/util/ServiceLoader innerClassName Provider flags 609 -class name java/io/PrintStream -header extends java/io/FilterOutputStream implements java/lang/Appendable,java/io/Closeable flags 21 -innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 - class name java/io/PushbackInputStream method name transferTo descriptor (Ljava/io/OutputStream;)J thrownTypes java/io/IOException flags 1 class name java/io/SequenceInputStream method name transferTo descriptor (Ljava/io/OutputStream;)J thrownTypes java/io/IOException flags 1 -class name java/lang/AbstractStringBuilder -header extends java/lang/Object implements java/lang/Appendable,java/lang/CharSequence sealed true flags 420 -innerclass innerClass java/util/Spliterator$OfInt outerClass java/util/Spliterator innerClassName OfInt flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/lang/Character$UnicodeBlock field name ARABIC_EXTENDED_C descriptor Ljava/lang/Character$UnicodeBlock; flags 19 field name DEVANAGARI_EXTENDED_A descriptor Ljava/lang/Character$UnicodeBlock; flags 19 @@ -73,12 +64,6 @@ innerclass innerClass java/lang/invoke/TypeDescriptor$OfField outerClass java/la innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 method name accessFlags descriptor ()Ljava/util/Set; flags 1 signature ()Ljava/util/Set; -class name java/lang/Compiler -header extends java/lang/Object flags 31 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9") - -class name java/lang/Deprecated -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;CONSTRUCTOR;eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;LOCAL_VARIABLE;eLjava/lang/annotation/ElementType;METHOD;eLjava/lang/annotation/ElementType;PACKAGE;eLjava/lang/annotation/ElementType;MODULE;eLjava/lang/annotation/ElementType;PARAMETER;eLjava/lang/annotation/ElementType;TYPE;}) - class name java/lang/Double -method name isFinite descriptor (D)Z method name isFinite descriptor (D)Z flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate; @@ -89,18 +74,12 @@ method name isFinite descriptor (F)Z flags 9 runtimeAnnotations @Ljdk/internal/v method name float16ToFloat descriptor (S)F flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate; method name floatToFloat16 descriptor (F)S flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate; -class name java/lang/IllegalCallerException -header extends java/lang/RuntimeException flags 21 - class name java/lang/Integer -method name compareUnsigned descriptor (II)I -method name reverse descriptor (I)I method name compareUnsigned descriptor (II)I flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate; method name reverse descriptor (I)I flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/IntrinsicCandidate; -class name java/lang/LayerInstantiationException -header extends java/lang/RuntimeException flags 21 - class name java/lang/Long -method name compareUnsigned descriptor (JJ)I -method name reverse descriptor (J)J @@ -113,54 +92,12 @@ method name isNativeAccessEnabled descriptor ()Z flags 1 classAnnotations @Ljdk/ class name java/lang/ModuleLayer$Controller method name enableNativeAccess descriptor (Ljava/lang/Module;)Ljava/lang/ModuleLayer$Controller; flags 1 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; -class name java/lang/NamedPackage -header extends java/lang/Object flags 20 - -class name java/lang/Thread$Builder -header extends java/lang/Object nestHost java/lang/Thread sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;VIRTUAL_THREADS;) -innerclass innerClass java/lang/Thread$Builder outerClass java/lang/Thread innerClassName Builder flags 609 -innerclass innerClass java/lang/Thread$Builder$OfVirtual outerClass java/lang/Thread$Builder innerClassName OfVirtual flags 609 -innerclass innerClass java/lang/Thread$Builder$OfPlatform outerClass java/lang/Thread$Builder innerClassName OfPlatform flags 609 -innerclass innerClass java/lang/Thread$UncaughtExceptionHandler outerClass java/lang/Thread innerClassName UncaughtExceptionHandler flags 609 - -class name java/lang/Thread$Builder$OfPlatform -header extends java/lang/Object implements java/lang/Thread$Builder nestHost java/lang/Thread sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;VIRTUAL_THREADS;) -innerclass innerClass java/lang/Thread$Builder outerClass java/lang/Thread innerClassName Builder flags 609 -innerclass innerClass java/lang/Thread$Builder$OfPlatform outerClass java/lang/Thread$Builder innerClassName OfPlatform flags 609 -innerclass innerClass java/lang/Thread$UncaughtExceptionHandler outerClass java/lang/Thread innerClassName UncaughtExceptionHandler flags 609 - -class name java/lang/Thread$Builder$OfVirtual -header extends java/lang/Object implements java/lang/Thread$Builder nestHost java/lang/Thread sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;VIRTUAL_THREADS;) -innerclass innerClass java/lang/Thread$Builder outerClass java/lang/Thread innerClassName Builder flags 609 -innerclass innerClass java/lang/Thread$Builder$OfVirtual outerClass java/lang/Thread$Builder innerClassName OfVirtual flags 609 -innerclass innerClass java/lang/Thread$UncaughtExceptionHandler outerClass java/lang/Thread innerClassName UncaughtExceptionHandler flags 609 - class name java/lang/ThreadDeath header extends java/lang/Error flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="20") class name java/lang/constant/ClassDesc -header extends java/lang/Object implements java/lang/constant/ConstantDesc,java/lang/invoke/TypeDescriptor$OfField sealed true flags 601 signature Ljava/lang/Object;Ljava/lang/constant/ConstantDesc;Ljava/lang/invoke/TypeDescriptor$OfField; -innerclass innerClass java/lang/invoke/TypeDescriptor$OfField outerClass java/lang/invoke/TypeDescriptor innerClassName OfField flags 609 method name ofInternalName descriptor (Ljava/lang/String;)Ljava/lang/constant/ClassDesc; flags 9 -class name java/lang/constant/ConstantDesc -header extends java/lang/Object sealed true flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/constant/DirectMethodHandleDesc -header extends java/lang/Object implements java/lang/constant/MethodHandleDesc nestMembers java/lang/constant/DirectMethodHandleDesc$Kind sealed true flags 601 -innerclass innerClass java/lang/constant/DirectMethodHandleDesc$Kind outerClass java/lang/constant/DirectMethodHandleDesc innerClassName Kind flags 4019 - -class name java/lang/constant/MethodHandleDesc -header extends java/lang/Object implements java/lang/constant/ConstantDesc sealed true flags 601 -innerclass innerClass java/lang/constant/DirectMethodHandleDesc$Kind outerClass java/lang/constant/DirectMethodHandleDesc innerClassName Kind flags 4019 - -class name java/lang/constant/MethodTypeDesc -header extends java/lang/Object implements java/lang/constant/ConstantDesc,java/lang/invoke/TypeDescriptor$OfMethod sealed true flags 601 signature Ljava/lang/Object;Ljava/lang/constant/ConstantDesc;Ljava/lang/invoke/TypeDescriptor$OfMethod; -innerclass innerClass java/lang/invoke/TypeDescriptor$OfMethod outerClass java/lang/invoke/TypeDescriptor innerClassName OfMethod flags 609 -innerclass innerClass java/lang/invoke/TypeDescriptor$OfField outerClass java/lang/invoke/TypeDescriptor innerClassName OfField flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/foreign/AbstractLayout -class name java/lang/foreign/Addressable @@ -175,7 +112,7 @@ method name openConfined descriptor ()Ljava/lang/foreign/Arena; flags 9 method name openShared descriptor ()Ljava/lang/foreign/Arena; flags 9 class name java/lang/foreign/FunctionDescriptor -header extends java/lang/Object sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/foreign/FunctionDescriptorImpl flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) -method name returnLayout descriptor ()Ljava/util/Optional; -method name argumentLayouts descriptor ()Ljava/util/List; -method name asVariadic descriptor ([Ljava/lang/foreign/MemoryLayout;)Ljava/lang/foreign/FunctionDescriptor; @@ -195,8 +132,10 @@ method name changeReturnLayout descriptor (Ljava/lang/foreign/MemoryLayout;)Ljav method name dropReturnLayout descriptor ()Ljava/lang/foreign/FunctionDescriptor; flags 401 method name toMethodType descriptor ()Ljava/lang/invoke/MethodType; flags 401 +-class name java/lang/foreign/FunctionDescriptor$VariadicFunction + class name java/lang/foreign/GroupLayout -header extends java/lang/Object implements java/lang/foreign/MemoryLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object implements java/lang/foreign/MemoryLayout sealed true permittedSubclasses java/lang/foreign/StructLayout,java/lang/foreign/UnionLayout flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) -method name memberLayouts descriptor ()Ljava/util/List; -method name toString descriptor ()Ljava/lang/String; -method name isStruct descriptor ()Z @@ -215,7 +154,7 @@ method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/GroupLayo method name withBitAlignment descriptor (J)Ljava/lang/foreign/GroupLayout; flags 401 class name java/lang/foreign/Linker -header extends java/lang/Object nestMembers java/lang/foreign/Linker$Option,java/lang/foreign/Linker$Option$CaptureCallState sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object nestMembers java/lang/foreign/Linker$Option,java/lang/foreign/Linker$Option$CaptureCallState sealed true permittedSubclasses jdk/internal/foreign/abi/AbstractLinker flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) innerclass innerClass java/lang/foreign/Linker$Option outerClass java/lang/foreign/Linker innerClassName Option flags 609 innerclass innerClass java/lang/foreign/Linker$Option$CaptureCallState outerClass java/lang/foreign/Linker$Option innerClassName CaptureCallState flags 609 -method name downcallHandle descriptor (Ljava/lang/foreign/Addressable;Ljava/lang/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; @@ -228,17 +167,21 @@ method name downcallHandle descriptor (Ljava/lang/foreign/FunctionDescriptor;[Lj method name upcallStub descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/MemorySegment; flags 401 class name java/lang/foreign/Linker$Option -header extends java/lang/Object nestHost java/lang/foreign/Linker sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object nestHost java/lang/foreign/Linker sealed true permittedSubclasses jdk/internal/foreign/abi/LinkerOptions$LinkerOptionImpl,java/lang/foreign/Linker$Option$CaptureCallState flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$FirstVariadicArg outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName FirstVariadicArg flags 19 +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$CaptureCallStateImpl outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName CaptureCallStateImpl flags 19 innerclass innerClass java/lang/foreign/Linker$Option outerClass java/lang/foreign/Linker innerClassName Option flags 609 innerclass innerClass java/lang/foreign/Linker$Option$CaptureCallState outerClass java/lang/foreign/Linker$Option innerClassName CaptureCallState flags 609 +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$LinkerOptionImpl outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName LinkerOptionImpl flags 609 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 method name firstVariadicArg descriptor (I)Ljava/lang/foreign/Linker$Option; flags 9 method name captureCallState descriptor ([Ljava/lang/String;)Ljava/lang/foreign/Linker$Option$CaptureCallState; flags 89 class name java/lang/foreign/Linker$Option$CaptureCallState -header extends java/lang/Object implements java/lang/foreign/Linker$Option nestHost java/lang/foreign/Linker sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object implements java/lang/foreign/Linker$Option nestHost java/lang/foreign/Linker sealed true permittedSubclasses jdk/internal/foreign/abi/LinkerOptions$CaptureCallStateImpl flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) innerclass innerClass java/lang/foreign/Linker$Option outerClass java/lang/foreign/Linker innerClassName Option flags 609 innerclass innerClass java/lang/foreign/Linker$Option$CaptureCallState outerClass java/lang/foreign/Linker$Option innerClassName CaptureCallState flags 609 +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$CaptureCallStateImpl outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName CaptureCallStateImpl flags 19 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 method name layout descriptor ()Ljava/lang/foreign/StructLayout; flags 401 method name supported descriptor ()Ljava/util/Set; flags 9 signature ()Ljava/util/Set; @@ -246,16 +189,26 @@ method name supported descriptor ()Ljava/util/Set; flags 9 signature ()Ljava/uti -class name java/lang/foreign/MemoryAddress class name java/lang/foreign/MemoryLayout -header extends java/lang/Object nestMembers java/lang/foreign/MemoryLayout$PathElement sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object nestMembers java/lang/foreign/MemoryLayout$PathElement sealed true permittedSubclasses java/lang/foreign/SequenceLayout,java/lang/foreign/GroupLayout,java/lang/foreign/PaddingLayout,java/lang/foreign/ValueLayout flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +innerclass innerClass jdk/internal/foreign/LayoutPath$PathElementImpl outerClass jdk/internal/foreign/LayoutPath innerClassName PathElementImpl flags 19 innerclass innerClass java/lang/foreign/MemoryLayout$PathElement outerClass java/lang/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfBooleanImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfBooleanImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfBoolean outerClass java/lang/foreign/ValueLayout innerClassName OfBoolean flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfCharImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfCharImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfChar outerClass java/lang/foreign/ValueLayout innerClassName OfChar flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfByteImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfByteImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfByte outerClass java/lang/foreign/ValueLayout innerClassName OfByte flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfShortImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfShortImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfShort outerClass java/lang/foreign/ValueLayout innerClassName OfShort flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfIntImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfIntImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfFloatImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfFloatImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfFloat outerClass java/lang/foreign/ValueLayout innerClassName OfFloat flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfLongImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfLongImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfDoubleImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfDoubleImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfAddressImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfAddressImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 609 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -method name isPadding descriptor ()Z @@ -267,14 +220,25 @@ method name sequenceLayout descriptor (Ljava/lang/foreign/MemoryLayout;)Ljava/la method name structLayout descriptor ([Ljava/lang/foreign/MemoryLayout;)Ljava/lang/foreign/StructLayout; flags 89 method name unionLayout descriptor ([Ljava/lang/foreign/MemoryLayout;)Ljava/lang/foreign/UnionLayout; flags 89 -class name java/lang/foreign/MemoryLayout$PathElement -header extends java/lang/Object nestHost java/lang/foreign/MemoryLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) -innerclass innerClass java/lang/foreign/MemoryLayout$PathElement outerClass java/lang/foreign/MemoryLayout innerClassName PathElement flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/lang/foreign/MemorySegment -header extends java/lang/Object sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/foreign/AbstractMemorySegmentImpl flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfChar outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfChar flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfShort outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfShort flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfInt outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfInt flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfFloat outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfFloat flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfLong outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfLong flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfDouble outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfDouble flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfByte outerClass java/lang/foreign/ValueLayout innerClassName OfByte flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfByteImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfByteImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfBooleanImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfBooleanImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfCharImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfCharImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfShortImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfShortImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfIntImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfIntImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfFloatImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfFloatImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfLongImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfLongImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfDoubleImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfDoubleImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfAddressImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfAddressImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfChar outerClass java/lang/foreign/ValueLayout innerClassName OfChar flags 609 innerclass innerClass java/lang/foreign/ValueLayout$OfShort outerClass java/lang/foreign/ValueLayout innerClassName OfShort flags 609 innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 @@ -315,11 +279,17 @@ method name mismatch descriptor (Ljava/lang/foreign/MemorySegment;JJLjava/lang/f -class name java/lang/foreign/MemorySession class name java/lang/foreign/PaddingLayout -header extends java/lang/Object implements java/lang/foreign/MemoryLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object implements java/lang/foreign/MemoryLayout sealed true permittedSubclasses jdk/internal/foreign/layout/PaddingLayoutImpl flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +-method name toString descriptor ()Ljava/lang/String; +-method name equals descriptor (Ljava/lang/Object;)Z +-method name hashCode descriptor ()I +-method name hasNaturalAlignment descriptor ()Z +-method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/PaddingLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/PaddingLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/AbstractLayout; +-method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/AbstractLayout; method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/PaddingLayout; flags 401 method name withBitAlignment descriptor (J)Ljava/lang/foreign/PaddingLayout; flags 401 -method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 -method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/MemoryLayout; flags 1041 class name java/lang/foreign/SegmentAllocator header extends java/lang/Object flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) runtimeAnnotations @Ljava/lang/FunctionalInterface; @@ -343,7 +313,7 @@ method name slicingAllocator descriptor (Ljava/lang/foreign/MemorySegment;)Ljava method name nativeAllocator descriptor (Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/SegmentAllocator; flags 9 class name java/lang/foreign/SegmentScope -header extends java/lang/Object sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/foreign/MemorySessionImpl flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) method name auto descriptor ()Ljava/lang/foreign/SegmentScope; flags 9 method name global descriptor ()Ljava/lang/foreign/SegmentScope; flags 9 method name isAlive descriptor ()Z flags 401 @@ -351,7 +321,7 @@ method name isAccessibleBy descriptor (Ljava/lang/Thread;)Z flags 401 method name whileAlive descriptor (Ljava/lang/Runnable;)V flags 401 class name java/lang/foreign/SequenceLayout -header extends java/lang/Object implements java/lang/foreign/MemoryLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object implements java/lang/foreign/MemoryLayout sealed true permittedSubclasses jdk/internal/foreign/layout/SequenceLayoutImpl flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) -method name elementLayout descriptor ()Ljava/lang/foreign/MemoryLayout; -method name elementCount descriptor ()J -method name withElementCount descriptor (J)Ljava/lang/foreign/SequenceLayout; @@ -376,7 +346,7 @@ method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/SequenceL method name withBitAlignment descriptor (J)Ljava/lang/foreign/SequenceLayout; flags 401 class name java/lang/foreign/StructLayout -header extends java/lang/Object implements java/lang/foreign/GroupLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object implements java/lang/foreign/GroupLayout sealed true permittedSubclasses jdk/internal/foreign/layout/StructLayoutImpl flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/StructLayout; flags 401 method name withBitAlignment descriptor (J)Ljava/lang/foreign/StructLayout; flags 401 method name withBitAlignment descriptor (J)Ljava/lang/foreign/GroupLayout; flags 1041 @@ -393,7 +363,7 @@ method name libraryLookup descriptor (Ljava/lang/String;Ljava/lang/foreign/Segme method name libraryLookup descriptor (Ljava/nio/file/Path;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/SymbolLookup; flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; class name java/lang/foreign/UnionLayout -header extends java/lang/Object implements java/lang/foreign/GroupLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object implements java/lang/foreign/GroupLayout sealed true permittedSubclasses jdk/internal/foreign/layout/UnionLayoutImpl flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/UnionLayout; flags 401 method name withBitAlignment descriptor (J)Ljava/lang/foreign/UnionLayout; flags 401 method name withBitAlignment descriptor (J)Ljava/lang/foreign/GroupLayout; flags 1041 @@ -402,12 +372,13 @@ method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flag method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/MemoryLayout; flags 1041 class name java/lang/foreign/VaList -header extends java/lang/Object nestMembers java/lang/foreign/VaList$Builder sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object nestMembers java/lang/foreign/VaList$Builder sealed true permittedSubclasses jdk/internal/foreign/abi/x64/windows/WinVaList,jdk/internal/foreign/abi/x64/sysv/SysVVaList,jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList,jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList,jdk/internal/foreign/abi/SharedUtils$EmptyVaList flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) innerclass innerClass java/lang/foreign/VaList$Builder outerClass java/lang/foreign/VaList innerClassName Builder flags 609 innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 609 innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 609 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 19 -method name session descriptor ()Ljava/lang/foreign/MemorySession; -method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;)Ljava/lang/foreign/MemoryAddress; -method name address descriptor ()Ljava/lang/foreign/MemoryAddress; @@ -419,25 +390,38 @@ method name ofAddress descriptor (JLjava/lang/foreign/SegmentScope;)Ljava/lang/f method name make descriptor (Ljava/util/function/Consumer;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; flags 9 signature (Ljava/util/function/Consumer;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; class name java/lang/foreign/VaList$Builder -header extends java/lang/Object nestHost java/lang/foreign/VaList sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object nestHost java/lang/foreign/VaList sealed true permittedSubclasses jdk/internal/foreign/abi/x64/windows/WinVaList$Builder,jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder,jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder,jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) innerclass innerClass java/lang/foreign/VaList$Builder outerClass java/lang/foreign/VaList innerClassName Builder flags 609 innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 609 innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 609 +innerclass innerClass jdk/internal/foreign/abi/x64/windows/WinVaList$Builder outerClass jdk/internal/foreign/abi/x64/windows/WinVaList innerClassName Builder flags 9 +innerclass innerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder outerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList innerClassName Builder flags 9 +innerclass innerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList innerClassName Builder flags 9 +innerclass innerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList innerClassName Builder flags 9 -method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/Addressable;)Ljava/lang/foreign/VaList$Builder; method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/MemorySegment;)Ljava/lang/foreign/VaList$Builder; flags 401 class name java/lang/foreign/ValueLayout -header extends java/lang/Object implements java/lang/foreign/MemoryLayout nestMembers java/lang/foreign/ValueLayout$OfAddress,java/lang/foreign/ValueLayout$OfDouble,java/lang/foreign/ValueLayout$OfLong,java/lang/foreign/ValueLayout$OfFloat,java/lang/foreign/ValueLayout$OfInt,java/lang/foreign/ValueLayout$OfShort,java/lang/foreign/ValueLayout$OfChar,java/lang/foreign/ValueLayout$OfByte,java/lang/foreign/ValueLayout$OfBoolean sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object implements java/lang/foreign/MemoryLayout nestMembers java/lang/foreign/ValueLayout$OfAddress,java/lang/foreign/ValueLayout$OfDouble,java/lang/foreign/ValueLayout$OfLong,java/lang/foreign/ValueLayout$OfFloat,java/lang/foreign/ValueLayout$OfInt,java/lang/foreign/ValueLayout$OfShort,java/lang/foreign/ValueLayout$OfChar,java/lang/foreign/ValueLayout$OfByte,java/lang/foreign/ValueLayout$OfBoolean sealed true permittedSubclasses java/lang/foreign/ValueLayout$OfByte,java/lang/foreign/ValueLayout$OfShort,java/lang/foreign/ValueLayout$OfChar,java/lang/foreign/ValueLayout$OfInt,java/lang/foreign/ValueLayout$OfFloat,java/lang/foreign/ValueLayout$OfLong,java/lang/foreign/ValueLayout$OfDouble,java/lang/foreign/ValueLayout$OfBoolean,java/lang/foreign/ValueLayout$OfAddress flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfAddressImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfAddressImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfByteImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfByteImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfByte outerClass java/lang/foreign/ValueLayout innerClassName OfByte flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfBooleanImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfBooleanImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfBoolean outerClass java/lang/foreign/ValueLayout innerClassName OfBoolean flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfCharImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfCharImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfChar outerClass java/lang/foreign/ValueLayout innerClassName OfChar flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfShortImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfShortImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfShort outerClass java/lang/foreign/ValueLayout innerClassName OfShort flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfIntImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfIntImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfLongImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfLongImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfFloatImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfFloatImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfFloat outerClass java/lang/foreign/ValueLayout innerClassName OfFloat flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfDoubleImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfDoubleImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 609 -method name order descriptor ()Ljava/nio/ByteOrder; -method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout; @@ -468,8 +452,9 @@ method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayo method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flags 401 class name java/lang/foreign/ValueLayout$OfAddress -header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true permittedSubclasses jdk/internal/foreign/layout/ValueLayouts$OfAddressImpl flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfAddressImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfAddressImpl flags 19 -method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout$OfAddress; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfAddress; -method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfAddress; @@ -485,8 +470,9 @@ method name asUnbounded descriptor ()Ljava/lang/foreign/ValueLayout$OfAddress; f method name isUnbounded descriptor ()Z flags 401 class name java/lang/foreign/ValueLayout$OfBoolean -header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true permittedSubclasses jdk/internal/foreign/layout/ValueLayouts$OfBooleanImpl flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) innerclass innerClass java/lang/foreign/ValueLayout$OfBoolean outerClass java/lang/foreign/ValueLayout innerClassName OfBoolean flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfBooleanImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfBooleanImpl flags 19 -method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout$OfBoolean; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfBoolean; -method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfBoolean; @@ -500,8 +486,9 @@ method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfBool method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfBoolean; flags 401 class name java/lang/foreign/ValueLayout$OfByte -header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true permittedSubclasses jdk/internal/foreign/layout/ValueLayouts$OfByteImpl flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) innerclass innerClass java/lang/foreign/ValueLayout$OfByte outerClass java/lang/foreign/ValueLayout innerClassName OfByte flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfByteImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfByteImpl flags 19 -method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout$OfByte; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfByte; -method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfByte; @@ -515,8 +502,9 @@ method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfByte method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfByte; flags 401 class name java/lang/foreign/ValueLayout$OfChar -header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true permittedSubclasses jdk/internal/foreign/layout/ValueLayouts$OfCharImpl flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) innerclass innerClass java/lang/foreign/ValueLayout$OfChar outerClass java/lang/foreign/ValueLayout innerClassName OfChar flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfCharImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfCharImpl flags 19 -method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout$OfChar; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfChar; -method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfChar; @@ -530,8 +518,9 @@ method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfChar method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfChar; flags 401 class name java/lang/foreign/ValueLayout$OfDouble -header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true permittedSubclasses jdk/internal/foreign/layout/ValueLayouts$OfDoubleImpl flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfDoubleImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfDoubleImpl flags 19 -method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout$OfDouble; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfDouble; -method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfDouble; @@ -545,8 +534,9 @@ method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfDoub method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfDouble; flags 401 class name java/lang/foreign/ValueLayout$OfFloat -header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true permittedSubclasses jdk/internal/foreign/layout/ValueLayouts$OfFloatImpl flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) innerclass innerClass java/lang/foreign/ValueLayout$OfFloat outerClass java/lang/foreign/ValueLayout innerClassName OfFloat flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfFloatImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfFloatImpl flags 19 -method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout$OfFloat; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfFloat; -method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfFloat; @@ -560,8 +550,9 @@ method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfFloa method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfFloat; flags 401 class name java/lang/foreign/ValueLayout$OfInt -header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true permittedSubclasses jdk/internal/foreign/layout/ValueLayouts$OfIntImpl flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfIntImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfIntImpl flags 19 -method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout$OfInt; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfInt; -method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfInt; @@ -575,8 +566,9 @@ method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfInt; method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfInt; flags 401 class name java/lang/foreign/ValueLayout$OfLong -header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true permittedSubclasses jdk/internal/foreign/layout/ValueLayouts$OfLongImpl flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfLongImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfLongImpl flags 19 -method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout$OfLong; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfLong; -method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfLong; @@ -590,8 +582,9 @@ method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfLong method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfLong; flags 401 class name java/lang/foreign/ValueLayout$OfShort -header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true permittedSubclasses jdk/internal/foreign/layout/ValueLayouts$OfShortImpl flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) innerclass innerClass java/lang/foreign/ValueLayout$OfShort outerClass java/lang/foreign/ValueLayout innerClassName OfShort flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfShortImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfShortImpl flags 19 -method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout$OfShort; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfShort; -method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfShort; @@ -604,41 +597,6 @@ method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayo method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfShort; flags 401 method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfShort; flags 401 -class name java/lang/invoke/CallSite -header extends java/lang/Object sealed true flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/invoke/LambdaMetafactory -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/invoke/MethodHandle -header extends java/lang/Object implements java/lang/constant/Constable sealed true flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -innerclass innerClass java/lang/constant/DirectMethodHandleDesc$Kind outerClass java/lang/constant/DirectMethodHandleDesc innerClassName Kind flags 4019 - -class name java/lang/invoke/MethodHandleProxies -header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) - -class name java/lang/invoke/StringConcatException -header extends java/lang/Exception flags 21 - -class name java/lang/invoke/VarHandle -header extends java/lang/Object implements java/lang/constant/Constable nestMembers java/lang/invoke/VarHandle$VarHandleDesc,java/lang/invoke/VarHandle$AccessMode sealed true flags 421 -innerclass innerClass java/lang/invoke/VarHandle$AccessMode outerClass java/lang/invoke/VarHandle innerClassName AccessMode flags 4019 -innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 - -class name java/lang/module/Configuration -header extends java/lang/Object flags 31 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/module/FindException -header extends java/lang/RuntimeException flags 21 - -class name java/lang/module/InvalidModuleDescriptorException -header extends java/lang/RuntimeException flags 21 - class name java/lang/module/ModuleDescriptor header extends java/lang/Object implements java/lang/Comparable nestMembers java/lang/module/ModuleDescriptor$Builder,java/lang/module/ModuleDescriptor$Version,java/lang/module/ModuleDescriptor$Provides,java/lang/module/ModuleDescriptor$Opens,java/lang/module/ModuleDescriptor$Opens$Modifier,java/lang/module/ModuleDescriptor$Exports,java/lang/module/ModuleDescriptor$Exports$Modifier,java/lang/module/ModuleDescriptor$Requires,java/lang/module/ModuleDescriptor$Requires$Modifier,java/lang/module/ModuleDescriptor$Modifier flags 21 signature Ljava/lang/Object;Ljava/lang/Comparable; innerclass innerClass java/lang/module/ModuleDescriptor$Version outerClass java/lang/module/ModuleDescriptor innerClassName Version flags 19 @@ -677,21 +635,6 @@ innerclass innerClass java/lang/module/ModuleDescriptor$Requires$Modifier outerC innerclass innerClass java/lang/reflect/AccessFlag$Location outerClass java/lang/reflect/AccessFlag innerClassName Location flags 4019 method name accessFlags descriptor ()Ljava/util/Set; flags 1 signature ()Ljava/util/Set; -class name java/lang/module/ModuleReader -header extends java/lang/Object implements java/io/Closeable flags 601 - -class name java/lang/module/ModuleReference -header extends java/lang/Object flags 421 - -class name java/lang/module/ResolutionException -header extends java/lang/RuntimeException flags 21 - -class name java/lang/module/ResolvedModule -header extends java/lang/Object flags 31 - -class name java/lang/ref/Reference -header extends java/lang/Object sealed true flags 421 signature Ljava/lang/Object; - class name java/lang/reflect/AccessFlag header extends java/lang/Enum nestMembers java/lang/reflect/AccessFlag$Location flags 4031 signature Ljava/lang/Enum; innerclass innerClass java/lang/reflect/AccessFlag$Location outerClass java/lang/reflect/AccessFlag innerClassName Location flags 4019 @@ -741,13 +684,6 @@ field name MODULE_OPENS descriptor Ljava/lang/reflect/AccessFlag$Location; flags method name values descriptor ()[Ljava/lang/reflect/AccessFlag$Location; flags 9 method name valueOf descriptor (Ljava/lang/String;)Ljava/lang/reflect/AccessFlag$Location; flags 9 -class name java/lang/reflect/AccessibleObject -header extends java/lang/Object implements java/lang/reflect/AnnotatedElement flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) - -class name java/lang/reflect/AnnotatedElement -header extends java/lang/Object flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/lang/reflect/ClassFileFormatVersion header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum; innerclass innerClass java/lang/Runtime$Version outerClass java/lang/Runtime innerClassName Version flags 19 @@ -781,7 +717,7 @@ method name runtimeVersion descriptor ()Ljava/lang/Runtime$Version; flags 1 method name fromMajor descriptor (I)Ljava/lang/reflect/ClassFileFormatVersion; flags 9 class name java/lang/reflect/Executable -header extends java/lang/reflect/AccessibleObject implements java/lang/reflect/Member,java/lang/reflect/GenericDeclaration sealed true flags 421 +header extends java/lang/reflect/AccessibleObject implements java/lang/reflect/Member,java/lang/reflect/GenericDeclaration sealed true permittedSubclasses java/lang/reflect/Constructor,java/lang/reflect/Method flags 421 innerclass innerClass java/lang/reflect/AccessFlag$Location outerClass java/lang/reflect/AccessFlag innerClassName Location flags 4019 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -method name getParameterCount descriptor ()I @@ -793,9 +729,6 @@ header extends java/lang/reflect/AccessibleObject implements java/lang/reflect/M innerclass innerClass java/lang/reflect/AccessFlag$Location outerClass java/lang/reflect/AccessFlag innerClassName Location flags 4019 method name accessFlags descriptor ()Ljava/util/Set; flags 1 signature ()Ljava/util/Set; -class name java/lang/reflect/InaccessibleObjectException -header extends java/lang/RuntimeException flags 21 - class name java/lang/reflect/Member method name accessFlags descriptor ()Ljava/util/Set; flags 1 signature ()Ljava/util/Set; @@ -812,20 +745,6 @@ class name java/net/DatagramPacket header extends java/lang/Object flags 31 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name java/net/DatagramSocket -header extends java/lang/Object implements java/io/Closeable flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) - -class name java/net/InetAddress -header extends java/lang/Object implements java/io/Serializable sealed true flags 21 -innerclass innerClass java/net/spi/InetAddressResolver$LookupPolicy outerClass java/net/spi/InetAddressResolver innerClassName LookupPolicy flags 19 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/net/spi/InetAddressResolverProvider$Configuration outerClass java/net/spi/InetAddressResolverProvider innerClassName Configuration flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/net/SocketImpl -header extends java/lang/Object implements java/net/SocketOptions flags 421 - class name java/net/URL -method name descriptor (Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V -method name descriptor (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V @@ -841,42 +760,6 @@ method name descriptor (Ljava/net/URL;Ljava/lang/String;)V thrownTypes ja method name descriptor (Ljava/net/URL;Ljava/lang/String;Ljava/net/URLStreamHandler;)V thrownTypes java/net/MalformedURLException flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="20") method name of descriptor (Ljava/net/URI;Ljava/net/URLStreamHandler;)Ljava/net/URL; thrownTypes java/net/MalformedURLException flags 9 -class name java/net/spi/InetAddressResolverProvider$Configuration -header extends java/lang/Object nestHost java/net/spi/InetAddressResolverProvider sealed true flags 601 -innerclass innerClass java/net/spi/InetAddressResolverProvider$Configuration outerClass java/net/spi/InetAddressResolverProvider innerClassName Configuration flags 609 - -class name java/net/spi/URLStreamHandlerProvider -header extends java/lang/Object implements java/net/URLStreamHandlerFactory flags 421 - -class name java/nio/Buffer -header extends java/lang/Object sealed true flags 421 - -class name java/nio/ByteBuffer -header extends java/nio/Buffer implements java/lang/Comparable sealed true flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; - -class name java/nio/CharBuffer -header extends java/nio/Buffer implements java/lang/Comparable,java/lang/Appendable,java/lang/CharSequence,java/lang/Readable sealed true flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable;Ljava/lang/Appendable;Ljava/lang/CharSequence;Ljava/lang/Readable; -innerclass innerClass java/util/Spliterator$OfInt outerClass java/util/Spliterator innerClassName OfInt flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/nio/DoubleBuffer -header extends java/nio/Buffer implements java/lang/Comparable sealed true flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; - -class name java/nio/FloatBuffer -header extends java/nio/Buffer implements java/lang/Comparable sealed true flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; - -class name java/nio/IntBuffer -header extends java/nio/Buffer implements java/lang/Comparable sealed true flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; - -class name java/nio/LongBuffer -header extends java/nio/Buffer implements java/lang/Comparable sealed true flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; - -class name java/nio/MappedByteBuffer -header extends java/nio/ByteBuffer sealed true flags 421 - -class name java/nio/ShortBuffer -header extends java/nio/Buffer implements java/lang/Comparable sealed true flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; - class name java/nio/channels/FileChannel -method name map descriptor (Ljava/nio/channels/FileChannel$MapMode;JJLjava/lang/foreign/MemorySession;)Ljava/lang/foreign/MemorySegment; method name map descriptor (Ljava/nio/channels/FileChannel$MapMode;JJLjava/lang/foreign/SegmentScope;)Ljava/lang/foreign/MemorySegment; thrownTypes java/io/IOException flags 1 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) @@ -885,12 +768,6 @@ class name java/nio/file/spi/FileSystemProvider method name exists descriptor (Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z flags 81 method name readAttributesIfExists descriptor (Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/BasicFileAttributes; thrownTypes java/io/IOException flags 81 signature (Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)TA; -class name java/security/Certificate -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="1.2") - -class name java/security/Identity -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 421 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="1.2") - class name java/security/InvalidParameterException method name descriptor (Ljava/lang/String;Ljava/lang/Throwable;)V flags 1 method name descriptor (Ljava/lang/Throwable;)V flags 1 @@ -925,18 +802,11 @@ header extends java/util/Random flags 21 runtimeAnnotations @Ljdk/internal/util/ innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name java/security/SecureRandomParameters -header extends java/lang/Object flags 601 - class name java/security/Security header extends java/lang/Object flags 31 innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name java/security/SignedObject -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 - class name java/security/cert/CertPathBuilder header extends java/lang/Object flags 21 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 @@ -951,259 +821,35 @@ innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang -method name getDefaultType descriptor ()Ljava/lang/String; method name getDefaultType descriptor ()Ljava/lang/String; flags 9 -class name java/security/cert/CertificateRevokedException -header extends java/security/cert/CertificateException flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 - -class name java/security/cert/URICertStoreParameters -header extends java/lang/Object implements java/security/cert/CertStoreParameters flags 31 - class name java/security/interfaces/DSAKeyPairGenerator -method name initialize descriptor (Ljava/security/interfaces/DSAParams;Ljava/security/SecureRandom;)V -method name initialize descriptor (IZLjava/security/SecureRandom;)V method name initialize descriptor (Ljava/security/interfaces/DSAParams;Ljava/security/SecureRandom;)V flags 401 method name initialize descriptor (IZLjava/security/SecureRandom;)V flags 401 -class name java/security/interfaces/RSAKey --method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; -method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1 - class name java/security/spec/EncodedKeySpec header extends java/lang/Object implements java/security/spec/KeySpec flags 421 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name java/security/spec/MGF1ParameterSpec --field name SHA512_224 descriptor Ljava/security/spec/MGF1ParameterSpec; --field name SHA512_256 descriptor Ljava/security/spec/MGF1ParameterSpec; -field name SHA512_224 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19 -field name SHA512_256 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19 - -class name java/security/spec/PSSParameterSpec --field name TRAILER_FIELD_BC descriptor I --method name toString descriptor ()Ljava/lang/String; -field name TRAILER_FIELD_BC descriptor I constantValue 1 flags 19 -method name toString descriptor ()Ljava/lang/String; flags 1 - -class name java/security/spec/RSAKeyGenParameterSpec --method name descriptor (ILjava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V --method name getKeyParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; -method name descriptor (ILjava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1 -method name getKeyParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1 - -class name java/security/spec/RSAMultiPrimePrivateCrtKeySpec --method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;[Ljava/security/spec/RSAOtherPrimeInfo;Ljava/security/spec/AlgorithmParameterSpec;)V -method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;[Ljava/security/spec/RSAOtherPrimeInfo;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1 - -class name java/security/spec/RSAPrivateCrtKeySpec --method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V -method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1 - -class name java/security/spec/RSAPrivateKeySpec --method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V --method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; -method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1 -method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1 - -class name java/security/spec/RSAPublicKeySpec --method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V --method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; -method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1 -method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1 - -class name java/text/DateFormatSymbols -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 - -class name java/text/RuleBasedCollator -header extends java/text/Collator flags 21 -innerclass innerClass java/text/Normalizer$Form outerClass java/text/Normalizer innerClassName Form flags 4019 - -class name java/time/ZoneId -header extends java/lang/Object implements java/io/Serializable sealed true flags 421 runtimeAnnotations @Ljdk/internal/ValueBased; -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 - class name java/time/ZoneOffset header extends java/time/ZoneId implements java/time/temporal/TemporalAccessor,java/time/temporal/TemporalAdjuster,java/lang/Comparable,java/io/Serializable flags 31 signature Ljava/time/ZoneId;Ljava/time/temporal/TemporalAccessor;Ljava/time/temporal/TemporalAdjuster;Ljava/lang/Comparable;Ljava/io/Serializable; runtimeAnnotations @Ljdk/internal/ValueBased; innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name java/time/chrono/ChronoLocalDate -header extends java/lang/Object implements java/time/temporal/Temporal,java/time/temporal/TemporalAdjuster,java/lang/Comparable flags 601 signature Ljava/lang/Object;Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalAdjuster;Ljava/lang/Comparable; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/time/chrono/ChronoLocalDateTime -header extends java/lang/Object implements java/time/temporal/Temporal,java/time/temporal/TemporalAdjuster,java/lang/Comparable flags 601 signature Ljava/lang/Object;Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalAdjuster;Ljava/lang/Comparable;>; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/time/format/DecimalStyle header extends java/lang/Object flags 31 innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name java/time/temporal/TemporalAdjusters -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/Comparator -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/DoubleSummaryStatistics -header extends java/lang/Object implements java/util/function/DoubleConsumer flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/EnumSet -header extends java/util/AbstractSet implements java/lang/Cloneable,java/io/Serializable sealed true flags 421 signature ;>Ljava/util/AbstractSet;Ljava/lang/Cloneable;Ljava/io/Serializable; - -class name java/util/GregorianCalendar -header extends java/util/Calendar flags 21 -innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 - class name java/util/IdentityHashMap method name remove descriptor (Ljava/lang/Object;Ljava/lang/Object;)Z flags 1 method name replace descriptor (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z flags 1 signature (TK;TV;TV;)Z -class name java/util/IllegalFormatException -header extends java/lang/IllegalArgumentException sealed true flags 21 - -class name java/util/Locale$IsoCountryCode -header extends java/lang/Enum nestHost java/util/Locale sealed true flags 4421 signature Ljava/lang/Enum; -innerclass innerClass java/util/Locale$IsoCountryCode outerClass java/util/Locale innerClassName IsoCountryCode flags 4409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/Observable -header extends java/lang/Object flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") - -class name java/util/Observer -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") - -class name java/util/TimeZone -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 -innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 - -class name java/util/TreeSet -header extends java/util/AbstractSet implements java/util/NavigableSet,java/lang/Cloneable,java/io/Serializable flags 21 signature Ljava/util/AbstractSet;Ljava/util/NavigableSet;Ljava/lang/Cloneable;Ljava/io/Serializable; -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 - -class name java/util/concurrent/ConcurrentHashMap$CollectionView -header extends java/lang/Object implements java/util/Collection,java/io/Serializable nestHost java/util/concurrent/ConcurrentHashMap sealed true flags 420 signature Ljava/lang/Object;Ljava/util/Collection;Ljava/io/Serializable; -innerclass innerClass java/util/concurrent/ConcurrentHashMap$CollectionView outerClass java/util/concurrent/ConcurrentHashMap innerClassName CollectionView flags 408 -innerclass innerClass java/util/concurrent/ConcurrentHashMap$KeySetView outerClass java/util/concurrent/ConcurrentHashMap innerClassName KeySetView flags 19 - -class name java/util/concurrent/ConcurrentMap -header extends java/lang/Object implements java/util/Map flags 601 signature Ljava/lang/Object;Ljava/util/Map; -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/concurrent/ConcurrentSkipListSet -header extends java/util/AbstractSet implements java/util/NavigableSet,java/lang/Cloneable,java/io/Serializable flags 21 signature Ljava/util/AbstractSet;Ljava/util/NavigableSet;Ljava/lang/Cloneable;Ljava/io/Serializable; -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/concurrent/CountedCompleter -header extends java/util/concurrent/ForkJoinTask flags 421 signature Ljava/util/concurrent/ForkJoinTask; classAnnotations @Ljdk/Profile+Annotation;(value=I1) - class name java/util/concurrent/ForkJoinPool method name externalSubmit descriptor (Ljava/util/concurrent/ForkJoinTask;)Ljava/util/concurrent/ForkJoinTask; flags 1 signature (Ljava/util/concurrent/ForkJoinTask;)Ljava/util/concurrent/ForkJoinTask; class name java/util/concurrent/ForkJoinWorkerThread method name getQueuedTaskCount descriptor ()I flags 1 -class name java/util/concurrent/atomic/AtomicBoolean -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/concurrent/atomic/AtomicReference -header extends java/lang/Object implements java/io/Serializable flags 21 signature Ljava/lang/Object;Ljava/io/Serializable; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/concurrent/atomic/AtomicReferenceArray -header extends java/lang/Object implements java/io/Serializable flags 21 signature Ljava/lang/Object;Ljava/io/Serializable; -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/concurrent/locks/StampedLock -header extends java/lang/Object implements java/io/Serializable flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) --method name tryWriteLock descriptor ()J --method name writeLockInterruptibly descriptor ()J --method name tryReadLock descriptor ()J --method name tryReadLock descriptor (JLjava/util/concurrent/TimeUnit;)J --method name readLockInterruptibly descriptor ()J --method name unlock descriptor (J)V -method name tryWriteLock descriptor ()J flags 1 -method name writeLockInterruptibly descriptor ()J thrownTypes java/lang/InterruptedException flags 1 -method name tryReadLock descriptor ()J flags 1 -method name tryReadLock descriptor (JLjava/util/concurrent/TimeUnit;)J thrownTypes java/lang/InterruptedException flags 1 -method name readLockInterruptibly descriptor ()J thrownTypes java/lang/InterruptedException flags 1 -method name unlock descriptor (J)V flags 1 - -class name java/util/function/BiConsumer -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/BiFunction -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/BiPredicate -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/BinaryOperator -header extends java/lang/Object implements java/util/function/BiFunction flags 601 signature Ljava/lang/Object;Ljava/util/function/BiFunction; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/Consumer -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/DoubleConsumer -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/DoublePredicate -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/DoubleUnaryOperator -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/Function -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/IntConsumer -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/IntPredicate -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/IntUnaryOperator -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/LongConsumer -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/LongPredicate -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/LongUnaryOperator -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/Predicate -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/UnaryOperator -header extends java/lang/Object implements java/util/function/Function flags 601 signature Ljava/lang/Object;Ljava/util/function/Function; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/util/regex/MatchResult method name start descriptor (Ljava/lang/String;)I flags 1 method name end descriptor (Ljava/lang/String;)I flags 1 @@ -1218,25 +864,6 @@ method name hasMatch descriptor ()Z flags 1 class name java/util/regex/Pattern method name namedGroups descriptor ()Ljava/util/Map; flags 1 signature ()Ljava/util/Map; -class name java/util/spi/AbstractResourceBundleProvider -header extends java/lang/Object implements java/util/spi/ResourceBundleProvider flags 421 -innerclass innerClass java/util/ResourceBundle$Control outerClass java/util/ResourceBundle innerClassName Control flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/spi/CurrencyNameProvider -header extends java/util/spi/LocaleServiceProvider flags 421 -innerclass innerClass java/util/ResourceBundle$Control outerClass java/util/ResourceBundle innerClassName Control flags 9 - -class name java/util/spi/ResourceBundleProvider -header extends java/lang/Object flags 601 - -class name java/util/spi/ToolProvider -header extends java/lang/Object flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/zip/CRC32C -header extends java/lang/Object implements java/util/zip/Checksum flags 31 - class name java/util/zip/ZipInputStream method name read descriptor ()I thrownTypes java/io/IOException flags 1 method name readAllBytes descriptor ()[B thrownTypes java/io/IOException flags 1 @@ -1245,156 +872,302 @@ method name readNBytes descriptor ([BII)I thrownTypes java/io/IOException flags method name skipNBytes descriptor (J)V thrownTypes java/io/IOException flags 1 method name transferTo descriptor (Ljava/io/OutputStream;)J thrownTypes java/io/IOException flags 1 -class name javax/crypto/AEADBadTagException -header extends javax/crypto/BadPaddingException flags 21 - -class name javax/crypto/BadPaddingException -header extends java/security/GeneralSecurityException flags 21 - -class name javax/crypto/CipherInputStream -header extends java/io/FilterInputStream flags 21 - -class name javax/crypto/CipherOutputStream -header extends java/io/FilterOutputStream flags 21 - -class name javax/crypto/CipherSpi -header extends java/lang/Object flags 421 - -class name javax/crypto/EncryptedPrivateKeyInfo -header extends java/lang/Object flags 21 - -class name javax/crypto/ExemptionMechanism -header extends java/lang/Object flags 21 - -class name javax/crypto/ExemptionMechanismException -header extends java/security/GeneralSecurityException flags 21 - -class name javax/crypto/ExemptionMechanismSpi -header extends java/lang/Object flags 421 - -class name javax/crypto/IllegalBlockSizeException -header extends java/security/GeneralSecurityException flags 21 - -class name javax/crypto/KeyAgreement -header extends java/lang/Object flags 21 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 - -class name javax/crypto/KeyAgreementSpi -header extends java/lang/Object flags 421 - -class name javax/crypto/KeyGenerator -header extends java/lang/Object flags 21 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 - -class name javax/crypto/KeyGeneratorSpi -header extends java/lang/Object flags 421 - -class name javax/crypto/Mac -header extends java/lang/Object implements java/lang/Cloneable flags 21 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 - -class name javax/crypto/MacSpi -header extends java/lang/Object flags 421 - -class name javax/crypto/NoSuchPaddingException -header extends java/security/GeneralSecurityException flags 21 - -class name javax/crypto/NullCipher -header extends javax/crypto/Cipher flags 21 - -class name javax/crypto/SealedObject -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/crypto/SecretKey -header extends java/lang/Object implements java/security/Key,javax/security/auth/Destroyable flags 601 - -class name javax/crypto/SecretKeyFactory -header extends java/lang/Object flags 21 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 - -class name javax/crypto/SecretKeyFactorySpi -header extends java/lang/Object flags 421 +class name javax/crypto/spec/PBEKeySpec +-method name clearPassword descriptor ()V +-method name getPassword descriptor ()[C +method name clearPassword descriptor ()V flags 31 +method name getPassword descriptor ()[C flags 31 -class name javax/crypto/ShortBufferException -header extends java/security/GeneralSecurityException flags 21 +class name javax/net/ssl/SSLParameters +method name getNamedGroups descriptor ()[Ljava/lang/String; flags 1 +method name setNamedGroups descriptor ([Ljava/lang/String;)V flags 1 -class name javax/crypto/interfaces/DHKey +class name jdk/internal/access/foreign/UnmapperProxy header extends java/lang/Object flags 601 +method name address descriptor ()J flags 401 +method name fileDescriptor descriptor ()Ljava/io/FileDescriptor; flags 401 +method name isSync descriptor ()Z flags 401 +method name unmap descriptor ()V flags 401 -class name javax/crypto/interfaces/DHPrivateKey -header extends java/lang/Object implements javax/crypto/interfaces/DHKey,java/security/PrivateKey flags 601 - -class name javax/crypto/interfaces/DHPublicKey -header extends java/lang/Object implements javax/crypto/interfaces/DHKey,java/security/PublicKey flags 601 - -class name javax/crypto/interfaces/PBEKey -header extends java/lang/Object implements javax/crypto/SecretKey flags 601 - -class name javax/crypto/spec/DESKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec flags 21 - -class name javax/crypto/spec/DESedeKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec flags 21 - -class name javax/crypto/spec/DHGenParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 +class name jdk/internal/foreign/layout/AbstractGroupLayout +header extends jdk/internal/foreign/layout/AbstractLayout sealed true permittedSubclasses jdk/internal/foreign/layout/StructLayoutImpl,jdk/internal/foreign/layout/UnionLayoutImpl flags 421 signature ;:Ljava/lang/foreign/MemoryLayout;>Ljdk/internal/foreign/layout/AbstractLayout; +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name memberLayouts descriptor ()Ljava/util/List; flags 11 signature ()Ljava/util/List; +method name toString descriptor ()Ljava/lang/String; flags 11 +method name equals descriptor (Ljava/lang/Object;)Z flags 11 +method name hashCode descriptor ()I flags 11 +method name hasNaturalAlignment descriptor ()Z flags 11 + +class name jdk/internal/foreign/layout/AbstractLayout +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/foreign/layout/AbstractGroupLayout,jdk/internal/foreign/layout/PaddingLayoutImpl,jdk/internal/foreign/layout/SequenceLayoutImpl,jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout flags 421 signature ;:Ljava/lang/foreign/MemoryLayout;>Ljava/lang/Object; +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName AbstractValueLayout flags 408 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name withName descriptor (Ljava/lang/String;)Ljdk/internal/foreign/layout/AbstractLayout; flags 11 signature (Ljava/lang/String;)TL; +method name name descriptor ()Ljava/util/Optional; flags 11 signature ()Ljava/util/Optional; +method name withBitAlignment descriptor (J)Ljdk/internal/foreign/layout/AbstractLayout; flags 11 signature (J)TL; +method name bitAlignment descriptor ()J flags 11 +method name byteSize descriptor ()J flags 11 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name bitSize descriptor ()J flags 11 +method name hasNaturalAlignment descriptor ()Z flags 1 +method name hashCode descriptor ()I flags 1 +method name equals descriptor (Ljava/lang/Object;)Z flags 1 +method name toString descriptor ()Ljava/lang/String; flags 401 + +class name jdk/internal/foreign/layout/PaddingLayoutImpl +header extends jdk/internal/foreign/layout/AbstractLayout implements java/lang/foreign/PaddingLayout flags 31 signature Ljdk/internal/foreign/layout/AbstractLayout;Ljava/lang/foreign/PaddingLayout; +method name toString descriptor ()Ljava/lang/String; flags 1 +method name equals descriptor (Ljava/lang/Object;)Z flags 1 +method name hashCode descriptor ()I flags 1 +method name hasNaturalAlignment descriptor ()Z flags 1 +method name of descriptor (J)Ljava/lang/foreign/PaddingLayout; flags 9 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/PaddingLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/PaddingLayout; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/MemoryLayout; flags 1041 -class name javax/crypto/spec/DHParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 +class name jdk/internal/foreign/layout/SequenceLayoutImpl +header extends jdk/internal/foreign/layout/AbstractLayout implements java/lang/foreign/SequenceLayout flags 31 signature Ljdk/internal/foreign/layout/AbstractLayout;Ljava/lang/foreign/SequenceLayout; +method name elementLayout descriptor ()Ljava/lang/foreign/MemoryLayout; flags 1 +method name elementCount descriptor ()J flags 1 +method name withElementCount descriptor (J)Ljava/lang/foreign/SequenceLayout; flags 1 +method name reshape descriptor ([J)Ljava/lang/foreign/SequenceLayout; flags 81 +method name flatten descriptor ()Ljava/lang/foreign/SequenceLayout; flags 1 +method name toString descriptor ()Ljava/lang/String; flags 1 +method name equals descriptor (Ljava/lang/Object;)Z flags 1 +method name hashCode descriptor ()I flags 1 +method name hasNaturalAlignment descriptor ()Z flags 1 +method name of descriptor (JLjava/lang/foreign/MemoryLayout;)Ljava/lang/foreign/SequenceLayout; flags 9 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/SequenceLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/SequenceLayout; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/MemoryLayout; flags 1041 -class name javax/crypto/spec/DHPrivateKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec flags 21 +class name jdk/internal/foreign/layout/StructLayoutImpl +header extends jdk/internal/foreign/layout/AbstractGroupLayout implements java/lang/foreign/StructLayout flags 31 signature Ljdk/internal/foreign/layout/AbstractGroupLayout;Ljava/lang/foreign/StructLayout; +method name of descriptor (Ljava/util/List;)Ljava/lang/foreign/StructLayout; flags 9 signature (Ljava/util/List;)Ljava/lang/foreign/StructLayout; +method name withBitAlignment descriptor (J)Ljava/lang/foreign/StructLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/StructLayout; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/GroupLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/GroupLayout; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/MemoryLayout; flags 1041 -class name javax/crypto/spec/DHPublicKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec flags 21 +class name jdk/internal/foreign/layout/UnionLayoutImpl +header extends jdk/internal/foreign/layout/AbstractGroupLayout implements java/lang/foreign/UnionLayout flags 31 signature Ljdk/internal/foreign/layout/AbstractGroupLayout;Ljava/lang/foreign/UnionLayout; +method name of descriptor (Ljava/util/List;)Ljava/lang/foreign/UnionLayout; flags 9 signature (Ljava/util/List;)Ljava/lang/foreign/UnionLayout; +method name withBitAlignment descriptor (J)Ljava/lang/foreign/UnionLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/UnionLayout; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/GroupLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/GroupLayout; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/MemoryLayout; flags 1041 -class name javax/crypto/spec/GCMParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 +class name jdk/internal/foreign/layout/ValueLayouts +header extends java/lang/Object nestMembers jdk/internal/foreign/layout/ValueLayouts$OfAddressImpl,jdk/internal/foreign/layout/ValueLayouts$OfDoubleImpl,jdk/internal/foreign/layout/ValueLayouts$OfLongImpl,jdk/internal/foreign/layout/ValueLayouts$OfFloatImpl,jdk/internal/foreign/layout/ValueLayouts$OfIntImpl,jdk/internal/foreign/layout/ValueLayouts$OfShortImpl,jdk/internal/foreign/layout/ValueLayouts$OfCharImpl,jdk/internal/foreign/layout/ValueLayouts$OfByteImpl,jdk/internal/foreign/layout/ValueLayouts$OfBooleanImpl,jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout flags 31 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfAddressImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfAddressImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfDoubleImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfDoubleImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfLongImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfLongImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfFloatImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfFloatImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfIntImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfIntImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfShortImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfShortImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfCharImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfCharImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfByteImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfByteImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfBooleanImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfBooleanImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName AbstractValueLayout flags 408 + +class name jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout +header extends jdk/internal/foreign/layout/AbstractLayout nestHost jdk/internal/foreign/layout/ValueLayouts sealed true permittedSubclasses jdk/internal/foreign/layout/ValueLayouts$OfByteImpl,jdk/internal/foreign/layout/ValueLayouts$OfShortImpl,jdk/internal/foreign/layout/ValueLayouts$OfCharImpl,jdk/internal/foreign/layout/ValueLayouts$OfIntImpl,jdk/internal/foreign/layout/ValueLayouts$OfFloatImpl,jdk/internal/foreign/layout/ValueLayouts$OfLongImpl,jdk/internal/foreign/layout/ValueLayouts$OfDoubleImpl,jdk/internal/foreign/layout/ValueLayouts$OfBooleanImpl,jdk/internal/foreign/layout/ValueLayouts$OfAddressImpl flags 420 signature ;:Ljava/lang/foreign/ValueLayout;>Ljdk/internal/foreign/layout/AbstractLayout; +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName AbstractValueLayout flags 408 +innerclass innerClass java/lang/foreign/MemoryLayout$PathElement outerClass java/lang/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfByteImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfByteImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfShortImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfShortImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfCharImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfCharImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfIntImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfIntImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfFloatImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfFloatImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfLongImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfLongImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfDoubleImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfDoubleImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfBooleanImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfBooleanImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfAddressImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfAddressImpl flags 19 +method name order descriptor ()Ljava/nio/ByteOrder; flags 11 +method name toString descriptor ()Ljava/lang/String; flags 11 +method name equals descriptor (Ljava/lang/Object;)Z flags 1 +method name arrayElementVarHandle descriptor ([I)Ljava/lang/invoke/VarHandle; flags 91 +method name carrier descriptor ()Ljava/lang/Class; flags 11 signature ()Ljava/lang/Class<*>; +method name hashCode descriptor ()I flags 1 +method name accessHandle descriptor ()Ljava/lang/invoke/VarHandle; flags 11 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; + +class name jdk/internal/foreign/layout/ValueLayouts$OfAddressImpl +header extends jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout implements java/lang/foreign/ValueLayout$OfAddress nestHost jdk/internal/foreign/layout/ValueLayouts flags 31 signature Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout;Ljava/lang/foreign/ValueLayout$OfAddress; +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfAddressImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfAddressImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName AbstractValueLayout flags 408 +innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 609 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$OfAddressImpl; flags 1 +method name equals descriptor (Ljava/lang/Object;)Z flags 1 +method name hashCode descriptor ()I flags 1 +method name asUnbounded descriptor ()Ljava/lang/foreign/ValueLayout$OfAddress; flags 1 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; +method name isUnbounded descriptor ()Z flags 1 +method name of descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfAddress; flags 9 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout; flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfAddress; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfAddress; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout$OfAddress; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/MemoryLayout; flags 1041 -class name javax/crypto/spec/IvParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 +class name jdk/internal/foreign/layout/ValueLayouts$OfBooleanImpl +header extends jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout implements java/lang/foreign/ValueLayout$OfBoolean nestHost jdk/internal/foreign/layout/ValueLayouts flags 31 signature Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout;Ljava/lang/foreign/ValueLayout$OfBoolean; +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName AbstractValueLayout flags 408 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfBooleanImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfBooleanImpl flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfBoolean outerClass java/lang/foreign/ValueLayout innerClassName OfBoolean flags 609 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$OfBooleanImpl; flags 1 +method name of descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfBoolean; flags 9 +method name hashCode descriptor ()I flags 1041 +method name equals descriptor (Ljava/lang/Object;)Z flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout; flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfBoolean; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfBoolean; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout$OfBoolean; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/MemoryLayout; flags 1041 -class name javax/crypto/spec/OAEPParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 -innerclass innerClass javax/crypto/spec/PSource$PSpecified outerClass javax/crypto/spec/PSource innerClassName PSpecified flags 19 +class name jdk/internal/foreign/layout/ValueLayouts$OfByteImpl +header extends jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout implements java/lang/foreign/ValueLayout$OfByte nestHost jdk/internal/foreign/layout/ValueLayouts flags 31 signature Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout;Ljava/lang/foreign/ValueLayout$OfByte; +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName AbstractValueLayout flags 408 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfByteImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfByteImpl flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfByte outerClass java/lang/foreign/ValueLayout innerClassName OfByte flags 609 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$OfByteImpl; flags 1 +method name of descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfByte; flags 9 +method name hashCode descriptor ()I flags 1041 +method name equals descriptor (Ljava/lang/Object;)Z flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout; flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfByte; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfByte; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout$OfByte; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/MemoryLayout; flags 1041 -class name javax/crypto/spec/PBEKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec flags 21 --method name clearPassword descriptor ()V --method name getPassword descriptor ()[C -method name clearPassword descriptor ()V flags 31 -method name getPassword descriptor ()[C flags 31 +class name jdk/internal/foreign/layout/ValueLayouts$OfCharImpl +header extends jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout implements java/lang/foreign/ValueLayout$OfChar nestHost jdk/internal/foreign/layout/ValueLayouts flags 31 signature Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout;Ljava/lang/foreign/ValueLayout$OfChar; +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName AbstractValueLayout flags 408 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfCharImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfCharImpl flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfChar outerClass java/lang/foreign/ValueLayout innerClassName OfChar flags 609 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$OfCharImpl; flags 1 +method name of descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfChar; flags 9 +method name hashCode descriptor ()I flags 1041 +method name equals descriptor (Ljava/lang/Object;)Z flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout; flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfChar; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfChar; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout$OfChar; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/MemoryLayout; flags 1041 -class name javax/crypto/spec/PBEParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 +class name jdk/internal/foreign/layout/ValueLayouts$OfDoubleImpl +header extends jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout implements java/lang/foreign/ValueLayout$OfDouble nestHost jdk/internal/foreign/layout/ValueLayouts flags 31 signature Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout;Ljava/lang/foreign/ValueLayout$OfDouble; +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName AbstractValueLayout flags 408 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfDoubleImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfDoubleImpl flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 609 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$OfDoubleImpl; flags 1 +method name of descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfDouble; flags 9 +method name hashCode descriptor ()I flags 1041 +method name equals descriptor (Ljava/lang/Object;)Z flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout; flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfDouble; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfDouble; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout$OfDouble; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/MemoryLayout; flags 1041 -class name javax/crypto/spec/RC2ParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 +class name jdk/internal/foreign/layout/ValueLayouts$OfFloatImpl +header extends jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout implements java/lang/foreign/ValueLayout$OfFloat nestHost jdk/internal/foreign/layout/ValueLayouts flags 31 signature Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout;Ljava/lang/foreign/ValueLayout$OfFloat; +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName AbstractValueLayout flags 408 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfFloatImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfFloatImpl flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfFloat outerClass java/lang/foreign/ValueLayout innerClassName OfFloat flags 609 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$OfFloatImpl; flags 1 +method name of descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfFloat; flags 9 +method name hashCode descriptor ()I flags 1041 +method name equals descriptor (Ljava/lang/Object;)Z flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout; flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfFloat; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfFloat; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout$OfFloat; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/MemoryLayout; flags 1041 -class name javax/crypto/spec/RC5ParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 +class name jdk/internal/foreign/layout/ValueLayouts$OfIntImpl +header extends jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout implements java/lang/foreign/ValueLayout$OfInt nestHost jdk/internal/foreign/layout/ValueLayouts flags 31 signature Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout;Ljava/lang/foreign/ValueLayout$OfInt; +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName AbstractValueLayout flags 408 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfIntImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfIntImpl flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$OfIntImpl; flags 1 +method name of descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfInt; flags 9 +method name hashCode descriptor ()I flags 1041 +method name equals descriptor (Ljava/lang/Object;)Z flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout; flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfInt; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfInt; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout$OfInt; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/MemoryLayout; flags 1041 -class name javax/net/ssl/SSLParameters -method name getNamedGroups descriptor ()[Ljava/lang/String; flags 1 -method name setNamedGroups descriptor ([Ljava/lang/String;)V flags 1 +class name jdk/internal/foreign/layout/ValueLayouts$OfLongImpl +header extends jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout implements java/lang/foreign/ValueLayout$OfLong nestHost jdk/internal/foreign/layout/ValueLayouts flags 31 signature Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout;Ljava/lang/foreign/ValueLayout$OfLong; +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName AbstractValueLayout flags 408 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfLongImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfLongImpl flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$OfLongImpl; flags 1 +method name of descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfLong; flags 9 +method name hashCode descriptor ()I flags 1041 +method name equals descriptor (Ljava/lang/Object;)Z flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout; flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfLong; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfLong; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout$OfLong; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/MemoryLayout; flags 1041 -class name jdk/internal/event/Event -header extends java/lang/Object flags 421 --method name descriptor ()V --method name begin descriptor ()V --method name end descriptor ()V --method name commit descriptor ()V --method name isEnabled descriptor ()Z --method name shouldCommit descriptor ()Z --method name set descriptor (ILjava/lang/Object;)V -method name descriptor ()V flags 4 -method name begin descriptor ()V flags 1 -method name end descriptor ()V flags 1 -method name commit descriptor ()V flags 1 -method name isEnabled descriptor ()Z flags 1 -method name shouldCommit descriptor ()Z flags 1 -method name set descriptor (ILjava/lang/Object;)V flags 1 +class name jdk/internal/foreign/layout/ValueLayouts$OfShortImpl +header extends jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout implements java/lang/foreign/ValueLayout$OfShort nestHost jdk/internal/foreign/layout/ValueLayouts flags 31 signature Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout;Ljava/lang/foreign/ValueLayout$OfShort; +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName AbstractValueLayout flags 408 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfShortImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfShortImpl flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfShort outerClass java/lang/foreign/ValueLayout innerClassName OfShort flags 609 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$OfShortImpl; flags 1 +method name of descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfShort; flags 9 +method name hashCode descriptor ()I flags 1041 +method name equals descriptor (Ljava/lang/Object;)Z flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout; flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfShort; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfShort; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout$OfShort; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout; flags 1041 +method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/MemoryLayout; flags 1041 class name jdk/internal/vm/vector/VectorSupport -method name indexVector descriptor (Ljava/lang/Class;Ljava/lang/Class;ILjdk/internal/vm/vector/VectorSupport$Vector;ILjdk/internal/vm/vector/VectorSupport$VectorSpecies;Ljdk/internal/vm/vector/VectorSupport$IndexOperation;)Ljdk/internal/vm/vector/VectorSupport$Vector; diff --git a/src/jdk.compiler/share/data/symbols/java.base-L.sym.txt b/src/jdk.compiler/share/data/symbols/java.base-L.sym.txt index ce88c40a27644..4f5b1cf26efa9 100644 --- a/src/jdk.compiler/share/data/symbols/java.base-L.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.base-L.sym.txt @@ -26,19 +26,28 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # +module name java.base +header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/foreign,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/lang/runtime,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/random,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert,jdk/internal/event[jdk.jfr],jdk/internal/vm/vector[jdk.incubator.vector] extraModulePackages jdk/internal/access/foreign,jdk/internal/foreign/abi,jdk/internal/foreign/abi/aarch64/linux,jdk/internal/foreign/abi/aarch64/macos,jdk/internal/foreign/abi/aarch64/windows,jdk/internal/foreign/abi/fallback,jdk/internal/foreign/abi/ppc64/linux,jdk/internal/foreign/abi/riscv64/linux,jdk/internal/foreign/abi/x64/sysv,jdk/internal/foreign/abi/x64/windows,jdk/internal/foreign/layout,sun/net,jdk/internal/foreign,jdk/internal/foreign,sun/net,sun/nio/ch uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/InetAddressResolverProvider,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/random/RandomGenerator,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/io/JdkConsoleProvider,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider,interface\u0020;java/util/random/RandomGenerator\u0020;impls\u0020;java/security/SecureRandom\u005C;u002C;java/util/Random\u005C;u002C;java/util/SplittableRandom target linux-amd64 flags 8000 + class name java/io/Console -header extends java/lang/Object implements java/io/Flushable sealed true flags 21 +header extends java/lang/Object implements java/io/Flushable sealed true permittedSubclasses java/io/ProxyingConsole flags 21 innerclass innerClass java/util/ServiceLoader$Provider outerClass java/util/ServiceLoader innerClassName Provider flags 609 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name java/io/PrintStream -header extends java/io/FilterOutputStream implements java/lang/Appendable,java/io/Closeable flags 21 -innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 +class name java/io/ProxyingConsole +header extends java/io/Console flags 30 +method name writer descriptor ()Ljava/io/PrintWriter; flags 1 +method name reader descriptor ()Ljava/io/Reader; flags 1 +method name format descriptor (Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/Console; flags 81 +method name printf descriptor (Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/Console; flags 81 +method name readLine descriptor (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; flags 81 +method name readLine descriptor ()Ljava/lang/String; flags 1 +method name readPassword descriptor (Ljava/lang/String;[Ljava/lang/Object;)[C flags 81 +method name readPassword descriptor ()[C flags 1 +method name flush descriptor ()V flags 1 +method name charset descriptor ()Ljava/nio/charset/Charset; flags 1 class name java/lang/AbstractStringBuilder -header extends java/lang/Object implements java/lang/Appendable,java/lang/CharSequence sealed true flags 420 -innerclass innerClass java/util/Spliterator$OfInt outerClass java/util/Spliterator innerClassName OfInt flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 method name repeat descriptor (II)Ljava/lang/AbstractStringBuilder; flags 1 method name repeat descriptor (Ljava/lang/CharSequence;I)Ljava/lang/AbstractStringBuilder; flags 1 @@ -55,15 +64,6 @@ method name isUnnamedClass descriptor ()Z flags 1 classAnnotations @Ljdk/interna -class name java/lang/Compiler -class name java/lang/Deprecated -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;CONSTRUCTOR;eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;LOCAL_VARIABLE;eLjava/lang/annotation/ElementType;METHOD;eLjava/lang/annotation/ElementType;PACKAGE;eLjava/lang/annotation/ElementType;MODULE;eLjava/lang/annotation/ElementType;PARAMETER;eLjava/lang/annotation/ElementType;TYPE;}) - -class name java/lang/IllegalCallerException -header extends java/lang/RuntimeException flags 21 - -class name java/lang/LayerInstantiationException -header extends java/lang/RuntimeException flags 21 - class name java/lang/MatchException header extends java/lang/RuntimeException flags 31 @@ -73,9 +73,6 @@ method name clamp descriptor (JJJ)J flags 9 method name clamp descriptor (DDD)D flags 9 method name clamp descriptor (FFF)F flags 9 -class name java/lang/NamedPackage -header extends java/lang/Object flags 20 - class name java/lang/ProcessBuilder header extends java/lang/Object nestMembers java/lang/ProcessBuilder$Redirect,java/lang/ProcessBuilder$Redirect$Type flags 31 innerclass innerClass java/lang/ProcessBuilder$Redirect outerClass java/lang/ProcessBuilder innerClassName Redirect flags 409 @@ -193,13 +190,15 @@ method name process descriptor (Ljava/lang/StringTemplate;)Ljava/lang/Object; th method name of descriptor (Ljava/util/function/Function;)Ljava/lang/StringTemplate$Processor; flags 9 signature (Ljava/util/function/Function<-Ljava/lang/StringTemplate;+TT;>;)Ljava/lang/StringTemplate$Processor; class name java/lang/StringTemplate$Processor$Linkage -header extends java/lang/Object nestHost java/lang/StringTemplate sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;STRING_TEMPLATES;) +header extends java/lang/Object nestHost java/lang/StringTemplate sealed true permittedSubclasses java/util/FormatProcessor flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;STRING_TEMPLATES;) innerclass innerClass java/lang/StringTemplate$Processor outerClass java/lang/StringTemplate innerClassName Processor flags 609 innerclass innerClass java/lang/StringTemplate$Processor$Linkage outerClass java/lang/StringTemplate$Processor innerClassName Linkage flags 609 method name linkage descriptor (Ljava/util/List;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; flags 401 signature (Ljava/util/List;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; class name java/lang/Thread header extends java/lang/Object implements java/lang/Runnable nestMembers java/lang/Thread$UncaughtExceptionHandler,java/lang/Thread$State,java/lang/Thread$Builder,java/lang/Thread$Builder$OfVirtual,java/lang/Thread$Builder$OfPlatform flags 21 +innerclass innerClass java/lang/ThreadBuilders$PlatformThreadBuilder outerClass java/lang/ThreadBuilders innerClassName PlatformThreadBuilder flags 18 +innerclass innerClass java/lang/ThreadBuilders$VirtualThreadBuilder outerClass java/lang/ThreadBuilders innerClassName VirtualThreadBuilder flags 18 innerclass innerClass java/lang/Thread$UncaughtExceptionHandler outerClass java/lang/Thread innerClassName UncaughtExceptionHandler flags 609 innerclass innerClass java/lang/Thread$State outerClass java/lang/Thread innerClassName State flags 4019 innerclass innerClass java/lang/Thread$Builder outerClass java/lang/Thread innerClassName Builder flags 609 @@ -215,7 +214,7 @@ method name startVirtualThread descriptor (Ljava/lang/Runnable;)Ljava/lang/Threa method name isVirtual descriptor ()Z flags 11 class name java/lang/Thread$Builder -header extends java/lang/Object nestHost java/lang/Thread sealed true flags 601 +header extends java/lang/Object nestHost java/lang/Thread sealed true permittedSubclasses java/lang/Thread$Builder$OfPlatform,java/lang/Thread$Builder$OfVirtual flags 601 innerclass innerClass java/lang/Thread$Builder outerClass java/lang/Thread innerClassName Builder flags 609 innerclass innerClass java/lang/Thread$Builder$OfVirtual outerClass java/lang/Thread$Builder innerClassName OfVirtual flags 609 innerclass innerClass java/lang/Thread$Builder$OfPlatform outerClass java/lang/Thread$Builder innerClassName OfPlatform flags 609 @@ -223,21 +222,81 @@ innerclass innerClass java/lang/Thread$UncaughtExceptionHandler outerClass java/ -method name allowSetThreadLocals descriptor (Z)Ljava/lang/Thread$Builder; class name java/lang/Thread$Builder$OfPlatform -header extends java/lang/Object implements java/lang/Thread$Builder nestHost java/lang/Thread sealed true flags 601 +header extends java/lang/Object implements java/lang/Thread$Builder nestHost java/lang/Thread sealed true permittedSubclasses java/lang/ThreadBuilders$PlatformThreadBuilder flags 601 innerclass innerClass java/lang/Thread$Builder outerClass java/lang/Thread innerClassName Builder flags 609 innerclass innerClass java/lang/Thread$Builder$OfPlatform outerClass java/lang/Thread$Builder innerClassName OfPlatform flags 609 innerclass innerClass java/lang/Thread$UncaughtExceptionHandler outerClass java/lang/Thread innerClassName UncaughtExceptionHandler flags 609 +innerclass innerClass java/lang/ThreadBuilders$PlatformThreadBuilder outerClass java/lang/ThreadBuilders innerClassName PlatformThreadBuilder flags 18 -method name allowSetThreadLocals descriptor (Z)Ljava/lang/Thread$Builder$OfPlatform; -method name allowSetThreadLocals descriptor (Z)Ljava/lang/Thread$Builder; class name java/lang/Thread$Builder$OfVirtual -header extends java/lang/Object implements java/lang/Thread$Builder nestHost java/lang/Thread sealed true flags 601 +header extends java/lang/Object implements java/lang/Thread$Builder nestHost java/lang/Thread sealed true permittedSubclasses java/lang/ThreadBuilders$VirtualThreadBuilder flags 601 innerclass innerClass java/lang/Thread$Builder outerClass java/lang/Thread innerClassName Builder flags 609 innerclass innerClass java/lang/Thread$Builder$OfVirtual outerClass java/lang/Thread$Builder innerClassName OfVirtual flags 609 innerclass innerClass java/lang/Thread$UncaughtExceptionHandler outerClass java/lang/Thread innerClassName UncaughtExceptionHandler flags 609 +innerclass innerClass java/lang/ThreadBuilders$VirtualThreadBuilder outerClass java/lang/ThreadBuilders innerClassName VirtualThreadBuilder flags 18 -method name allowSetThreadLocals descriptor (Z)Ljava/lang/Thread$Builder$OfVirtual; -method name allowSetThreadLocals descriptor (Z)Ljava/lang/Thread$Builder; +class name java/lang/ThreadBuilders +header extends java/lang/Object nestMembers java/lang/ThreadBuilders$VirtualThreadBuilder,java/lang/ThreadBuilders$PlatformThreadBuilder,java/lang/ThreadBuilders$BaseThreadBuilder flags 20 +innerclass innerClass java/lang/ThreadBuilders$VirtualThreadBuilder outerClass java/lang/ThreadBuilders innerClassName VirtualThreadBuilder flags 18 +innerclass innerClass java/lang/ThreadBuilders$PlatformThreadBuilder outerClass java/lang/ThreadBuilders innerClassName PlatformThreadBuilder flags 18 +innerclass innerClass java/lang/ThreadBuilders$BaseThreadBuilder outerClass java/lang/ThreadBuilders innerClassName BaseThreadBuilder flags a + +class name java/lang/ThreadBuilders$BaseThreadBuilder +header extends java/lang/Object nestHost java/lang/ThreadBuilders flags 20 +innerclass innerClass java/lang/ThreadBuilders$BaseThreadBuilder outerClass java/lang/ThreadBuilders innerClassName BaseThreadBuilder flags a +innerclass innerClass java/lang/Thread$UncaughtExceptionHandler outerClass java/lang/Thread innerClassName UncaughtExceptionHandler flags 609 +-method name name descriptor (Ljava/lang/String;)Ljava/lang/Thread$Builder; +-method name name descriptor (Ljava/lang/String;J)Ljava/lang/Thread$Builder; +-method name allowSetThreadLocals descriptor (Z)Ljava/lang/Thread$Builder; +-method name inheritInheritableThreadLocals descriptor (Z)Ljava/lang/Thread$Builder; +-method name uncaughtExceptionHandler descriptor (Ljava/lang/Thread$UncaughtExceptionHandler;)Ljava/lang/Thread$Builder; + +class name java/lang/ThreadBuilders$PlatformThreadBuilder +header extends java/lang/ThreadBuilders$BaseThreadBuilder implements java/lang/Thread$Builder$OfPlatform nestHost java/lang/ThreadBuilders flags 30 +innerclass innerClass java/lang/ThreadBuilders$BaseThreadBuilder outerClass java/lang/ThreadBuilders innerClassName BaseThreadBuilder flags a +innerclass innerClass java/lang/ThreadBuilders$PlatformThreadBuilder outerClass java/lang/ThreadBuilders innerClassName PlatformThreadBuilder flags 18 +innerclass innerClass java/lang/Thread$UncaughtExceptionHandler outerClass java/lang/Thread innerClassName UncaughtExceptionHandler flags 609 +innerclass innerClass java/lang/Thread$Builder outerClass java/lang/Thread innerClassName Builder flags 609 +innerclass innerClass java/lang/Thread$Builder$OfPlatform outerClass java/lang/Thread$Builder innerClassName OfPlatform flags 609 +-method name uncaughtExceptionHandler descriptor (Ljava/lang/Thread$UncaughtExceptionHandler;)Ljava/lang/Thread$Builder$OfPlatform; +-method name inheritInheritableThreadLocals descriptor (Z)Ljava/lang/Thread$Builder$OfPlatform; +-method name allowSetThreadLocals descriptor (Z)Ljava/lang/Thread$Builder$OfPlatform; +-method name name descriptor (Ljava/lang/String;J)Ljava/lang/Thread$Builder$OfPlatform; +-method name name descriptor (Ljava/lang/String;)Ljava/lang/Thread$Builder$OfPlatform; +method name name descriptor (Ljava/lang/String;)Ljava/lang/Thread$Builder$OfPlatform; flags 1 +method name name descriptor (Ljava/lang/String;J)Ljava/lang/Thread$Builder$OfPlatform; flags 1 +method name inheritInheritableThreadLocals descriptor (Z)Ljava/lang/Thread$Builder$OfPlatform; flags 1 +method name uncaughtExceptionHandler descriptor (Ljava/lang/Thread$UncaughtExceptionHandler;)Ljava/lang/Thread$Builder$OfPlatform; flags 1 +method name uncaughtExceptionHandler descriptor (Ljava/lang/Thread$UncaughtExceptionHandler;)Ljava/lang/Thread$Builder; flags 1041 methodParameters 1000:null +method name inheritInheritableThreadLocals descriptor (Z)Ljava/lang/Thread$Builder; flags 1041 methodParameters 1000:null +method name name descriptor (Ljava/lang/String;J)Ljava/lang/Thread$Builder; flags 1041 methodParameters 1000:null,1000:null +method name name descriptor (Ljava/lang/String;)Ljava/lang/Thread$Builder; flags 1041 methodParameters 1000:null + +class name java/lang/ThreadBuilders$VirtualThreadBuilder +header extends java/lang/ThreadBuilders$BaseThreadBuilder implements java/lang/Thread$Builder$OfVirtual nestHost java/lang/ThreadBuilders flags 30 +innerclass innerClass java/lang/ThreadBuilders$BaseThreadBuilder outerClass java/lang/ThreadBuilders innerClassName BaseThreadBuilder flags a +innerclass innerClass java/lang/ThreadBuilders$VirtualThreadBuilder outerClass java/lang/ThreadBuilders innerClassName VirtualThreadBuilder flags 18 +innerclass innerClass java/lang/Thread$UncaughtExceptionHandler outerClass java/lang/Thread innerClassName UncaughtExceptionHandler flags 609 +innerclass innerClass java/lang/Thread$Builder outerClass java/lang/Thread innerClassName Builder flags 609 +innerclass innerClass java/lang/Thread$Builder$OfVirtual outerClass java/lang/Thread$Builder innerClassName OfVirtual flags 609 +-method name uncaughtExceptionHandler descriptor (Ljava/lang/Thread$UncaughtExceptionHandler;)Ljava/lang/Thread$Builder$OfVirtual; +-method name inheritInheritableThreadLocals descriptor (Z)Ljava/lang/Thread$Builder$OfVirtual; +-method name allowSetThreadLocals descriptor (Z)Ljava/lang/Thread$Builder$OfVirtual; +-method name name descriptor (Ljava/lang/String;J)Ljava/lang/Thread$Builder$OfVirtual; +-method name name descriptor (Ljava/lang/String;)Ljava/lang/Thread$Builder$OfVirtual; +method name name descriptor (Ljava/lang/String;)Ljava/lang/Thread$Builder$OfVirtual; flags 1 +method name name descriptor (Ljava/lang/String;J)Ljava/lang/Thread$Builder$OfVirtual; flags 1 +method name inheritInheritableThreadLocals descriptor (Z)Ljava/lang/Thread$Builder$OfVirtual; flags 1 +method name uncaughtExceptionHandler descriptor (Ljava/lang/Thread$UncaughtExceptionHandler;)Ljava/lang/Thread$Builder$OfVirtual; flags 1 +method name uncaughtExceptionHandler descriptor (Ljava/lang/Thread$UncaughtExceptionHandler;)Ljava/lang/Thread$Builder; flags 1041 methodParameters 1000:null +method name inheritInheritableThreadLocals descriptor (Z)Ljava/lang/Thread$Builder; flags 1041 methodParameters 1000:null +method name name descriptor (Ljava/lang/String;J)Ljava/lang/Thread$Builder; flags 1041 methodParameters 1000:null,1000:null +method name name descriptor (Ljava/lang/String;)Ljava/lang/Thread$Builder; flags 1041 methodParameters 1000:null + class name java/lang/ThreadGroup -method name allowThreadSuspension descriptor (Z)Z @@ -247,16 +306,12 @@ innerclass innerClass java/lang/StackWalker$StackFrame outerClass java/lang/Stac innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 class name java/lang/constant/ClassDesc -header extends java/lang/Object implements java/lang/constant/ConstantDesc,java/lang/invoke/TypeDescriptor$OfField sealed true flags 601 signature Ljava/lang/Object;Ljava/lang/constant/ConstantDesc;Ljava/lang/invoke/TypeDescriptor$OfField; +header extends java/lang/Object implements java/lang/constant/ConstantDesc,java/lang/invoke/TypeDescriptor$OfField sealed true permittedSubclasses java/lang/constant/PrimitiveClassDescImpl,java/lang/constant/ReferenceClassDescImpl flags 601 signature Ljava/lang/Object;Ljava/lang/constant/ConstantDesc;Ljava/lang/invoke/TypeDescriptor$OfField; innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 innerclass innerClass java/lang/invoke/TypeDescriptor$OfField outerClass java/lang/invoke/TypeDescriptor innerClassName OfField flags 609 method name resolveConstantDesc descriptor (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/Class; thrownTypes java/lang/ReflectiveOperationException flags 401 signature (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/Class<*>; method name resolveConstantDesc descriptor (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/Object; thrownTypes java/lang/ReflectiveOperationException flags 1041 methodParameters 3e8:null -class name java/lang/constant/ConstantDesc -header extends java/lang/Object sealed true flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/lang/constant/ConstantDescs field name BSM_CLASS_DATA descriptor Ljava/lang/constant/DirectMethodHandleDesc; flags 19 field name BSM_CLASS_DATA_AT descriptor Ljava/lang/constant/DirectMethodHandleDesc; flags 19 @@ -264,19 +319,15 @@ field name INIT_NAME descriptor Ljava/lang/String; constantValue flags 19 field name CLASS_INIT_NAME descriptor Ljava/lang/String; constantValue flags 19 field name MTD_void descriptor Ljava/lang/constant/MethodTypeDesc; flags 19 -class name java/lang/constant/DirectMethodHandleDesc -header extends java/lang/Object implements java/lang/constant/MethodHandleDesc nestMembers java/lang/constant/DirectMethodHandleDesc$Kind sealed true flags 601 -innerclass innerClass java/lang/constant/DirectMethodHandleDesc$Kind outerClass java/lang/constant/DirectMethodHandleDesc innerClassName Kind flags 4019 - class name java/lang/constant/MethodHandleDesc -header extends java/lang/Object implements java/lang/constant/ConstantDesc sealed true flags 601 +header extends java/lang/Object implements java/lang/constant/ConstantDesc sealed true permittedSubclasses java/lang/constant/AsTypeMethodHandleDesc,java/lang/constant/DirectMethodHandleDesc flags 601 innerclass innerClass java/lang/constant/DirectMethodHandleDesc$Kind outerClass java/lang/constant/DirectMethodHandleDesc innerClassName Kind flags 4019 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 method name resolveConstantDesc descriptor (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/invoke/MethodHandle; thrownTypes java/lang/ReflectiveOperationException flags 401 method name resolveConstantDesc descriptor (Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/Object; thrownTypes java/lang/ReflectiveOperationException flags 1041 methodParameters 3e8:null class name java/lang/constant/MethodTypeDesc -header extends java/lang/Object implements java/lang/constant/ConstantDesc,java/lang/invoke/TypeDescriptor$OfMethod sealed true flags 601 signature Ljava/lang/Object;Ljava/lang/constant/ConstantDesc;Ljava/lang/invoke/TypeDescriptor$OfMethod; +header extends java/lang/Object implements java/lang/constant/ConstantDesc,java/lang/invoke/TypeDescriptor$OfMethod sealed true permittedSubclasses java/lang/constant/MethodTypeDescImpl flags 601 signature Ljava/lang/Object;Ljava/lang/constant/ConstantDesc;Ljava/lang/invoke/TypeDescriptor$OfMethod; innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 innerclass innerClass java/lang/invoke/TypeDescriptor$OfMethod outerClass java/lang/invoke/TypeDescriptor innerClassName OfMethod flags 609 innerclass innerClass java/lang/invoke/TypeDescriptor$OfField outerClass java/lang/invoke/TypeDescriptor innerClassName OfField flags 609 @@ -287,22 +338,44 @@ method name of descriptor (Ljava/lang/constant/ClassDesc;)Ljava/lang/constant/Me method name of descriptor (Ljava/lang/constant/ClassDesc;Ljava/util/List;)Ljava/lang/constant/MethodTypeDesc; flags 9 signature (Ljava/lang/constant/ClassDesc;Ljava/util/List;)Ljava/lang/constant/MethodTypeDesc; method name descriptorString descriptor ()Ljava/lang/String; flags 401 +class name java/lang/constant/MethodTypeDescImpl +method name descriptorString descriptor ()Ljava/lang/String; flags 1 + class name java/lang/constant/ModuleDesc -header extends java/lang/Object sealed true flags 601 +header extends java/lang/Object sealed true permittedSubclasses java/lang/constant/ModuleDescImpl flags 601 method name of descriptor (Ljava/lang/String;)Ljava/lang/constant/ModuleDesc; flags 9 method name name descriptor ()Ljava/lang/String; flags 401 method name equals descriptor (Ljava/lang/Object;)Z flags 401 +class name java/lang/constant/ModuleDescImpl +header extends java/lang/Record implements java/lang/constant/ModuleDesc record true flags 30 +recordcomponent name name descriptor Ljava/lang/String; +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name toString descriptor ()Ljava/lang/String; flags 1 +method name hashCode descriptor ()I flags 11 +method name equals descriptor (Ljava/lang/Object;)Z flags 11 +method name name descriptor ()Ljava/lang/String; flags 1 + class name java/lang/constant/PackageDesc -header extends java/lang/Object sealed true flags 601 +header extends java/lang/Object sealed true permittedSubclasses java/lang/constant/PackageDescImpl flags 601 method name of descriptor (Ljava/lang/String;)Ljava/lang/constant/PackageDesc; flags 9 method name ofInternalName descriptor (Ljava/lang/String;)Ljava/lang/constant/PackageDesc; flags 9 method name internalName descriptor ()Ljava/lang/String; flags 401 method name name descriptor ()Ljava/lang/String; flags 1 method name equals descriptor (Ljava/lang/Object;)Z flags 401 +class name java/lang/constant/PackageDescImpl +header extends java/lang/Record implements java/lang/constant/PackageDesc record true flags 30 +recordcomponent name internalName descriptor Ljava/lang/String; +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name toString descriptor ()Ljava/lang/String; flags 1 +method name hashCode descriptor ()I flags 11 +method name equals descriptor (Ljava/lang/Object;)Z flags 11 +method name internalName descriptor ()Ljava/lang/String; flags 1 + class name java/lang/foreign/AddressLayout -header extends java/lang/Object implements java/lang/foreign/ValueLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object implements java/lang/foreign/ValueLayout sealed true permittedSubclasses jdk/internal/foreign/layout/ValueLayouts$OfAddressImpl flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfAddressImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfAddressImpl flags 19 method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/AddressLayout; flags 401 method name withoutName descriptor ()Ljava/lang/foreign/AddressLayout; flags 401 method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/AddressLayout; flags 401 @@ -331,11 +404,7 @@ method name ofConfined descriptor ()Ljava/lang/foreign/Arena; flags 9 method name ofShared descriptor ()Ljava/lang/foreign/Arena; flags 9 method name scope descriptor ()Ljava/lang/foreign/MemorySegment$Scope; flags 401 -class name java/lang/foreign/FunctionDescriptor -header extends java/lang/Object sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) - class name java/lang/foreign/GroupLayout -header extends java/lang/Object implements java/lang/foreign/MemoryLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) -method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/GroupLayout; method name withoutName descriptor ()Ljava/lang/foreign/GroupLayout; flags 401 @@ -344,7 +413,7 @@ method name withByteAlignment descriptor (J)Ljava/lang/foreign/GroupLayout; flag method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 methodParameters 1000:null class name java/lang/foreign/Linker -header extends java/lang/Object nestMembers java/lang/foreign/Linker$Option sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object nestMembers java/lang/foreign/Linker$Option sealed true permittedSubclasses jdk/internal/foreign/abi/AbstractLinker flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) innerclass innerClass java/lang/foreign/Linker$Option outerClass java/lang/foreign/Linker innerClassName Option flags 609 -method name nativeLinker descriptor ()Ljava/lang/foreign/Linker; -method name downcallHandle descriptor (Ljava/lang/foreign/MemorySegment;Ljava/lang/foreign/FunctionDescriptor;[Ljava/lang/foreign/Linker$Option;)Ljava/lang/invoke/MethodHandle; @@ -356,8 +425,12 @@ method name downcallHandle descriptor (Ljava/lang/foreign/FunctionDescriptor;[Lj method name upcallStub descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/Arena;[Ljava/lang/foreign/Linker$Option;)Ljava/lang/foreign/MemorySegment; flags 481 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; class name java/lang/foreign/Linker$Option -header extends java/lang/Object nestHost java/lang/foreign/Linker sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object nestHost java/lang/foreign/Linker sealed true permittedSubclasses jdk/internal/foreign/abi/LinkerOptions$LinkerOptionImpl flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$FirstVariadicArg outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName FirstVariadicArg flags 19 +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$CaptureCallState outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName CaptureCallState flags 19 +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$IsTrivial outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName IsTrivial flags 19 innerclass innerClass java/lang/foreign/Linker$Option outerClass java/lang/foreign/Linker innerClassName Option flags 609 +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$LinkerOptionImpl outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName LinkerOptionImpl flags 609 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -method name captureCallState descriptor ([Ljava/lang/String;)Ljava/lang/foreign/Linker$Option$CaptureCallState; method name captureCallState descriptor ([Ljava/lang/String;)Ljava/lang/foreign/Linker$Option; flags 89 @@ -367,7 +440,8 @@ method name isTrivial descriptor ()Ljava/lang/foreign/Linker$Option; flags 9 -class name java/lang/foreign/Linker$Option$CaptureCallState class name java/lang/foreign/MemoryLayout -header extends java/lang/Object nestMembers java/lang/foreign/MemoryLayout$PathElement sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object nestMembers java/lang/foreign/MemoryLayout$PathElement sealed true permittedSubclasses java/lang/foreign/SequenceLayout,java/lang/foreign/GroupLayout,java/lang/foreign/PaddingLayout,java/lang/foreign/ValueLayout flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +innerclass innerClass jdk/internal/foreign/LayoutPath$PathElementImpl outerClass jdk/internal/foreign/LayoutPath innerClassName PathElementImpl flags 19 innerclass innerClass java/lang/foreign/MemoryLayout$PathElement outerClass java/lang/foreign/MemoryLayout innerClassName PathElement flags 609 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -method name bitSize descriptor ()J @@ -382,15 +456,28 @@ method name byteAlignment descriptor ()J flags 401 method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 401 class name java/lang/foreign/MemoryLayout$PathElement -header extends java/lang/Object nestHost java/lang/foreign/MemoryLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) -innerclass innerClass java/lang/foreign/MemoryLayout$PathElement outerClass java/lang/foreign/MemoryLayout innerClassName PathElement flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 method name groupElement descriptor (J)Ljava/lang/foreign/MemoryLayout$PathElement; flags 9 method name dereferenceElement descriptor ()Ljava/lang/foreign/MemoryLayout$PathElement; flags 9 class name java/lang/foreign/MemorySegment -header extends java/lang/Object nestMembers java/lang/foreign/MemorySegment$Scope sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object nestMembers java/lang/foreign/MemorySegment$Scope sealed true permittedSubclasses jdk/internal/foreign/AbstractMemorySegmentImpl flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfChar outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfChar flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfShort outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfShort flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfInt outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfInt flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfFloat outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfFloat flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfLong outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfLong flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfDouble outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfDouble flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfByte outerClass java/lang/foreign/ValueLayout innerClassName OfByte flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfByteImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfByteImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfBooleanImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfBooleanImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfCharImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfCharImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfShortImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfShortImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfIntImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfIntImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfFloatImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfFloatImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfLongImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfLongImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfDoubleImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfDoubleImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfAddressImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfAddressImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfBoolean outerClass java/lang/foreign/ValueLayout innerClassName OfBoolean flags 609 innerclass innerClass java/lang/foreign/ValueLayout$OfChar outerClass java/lang/foreign/ValueLayout innerClassName OfChar flags 609 innerclass innerClass java/lang/foreign/ValueLayout$OfShort outerClass java/lang/foreign/ValueLayout innerClassName OfShort flags 609 @@ -431,16 +518,15 @@ method name getAtIndex descriptor (Ljava/lang/foreign/AddressLayout;J)Ljava/lang method name setAtIndex descriptor (Ljava/lang/foreign/AddressLayout;JLjava/lang/foreign/MemorySegment;)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; class name java/lang/foreign/MemorySegment$Scope -header extends java/lang/Object nestHost java/lang/foreign/MemorySegment sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object nestHost java/lang/foreign/MemorySegment sealed true permittedSubclasses jdk/internal/foreign/MemorySessionImpl flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) innerclass innerClass java/lang/foreign/MemorySegment$Scope outerClass java/lang/foreign/MemorySegment innerClassName Scope flags 609 method name isAlive descriptor ()Z flags 401 method name equals descriptor (Ljava/lang/Object;)Z flags 401 method name hashCode descriptor ()I flags 401 class name java/lang/foreign/PaddingLayout -header extends java/lang/Object implements java/lang/foreign/MemoryLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) --method name withBitAlignment descriptor (J)Ljava/lang/foreign/PaddingLayout; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/PaddingLayout; method name withoutName descriptor ()Ljava/lang/foreign/PaddingLayout; flags 401 method name withoutName descriptor ()Ljava/lang/foreign/MemoryLayout; flags 1041 method name withByteAlignment descriptor (J)Ljava/lang/foreign/PaddingLayout; flags 401 @@ -464,7 +550,6 @@ method name allocate descriptor (Ljava/lang/foreign/AddressLayout;Ljava/lang/for -class name java/lang/foreign/SegmentScope class name java/lang/foreign/SequenceLayout -header extends java/lang/Object implements java/lang/foreign/MemoryLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) -method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/SequenceLayout; method name withoutName descriptor ()Ljava/lang/foreign/MemoryLayout; flags 401 @@ -472,7 +557,6 @@ method name withByteAlignment descriptor (J)Ljava/lang/foreign/SequenceLayout; f method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 methodParameters 1000:null class name java/lang/foreign/StructLayout -header extends java/lang/Object implements java/lang/foreign/GroupLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) -method name withBitAlignment descriptor (J)Ljava/lang/foreign/StructLayout; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/GroupLayout; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; @@ -491,7 +575,6 @@ method name libraryLookup descriptor (Ljava/nio/file/Path;Ljava/lang/foreign/Are method name or descriptor (Ljava/lang/foreign/SymbolLookup;)Ljava/lang/foreign/SymbolLookup; flags 1 class name java/lang/foreign/UnionLayout -header extends java/lang/Object implements java/lang/foreign/GroupLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) -method name withBitAlignment descriptor (J)Ljava/lang/foreign/UnionLayout; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/GroupLayout; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; @@ -507,14 +590,23 @@ method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; fla -class name java/lang/foreign/VaList$Builder class name java/lang/foreign/ValueLayout -header extends java/lang/Object implements java/lang/foreign/MemoryLayout nestMembers java/lang/foreign/ValueLayout$OfDouble,java/lang/foreign/ValueLayout$OfLong,java/lang/foreign/ValueLayout$OfFloat,java/lang/foreign/ValueLayout$OfInt,java/lang/foreign/ValueLayout$OfShort,java/lang/foreign/ValueLayout$OfChar,java/lang/foreign/ValueLayout$OfByte,java/lang/foreign/ValueLayout$OfBoolean sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +header extends java/lang/Object implements java/lang/foreign/MemoryLayout nestMembers java/lang/foreign/ValueLayout$OfDouble,java/lang/foreign/ValueLayout$OfLong,java/lang/foreign/ValueLayout$OfFloat,java/lang/foreign/ValueLayout$OfInt,java/lang/foreign/ValueLayout$OfShort,java/lang/foreign/ValueLayout$OfChar,java/lang/foreign/ValueLayout$OfByte,java/lang/foreign/ValueLayout$OfBoolean sealed true permittedSubclasses java/lang/foreign/ValueLayout$OfBoolean,java/lang/foreign/ValueLayout$OfByte,java/lang/foreign/ValueLayout$OfChar,java/lang/foreign/ValueLayout$OfShort,java/lang/foreign/ValueLayout$OfInt,java/lang/foreign/ValueLayout$OfFloat,java/lang/foreign/ValueLayout$OfLong,java/lang/foreign/ValueLayout$OfDouble,java/lang/foreign/AddressLayout flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfAddressImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfAddressImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfByteImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfByteImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfByte outerClass java/lang/foreign/ValueLayout innerClassName OfByte flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfBooleanImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfBooleanImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfBoolean outerClass java/lang/foreign/ValueLayout innerClassName OfBoolean flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfCharImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfCharImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfChar outerClass java/lang/foreign/ValueLayout innerClassName OfChar flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfShortImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfShortImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfShort outerClass java/lang/foreign/ValueLayout innerClassName OfShort flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfIntImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfIntImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfLongImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfLongImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfFloatImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfFloatImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfFloat outerClass java/lang/foreign/ValueLayout innerClassName OfFloat flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfDoubleImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfDoubleImpl flags 19 innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 609 -field name ADDRESS descriptor Ljava/lang/foreign/ValueLayout$OfAddress; -field name ADDRESS_UNALIGNED descriptor Ljava/lang/foreign/ValueLayout$OfAddress; @@ -530,8 +622,6 @@ method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; fla -class name java/lang/foreign/ValueLayout$OfAddress class name java/lang/foreign/ValueLayout$OfBoolean -header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) -innerclass innerClass java/lang/foreign/ValueLayout$OfBoolean outerClass java/lang/foreign/ValueLayout innerClassName OfBoolean flags 609 -method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfBoolean; @@ -543,8 +633,6 @@ method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flag method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 methodParameters 1000:null class name java/lang/foreign/ValueLayout$OfByte -header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) -innerclass innerClass java/lang/foreign/ValueLayout$OfByte outerClass java/lang/foreign/ValueLayout innerClassName OfByte flags 609 -method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfByte; @@ -556,8 +644,6 @@ method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flag method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 methodParameters 1000:null class name java/lang/foreign/ValueLayout$OfChar -header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) -innerclass innerClass java/lang/foreign/ValueLayout$OfChar outerClass java/lang/foreign/ValueLayout innerClassName OfChar flags 609 -method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfChar; @@ -569,8 +655,6 @@ method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flag method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 methodParameters 1000:null class name java/lang/foreign/ValueLayout$OfDouble -header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) -innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 609 -method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfDouble; @@ -582,8 +666,6 @@ method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flag method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 methodParameters 1000:null class name java/lang/foreign/ValueLayout$OfFloat -header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) -innerclass innerClass java/lang/foreign/ValueLayout$OfFloat outerClass java/lang/foreign/ValueLayout innerClassName OfFloat flags 609 -method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfFloat; @@ -595,8 +677,6 @@ method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flag method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 methodParameters 1000:null class name java/lang/foreign/ValueLayout$OfInt -header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) -innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 -method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfInt; @@ -608,8 +688,6 @@ method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flag method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 methodParameters 1000:null class name java/lang/foreign/ValueLayout$OfLong -header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) -innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 -method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfLong; @@ -621,8 +699,6 @@ method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flag method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 methodParameters 1000:null class name java/lang/foreign/ValueLayout$OfShort -header extends java/lang/Object implements java/lang/foreign/ValueLayout nestHost java/lang/foreign/ValueLayout sealed true flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) -innerclass innerClass java/lang/foreign/ValueLayout$OfShort outerClass java/lang/foreign/ValueLayout innerClassName OfShort flags 609 -method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; -method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfShort; @@ -633,21 +709,10 @@ method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfSho method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flags 1041 methodParameters 1000:null method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 methodParameters 1000:null -class name java/lang/invoke/CallSite -header extends java/lang/Object sealed true flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/invoke/LambdaMetafactory -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/invoke/MethodHandle -header extends java/lang/Object implements java/lang/constant/Constable sealed true flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -innerclass innerClass java/lang/constant/DirectMethodHandleDesc$Kind outerClass java/lang/constant/DirectMethodHandleDesc innerClassName Kind flags 4019 - -class name java/lang/invoke/MethodHandleProxies -header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) +class name java/lang/invoke/IndirectVarHandle +-method name varType descriptor ()Ljava/lang/Class; +-method name coordinateTypes descriptor ()Ljava/util/List; +method name isAccessModeSupported descriptor (Ljava/lang/invoke/VarHandle$AccessMode;)Z flags 1 class name java/lang/invoke/MethodHandles$Lookup -method name accessClass descriptor (Ljava/lang/Class;)Ljava/lang/Class; @@ -655,9 +720,6 @@ class name java/lang/invoke/MethodHandles$Lookup method name ensureInitialized descriptor (Ljava/lang/Class;)Ljava/lang/Class; thrownTypes java/lang/IllegalAccessException flags 1 signature (Ljava/lang/Class;)Ljava/lang/Class; method name accessClass descriptor (Ljava/lang/Class;)Ljava/lang/Class; thrownTypes java/lang/IllegalAccessException flags 1 signature (Ljava/lang/Class;)Ljava/lang/Class; -class name java/lang/invoke/StringConcatException -header extends java/lang/Exception flags 21 - class name java/lang/invoke/StringConcatFactory field name MAX_INDY_CONCAT_ARG_SLOTS descriptor I flags 19 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;STRING_TEMPLATES;) method name makeConcatWithTemplate descriptor (Ljava/util/List;Ljava/util/List;)Ljava/lang/invoke/MethodHandle; thrownTypes java/lang/invoke/StringConcatException flags 9 signature (Ljava/util/List;Ljava/util/List;>;)Ljava/lang/invoke/MethodHandle; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;STRING_TEMPLATES;) @@ -665,56 +727,48 @@ method name makeConcatWithTemplateCluster descriptor (Ljava/util/List;Ljava/util method name makeConcatWithTemplateGetters descriptor (Ljava/util/List;Ljava/util/List;I)Ljava/lang/invoke/MethodHandle; thrownTypes java/lang/invoke/StringConcatException flags 9 signature (Ljava/util/List;Ljava/util/List;I)Ljava/lang/invoke/MethodHandle; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;STRING_TEMPLATES;) class name java/lang/invoke/VarHandle -header extends java/lang/Object implements java/lang/constant/Constable nestMembers java/lang/invoke/VarHandle$VarHandleDesc,java/lang/invoke/VarHandle$AccessMode sealed true flags 421 -innerclass innerClass java/lang/invoke/VarHandle$AccessMode outerClass java/lang/invoke/VarHandle innerClassName AccessMode flags 4019 -innerclass innerClass java/lang/invoke/VarHandle$VarHandleDesc outerClass java/lang/invoke/VarHandle innerClassName VarHandleDesc flags 19 -method name isAccessModeSupported descriptor (Ljava/lang/invoke/VarHandle$AccessMode;)Z method name isAccessModeSupported descriptor (Ljava/lang/invoke/VarHandle$AccessMode;)Z flags 1 -class name java/lang/module/Configuration -header extends java/lang/Object flags 31 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +class name java/lang/invoke/VarHandleBooleans$FieldStaticReadOnly +-method name descriptor (Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V +method name descriptor (Ljava/lang/Class;Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V flags 4 signature (Ljava/lang/Class<*>;Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V -class name java/lang/module/FindException -header extends java/lang/RuntimeException flags 21 +class name java/lang/invoke/VarHandleBytes$FieldStaticReadOnly +-method name descriptor (Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V +method name descriptor (Ljava/lang/Class;Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V flags 4 signature (Ljava/lang/Class<*>;Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V -class name java/lang/module/InvalidModuleDescriptorException -header extends java/lang/RuntimeException flags 21 +class name java/lang/invoke/VarHandleChars$FieldStaticReadOnly +-method name descriptor (Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V +method name descriptor (Ljava/lang/Class;Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V flags 4 signature (Ljava/lang/Class<*>;Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V -class name java/lang/module/ModuleReader -header extends java/lang/Object implements java/io/Closeable flags 601 +class name java/lang/invoke/VarHandleDoubles$FieldStaticReadOnly +-method name descriptor (Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V +method name descriptor (Ljava/lang/Class;Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V flags 4 signature (Ljava/lang/Class<*>;Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V -class name java/lang/module/ModuleReference -header extends java/lang/Object flags 421 +class name java/lang/invoke/VarHandleFloats$FieldStaticReadOnly +-method name descriptor (Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V +method name descriptor (Ljava/lang/Class;Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V flags 4 signature (Ljava/lang/Class<*>;Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V -class name java/lang/module/ResolutionException -header extends java/lang/RuntimeException flags 21 +class name java/lang/invoke/VarHandleInts$FieldStaticReadOnly +-method name descriptor (Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V +method name descriptor (Ljava/lang/Class;Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V flags 4 signature (Ljava/lang/Class<*>;Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V -class name java/lang/module/ResolvedModule -header extends java/lang/Object flags 31 +class name java/lang/invoke/VarHandleLongs$FieldStaticReadOnly +-method name descriptor (Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V +method name descriptor (Ljava/lang/Class;Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V flags 4 signature (Ljava/lang/Class<*>;Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V -class name java/lang/ref/Reference -header extends java/lang/Object sealed true flags 421 signature Ljava/lang/Object; +class name java/lang/invoke/VarHandleReferences$FieldStaticReadOnly +-method name descriptor (Ljava/lang/Object;JLjava/lang/Class;Ljava/lang/invoke/VarForm;Z)V +method name descriptor (Ljava/lang/Class;Ljava/lang/Object;JLjava/lang/Class;Ljava/lang/invoke/VarForm;Z)V flags 4 signature (Ljava/lang/Class<*>;Ljava/lang/Object;JLjava/lang/Class<*>;Ljava/lang/invoke/VarForm;Z)V -class name java/lang/reflect/AccessibleObject -header extends java/lang/Object implements java/lang/reflect/AnnotatedElement flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) - -class name java/lang/reflect/AnnotatedElement -header extends java/lang/Object flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +class name java/lang/invoke/VarHandleShorts$FieldStaticReadOnly +-method name descriptor (Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V +method name descriptor (Ljava/lang/Class;Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V flags 4 signature (Ljava/lang/Class<*>;Ljava/lang/Object;JLjava/lang/invoke/VarForm;Z)V class name java/lang/reflect/ClassFileFormatVersion field name RELEASE_21 descriptor Ljava/lang/reflect/ClassFileFormatVersion; flags 4019 -class name java/lang/reflect/Executable -header extends java/lang/reflect/AccessibleObject implements java/lang/reflect/Member,java/lang/reflect/GenericDeclaration sealed true flags 421 -innerclass innerClass java/lang/reflect/AccessFlag$Location outerClass java/lang/reflect/AccessFlag innerClassName Location flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/reflect/InaccessibleObjectException -header extends java/lang/RuntimeException flags 21 - class name java/lang/runtime/SwitchBootstraps header extends java/lang/Object flags 21 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 @@ -733,17 +787,6 @@ class name java/net/Authenticator header extends java/lang/Object nestMembers java/net/Authenticator$RequestorType flags 421 innerclass innerClass java/net/Authenticator$RequestorType outerClass java/net/Authenticator innerClassName RequestorType flags 4019 -class name java/net/DatagramSocket -header extends java/lang/Object implements java/io/Closeable flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) - -class name java/net/InetAddress -header extends java/lang/Object implements java/io/Serializable sealed true flags 21 -innerclass innerClass java/net/spi/InetAddressResolver$LookupPolicy outerClass java/net/spi/InetAddressResolver innerClassName LookupPolicy flags 19 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/net/spi/InetAddressResolverProvider$Configuration outerClass java/net/spi/InetAddressResolverProvider innerClassName Configuration flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/net/Socket -method name setSoTimeout descriptor (I)V -method name getSoTimeout descriptor ()I @@ -760,139 +803,50 @@ method name setReceiveBufferSize descriptor (I)V thrownTypes java/net/SocketExce method name getReceiveBufferSize descriptor ()I thrownTypes java/net/SocketException flags 1 method name close descriptor ()V thrownTypes java/io/IOException flags 1 -class name java/net/SocketImpl -header extends java/lang/Object implements java/net/SocketOptions flags 421 - -class name java/net/spi/InetAddressResolverProvider$Configuration -header extends java/lang/Object nestHost java/net/spi/InetAddressResolverProvider sealed true flags 601 -innerclass innerClass java/net/spi/InetAddressResolverProvider$Configuration outerClass java/net/spi/InetAddressResolverProvider innerClassName Configuration flags 609 - -class name java/net/spi/URLStreamHandlerProvider -header extends java/lang/Object implements java/net/URLStreamHandlerFactory flags 421 - -class name java/nio/Buffer -header extends java/lang/Object sealed true flags 421 - -class name java/nio/ByteBuffer -header extends java/nio/Buffer implements java/lang/Comparable sealed true flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; - -class name java/nio/CharBuffer -header extends java/nio/Buffer implements java/lang/Comparable,java/lang/Appendable,java/lang/CharSequence,java/lang/Readable sealed true flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable;Ljava/lang/Appendable;Ljava/lang/CharSequence;Ljava/lang/Readable; -innerclass innerClass java/util/Spliterator$OfInt outerClass java/util/Spliterator innerClassName OfInt flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/nio/DoubleBuffer -header extends java/nio/Buffer implements java/lang/Comparable sealed true flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; - -class name java/nio/FloatBuffer -header extends java/nio/Buffer implements java/lang/Comparable sealed true flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; - -class name java/nio/IntBuffer -header extends java/nio/Buffer implements java/lang/Comparable sealed true flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; - -class name java/nio/LongBuffer -header extends java/nio/Buffer implements java/lang/Comparable sealed true flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; - -class name java/nio/MappedByteBuffer -header extends java/nio/ByteBuffer sealed true flags 421 - -class name java/nio/ShortBuffer -header extends java/nio/Buffer implements java/lang/Comparable sealed true flags 421 signature Ljava/nio/Buffer;Ljava/lang/Comparable; +class name java/nio/DirectCharBufferRS +method name append descriptor (Ljava/lang/CharSequence;)Ljava/nio/CharBuffer; flags 1 +method name append descriptor (Ljava/lang/CharSequence;II)Ljava/nio/CharBuffer; flags 1 +method name append descriptor (Ljava/lang/CharSequence;II)Ljava/lang/Appendable; thrownTypes java/io/IOException flags 1041 methodParameters 1000:null,1000:null,1000:null +method name append descriptor (Ljava/lang/CharSequence;)Ljava/lang/Appendable; thrownTypes java/io/IOException flags 1041 methodParameters 1000:null + +class name java/nio/DirectCharBufferRU +method name append descriptor (Ljava/lang/CharSequence;)Ljava/nio/CharBuffer; flags 1 +method name append descriptor (Ljava/lang/CharSequence;II)Ljava/nio/CharBuffer; flags 1 +method name append descriptor (Ljava/lang/CharSequence;II)Ljava/lang/Appendable; thrownTypes java/io/IOException flags 1041 methodParameters 1000:null,1000:null,1000:null +method name append descriptor (Ljava/lang/CharSequence;)Ljava/lang/Appendable; thrownTypes java/io/IOException flags 1041 methodParameters 1000:null + +class name java/nio/DirectCharBufferS +method name append descriptor (Ljava/lang/CharSequence;)Ljava/nio/CharBuffer; flags 1 +method name append descriptor (Ljava/lang/CharSequence;II)Ljava/nio/CharBuffer; flags 1 +method name append descriptor (Ljava/lang/CharSequence;II)Ljava/lang/Appendable; thrownTypes java/io/IOException flags 1041 methodParameters 1000:null,1000:null,1000:null +method name append descriptor (Ljava/lang/CharSequence;)Ljava/lang/Appendable; thrownTypes java/io/IOException flags 1041 methodParameters 1000:null + +class name java/nio/DirectCharBufferU +method name append descriptor (Ljava/lang/CharSequence;)Ljava/nio/CharBuffer; flags 1 +method name append descriptor (Ljava/lang/CharSequence;II)Ljava/nio/CharBuffer; flags 1 +method name append descriptor (Ljava/lang/CharSequence;II)Ljava/lang/Appendable; thrownTypes java/io/IOException flags 1041 methodParameters 1000:null,1000:null,1000:null +method name append descriptor (Ljava/lang/CharSequence;)Ljava/lang/Appendable; thrownTypes java/io/IOException flags 1041 methodParameters 1000:null + +class name java/nio/HeapCharBuffer +method name append descriptor (Ljava/lang/CharSequence;)Ljava/nio/CharBuffer; flags 1 +method name append descriptor (Ljava/lang/CharSequence;II)Ljava/nio/CharBuffer; flags 1 +method name append descriptor (Ljava/lang/CharSequence;II)Ljava/lang/Appendable; thrownTypes java/io/IOException flags 1041 methodParameters 1000:null,1000:null,1000:null +method name append descriptor (Ljava/lang/CharSequence;)Ljava/lang/Appendable; thrownTypes java/io/IOException flags 1041 methodParameters 1000:null + +class name java/nio/HeapCharBufferR +method name append descriptor (Ljava/lang/CharSequence;)Ljava/nio/CharBuffer; flags 1 +method name append descriptor (Ljava/lang/CharSequence;II)Ljava/nio/CharBuffer; flags 1 +method name append descriptor (Ljava/lang/CharSequence;II)Ljava/lang/Appendable; thrownTypes java/io/IOException flags 1041 methodParameters 1000:null,1000:null,1000:null +method name append descriptor (Ljava/lang/CharSequence;)Ljava/lang/Appendable; thrownTypes java/io/IOException flags 1041 methodParameters 1000:null class name java/nio/channels/FileChannel -method name map descriptor (Ljava/nio/channels/FileChannel$MapMode;JJLjava/lang/foreign/SegmentScope;)Ljava/lang/foreign/MemorySegment; method name map descriptor (Ljava/nio/channels/FileChannel$MapMode;JJLjava/lang/foreign/Arena;)Ljava/lang/foreign/MemorySegment; thrownTypes java/io/IOException flags 1 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;FOREIGN;) -class name java/security/Certificate -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="1.2") - -class name java/security/Identity -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 421 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="1.2") - -class name java/security/SecureRandomParameters -header extends java/lang/Object flags 601 - -class name java/security/SignedObject -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 - class name java/security/cert/CertStore -method name getDefaultType descriptor ()Ljava/lang/String; method name getDefaultType descriptor ()Ljava/lang/String; flags 19 -class name java/security/cert/CertificateRevokedException -header extends java/security/cert/CertificateException flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 - -class name java/security/cert/URICertStoreParameters -header extends java/lang/Object implements java/security/cert/CertStoreParameters flags 31 - -class name java/security/interfaces/RSAKey --method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; -method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1 - -class name java/security/spec/MGF1ParameterSpec --field name SHA512_224 descriptor Ljava/security/spec/MGF1ParameterSpec; --field name SHA512_256 descriptor Ljava/security/spec/MGF1ParameterSpec; -field name SHA512_224 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19 -field name SHA512_256 descriptor Ljava/security/spec/MGF1ParameterSpec; flags 19 - -class name java/security/spec/PSSParameterSpec --field name TRAILER_FIELD_BC descriptor I --method name toString descriptor ()Ljava/lang/String; -field name TRAILER_FIELD_BC descriptor I constantValue 1 flags 19 -method name toString descriptor ()Ljava/lang/String; flags 1 - -class name java/security/spec/RSAKeyGenParameterSpec --method name descriptor (ILjava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V --method name getKeyParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; -method name descriptor (ILjava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1 -method name getKeyParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1 - -class name java/security/spec/RSAMultiPrimePrivateCrtKeySpec --method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;[Ljava/security/spec/RSAOtherPrimeInfo;Ljava/security/spec/AlgorithmParameterSpec;)V -method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;[Ljava/security/spec/RSAOtherPrimeInfo;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1 - -class name java/security/spec/RSAPrivateCrtKeySpec --method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V -method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1 - -class name java/security/spec/RSAPrivateKeySpec --method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V --method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; -method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1 -method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1 - -class name java/security/spec/RSAPublicKeySpec --method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V --method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; -method name descriptor (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/security/spec/AlgorithmParameterSpec;)V flags 1 -method name getParams descriptor ()Ljava/security/spec/AlgorithmParameterSpec; flags 1 - -class name java/text/DateFormatSymbols -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 - -class name java/text/RuleBasedCollator -header extends java/text/Collator flags 21 -innerclass innerClass java/text/Normalizer$Form outerClass java/text/Normalizer innerClassName Form flags 4019 - -class name java/time/ZoneId -header extends java/lang/Object implements java/io/Serializable sealed true flags 421 runtimeAnnotations @Ljdk/internal/ValueBased; -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 - -class name java/time/chrono/ChronoLocalDate -header extends java/lang/Object implements java/time/temporal/Temporal,java/time/temporal/TemporalAdjuster,java/lang/Comparable flags 601 signature Ljava/lang/Object;Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalAdjuster;Ljava/lang/Comparable; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/time/chrono/ChronoLocalDateTime -header extends java/lang/Object implements java/time/temporal/Temporal,java/time/temporal/TemporalAdjuster,java/lang/Comparable flags 601 signature Ljava/lang/Object;Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalAdjuster;Ljava/lang/Comparable;>; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/time/temporal/TemporalAdjusters -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/time/zone/ZoneRulesProvider header extends java/lang/Object flags 421 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 @@ -919,22 +873,11 @@ method name unmodifiableSequencedSet descriptor (Ljava/util/SequencedSet;)Ljava/ method name unmodifiableSequencedMap descriptor (Ljava/util/SequencedMap;)Ljava/util/SequencedMap; flags 9 signature (Ljava/util/SequencedMap<+TK;+TV;>;)Ljava/util/SequencedMap; method name newSequencedSetFromMap descriptor (Ljava/util/SequencedMap;)Ljava/util/SequencedSet; flags 9 signature (Ljava/util/SequencedMap;)Ljava/util/SequencedSet; -class name java/util/Comparator -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/util/Deque header extends java/lang/Object implements java/util/Queue,java/util/SequencedCollection flags 601 signature Ljava/lang/Object;Ljava/util/Queue;Ljava/util/SequencedCollection; method name reversed descriptor ()Ljava/util/Deque; flags 1 signature ()Ljava/util/Deque; method name reversed descriptor ()Ljava/util/SequencedCollection; flags 1041 -class name java/util/DoubleSummaryStatistics -header extends java/lang/Object implements java/util/function/DoubleConsumer flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/EnumSet -header extends java/util/AbstractSet implements java/lang/Cloneable,java/io/Serializable sealed true flags 421 signature ;>Ljava/util/AbstractSet;Ljava/lang/Cloneable;Ljava/io/Serializable; - class name java/util/FormatProcessor header extends java/lang/Object implements java/lang/StringTemplate$Processor,java/lang/StringTemplate$Processor$Linkage flags 31 signature Ljava/lang/Object;Ljava/lang/StringTemplate$Processor;Ljava/lang/StringTemplate$Processor$Linkage; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;STRING_TEMPLATES;) innerclass innerClass java/lang/StringTemplate$Processor outerClass java/lang/StringTemplate innerClassName Processor flags 609 @@ -945,13 +888,6 @@ method name process descriptor (Ljava/lang/StringTemplate;)Ljava/lang/String; fl method name linkage descriptor (Ljava/util/List;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; flags 1 signature (Ljava/util/List;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; method name process descriptor (Ljava/lang/StringTemplate;)Ljava/lang/Object; thrownTypes java/lang/Throwable flags 1041 methodParameters 3e8:null -class name java/util/GregorianCalendar -header extends java/util/Calendar flags 21 -innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 - -class name java/util/IllegalFormatException -header extends java/lang/IllegalArgumentException sealed true flags 21 - class name java/util/LinkedHashMap header extends java/util/HashMap implements java/util/SequencedMap flags 21 signature Ljava/util/HashMap;Ljava/util/SequencedMap; innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 @@ -994,11 +930,6 @@ class name java/util/Locale method name availableLocales descriptor ()Ljava/util/stream/Stream; flags 9 signature ()Ljava/util/stream/Stream; method name caseFoldLanguageTag descriptor (Ljava/lang/String;)Ljava/lang/String; flags 9 -class name java/util/Locale$IsoCountryCode -header extends java/lang/Enum nestHost java/util/Locale sealed true flags 4421 signature Ljava/lang/Enum; -innerclass innerClass java/util/Locale$IsoCountryCode outerClass java/util/Locale innerClassName IsoCountryCode flags 4409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/util/NavigableMap method name reversed descriptor ()Ljava/util/NavigableMap; flags 1 signature ()Ljava/util/NavigableMap; method name reversed descriptor ()Ljava/util/SortedMap; flags 1041 @@ -1012,12 +943,6 @@ method name reversed descriptor ()Ljava/util/SortedSet; flags 1041 method name reversed descriptor ()Ljava/util/SequencedSet; flags 1041 method name reversed descriptor ()Ljava/util/SequencedCollection; flags 1041 -class name java/util/Observable -header extends java/lang/Object flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") - -class name java/util/Observer -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") - class name java/util/SequencedCollection header extends java/lang/Object implements java/util/Collection flags 601 signature Ljava/lang/Object;Ljava/util/Collection; method name reversed descriptor ()Ljava/util/SequencedCollection; flags 401 signature ()Ljava/util/SequencedCollection; @@ -1067,38 +992,19 @@ method name reversed descriptor ()Ljava/util/SortedSet; flags 1 signature ()Ljav method name reversed descriptor ()Ljava/util/SequencedSet; flags 1041 method name reversed descriptor ()Ljava/util/SequencedCollection; flags 1041 -class name java/util/TimeZone -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 -innerclass innerClass java/util/Locale$Category outerClass java/util/Locale innerClassName Category flags 4019 - class name java/util/TreeMap method name putFirst descriptor (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (TK;TV;)TV; method name putLast descriptor (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (TK;TV;)TV; class name java/util/TreeSet -header extends java/util/AbstractSet implements java/util/NavigableSet,java/lang/Cloneable,java/io/Serializable flags 21 signature Ljava/util/AbstractSet;Ljava/util/NavigableSet;Ljava/lang/Cloneable;Ljava/io/Serializable; -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 method name addFirst descriptor (Ljava/lang/Object;)V flags 1 signature (TE;)V method name addLast descriptor (Ljava/lang/Object;)V flags 1 signature (TE;)V -class name java/util/concurrent/ConcurrentHashMap$CollectionView -header extends java/lang/Object implements java/util/Collection,java/io/Serializable nestHost java/util/concurrent/ConcurrentHashMap sealed true flags 420 signature Ljava/lang/Object;Ljava/util/Collection;Ljava/io/Serializable; -innerclass innerClass java/util/concurrent/ConcurrentHashMap$CollectionView outerClass java/util/concurrent/ConcurrentHashMap innerClassName CollectionView flags 408 -innerclass innerClass java/util/concurrent/ConcurrentHashMap$KeySetView outerClass java/util/concurrent/ConcurrentHashMap innerClassName KeySetView flags 19 - -class name java/util/concurrent/ConcurrentMap -header extends java/lang/Object implements java/util/Map flags 601 signature Ljava/lang/Object;Ljava/util/Map; -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/util/concurrent/ConcurrentSkipListMap method name putFirst descriptor (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (TK;TV;)TV; method name putLast descriptor (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (TK;TV;)TV; class name java/util/concurrent/ConcurrentSkipListSet -header extends java/util/AbstractSet implements java/util/NavigableSet,java/lang/Cloneable,java/io/Serializable flags 21 signature Ljava/util/AbstractSet;Ljava/util/NavigableSet;Ljava/lang/Cloneable;Ljava/io/Serializable; -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 method name addFirst descriptor (Ljava/lang/Object;)V flags 1 signature (TE;)V method name addLast descriptor (Ljava/lang/Object;)V flags 1 signature (TE;)V @@ -1112,9 +1018,6 @@ method name removeLast descriptor ()Ljava/lang/Object; flags 1 signature ()TE; method name reversed descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List; method name reversed descriptor ()Ljava/util/SequencedCollection; flags 1041 -class name java/util/concurrent/CountedCompleter -header extends java/util/concurrent/ForkJoinTask flags 421 signature Ljava/util/concurrent/ForkJoinTask; classAnnotations @Ljdk/Profile+Annotation;(value=I1) - class name java/util/concurrent/DelayQueue method name remove descriptor ()Ljava/util/concurrent/Delayed; flags 1 signature ()TE; method name remove descriptor ()Ljava/lang/Object; flags 1041 @@ -1131,11 +1034,12 @@ method name descriptor ()V flags 1 method name descriptor (Ljava/lang/String;)V flags 1 class name java/util/concurrent/StructuredTaskScope -header extends java/lang/Object implements java/lang/AutoCloseable nestMembers java/util/concurrent/StructuredTaskScope$ShutdownOnFailure,java/util/concurrent/StructuredTaskScope$ShutdownOnSuccess,java/util/concurrent/StructuredTaskScope$Subtask,java/util/concurrent/StructuredTaskScope$Subtask$State flags 21 signature Ljava/lang/Object;Ljava/lang/AutoCloseable; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;STRUCTURED_CONCURRENCY;) +header extends java/lang/Object implements java/lang/AutoCloseable nestMembers java/util/concurrent/StructuredTaskScope$ShutdownOnFailure,java/util/concurrent/StructuredTaskScope$ShutdownOnSuccess,java/util/concurrent/StructuredTaskScope$SubtaskImpl,java/util/concurrent/StructuredTaskScope$Subtask,java/util/concurrent/StructuredTaskScope$Subtask$State flags 21 signature Ljava/lang/Object;Ljava/lang/AutoCloseable; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;STRUCTURED_CONCURRENCY;) innerclass innerClass java/lang/Thread$Builder outerClass java/lang/Thread innerClassName Builder flags 609 innerclass innerClass java/lang/Thread$Builder$OfVirtual outerClass java/lang/Thread$Builder innerClassName OfVirtual flags 609 innerclass innerClass java/util/concurrent/StructuredTaskScope$Subtask outerClass java/util/concurrent/StructuredTaskScope innerClassName Subtask flags 609 innerclass innerClass java/util/concurrent/StructuredTaskScope$Subtask$State outerClass java/util/concurrent/StructuredTaskScope$Subtask innerClassName State flags 4019 +innerclass innerClass java/util/concurrent/StructuredTaskScope$SubtaskImpl outerClass java/util/concurrent/StructuredTaskScope innerClassName SubtaskImpl flags 1a innerclass innerClass java/util/concurrent/StructuredTaskScope$ShutdownOnFailure outerClass java/util/concurrent/StructuredTaskScope innerClassName ShutdownOnFailure flags 19 innerclass innerClass java/util/concurrent/StructuredTaskScope$ShutdownOnSuccess outerClass java/util/concurrent/StructuredTaskScope innerClassName ShutdownOnSuccess flags 19 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 @@ -1189,9 +1093,10 @@ method name joinUntil descriptor (Ljava/time/Instant;)Ljava/util/concurrent/Stru method name join descriptor ()Ljava/util/concurrent/StructuredTaskScope; thrownTypes java/lang/InterruptedException flags 1041 class name java/util/concurrent/StructuredTaskScope$Subtask -header extends java/lang/Object implements java/util/function/Supplier nestHost java/util/concurrent/StructuredTaskScope sealed true flags 601 signature Ljava/lang/Object;Ljava/util/function/Supplier; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;STRUCTURED_CONCURRENCY;) +header extends java/lang/Object implements java/util/function/Supplier nestHost java/util/concurrent/StructuredTaskScope sealed true permittedSubclasses java/util/concurrent/StructuredTaskScope$SubtaskImpl flags 601 signature Ljava/lang/Object;Ljava/util/function/Supplier; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;STRUCTURED_CONCURRENCY;) innerclass innerClass java/util/concurrent/StructuredTaskScope$Subtask outerClass java/util/concurrent/StructuredTaskScope innerClassName Subtask flags 609 innerclass innerClass java/util/concurrent/StructuredTaskScope$Subtask$State outerClass java/util/concurrent/StructuredTaskScope$Subtask innerClassName State flags 4019 +innerclass innerClass java/util/concurrent/StructuredTaskScope$SubtaskImpl outerClass java/util/concurrent/StructuredTaskScope innerClassName SubtaskImpl flags 1a method name task descriptor ()Ljava/util/concurrent/Callable; flags 401 signature ()Ljava/util/concurrent/Callable<+TT;>; method name state descriptor ()Ljava/util/concurrent/StructuredTaskScope$Subtask$State; flags 401 method name get descriptor ()Ljava/lang/Object; flags 401 signature ()TT; @@ -1207,159 +1112,26 @@ field name FAILED descriptor Ljava/util/concurrent/StructuredTaskScope$Subtask$S method name values descriptor ()[Ljava/util/concurrent/StructuredTaskScope$Subtask$State; flags 9 method name valueOf descriptor (Ljava/lang/String;)Ljava/util/concurrent/StructuredTaskScope$Subtask$State; flags 9 methodParameters 8000:null -class name java/util/concurrent/atomic/AtomicBoolean -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/concurrent/atomic/AtomicReference -header extends java/lang/Object implements java/io/Serializable flags 21 signature Ljava/lang/Object;Ljava/io/Serializable; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/concurrent/atomic/AtomicReferenceArray -header extends java/lang/Object implements java/io/Serializable flags 21 signature Ljava/lang/Object;Ljava/io/Serializable; -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/concurrent/locks/StampedLock -header extends java/lang/Object implements java/io/Serializable flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1) --method name tryWriteLock descriptor ()J --method name writeLockInterruptibly descriptor ()J --method name tryReadLock descriptor ()J --method name tryReadLock descriptor (JLjava/util/concurrent/TimeUnit;)J --method name readLockInterruptibly descriptor ()J --method name unlock descriptor (J)V -method name tryWriteLock descriptor ()J flags 1 -method name writeLockInterruptibly descriptor ()J thrownTypes java/lang/InterruptedException flags 1 -method name tryReadLock descriptor ()J flags 1 -method name tryReadLock descriptor (JLjava/util/concurrent/TimeUnit;)J thrownTypes java/lang/InterruptedException flags 1 -method name readLockInterruptibly descriptor ()J thrownTypes java/lang/InterruptedException flags 1 -method name unlock descriptor (J)V flags 1 - -class name java/util/function/BiConsumer -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/BiFunction -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/BiPredicate -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/BinaryOperator -header extends java/lang/Object implements java/util/function/BiFunction flags 601 signature Ljava/lang/Object;Ljava/util/function/BiFunction; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/Consumer -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/DoubleConsumer -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/DoublePredicate -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/DoubleUnaryOperator -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/Function -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/IntConsumer -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/IntPredicate -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/IntUnaryOperator -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/LongConsumer -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/LongPredicate -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/LongUnaryOperator -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/Predicate -header extends java/lang/Object flags 601 signature Ljava/lang/Object; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/function/UnaryOperator -header extends java/lang/Object implements java/util/function/Function flags 601 signature Ljava/lang/Object;Ljava/util/function/Function; runtimeAnnotations @Ljava/lang/FunctionalInterface; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +class name java/util/concurrent/StructuredTaskScope$SubtaskImpl +header extends java/lang/Object implements java/util/concurrent/StructuredTaskScope$Subtask,java/lang/Runnable nestHost java/util/concurrent/StructuredTaskScope flags 30 signature Ljava/lang/Object;Ljava/util/concurrent/StructuredTaskScope$Subtask;Ljava/lang/Runnable; +innerclass innerClass java/util/concurrent/StructuredTaskScope$SubtaskImpl outerClass java/util/concurrent/StructuredTaskScope innerClassName SubtaskImpl flags 1a +innerclass innerClass java/util/concurrent/StructuredTaskScope$Subtask outerClass java/util/concurrent/StructuredTaskScope innerClassName Subtask flags 609 +innerclass innerClass java/util/concurrent/StructuredTaskScope$Subtask$State outerClass java/util/concurrent/StructuredTaskScope$Subtask innerClassName State flags 4019 +method name run descriptor ()V flags 1 +method name task descriptor ()Ljava/util/concurrent/Callable; flags 1 signature ()Ljava/util/concurrent/Callable<+TT;>; +method name state descriptor ()Ljava/util/concurrent/StructuredTaskScope$Subtask$State; flags 1 +method name get descriptor ()Ljava/lang/Object; flags 1 signature ()TT; +method name exception descriptor ()Ljava/lang/Throwable; flags 1 +method name toString descriptor ()Ljava/lang/String; flags 1 class name java/util/regex/Pattern method name splitWithDelimiters descriptor (Ljava/lang/CharSequence;I)[Ljava/lang/String; flags 1 -class name java/util/spi/AbstractResourceBundleProvider -header extends java/lang/Object implements java/util/spi/ResourceBundleProvider flags 421 -innerclass innerClass java/util/ResourceBundle$Control outerClass java/util/ResourceBundle innerClassName Control flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/spi/CurrencyNameProvider -header extends java/util/spi/LocaleServiceProvider flags 421 -innerclass innerClass java/util/ResourceBundle$Control outerClass java/util/ResourceBundle innerClassName Control flags 9 - -class name java/util/spi/ResourceBundleProvider -header extends java/lang/Object flags 601 - -class name java/util/spi/ToolProvider -header extends java/lang/Object flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/zip/CRC32C -header extends java/lang/Object implements java/util/zip/Checksum flags 31 - -class name javax/crypto/AEADBadTagException -header extends javax/crypto/BadPaddingException flags 21 - -class name javax/crypto/BadPaddingException -header extends java/security/GeneralSecurityException flags 21 - -class name javax/crypto/CipherInputStream -header extends java/io/FilterInputStream flags 21 - -class name javax/crypto/CipherOutputStream -header extends java/io/FilterOutputStream flags 21 - -class name javax/crypto/CipherSpi -header extends java/lang/Object flags 421 - class name javax/crypto/DecapsulateException header extends java/security/GeneralSecurityException flags 21 method name descriptor (Ljava/lang/String;)V flags 1 method name descriptor (Ljava/lang/String;Ljava/lang/Throwable;)V flags 1 -class name javax/crypto/EncryptedPrivateKeyInfo -header extends java/lang/Object flags 21 - -class name javax/crypto/ExemptionMechanism -header extends java/lang/Object flags 21 - -class name javax/crypto/ExemptionMechanismException -header extends java/security/GeneralSecurityException flags 21 - -class name javax/crypto/ExemptionMechanismSpi -header extends java/lang/Object flags 421 - -class name javax/crypto/IllegalBlockSizeException -header extends java/security/GeneralSecurityException flags 21 - class name javax/crypto/KEM header extends java/lang/Object nestMembers javax/crypto/KEM$Decapsulator,javax/crypto/KEM$Encapsulator,javax/crypto/KEM$Encapsulated flags 31 innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 @@ -1429,126 +1201,289 @@ method name engineEncapsulate descriptor (IILjava/lang/String;)Ljavax/crypto/KEM method name engineSecretSize descriptor ()I flags 401 method name engineEncapsulationSize descriptor ()I flags 401 -class name javax/crypto/KeyAgreement -header extends java/lang/Object flags 21 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 - -class name javax/crypto/KeyAgreementSpi -header extends java/lang/Object flags 421 - -class name javax/crypto/KeyGenerator -header extends java/lang/Object flags 21 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 - -class name javax/crypto/KeyGeneratorSpi -header extends java/lang/Object flags 421 - -class name javax/crypto/Mac -header extends java/lang/Object implements java/lang/Cloneable flags 21 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 - -class name javax/crypto/MacSpi -header extends java/lang/Object flags 421 +class name javax/net/ssl/KeyManagerFactory +-method name getDefaultAlgorithm descriptor ()Ljava/lang/String; +method name getDefaultAlgorithm descriptor ()Ljava/lang/String; flags 19 -class name javax/crypto/NoSuchPaddingException -header extends java/security/GeneralSecurityException flags 21 +class name javax/net/ssl/TrustManagerFactory +-method name getDefaultAlgorithm descriptor ()Ljava/lang/String; +method name getDefaultAlgorithm descriptor ()Ljava/lang/String; flags 19 -class name javax/crypto/NullCipher -header extends javax/crypto/Cipher flags 21 +class name jdk/internal/foreign/abi/aarch64/windows/WindowsAArch64Linker +header extends jdk/internal/foreign/abi/AbstractLinker flags 31 +method name descriptor ()V flags 1 +method name getInstance descriptor ()Ljdk/internal/foreign/abi/aarch64/windows/WindowsAArch64Linker; flags 9 +method name arrangeDowncall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljdk/internal/foreign/abi/LinkerOptions;)Ljava/lang/invoke/MethodHandle; flags 4 +method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljdk/internal/foreign/abi/LinkerOptions;)Ljdk/internal/foreign/abi/AbstractLinker$UpcallStubFactory; flags 4 +method name linkerByteOrder descriptor ()Ljava/nio/ByteOrder; flags 4 -class name javax/crypto/SealedObject -header extends java/lang/Object implements java/io/Serializable flags 21 +class name jdk/internal/foreign/abi/fallback/FallbackLinker +header extends jdk/internal/foreign/abi/AbstractLinker flags 31 +innerclass innerClass java/lang/foreign/ValueLayout$OfBoolean outerClass java/lang/foreign/ValueLayout innerClassName OfBoolean flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfByte outerClass java/lang/foreign/ValueLayout innerClassName OfByte flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfShort outerClass java/lang/foreign/ValueLayout innerClassName OfShort flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfChar outerClass java/lang/foreign/ValueLayout innerClassName OfChar flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfFloat outerClass java/lang/foreign/ValueLayout innerClassName OfFloat flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 609 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name descriptor ()V flags 1 +method name getInstance descriptor ()Ljdk/internal/foreign/abi/fallback/FallbackLinker; flags 9 +method name isSupported descriptor ()Z flags 9 +method name arrangeDowncall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljdk/internal/foreign/abi/LinkerOptions;)Ljava/lang/invoke/MethodHandle; flags 4 +method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljdk/internal/foreign/abi/LinkerOptions;)Ljdk/internal/foreign/abi/AbstractLinker$UpcallStubFactory; flags 4 +method name linkerByteOrder descriptor ()Ljava/nio/ByteOrder; flags 4 + +class name jdk/internal/foreign/abi/ppc64/linux/LinuxPPC64leLinker +header extends jdk/internal/foreign/abi/AbstractLinker flags 31 +method name getInstance descriptor ()Ljdk/internal/foreign/abi/ppc64/linux/LinuxPPC64leLinker; flags 9 +method name arrangeDowncall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljdk/internal/foreign/abi/LinkerOptions;)Ljava/lang/invoke/MethodHandle; flags 4 +method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljdk/internal/foreign/abi/LinkerOptions;)Ljdk/internal/foreign/abi/AbstractLinker$UpcallStubFactory; flags 4 +method name linkerByteOrder descriptor ()Ljava/nio/ByteOrder; flags 4 + +class name jdk/internal/foreign/abi/riscv64/linux/LinuxRISCV64Linker +header extends jdk/internal/foreign/abi/AbstractLinker flags 31 +method name getInstance descriptor ()Ljdk/internal/foreign/abi/riscv64/linux/LinuxRISCV64Linker; flags 9 +method name arrangeDowncall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljdk/internal/foreign/abi/LinkerOptions;)Ljava/lang/invoke/MethodHandle; flags 4 +method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljdk/internal/foreign/abi/LinkerOptions;)Ljdk/internal/foreign/abi/AbstractLinker$UpcallStubFactory; flags 4 +method name linkerByteOrder descriptor ()Ljava/nio/ByteOrder; flags 4 + +class name jdk/internal/foreign/layout/AbstractGroupLayout +method name withByteAlignment descriptor (J)Ljdk/internal/foreign/layout/AbstractGroupLayout; flags 1 signature (J)TL; +method name withByteAlignment descriptor (J)Ljdk/internal/foreign/layout/AbstractLayout; flags 1041 methodParameters 1000:null + +class name jdk/internal/foreign/layout/AbstractLayout +header extends java/lang/Object sealed true permittedSubclasses jdk/internal/foreign/layout/AbstractGroupLayout,jdk/internal/foreign/layout/PaddingLayoutImpl,jdk/internal/foreign/layout/SequenceLayoutImpl,jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout flags 421 signature ;:Ljava/lang/foreign/MemoryLayout;>Ljava/lang/Object; +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName AbstractValueLayout flags 408 +-method name withBitAlignment descriptor (J)Ljdk/internal/foreign/layout/AbstractLayout; +-method name bitAlignment descriptor ()J +-method name byteSize descriptor ()J +-method name bitSize descriptor ()J +method name withoutName descriptor ()Ljdk/internal/foreign/layout/AbstractLayout; flags 11 signature ()TL; +method name withByteAlignment descriptor (J)Ljdk/internal/foreign/layout/AbstractLayout; flags 1 signature (J)TL; +method name byteAlignment descriptor ()J flags 11 +method name byteSize descriptor ()J flags 11 -class name javax/crypto/SecretKey -header extends java/lang/Object implements java/security/Key,javax/security/auth/Destroyable flags 601 - -class name javax/crypto/SecretKeyFactory -header extends java/lang/Object flags 21 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 - -class name javax/crypto/SecretKeyFactorySpi -header extends java/lang/Object flags 421 - -class name javax/crypto/ShortBufferException -header extends java/security/GeneralSecurityException flags 21 - -class name javax/crypto/interfaces/DHKey -header extends java/lang/Object flags 601 - -class name javax/crypto/interfaces/DHPrivateKey -header extends java/lang/Object implements javax/crypto/interfaces/DHKey,java/security/PrivateKey flags 601 - -class name javax/crypto/interfaces/DHPublicKey -header extends java/lang/Object implements javax/crypto/interfaces/DHKey,java/security/PublicKey flags 601 - -class name javax/crypto/interfaces/PBEKey -header extends java/lang/Object implements javax/crypto/SecretKey flags 601 - -class name javax/crypto/spec/DESKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec flags 21 - -class name javax/crypto/spec/DESedeKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec flags 21 +class name jdk/internal/foreign/layout/PaddingLayoutImpl +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/PaddingLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; +method name withByteAlignment descriptor (J)Ljava/lang/foreign/PaddingLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/PaddingLayout; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/MemoryLayout; flags 1041 -class name javax/crypto/spec/DHGenParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 +class name jdk/internal/foreign/layout/SequenceLayoutImpl +header extends jdk/internal/foreign/layout/AbstractLayout implements java/lang/foreign/SequenceLayout flags 31 signature Ljdk/internal/foreign/layout/AbstractLayout;Ljava/lang/foreign/SequenceLayout; +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/SequenceLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; +method name withByteAlignment descriptor (J)Ljdk/internal/foreign/layout/SequenceLayoutImpl; flags 1 +method name withByteAlignment descriptor (J)Ljdk/internal/foreign/layout/AbstractLayout; flags 1041 methodParameters 1000:null +method name withByteAlignment descriptor (J)Ljava/lang/foreign/SequenceLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/MemoryLayout; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 methodParameters 1000:null -class name javax/crypto/spec/DHParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 +class name jdk/internal/foreign/layout/StructLayoutImpl +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/StructLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/GroupLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; +method name withByteAlignment descriptor (J)Ljava/lang/foreign/StructLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/StructLayout; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/GroupLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/GroupLayout; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/MemoryLayout; flags 1041 -class name javax/crypto/spec/DHPrivateKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec flags 21 +class name jdk/internal/foreign/layout/UnionLayoutImpl +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/UnionLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/GroupLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; +method name withByteAlignment descriptor (J)Ljava/lang/foreign/UnionLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/UnionLayout; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/GroupLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/GroupLayout; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/MemoryLayout; flags 1041 -class name javax/crypto/spec/DHPublicKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec flags 21 +class name jdk/internal/foreign/layout/ValueLayouts +header extends java/lang/Object nestMembers jdk/internal/foreign/layout/ValueLayouts$OfAddressImpl,jdk/internal/foreign/layout/ValueLayouts$OfDoubleImpl,jdk/internal/foreign/layout/ValueLayouts$OfLongImpl,jdk/internal/foreign/layout/ValueLayouts$OfFloatImpl,jdk/internal/foreign/layout/ValueLayouts$OfIntImpl,jdk/internal/foreign/layout/ValueLayouts$OfShortImpl,jdk/internal/foreign/layout/ValueLayouts$OfCharImpl,jdk/internal/foreign/layout/ValueLayouts$OfByteImpl,jdk/internal/foreign/layout/ValueLayouts$OfBooleanImpl,jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout flags 31 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfBooleanImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfBooleanImpl flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfBoolean outerClass java/lang/foreign/ValueLayout innerClassName OfBoolean flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfCharImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfCharImpl flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfChar outerClass java/lang/foreign/ValueLayout innerClassName OfChar flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfByteImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfByteImpl flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfByte outerClass java/lang/foreign/ValueLayout innerClassName OfByte flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfShortImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfShortImpl flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfShort outerClass java/lang/foreign/ValueLayout innerClassName OfShort flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfIntImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfIntImpl flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfFloatImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfFloatImpl flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfFloat outerClass java/lang/foreign/ValueLayout innerClassName OfFloat flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfLongImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfLongImpl flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfDoubleImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfDoubleImpl flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfAddressImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfAddressImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName AbstractValueLayout flags 408 +method name valueLayout descriptor (Ljava/lang/Class;Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout; flags 9 signature (Ljava/lang/Class<*>;Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout; -class name javax/crypto/spec/GCMParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 +class name jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout +header extends jdk/internal/foreign/layout/AbstractLayout nestHost jdk/internal/foreign/layout/ValueLayouts sealed true permittedSubclasses jdk/internal/foreign/layout/ValueLayouts$OfBooleanImpl,jdk/internal/foreign/layout/ValueLayouts$OfByteImpl,jdk/internal/foreign/layout/ValueLayouts$OfCharImpl,jdk/internal/foreign/layout/ValueLayouts$OfShortImpl,jdk/internal/foreign/layout/ValueLayouts$OfIntImpl,jdk/internal/foreign/layout/ValueLayouts$OfFloatImpl,jdk/internal/foreign/layout/ValueLayouts$OfLongImpl,jdk/internal/foreign/layout/ValueLayouts$OfDoubleImpl,jdk/internal/foreign/layout/ValueLayouts$OfAddressImpl flags 420 signature ;:Ljava/lang/foreign/ValueLayout;>Ljdk/internal/foreign/layout/AbstractLayout; +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName AbstractValueLayout flags 408 +innerclass innerClass java/lang/foreign/MemoryLayout$PathElement outerClass java/lang/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfBooleanImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfBooleanImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfByteImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfByteImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfCharImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfCharImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfShortImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfShortImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfIntImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfIntImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfFloatImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfFloatImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfLongImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfLongImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfDoubleImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfDoubleImpl flags 19 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfAddressImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfAddressImpl flags 19 +-method name toString descriptor ()Ljava/lang/String; +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout; flags 11 signature (Ljava/nio/ByteOrder;)TV; +method name toString descriptor ()Ljava/lang/String; flags 1 -class name javax/crypto/spec/IvParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 +class name jdk/internal/foreign/layout/ValueLayouts$OfAddressImpl +header extends jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout implements java/lang/foreign/AddressLayout nestHost jdk/internal/foreign/layout/ValueLayouts flags 31 signature Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout;Ljava/lang/foreign/AddressLayout; +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName AbstractValueLayout flags 408 +innerclass innerClass jdk/internal/foreign/layout/ValueLayouts$OfAddressImpl outerClass jdk/internal/foreign/layout/ValueLayouts innerClassName OfAddressImpl flags 19 +-method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$OfAddressImpl; +-method name asUnbounded descriptor ()Ljava/lang/foreign/ValueLayout$OfAddress; +-method name isUnbounded descriptor ()Z +-method name of descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfAddress; +-method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout; +-method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/ValueLayout$OfAddress; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfAddress; +-method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/ValueLayout$OfAddress; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; +method name withTargetLayout descriptor (Ljava/lang/foreign/MemoryLayout;)Ljava/lang/foreign/AddressLayout; flags 1 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; +method name withoutTargetLayout descriptor ()Ljava/lang/foreign/AddressLayout; flags 1 +method name targetLayout descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name of descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/AddressLayout; flags 9 +method name toString descriptor ()Ljava/lang/String; flags 1 +method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljava/lang/foreign/AddressLayout; flags 1041 methodParameters 1000:null +method name withByteAlignment descriptor (J)Ljava/lang/foreign/AddressLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/AddressLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljava/lang/foreign/AddressLayout; flags 1041 methodParameters 1000:null +method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/ValueLayout; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/MemoryLayout; flags 1041 -class name javax/crypto/spec/OAEPParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 -innerclass innerClass javax/crypto/spec/PSource$PSpecified outerClass javax/crypto/spec/PSource innerClassName PSpecified flags 19 +class name jdk/internal/foreign/layout/ValueLayouts$OfBooleanImpl +-method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$OfBooleanImpl; +-method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfBoolean; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; +method name toString descriptor ()Ljava/lang/String; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfBoolean; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/ValueLayout$OfBoolean; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/ValueLayout; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/MemoryLayout; flags 1041 -class name javax/crypto/spec/PBEKeySpec -header extends java/lang/Object implements java/security/spec/KeySpec flags 21 +class name jdk/internal/foreign/layout/ValueLayouts$OfByteImpl +-method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$OfByteImpl; +-method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfByte; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; +method name toString descriptor ()Ljava/lang/String; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfByte; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/ValueLayout$OfByte; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/ValueLayout; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/MemoryLayout; flags 1041 -class name javax/crypto/spec/PBEParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 +class name jdk/internal/foreign/layout/ValueLayouts$OfCharImpl +-method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$OfCharImpl; +-method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfChar; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; +method name toString descriptor ()Ljava/lang/String; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfChar; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/ValueLayout$OfChar; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/ValueLayout; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/MemoryLayout; flags 1041 -class name javax/crypto/spec/RC2ParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 +class name jdk/internal/foreign/layout/ValueLayouts$OfDoubleImpl +-method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$OfDoubleImpl; +-method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfDouble; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; +method name toString descriptor ()Ljava/lang/String; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfDouble; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/ValueLayout$OfDouble; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/ValueLayout; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/MemoryLayout; flags 1041 -class name javax/crypto/spec/RC5ParameterSpec -header extends java/lang/Object implements java/security/spec/AlgorithmParameterSpec flags 21 +class name jdk/internal/foreign/layout/ValueLayouts$OfFloatImpl +-method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$OfFloatImpl; +-method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfFloat; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; +method name toString descriptor ()Ljava/lang/String; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfFloat; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/ValueLayout$OfFloat; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/ValueLayout; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/MemoryLayout; flags 1041 -class name javax/net/ssl/KeyManagerFactory --method name getDefaultAlgorithm descriptor ()Ljava/lang/String; -method name getDefaultAlgorithm descriptor ()Ljava/lang/String; flags 19 +class name jdk/internal/foreign/layout/ValueLayouts$OfIntImpl +-method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$OfIntImpl; +-method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfInt; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; +method name toString descriptor ()Ljava/lang/String; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfInt; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/ValueLayout$OfInt; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/ValueLayout; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/MemoryLayout; flags 1041 -class name javax/net/ssl/TrustManagerFactory --method name getDefaultAlgorithm descriptor ()Ljava/lang/String; -method name getDefaultAlgorithm descriptor ()Ljava/lang/String; flags 19 +class name jdk/internal/foreign/layout/ValueLayouts$OfLongImpl +-method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$OfLongImpl; +-method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfLong; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; +method name toString descriptor ()Ljava/lang/String; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfLong; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/ValueLayout$OfLong; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/ValueLayout; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/MemoryLayout; flags 1041 -class name jdk/internal/event/Event -header extends java/lang/Object flags 421 --method name descriptor ()V --method name begin descriptor ()V --method name end descriptor ()V --method name commit descriptor ()V --method name isEnabled descriptor ()Z --method name shouldCommit descriptor ()Z --method name set descriptor (ILjava/lang/Object;)V -method name descriptor ()V flags 4 -method name begin descriptor ()V flags 1 -method name end descriptor ()V flags 1 -method name commit descriptor ()V flags 1 -method name isEnabled descriptor ()Z flags 1 -method name shouldCommit descriptor ()Z flags 1 -method name set descriptor (ILjava/lang/Object;)V flags 1 +class name jdk/internal/foreign/layout/ValueLayouts$OfShortImpl +-method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$OfShortImpl; +-method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/internal/foreign/layout/ValueLayouts$AbstractValueLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfShort; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; +-method name withBitAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; +method name toString descriptor ()Ljava/lang/String; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout$OfShort; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/ValueLayout$OfShort; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/ValueLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/ValueLayout; flags 1041 +method name withByteAlignment descriptor (J)Ljava/lang/foreign/MemoryLayout; flags 1041 methodParameters 1000:null +method name withoutName descriptor ()Ljava/lang/foreign/MemoryLayout; flags 1041 class name jdk/internal/vm/vector/VectorSupport header extends java/lang/Object nestMembers jdk/internal/vm/vector/VectorSupport$VectorMask,jdk/internal/vm/vector/VectorSupport$VectorShuffle,jdk/internal/vm/vector/VectorSupport$Vector,jdk/internal/vm/vector/VectorSupport$VectorPayload,jdk/internal/vm/vector/VectorSupport$VectorSpecies flags 21 diff --git a/src/jdk.compiler/share/data/symbols/java.compiler-H.sym.txt b/src/jdk.compiler/share/data/symbols/java.compiler-H.sym.txt index 3f56c0c99869e..69c819c1dd0fb 100644 --- a/src/jdk.compiler/share/data/symbols/java.compiler-H.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.compiler-H.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,19 +26,11 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name javax/annotation/processing/AbstractProcessor -header extends java/lang/Object implements javax/annotation/processing/Processor flags 421 -innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/annotation/processing/Generated -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;SOURCE;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;PACKAGE;eLjava/lang/annotation/ElementType;TYPE;eLjava/lang/annotation/ElementType;METHOD;eLjava/lang/annotation/ElementType;CONSTRUCTOR;eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;LOCAL_VARIABLE;eLjava/lang/annotation/ElementType;PARAMETER;}) - class name javax/lang/model/SourceVersion field name RELEASE_17 descriptor Ljavax/lang/model/SourceVersion; flags 4019 class name javax/lang/model/element/Modifier -header extends java/lang/Enum sealed true flags 4021 signature Ljava/lang/Enum; +header extends java/lang/Enum sealed true permittedSubclasses javax/lang/model/element/Modifier$1 flags 4021 signature Ljava/lang/Enum; -field name SEALED descriptor Ljavax/lang/model/element/Modifier; -field name NON_SEALED descriptor Ljavax/lang/model/element/Modifier; field name SEALED descriptor Ljavax/lang/model/element/Modifier; flags 4019 @@ -48,31 +40,6 @@ class name javax/lang/model/element/TypeElement -method name getPermittedSubclasses descriptor ()Ljava/util/List; method name getPermittedSubclasses descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<+Ljavax/lang/model/type/TypeMirror;>; -class name javax/lang/model/element/UnknownAnnotationValueException -header extends javax/lang/model/UnknownEntityException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/lang/model/element/UnknownDirectiveException -header extends javax/lang/model/UnknownEntityException flags 21 -innerclass innerClass javax/lang/model/element/ModuleElement$Directive outerClass javax/lang/model/element/ModuleElement innerClassName Directive flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/lang/model/element/UnknownElementException -header extends javax/lang/model/UnknownEntityException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/lang/model/type/MirroredTypeException -header extends javax/lang/model/type/MirroredTypesException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/lang/model/type/MirroredTypesException -header extends java/lang/RuntimeException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/lang/model/type/UnknownTypeException -header extends javax/lang/model/UnknownEntityException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/lang/model/util/AbstractAnnotationValueVisitor14 header extends javax/lang/model/util/AbstractAnnotationValueVisitor9 flags 421 signature Ljavax/lang/model/util/AbstractAnnotationValueVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_17;) @@ -82,15 +49,6 @@ header extends javax/lang/model/util/AbstractElementVisitor9 flags 421 signature class name javax/lang/model/util/AbstractTypeVisitor14 header extends javax/lang/model/util/AbstractTypeVisitor9 flags 421 signature Ljavax/lang/model/util/AbstractTypeVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_17;) -class name javax/lang/model/util/AbstractTypeVisitor6 -header extends java/lang/Object implements javax/lang/model/type/TypeVisitor flags 421 signature Ljava/lang/Object;Ljavax/lang/model/type/TypeVisitor; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_6;) - -class name javax/lang/model/util/AbstractTypeVisitor7 -header extends javax/lang/model/util/AbstractTypeVisitor6 flags 421 signature Ljavax/lang/model/util/AbstractTypeVisitor6; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_7;) - -class name javax/lang/model/util/AbstractTypeVisitor8 -header extends javax/lang/model/util/AbstractTypeVisitor7 flags 421 signature Ljavax/lang/model/util/AbstractTypeVisitor7; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_8;) - class name javax/lang/model/util/ElementKindVisitor14 header extends javax/lang/model/util/ElementKindVisitor9 flags 21 signature Ljavax/lang/model/util/ElementKindVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_17;) @@ -112,12 +70,3 @@ header extends javax/lang/model/util/SimpleTypeVisitor9 flags 21 signature Ljavax/lang/model/util/TypeKindVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_17;) -class name javax/tools/SimpleJavaFileObject -header extends java/lang/Object implements javax/tools/JavaFileObject flags 21 -innerclass innerClass javax/tools/JavaFileObject$Kind outerClass javax/tools/JavaFileObject innerClassName Kind flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/tools/ToolProvider -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.compiler-I.sym.txt b/src/jdk.compiler/share/data/symbols/java.compiler-I.sym.txt index 6f3cdb0623ee5..d0b1a430bf051 100644 --- a/src/jdk.compiler/share/data/symbols/java.compiler-I.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.compiler-I.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,14 +26,6 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name javax/annotation/processing/AbstractProcessor -header extends java/lang/Object implements javax/annotation/processing/Processor flags 421 -innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/annotation/processing/Generated -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;SOURCE;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;PACKAGE;eLjava/lang/annotation/ElementType;TYPE;eLjava/lang/annotation/ElementType;METHOD;eLjava/lang/annotation/ElementType;CONSTRUCTOR;eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;LOCAL_VARIABLE;eLjava/lang/annotation/ElementType;PARAMETER;}) - class name javax/annotation/processing/Messager method name printError descriptor (Ljava/lang/CharSequence;)V flags 1 method name printError descriptor (Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V flags 1 @@ -50,34 +42,6 @@ method name runtimeVersion descriptor ()Ljava/lang/Runtime$Version; flags 1 class name javax/lang/model/element/ExecutableElement method name getEnclosingElement descriptor ()Ljavax/lang/model/element/Element; flags 401 -class name javax/lang/model/element/Modifier -header extends java/lang/Enum sealed true flags 4021 signature Ljava/lang/Enum; - -class name javax/lang/model/element/UnknownAnnotationValueException -header extends javax/lang/model/UnknownEntityException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/lang/model/element/UnknownDirectiveException -header extends javax/lang/model/UnknownEntityException flags 21 -innerclass innerClass javax/lang/model/element/ModuleElement$Directive outerClass javax/lang/model/element/ModuleElement innerClassName Directive flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/lang/model/element/UnknownElementException -header extends javax/lang/model/UnknownEntityException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/lang/model/type/MirroredTypeException -header extends javax/lang/model/type/MirroredTypesException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/lang/model/type/MirroredTypesException -header extends java/lang/RuntimeException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/lang/model/type/UnknownTypeException -header extends javax/lang/model/UnknownEntityException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/lang/model/util/AbstractAnnotationValueVisitor14 header extends javax/lang/model/util/AbstractAnnotationValueVisitor9 flags 421 signature Ljavax/lang/model/util/AbstractAnnotationValueVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_18;) @@ -87,15 +51,6 @@ header extends javax/lang/model/util/AbstractElementVisitor9 flags 421 signature class name javax/lang/model/util/AbstractTypeVisitor14 header extends javax/lang/model/util/AbstractTypeVisitor9 flags 421 signature Ljavax/lang/model/util/AbstractTypeVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_18;) -class name javax/lang/model/util/AbstractTypeVisitor6 -header extends java/lang/Object implements javax/lang/model/type/TypeVisitor flags 421 signature Ljava/lang/Object;Ljavax/lang/model/type/TypeVisitor; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_6;) - -class name javax/lang/model/util/AbstractTypeVisitor7 -header extends javax/lang/model/util/AbstractTypeVisitor6 flags 421 signature Ljavax/lang/model/util/AbstractTypeVisitor6; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_7;) - -class name javax/lang/model/util/AbstractTypeVisitor8 -header extends javax/lang/model/util/AbstractTypeVisitor7 flags 421 signature Ljavax/lang/model/util/AbstractTypeVisitor7; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_8;) - class name javax/lang/model/util/ElementKindVisitor14 header extends javax/lang/model/util/ElementKindVisitor9 flags 21 signature Ljavax/lang/model/util/ElementKindVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_18;) @@ -129,12 +84,3 @@ class name javax/tools/JavaFileManager method name getJavaFileForOutputForOriginatingFiles descriptor (Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljavax/tools/JavaFileObject$Kind;[Ljavax/tools/FileObject;)Ljavax/tools/JavaFileObject; thrownTypes java/io/IOException flags 81 method name getFileForOutputForOriginatingFiles descriptor (Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/lang/String;[Ljavax/tools/FileObject;)Ljavax/tools/FileObject; thrownTypes java/io/IOException flags 81 -class name javax/tools/SimpleJavaFileObject -header extends java/lang/Object implements javax/tools/JavaFileObject flags 21 -innerclass innerClass javax/tools/JavaFileObject$Kind outerClass javax/tools/JavaFileObject innerClassName Kind flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/tools/ToolProvider -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.compiler-J.sym.txt b/src/jdk.compiler/share/data/symbols/java.compiler-J.sym.txt index 16b0c6700a610..7a6992b0f7be7 100644 --- a/src/jdk.compiler/share/data/symbols/java.compiler-J.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.compiler-J.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,14 +26,6 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name javax/annotation/processing/AbstractProcessor -header extends java/lang/Object implements javax/annotation/processing/Processor flags 421 -innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/annotation/processing/Generated -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;SOURCE;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;PACKAGE;eLjava/lang/annotation/ElementType;TYPE;eLjava/lang/annotation/ElementType;METHOD;eLjava/lang/annotation/ElementType;CONSTRUCTOR;eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;LOCAL_VARIABLE;eLjava/lang/annotation/ElementType;PARAMETER;}) - class name javax/lang/model/SourceVersion field name RELEASE_19 descriptor Ljavax/lang/model/SourceVersion; flags 4019 @@ -43,34 +35,6 @@ method name isExecutable descriptor ()Z flags 1 method name isInitializer descriptor ()Z flags 1 method name isVariable descriptor ()Z flags 1 -class name javax/lang/model/element/Modifier -header extends java/lang/Enum sealed true flags 4021 signature Ljava/lang/Enum; - -class name javax/lang/model/element/UnknownAnnotationValueException -header extends javax/lang/model/UnknownEntityException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/lang/model/element/UnknownDirectiveException -header extends javax/lang/model/UnknownEntityException flags 21 -innerclass innerClass javax/lang/model/element/ModuleElement$Directive outerClass javax/lang/model/element/ModuleElement innerClassName Directive flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/lang/model/element/UnknownElementException -header extends javax/lang/model/UnknownEntityException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/lang/model/type/MirroredTypeException -header extends javax/lang/model/type/MirroredTypesException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/lang/model/type/MirroredTypesException -header extends java/lang/RuntimeException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/lang/model/type/UnknownTypeException -header extends javax/lang/model/UnknownEntityException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/lang/model/util/AbstractAnnotationValueVisitor14 header extends javax/lang/model/util/AbstractAnnotationValueVisitor9 flags 421 signature Ljavax/lang/model/util/AbstractAnnotationValueVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_19;) @@ -80,15 +44,6 @@ header extends javax/lang/model/util/AbstractElementVisitor9 flags 421 signature class name javax/lang/model/util/AbstractTypeVisitor14 header extends javax/lang/model/util/AbstractTypeVisitor9 flags 421 signature Ljavax/lang/model/util/AbstractTypeVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_19;) -class name javax/lang/model/util/AbstractTypeVisitor6 -header extends java/lang/Object implements javax/lang/model/type/TypeVisitor flags 421 signature Ljava/lang/Object;Ljavax/lang/model/type/TypeVisitor; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_6;) - -class name javax/lang/model/util/AbstractTypeVisitor7 -header extends javax/lang/model/util/AbstractTypeVisitor6 flags 421 signature Ljavax/lang/model/util/AbstractTypeVisitor6; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_7;) - -class name javax/lang/model/util/AbstractTypeVisitor8 -header extends javax/lang/model/util/AbstractTypeVisitor7 flags 421 signature Ljavax/lang/model/util/AbstractTypeVisitor7; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_8;) - class name javax/lang/model/util/ElementKindVisitor14 header extends javax/lang/model/util/ElementKindVisitor9 flags 21 signature Ljavax/lang/model/util/ElementKindVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_19;) @@ -107,12 +62,3 @@ header extends javax/lang/model/util/SimpleTypeVisitor9 flags 21 signature Ljavax/lang/model/util/TypeKindVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_19;) -class name javax/tools/SimpleJavaFileObject -header extends java/lang/Object implements javax/tools/JavaFileObject flags 21 -innerclass innerClass javax/tools/JavaFileObject$Kind outerClass javax/tools/JavaFileObject innerClassName Kind flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/tools/ToolProvider -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.compiler-K.sym.txt b/src/jdk.compiler/share/data/symbols/java.compiler-K.sym.txt index 5a178614db044..da76beaf3128f 100644 --- a/src/jdk.compiler/share/data/symbols/java.compiler-K.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.compiler-K.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,45 +26,9 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name javax/annotation/processing/AbstractProcessor -header extends java/lang/Object implements javax/annotation/processing/Processor flags 421 -innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/annotation/processing/Generated -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;SOURCE;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;PACKAGE;eLjava/lang/annotation/ElementType;TYPE;eLjava/lang/annotation/ElementType;METHOD;eLjava/lang/annotation/ElementType;CONSTRUCTOR;eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;LOCAL_VARIABLE;eLjava/lang/annotation/ElementType;PARAMETER;}) - class name javax/lang/model/SourceVersion field name RELEASE_20 descriptor Ljavax/lang/model/SourceVersion; flags 4019 -class name javax/lang/model/element/Modifier -header extends java/lang/Enum sealed true flags 4021 signature Ljava/lang/Enum; - -class name javax/lang/model/element/UnknownAnnotationValueException -header extends javax/lang/model/UnknownEntityException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/lang/model/element/UnknownDirectiveException -header extends javax/lang/model/UnknownEntityException flags 21 -innerclass innerClass javax/lang/model/element/ModuleElement$Directive outerClass javax/lang/model/element/ModuleElement innerClassName Directive flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/lang/model/element/UnknownElementException -header extends javax/lang/model/UnknownEntityException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/lang/model/type/MirroredTypeException -header extends javax/lang/model/type/MirroredTypesException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/lang/model/type/MirroredTypesException -header extends java/lang/RuntimeException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/lang/model/type/UnknownTypeException -header extends javax/lang/model/UnknownEntityException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/lang/model/util/AbstractAnnotationValueVisitor14 header extends javax/lang/model/util/AbstractAnnotationValueVisitor9 flags 421 signature Ljavax/lang/model/util/AbstractAnnotationValueVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_20;) @@ -74,15 +38,6 @@ header extends javax/lang/model/util/AbstractElementVisitor9 flags 421 signature class name javax/lang/model/util/AbstractTypeVisitor14 header extends javax/lang/model/util/AbstractTypeVisitor9 flags 421 signature Ljavax/lang/model/util/AbstractTypeVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_20;) -class name javax/lang/model/util/AbstractTypeVisitor6 -header extends java/lang/Object implements javax/lang/model/type/TypeVisitor flags 421 signature Ljava/lang/Object;Ljavax/lang/model/type/TypeVisitor; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_6;) - -class name javax/lang/model/util/AbstractTypeVisitor7 -header extends javax/lang/model/util/AbstractTypeVisitor6 flags 421 signature Ljavax/lang/model/util/AbstractTypeVisitor6; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_7;) - -class name javax/lang/model/util/AbstractTypeVisitor8 -header extends javax/lang/model/util/AbstractTypeVisitor7 flags 421 signature Ljavax/lang/model/util/AbstractTypeVisitor7; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_8;) - class name javax/lang/model/util/ElementKindVisitor14 header extends javax/lang/model/util/ElementKindVisitor9 flags 21 signature Ljavax/lang/model/util/ElementKindVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_20;) @@ -105,12 +60,3 @@ header extends javax/lang/model/util/SimpleTypeVisitor9 flags 21 signature Ljavax/lang/model/util/TypeKindVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_20;) -class name javax/tools/SimpleJavaFileObject -header extends java/lang/Object implements javax/tools/JavaFileObject flags 21 -innerclass innerClass javax/tools/JavaFileObject$Kind outerClass javax/tools/JavaFileObject innerClassName Kind flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/tools/ToolProvider -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.compiler-L.sym.txt b/src/jdk.compiler/share/data/symbols/java.compiler-L.sym.txt index 62c20b9e359cf..dbd7951d7ee4f 100644 --- a/src/jdk.compiler/share/data/symbols/java.compiler-L.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.compiler-L.sym.txt @@ -26,51 +26,15 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name javax/annotation/processing/AbstractProcessor -header extends java/lang/Object implements javax/annotation/processing/Processor flags 421 -innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/annotation/processing/Generated -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;SOURCE;)@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;PACKAGE;eLjava/lang/annotation/ElementType;TYPE;eLjava/lang/annotation/ElementType;METHOD;eLjava/lang/annotation/ElementType;CONSTRUCTOR;eLjava/lang/annotation/ElementType;FIELD;eLjava/lang/annotation/ElementType;LOCAL_VARIABLE;eLjava/lang/annotation/ElementType;PARAMETER;}) - class name javax/lang/model/SourceVersion field name RELEASE_21 descriptor Ljavax/lang/model/SourceVersion; flags 4019 -class name javax/lang/model/element/Modifier -header extends java/lang/Enum sealed true flags 4021 signature Ljava/lang/Enum; - class name javax/lang/model/element/TypeElement method name isUnnamed descriptor ()Z flags 1 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;UNNAMED_CLASSES;,reflective=Ztrue) -class name javax/lang/model/element/UnknownAnnotationValueException -header extends javax/lang/model/UnknownEntityException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/lang/model/element/UnknownDirectiveException -header extends javax/lang/model/UnknownEntityException flags 21 -innerclass innerClass javax/lang/model/element/ModuleElement$Directive outerClass javax/lang/model/element/ModuleElement innerClassName Directive flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/lang/model/element/UnknownElementException -header extends javax/lang/model/UnknownEntityException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/lang/model/element/VariableElement method name isUnnamed descriptor ()Z flags 1 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;UNNAMED;,reflective=Ztrue) -class name javax/lang/model/type/MirroredTypeException -header extends javax/lang/model/type/MirroredTypesException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/lang/model/type/MirroredTypesException -header extends java/lang/RuntimeException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/lang/model/type/UnknownTypeException -header extends javax/lang/model/UnknownEntityException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/lang/model/util/AbstractAnnotationValueVisitor14 header extends javax/lang/model/util/AbstractAnnotationValueVisitor9 flags 421 signature Ljavax/lang/model/util/AbstractAnnotationValueVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_21;) @@ -80,15 +44,6 @@ header extends javax/lang/model/util/AbstractElementVisitor9 flags 421 signature class name javax/lang/model/util/AbstractTypeVisitor14 header extends javax/lang/model/util/AbstractTypeVisitor9 flags 421 signature Ljavax/lang/model/util/AbstractTypeVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_21;) -class name javax/lang/model/util/AbstractTypeVisitor6 -header extends java/lang/Object implements javax/lang/model/type/TypeVisitor flags 421 signature Ljava/lang/Object;Ljavax/lang/model/type/TypeVisitor; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_6;) - -class name javax/lang/model/util/AbstractTypeVisitor7 -header extends javax/lang/model/util/AbstractTypeVisitor6 flags 421 signature Ljavax/lang/model/util/AbstractTypeVisitor6; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_7;) - -class name javax/lang/model/util/AbstractTypeVisitor8 -header extends javax/lang/model/util/AbstractTypeVisitor7 flags 421 signature Ljavax/lang/model/util/AbstractTypeVisitor7; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_8;) - class name javax/lang/model/util/ElementKindVisitor14 header extends javax/lang/model/util/ElementKindVisitor9 flags 21 signature Ljavax/lang/model/util/ElementKindVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_21;) @@ -107,12 +62,3 @@ header extends javax/lang/model/util/SimpleTypeVisitor9 flags 21 signature Ljavax/lang/model/util/TypeKindVisitor9; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_21;) -class name javax/tools/SimpleJavaFileObject -header extends java/lang/Object implements javax/tools/JavaFileObject flags 21 -innerclass innerClass javax/tools/JavaFileObject$Kind outerClass javax/tools/JavaFileObject innerClassName Kind flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/tools/ToolProvider -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.datatransfer-H.sym.txt b/src/jdk.compiler/share/data/symbols/java.datatransfer-H.sym.txt index aa9eac585be47..bb96f34be5e62 100644 --- a/src/jdk.compiler/share/data/symbols/java.datatransfer-H.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.datatransfer-H.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,13 +26,7 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name java/awt/datatransfer/Clipboard -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/awt/datatransfer/DataFlavor -header extends java/lang/Object implements java/io/Externalizable,java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -field name selectionHtmlFlavor descriptor Ljava/awt/datatransfer/DataFlavor; -field name fragmentHtmlFlavor descriptor Ljava/awt/datatransfer/DataFlavor; -field name allHtmlFlavor descriptor Ljava/awt/datatransfer/DataFlavor; diff --git a/src/jdk.compiler/share/data/symbols/java.datatransfer-I.sym.txt b/src/jdk.compiler/share/data/symbols/java.datatransfer-I.sym.txt deleted file mode 100644 index 748b21f2ef81b..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.datatransfer-I.sym.txt +++ /dev/null @@ -1,36 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name java/awt/datatransfer/Clipboard -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/datatransfer/DataFlavor -header extends java/lang/Object implements java/io/Externalizable,java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.datatransfer-J.sym.txt b/src/jdk.compiler/share/data/symbols/java.datatransfer-J.sym.txt deleted file mode 100644 index fff0a5016ec5d..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.datatransfer-J.sym.txt +++ /dev/null @@ -1,36 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name java/awt/datatransfer/Clipboard -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/datatransfer/DataFlavor -header extends java/lang/Object implements java/io/Externalizable,java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.datatransfer-K.sym.txt b/src/jdk.compiler/share/data/symbols/java.datatransfer-K.sym.txt deleted file mode 100644 index fff0a5016ec5d..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.datatransfer-K.sym.txt +++ /dev/null @@ -1,36 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name java/awt/datatransfer/Clipboard -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/datatransfer/DataFlavor -header extends java/lang/Object implements java/io/Externalizable,java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.datatransfer-L.sym.txt b/src/jdk.compiler/share/data/symbols/java.datatransfer-L.sym.txt deleted file mode 100644 index 4068e35f64413..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.datatransfer-L.sym.txt +++ /dev/null @@ -1,36 +0,0 @@ -# -# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name java/awt/datatransfer/Clipboard -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/datatransfer/DataFlavor -header extends java/lang/Object implements java/io/Externalizable,java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.desktop-H.sym.txt b/src/jdk.compiler/share/data/symbols/java.desktop-H.sym.txt index 6fab50f4b1ae0..5f5ee95af3db0 100644 --- a/src/jdk.compiler/share/data/symbols/java.desktop-H.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.desktop-H.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -39,566 +39,23 @@ header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Lj class name java/applet/AudioClip header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9") -class name java/awt/AWTKeyStroke -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/AttributeValue -header extends java/lang/Object flags 420 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/BorderLayout -header extends java/lang/Object implements java/awt/LayoutManager2,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/CheckboxGroup -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Color -header extends java/lang/Object implements java/awt/Paint,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/ContainerOrderFocusTraversalPolicy -header extends java/awt/FocusTraversalPolicy implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Dimension -header extends java/awt/geom/Dimension2D implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/DisplayMode -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Event -header extends java/lang/Object implements java/io/Serializable flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/FlowLayout -header extends java/lang/Object implements java/awt/LayoutManager,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/FontMetrics -header extends java/lang/Object implements java/io/Serializable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Graphics -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/GridBagLayoutInfo -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019 - -class name java/awt/GridLayout -header extends java/lang/Object implements java/awt/LayoutManager,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/HeadlessException -header extends java/lang/UnsupportedOperationException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Insets -header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/MenuShortcut -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Point -header extends java/awt/geom/Point2D implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Rectangle -header extends java/awt/geom/Rectangle2D implements java/awt/Shape,java/io/Serializable flags 21 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/SystemColor -header extends java/awt/Color implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/TexturePaint -header extends java/lang/Object implements java/awt/Paint flags 21 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 - -class name java/awt/color/ColorSpace -header extends java/lang/Object implements java/io/Serializable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/color/ICC_ColorSpace -header extends java/awt/color/ColorSpace flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I4) - -class name java/awt/desktop/AboutEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/AboutHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/AppEvent -header extends java/util/EventObject flags 21 - -class name java/awt/desktop/AppForegroundEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/AppForegroundListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/desktop/AppHiddenEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/AppHiddenListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/desktop/AppReopenedEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/AppReopenedListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/desktop/FilesEvent -header extends java/awt/desktop/AppEvent flags 21 - -class name java/awt/desktop/OpenFilesEvent -header extends java/awt/desktop/FilesEvent flags 31 - -class name java/awt/desktop/OpenFilesHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/OpenURIEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/OpenURIHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/PreferencesEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/PreferencesHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/PrintFilesEvent -header extends java/awt/desktop/FilesEvent flags 31 - -class name java/awt/desktop/PrintFilesHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/QuitEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/QuitHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/QuitResponse -header extends java/lang/Object flags 601 - -class name java/awt/desktop/QuitStrategy -header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum; - -class name java/awt/desktop/ScreenSleepEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/ScreenSleepListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/desktop/SystemEventListener -header extends java/lang/Object implements java/util/EventListener flags 601 - -class name java/awt/desktop/SystemSleepEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/SystemSleepListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/desktop/UserSessionListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/dnd/DragGestureEvent -header extends java/util/EventObject flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 - -class name java/awt/dnd/DragGestureRecognizer -header extends java/lang/Object implements java/io/Serializable flags 421 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 - -class name java/awt/dnd/DragSource -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/dnd/DropTargetDragEvent -header extends java/awt/dnd/DropTargetEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/dnd/DropTargetDropEvent -header extends java/awt/dnd/DropTargetEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/ActionEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/AdjustmentEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/ComponentEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/ContainerEvent -header extends java/awt/event/ComponentEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/HierarchyEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/InputMethodEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/ItemEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/MouseWheelEvent -header extends java/awt/event/MouseEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/PaintEvent -header extends java/awt/event/ComponentEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/WindowEvent -header extends java/awt/event/ComponentEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/font/FontRenderContext -header extends java/lang/Object flags 21 -innerclass innerClass java/awt/RenderingHints$Key outerClass java/awt/RenderingHints innerClassName Key flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/font/GraphicAttribute -header extends java/lang/Object flags 421 -innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9 - -class name java/awt/font/ImageGraphicAttribute -header extends java/awt/font/GraphicAttribute flags 31 -innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9 - class name java/awt/font/NumericShaper$Range -header extends java/lang/Enum nestHost java/awt/font/NumericShaper sealed true flags 4021 signature Ljava/lang/Enum; +header extends java/lang/Enum nestHost java/awt/font/NumericShaper sealed true permittedSubclasses java/awt/font/NumericShaper$Range$1 flags 4021 signature Ljava/lang/Enum; innerclass innerClass java/awt/font/NumericShaper$Range outerClass java/awt/font/NumericShaper innerClassName Range flags 4009 -class name java/awt/font/ShapeGraphicAttribute -header extends java/awt/font/GraphicAttribute flags 31 -innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9 - -class name java/awt/font/TextHitInfo -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/font/TextMeasurer -header extends java/lang/Object implements java/lang/Cloneable flags 31 -innerclass innerClass java/text/AttributedCharacterIterator$Attribute outerClass java/text/AttributedCharacterIterator innerClassName Attribute flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/geom/AffineTransform -header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable flags 21 -innerclass innerClass java/awt/geom/Point2D$Double outerClass java/awt/geom/Point2D innerClassName Double flags 9 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 -innerclass innerClass java/awt/geom/Path2D$Double outerClass java/awt/geom/Path2D innerClassName Double flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/geom/Area -header extends java/lang/Object implements java/awt/Shape,java/lang/Cloneable flags 21 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 - -class name java/awt/geom/RectangularShape -header extends java/lang/Object implements java/awt/Shape,java/lang/Cloneable flags 421 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 - -class name java/awt/image/AbstractMultiResolutionImage -header extends java/awt/Image implements java/awt/image/MultiResolutionImage flags 421 - -class name java/awt/image/BandCombineOp -header extends java/lang/Object implements java/awt/image/RasterOp flags 21 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/BandedSampleModel -header extends java/awt/image/ComponentSampleModel flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/BaseMultiResolutionImage -header extends java/awt/image/AbstractMultiResolutionImage flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/BufferedImageFilter -header extends java/awt/image/ImageFilter implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ByteLookupTable -header extends java/awt/image/LookupTable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ColorConvertOp -header extends java/lang/Object implements java/awt/image/BufferedImageOp,java/awt/image/RasterOp flags 21 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 - -class name java/awt/image/ComponentColorModel -header extends java/awt/image/ColorModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ComponentSampleModel -header extends java/awt/image/SampleModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ConvolveOp -header extends java/lang/Object implements java/awt/image/BufferedImageOp,java/awt/image/RasterOp flags 21 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 - -class name java/awt/image/DataBufferUShort -header extends java/awt/image/DataBuffer flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/DirectColorModel -header extends java/awt/image/PackedColorModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ImageFilter -header extends java/lang/Object implements java/awt/image/ImageConsumer,java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/IndexColorModel -header extends java/awt/image/ColorModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/Kernel -header extends java/lang/Object implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/LookupOp -header extends java/lang/Object implements java/awt/image/BufferedImageOp,java/awt/image/RasterOp flags 21 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/MultiPixelPackedSampleModel -header extends java/awt/image/SampleModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/MultiResolutionImage -header extends java/lang/Object flags 601 - -class name java/awt/image/PackedColorModel -header extends java/awt/image/ColorModel flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/Raster -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ReplicateScaleFilter -header extends java/awt/image/ImageFilter flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/RescaleOp -header extends java/lang/Object implements java/awt/image/BufferedImageOp,java/awt/image/RasterOp flags 21 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/SampleModel -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ShortLookupTable -header extends java/awt/image/LookupTable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/SinglePixelPackedSampleModel -header extends java/awt/image/SampleModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/print/Paper -header extends java/lang/Object implements java/lang/Cloneable flags 21 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 - class name java/beans/AppletInitializer header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9") -class name java/beans/BeanProperty -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;METHOD;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;) - class name java/beans/Beans -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -method name instantiate descriptor (Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/beans/beancontext/BeanContext;Ljava/beans/AppletInitializer;)Ljava/lang/Object; method name instantiate descriptor (Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/beans/beancontext/BeanContext;Ljava/beans/AppletInitializer;)Ljava/lang/Object; thrownTypes java/io/IOException,java/lang/ClassNotFoundException flags 9 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9") -class name java/beans/DefaultPersistenceDelegate -header extends java/beans/PersistenceDelegate flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/Encoder -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/EventSetDescriptor -header extends java/beans/FeatureDescriptor flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/Expression -header extends java/beans/Statement flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/FeatureDescriptor -header extends java/lang/Object flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 - -class name java/beans/IndexedPropertyDescriptor -header extends java/beans/PropertyDescriptor flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/JavaBean -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;) - -class name java/beans/PropertyDescriptor -header extends java/beans/FeatureDescriptor flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/SimpleBeanInfo -header extends java/lang/Object implements java/beans/BeanInfo flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/accessibility/AccessibilityProvider -header extends java/lang/Object flags 421 - -class name javax/accessibility/AccessibleBundle -header extends java/lang/Object flags 421 classAnnotations @Ljdk/Profile+Annotation;(value=I4) - -class name javax/accessibility/AccessibleRelationSet -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/accessibility/AccessibleStateSet -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/metadata/IIOMetadata -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/plugins/jpeg/JPEGHuffmanTable -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/plugins/jpeg/JPEGQTable -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/plugins/tiff/TIFFDirectory -header extends java/lang/Object implements java/lang/Cloneable flags 21 - -class name javax/imageio/plugins/tiff/TIFFField -header extends java/lang/Object implements java/lang/Cloneable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/plugins/tiff/TIFFImageReadParam -header extends javax/imageio/ImageReadParam flags 31 - -class name javax/imageio/plugins/tiff/TIFFTag -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/plugins/tiff/TIFFTagSet -header extends java/lang/Object flags 21 - -class name javax/imageio/spi/ImageReaderWriterSpi -header extends javax/imageio/spi/IIOServiceProvider flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/print/attribute/DateTimeSyntax -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/print/attribute/EnumSyntax -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/print/attribute/IntegerSyntax -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/print/attribute/standard/MediaPrintableArea -header extends java/lang/Object implements javax/print/attribute/DocAttribute,javax/print/attribute/PrintRequestAttribute,javax/print/attribute/PrintJobAttribute flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/print/event/PrintEvent -header extends java/util/EventObject flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/midi/MetaMessage -header extends javax/sound/midi/MidiMessage flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/midi/MidiMessage -header extends java/lang/Object implements java/lang/Cloneable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/midi/Sequence -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/midi/ShortMessage -header extends javax/sound/midi/MidiMessage flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/midi/SysexMessage -header extends javax/sound/midi/MidiMessage flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/sampled/ReverbType -header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I4) - -class name javax/sound/sampled/spi/FormatConversionProvider -header extends java/lang/Object flags 421 -innerclass innerClass javax/sound/sampled/AudioFormat$Encoding outerClass javax/sound/sampled/AudioFormat innerClassName Encoding flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/BoxLayout -header extends java/lang/Object implements java/awt/LayoutManager2,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/DebugGraphics -header extends java/awt/Graphics flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/DefaultBoundedRangeModel -header extends java/lang/Object implements javax/swing/BoundedRangeModel,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/DefaultListSelectionModel -header extends java/lang/Object implements javax/swing/ListSelectionModel,java/lang/Cloneable,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/GrayFilter -header extends java/awt/image/RGBImageFilter flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/swing/JApplet header extends java/applet/Applet implements javax/accessibility/Accessible,javax/swing/RootPaneContainer,javax/swing/TransferHandler$HasGetTransferHandler nestMembers javax/swing/JApplet$AccessibleJApplet flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9")@Ljava/beans/JavaBean;(defaultProperty="JMenuBar",description="Swing's\u005C;u0020;Applet\u005C;u0020;subclass.")@Ljavax/swing/SwingContainer;(delegate="getContentPane") innerclass innerClass javax/swing/JApplet$AccessibleJApplet outerClass javax/swing/JApplet innerClassName AccessibleJApplet flags 4 innerclass innerClass javax/swing/TransferHandler$HasGetTransferHandler outerClass javax/swing/TransferHandler innerClassName HasGetTransferHandler flags 608 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name javax/swing/JList$AccessibleJList$AccessibleJListChild --method name getAccessibleAction descriptor ()Ljavax/accessibility/AccessibleAction; -method name getAccessibleAction descriptor ()Ljavax/accessibility/AccessibleAction; flags 1 - class name javax/swing/JSlider$AccessibleJSlider header extends javax/swing/JComponent$AccessibleJComponent implements javax/accessibility/AccessibleValue,javax/swing/event/ChangeListener,javax/accessibility/AccessibleAction nestHost javax/swing/JSlider flags 21 innerclass innerClass javax/swing/JSlider$AccessibleJSlider outerClass javax/swing/JSlider innerClassName AccessibleJSlider flags 4 @@ -608,74 +65,13 @@ method name getAccessibleActionCount descriptor ()I flags 1 method name getAccessibleActionDescription descriptor (I)Ljava/lang/String; flags 1 method name doAccessibleAction descriptor (I)Z flags 1 -class name javax/swing/JTextPane -header extends javax/swing/JEditorPane flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(description="A\u005C;u0020;text\u005C;u0020;component\u005C;u0020;that\u005C;u0020;can\u005C;u0020;be\u005C;u0020;marked\u005C;u0020;up\u005C;u0020;with\u005C;u0020;attributes\u005C;u0020;that\u005C;u0020;are\u005C;u0020;graphically\u005C;u0020;represented.")@Ljavax/swing/SwingContainer; - -class name javax/swing/LookAndFeel -header extends java/lang/Object flags 421 -innerclass innerClass javax/swing/text/JTextComponent$KeyBinding outerClass javax/swing/text/JTextComponent innerClassName KeyBinding flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/MenuSelectionManager -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/swing/RepaintManager -method name addDirtyRegion descriptor (Ljava/applet/Applet;IIII)V method name addDirtyRegion descriptor (Ljava/applet/Applet;IIII)V flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9") -class name javax/swing/SizeRequirements -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/SortingFocusTraversalPolicy -header extends javax/swing/InternalFrameFocusTraversalPolicy flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/SwingContainer -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;) - -class name javax/swing/UIClientPropertyKey -header extends java/lang/Object flags 601 - -class name javax/swing/border/LineBorder -header extends javax/swing/border/AbstractBorder flags 21 -innerclass innerClass java/awt/geom/RoundRectangle2D$Float outerClass java/awt/geom/RoundRectangle2D innerClassName Float flags 9 -innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9 -innerclass innerClass java/awt/geom/Path2D$Float outerClass java/awt/geom/Path2D innerClassName Float flags 9 - -class name javax/swing/event/EventListenerList -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/event/ListDataEvent -header extends java/util/EventObject flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/event/ListSelectionEvent -header extends java/util/EventObject flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/event/TreeModelEvent -header extends java/util/EventObject flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/filechooser/FileNameExtensionFilter -header extends javax/swing/filechooser/FileFilter flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/swing/filechooser/FileSystemView method name getSystemIcon descriptor (Ljava/io/File;II)Ljavax/swing/Icon; flags 1 -class name javax/swing/plaf/basic/BasicArrowButton -header extends javax/swing/JButton implements javax/swing/SwingConstants flags 21 -innerclass innerClass java/awt/geom/Path2D$Double outerClass java/awt/geom/Path2D innerClassName Double flags 9 - -class name javax/swing/plaf/basic/BasicButtonUI -header extends javax/swing/plaf/ButtonUI flags 21 -innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/swing/plaf/basic/BasicDirectoryModel -method name intervalAdded descriptor (Ljavax/swing/event/ListDataEvent;)V -method name intervalRemoved descriptor (Ljavax/swing/event/ListDataEvent;)V @@ -688,10 +84,6 @@ class name javax/swing/plaf/basic/BasicMenuItemUI$MouseInputHandler header extends java/lang/Object implements javax/swing/event/MouseInputListener nestHost javax/swing/plaf/basic/BasicMenuItemUI flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="17") innerclass innerClass javax/swing/plaf/basic/BasicMenuItemUI$MouseInputHandler outerClass javax/swing/plaf/basic/BasicMenuItemUI innerClassName MouseInputHandler flags 4 -class name javax/swing/plaf/basic/BasicPasswordFieldUI -header extends javax/swing/plaf/basic/BasicTextFieldUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/swing/plaf/basic/BasicScrollPaneUI$HSBChangeListener header extends java/lang/Object implements javax/swing/event/ChangeListener nestHost javax/swing/plaf/basic/BasicScrollPaneUI flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="17") innerclass innerClass javax/swing/plaf/basic/BasicScrollPaneUI$HSBChangeListener outerClass javax/swing/plaf/basic/BasicScrollPaneUI innerClassName HSBChangeListener flags 1 @@ -708,195 +100,7 @@ class name javax/swing/plaf/basic/BasicScrollPaneUI$ViewportChangeHandler header extends java/lang/Object implements javax/swing/event/ChangeListener nestHost javax/swing/plaf/basic/BasicScrollPaneUI flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="17") innerclass innerClass javax/swing/plaf/basic/BasicScrollPaneUI$ViewportChangeHandler outerClass javax/swing/plaf/basic/BasicScrollPaneUI innerClassName ViewportChangeHandler flags 1 -class name javax/swing/plaf/basic/BasicToolBarSeparatorUI -header extends javax/swing/plaf/basic/BasicSeparatorUI flags 21 -innerclass innerClass javax/swing/JToolBar$Separator outerClass javax/swing/JToolBar innerClassName Separator flags 9 - class name javax/swing/plaf/basic/BasicToolBarUI -method name createFloatingFrame descriptor (Ljavax/swing/JToolBar;)Ljavax/swing/JFrame; method name createFloatingFrame descriptor (Ljavax/swing/JToolBar;)Ljavax/swing/JFrame; flags 4 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="17") -class name javax/swing/plaf/metal/MetalButtonUI -header extends javax/swing/plaf/basic/BasicButtonUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/metal/MetalCheckBoxUI -header extends javax/swing/plaf/metal/MetalRadioButtonUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/metal/MetalRadioButtonUI -header extends javax/swing/plaf/basic/BasicRadioButtonUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/metal/MetalToggleButtonUI -header extends javax/swing/plaf/basic/BasicToggleButtonUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/metal/MetalToolTipUI -header extends javax/swing/plaf/basic/BasicToolTipUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/multi/MultiLookAndFeel -header extends javax/swing/LookAndFeel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/synth/SynthButtonUI -header extends javax/swing/plaf/basic/BasicButtonUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/synth/SynthIcon -header extends java/lang/Object implements javax/swing/Icon flags 601 - -class name javax/swing/plaf/synth/SynthMenuItemUI -header extends javax/swing/plaf/basic/BasicMenuItemUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/synth/SynthMenuUI -header extends javax/swing/plaf/basic/BasicMenuUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/synth/SynthSeparatorUI -header extends javax/swing/plaf/SeparatorUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21 -innerclass innerClass javax/swing/JToolBar$Separator outerClass javax/swing/JToolBar innerClassName Separator flags 9 - -class name javax/swing/plaf/synth/SynthStyle -header extends java/lang/Object flags 421 -innerclass innerClass javax/swing/UIDefaults$LazyInputMap outerClass javax/swing/UIDefaults innerClassName LazyInputMap flags 9 -innerclass innerClass javax/swing/UIDefaults$LazyValue outerClass javax/swing/UIDefaults innerClassName LazyValue flags 609 - -class name javax/swing/table/AbstractTableModel -header extends java/lang/Object implements javax/swing/table/TableModel,java/io/Serializable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/AbstractWriter -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/BoxView -header extends javax/swing/text/CompositeView flags 21 -innerclass innerClass javax/swing/event/DocumentEvent$ElementChange outerClass javax/swing/event/DocumentEvent innerClassName ElementChange flags 609 -innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/CompositeView -header extends javax/swing/text/View flags 421 -innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/DateFormatter -header extends javax/swing/text/InternationalFormatter flags 21 -innerclass innerClass java/text/DateFormat$Field outerClass java/text/DateFormat innerClassName Field flags 9 - -class name javax/swing/text/IconView -header extends javax/swing/text/View flags 21 -innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/LayoutQueue -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/NumberFormatter -header extends javax/swing/text/InternationalFormatter flags 21 -innerclass innerClass java/text/NumberFormat$Field outerClass java/text/NumberFormat innerClassName Field flags 9 -innerclass innerClass javax/swing/text/DocumentFilter$FilterBypass outerClass javax/swing/text/DocumentFilter innerClassName FilterBypass flags 409 -innerclass innerClass java/text/AttributedCharacterIterator$Attribute outerClass java/text/AttributedCharacterIterator innerClassName Attribute flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/Segment -header extends java/lang/Object implements java/lang/Cloneable,java/text/CharacterIterator,java/lang/CharSequence flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/TabSet -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/TabStop -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/View -header extends java/lang/Object implements javax/swing/SwingConstants flags 421 -innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19 -innerclass innerClass javax/swing/event/DocumentEvent$ElementChange outerClass javax/swing/event/DocumentEvent innerClassName ElementChange flags 609 -innerclass innerClass javax/swing/event/DocumentEvent$EventType outerClass javax/swing/event/DocumentEvent innerClassName EventType flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/html/InlineView -header extends javax/swing/text/LabelView flags 21 -innerclass innerClass javax/swing/text/html/CSS$Attribute outerClass javax/swing/text/html/CSS innerClassName Attribute flags 19 - -class name javax/swing/text/html/ListView -header extends javax/swing/text/html/BlockView flags 21 -innerclass innerClass javax/swing/text/html/StyleSheet$ListPainter outerClass javax/swing/text/html/StyleSheet innerClassName ListPainter flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/html/MinimalHTMLWriter -header extends javax/swing/text/AbstractWriter flags 21 -innerclass innerClass javax/swing/text/StyleConstants$ParagraphConstants outerClass javax/swing/text/StyleConstants innerClassName ParagraphConstants flags 9 -innerclass innerClass javax/swing/text/StyleConstants$CharacterConstants outerClass javax/swing/text/StyleConstants innerClassName CharacterConstants flags 9 -innerclass innerClass javax/swing/text/StyleConstants$FontConstants outerClass javax/swing/text/StyleConstants innerClassName FontConstants flags 9 -innerclass innerClass javax/swing/text/StyleConstants$ColorConstants outerClass javax/swing/text/StyleConstants innerClassName ColorConstants flags 9 -innerclass innerClass javax/swing/text/AbstractDocument$BranchElement outerClass javax/swing/text/AbstractDocument innerClassName BranchElement flags 1 -innerclass innerClass javax/swing/text/StyleContext$NamedStyle outerClass javax/swing/text/StyleContext innerClassName NamedStyle flags 1 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/html/ObjectView -header extends javax/swing/text/ComponentView flags 21 -innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/html/Option -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19 - -class name javax/swing/text/html/ParagraphView -header extends javax/swing/text/ParagraphView flags 21 -innerclass innerClass javax/swing/text/html/StyleSheet$BoxPainter outerClass javax/swing/text/html/StyleSheet innerClassName BoxPainter flags 9 -innerclass innerClass javax/swing/text/html/CSS$Attribute outerClass javax/swing/text/html/CSS innerClassName Attribute flags 19 - -class name javax/swing/text/html/parser/ContentModel -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/html/parser/DocumentParser -header extends javax/swing/text/html/parser/Parser flags 21 -innerclass innerClass javax/swing/text/html/HTMLEditorKit$ParserCallback outerClass javax/swing/text/html/HTMLEditorKit innerClassName ParserCallback flags 9 -innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9 -innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19 - -class name javax/swing/text/html/parser/Parser -header extends java/lang/Object implements javax/swing/text/html/parser/DTDConstants flags 21 -innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/html/parser/TagElement -header extends java/lang/Object flags 21 -innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9 -innerclass innerClass javax/swing/text/html/HTML$UnknownTag outerClass javax/swing/text/html/HTML innerClassName UnknownTag flags 9 - -class name javax/swing/tree/DefaultTreeModel -header extends java/lang/Object implements java/io/Serializable,javax/swing/tree/TreeModel flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 - -class name javax/swing/tree/DefaultTreeSelectionModel -header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable,javax/swing/tree/TreeSelectionModel flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/tree/TreePath -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/undo/AbstractUndoableEdit -header extends java/lang/Object implements javax/swing/undo/UndoableEdit,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/undo/CompoundEdit -header extends javax/swing/undo/AbstractUndoableEdit flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/undo/UndoableEditSupport -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.desktop-I.sym.txt b/src/jdk.compiler/share/data/symbols/java.desktop-I.sym.txt index 348d9fd110ebb..282197455ab66 100644 --- a/src/jdk.compiler/share/data/symbols/java.desktop-I.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.desktop-I.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,496 +26,23 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name java/awt/AWTKeyStroke -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/AttributeValue -header extends java/lang/Object flags 420 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/BorderLayout -header extends java/lang/Object implements java/awt/LayoutManager2,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/CheckboxGroup -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Color -header extends java/lang/Object implements java/awt/Paint,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/ContainerOrderFocusTraversalPolicy -header extends java/awt/FocusTraversalPolicy implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Dimension -header extends java/awt/geom/Dimension2D implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/DisplayMode -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Event -header extends java/lang/Object implements java/io/Serializable flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/FlowLayout -header extends java/lang/Object implements java/awt/LayoutManager,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/FontMetrics -header extends java/lang/Object implements java/io/Serializable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/awt/Graphics -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -method name finalize descriptor ()V method name finalize descriptor ()V flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9") -class name java/awt/GridBagLayoutInfo -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019 - -class name java/awt/GridLayout -header extends java/lang/Object implements java/awt/LayoutManager,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/HeadlessException -header extends java/lang/UnsupportedOperationException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Insets -header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/MenuShortcut -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Point -header extends java/awt/geom/Point2D implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/awt/PrintJob -method name finalize descriptor ()V method name finalize descriptor ()V flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9") -class name java/awt/Rectangle -header extends java/awt/geom/Rectangle2D implements java/awt/Shape,java/io/Serializable flags 21 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/SystemColor -header extends java/awt/Color implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/TexturePaint -header extends java/lang/Object implements java/awt/Paint flags 21 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 - -class name java/awt/color/ColorSpace -header extends java/lang/Object implements java/io/Serializable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/color/ICC_ColorSpace -header extends java/awt/color/ColorSpace flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I4) - class name java/awt/color/ICC_Profile -method name finalize descriptor ()V -class name java/awt/desktop/AboutEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/AboutHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/AppEvent -header extends java/util/EventObject flags 21 - -class name java/awt/desktop/AppForegroundEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/AppForegroundListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/desktop/AppHiddenEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/AppHiddenListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/desktop/AppReopenedEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/AppReopenedListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/desktop/FilesEvent -header extends java/awt/desktop/AppEvent flags 21 - -class name java/awt/desktop/OpenFilesEvent -header extends java/awt/desktop/FilesEvent flags 31 - -class name java/awt/desktop/OpenFilesHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/OpenURIEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/OpenURIHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/PreferencesEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/PreferencesHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/PrintFilesEvent -header extends java/awt/desktop/FilesEvent flags 31 - -class name java/awt/desktop/PrintFilesHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/QuitEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/QuitHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/QuitResponse -header extends java/lang/Object flags 601 - -class name java/awt/desktop/QuitStrategy -header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum; - -class name java/awt/desktop/ScreenSleepEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/ScreenSleepListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/desktop/SystemEventListener -header extends java/lang/Object implements java/util/EventListener flags 601 - -class name java/awt/desktop/SystemSleepEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/SystemSleepListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/desktop/UserSessionListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/dnd/DragGestureEvent -header extends java/util/EventObject flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 - -class name java/awt/dnd/DragGestureRecognizer -header extends java/lang/Object implements java/io/Serializable flags 421 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 - -class name java/awt/dnd/DragSource -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/dnd/DropTargetDragEvent -header extends java/awt/dnd/DropTargetEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/dnd/DropTargetDropEvent -header extends java/awt/dnd/DropTargetEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/ActionEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/AdjustmentEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/ComponentEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/ContainerEvent -header extends java/awt/event/ComponentEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/HierarchyEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/InputMethodEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/ItemEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/MouseWheelEvent -header extends java/awt/event/MouseEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/PaintEvent -header extends java/awt/event/ComponentEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/WindowEvent -header extends java/awt/event/ComponentEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/font/FontRenderContext -header extends java/lang/Object flags 21 -innerclass innerClass java/awt/RenderingHints$Key outerClass java/awt/RenderingHints innerClassName Key flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/font/GraphicAttribute -header extends java/lang/Object flags 421 -innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9 - -class name java/awt/font/ImageGraphicAttribute -header extends java/awt/font/GraphicAttribute flags 31 -innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9 - -class name java/awt/font/NumericShaper$Range -header extends java/lang/Enum nestHost java/awt/font/NumericShaper sealed true flags 4021 signature Ljava/lang/Enum; -innerclass innerClass java/awt/font/NumericShaper$Range outerClass java/awt/font/NumericShaper innerClassName Range flags 4009 - -class name java/awt/font/ShapeGraphicAttribute -header extends java/awt/font/GraphicAttribute flags 31 -innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9 - -class name java/awt/font/TextHitInfo -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/font/TextMeasurer -header extends java/lang/Object implements java/lang/Cloneable flags 31 -innerclass innerClass java/text/AttributedCharacterIterator$Attribute outerClass java/text/AttributedCharacterIterator innerClassName Attribute flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/geom/AffineTransform -header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable flags 21 -innerclass innerClass java/awt/geom/Point2D$Double outerClass java/awt/geom/Point2D innerClassName Double flags 9 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 -innerclass innerClass java/awt/geom/Path2D$Double outerClass java/awt/geom/Path2D innerClassName Double flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/geom/Area -header extends java/lang/Object implements java/awt/Shape,java/lang/Cloneable flags 21 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 - -class name java/awt/geom/RectangularShape -header extends java/lang/Object implements java/awt/Shape,java/lang/Cloneable flags 421 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 - -class name java/awt/image/AbstractMultiResolutionImage -header extends java/awt/Image implements java/awt/image/MultiResolutionImage flags 421 - -class name java/awt/image/BandCombineOp -header extends java/lang/Object implements java/awt/image/RasterOp flags 21 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/BandedSampleModel -header extends java/awt/image/ComponentSampleModel flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/BaseMultiResolutionImage -header extends java/awt/image/AbstractMultiResolutionImage flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/BufferedImageFilter -header extends java/awt/image/ImageFilter implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ByteLookupTable -header extends java/awt/image/LookupTable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ColorConvertOp -header extends java/lang/Object implements java/awt/image/BufferedImageOp,java/awt/image/RasterOp flags 21 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 - class name java/awt/image/ColorModel -method name finalize descriptor ()V -class name java/awt/image/ComponentColorModel -header extends java/awt/image/ColorModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ComponentSampleModel -header extends java/awt/image/SampleModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ConvolveOp -header extends java/lang/Object implements java/awt/image/BufferedImageOp,java/awt/image/RasterOp flags 21 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 - -class name java/awt/image/DataBufferUShort -header extends java/awt/image/DataBuffer flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/DirectColorModel -header extends java/awt/image/PackedColorModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ImageFilter -header extends java/lang/Object implements java/awt/image/ImageConsumer,java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/awt/image/IndexColorModel -header extends java/awt/image/ColorModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -method name finalize descriptor ()V -class name java/awt/image/Kernel -header extends java/lang/Object implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/LookupOp -header extends java/lang/Object implements java/awt/image/BufferedImageOp,java/awt/image/RasterOp flags 21 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/MultiPixelPackedSampleModel -header extends java/awt/image/SampleModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/MultiResolutionImage -header extends java/lang/Object flags 601 - -class name java/awt/image/PackedColorModel -header extends java/awt/image/ColorModel flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/Raster -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ReplicateScaleFilter -header extends java/awt/image/ImageFilter flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/RescaleOp -header extends java/lang/Object implements java/awt/image/BufferedImageOp,java/awt/image/RasterOp flags 21 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/SampleModel -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ShortLookupTable -header extends java/awt/image/LookupTable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/SinglePixelPackedSampleModel -header extends java/awt/image/SampleModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/print/Paper -header extends java/lang/Object implements java/lang/Cloneable flags 21 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 - -class name java/beans/BeanProperty -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;METHOD;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;) - -class name java/beans/Beans -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/DefaultPersistenceDelegate -header extends java/beans/PersistenceDelegate flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/Encoder -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/EventSetDescriptor -header extends java/beans/FeatureDescriptor flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/Expression -header extends java/beans/Statement flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/FeatureDescriptor -header extends java/lang/Object flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 - -class name java/beans/IndexedPropertyDescriptor -header extends java/beans/PropertyDescriptor flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/JavaBean -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;) - -class name java/beans/PropertyDescriptor -header extends java/beans/FeatureDescriptor flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/SimpleBeanInfo -header extends java/lang/Object implements java/beans/BeanInfo flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/accessibility/AccessibilityProvider -header extends java/lang/Object flags 421 - -class name javax/accessibility/AccessibleBundle -header extends java/lang/Object flags 421 classAnnotations @Ljdk/Profile+Annotation;(value=I4) - -class name javax/accessibility/AccessibleRelationSet -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/accessibility/AccessibleStateSet -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/metadata/IIOMetadata -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/plugins/jpeg/JPEGHuffmanTable -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/plugins/jpeg/JPEGQTable -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/plugins/tiff/TIFFDirectory -header extends java/lang/Object implements java/lang/Cloneable flags 21 - -class name javax/imageio/plugins/tiff/TIFFField -header extends java/lang/Object implements java/lang/Cloneable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/plugins/tiff/TIFFImageReadParam -header extends javax/imageio/ImageReadParam flags 31 - -class name javax/imageio/plugins/tiff/TIFFTag -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/plugins/tiff/TIFFTagSet -header extends java/lang/Object flags 21 - -class name javax/imageio/spi/ImageReaderWriterSpi -header extends javax/imageio/spi/IIOServiceProvider flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/imageio/spi/ServiceRegistry -method name finalize descriptor ()V method name finalize descriptor ()V thrownTypes java/lang/Throwable flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9") @@ -540,74 +67,6 @@ class name javax/imageio/stream/MemoryCacheImageInputStream -method name finalize descriptor ()V method name finalize descriptor ()V thrownTypes java/lang/Throwable flags 4 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9") -class name javax/print/attribute/DateTimeSyntax -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/print/attribute/EnumSyntax -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/print/attribute/IntegerSyntax -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/print/attribute/standard/MediaPrintableArea -header extends java/lang/Object implements javax/print/attribute/DocAttribute,javax/print/attribute/PrintRequestAttribute,javax/print/attribute/PrintJobAttribute flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/print/event/PrintEvent -header extends java/util/EventObject flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/midi/MetaMessage -header extends javax/sound/midi/MidiMessage flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/midi/MidiMessage -header extends java/lang/Object implements java/lang/Cloneable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/midi/Sequence -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/midi/ShortMessage -header extends javax/sound/midi/MidiMessage flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/midi/SysexMessage -header extends javax/sound/midi/MidiMessage flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/sampled/ReverbType -header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I4) - -class name javax/sound/sampled/spi/FormatConversionProvider -header extends java/lang/Object flags 421 -innerclass innerClass javax/sound/sampled/AudioFormat$Encoding outerClass javax/sound/sampled/AudioFormat innerClassName Encoding flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/BoxLayout -header extends java/lang/Object implements java/awt/LayoutManager2,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/DebugGraphics -header extends java/awt/Graphics flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/DefaultBoundedRangeModel -header extends java/lang/Object implements javax/swing/BoundedRangeModel,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/DefaultListSelectionModel -header extends java/lang/Object implements javax/swing/ListSelectionModel,java/lang/Cloneable,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/GrayFilter -header extends java/awt/image/RGBImageFilter flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/swing/GroupLayout header extends java/lang/Object implements java/awt/LayoutManager2 nestMembers javax/swing/GroupLayout$ParallelGroup,javax/swing/GroupLayout$SequentialGroup,javax/swing/GroupLayout$Group,javax/swing/GroupLayout$Spring,javax/swing/GroupLayout$Alignment flags 21 innerclass innerClass javax/swing/GroupLayout$Alignment outerClass javax/swing/GroupLayout innerClassName Alignment flags 4019 @@ -643,105 +102,16 @@ innerclass innerClass javax/swing/GroupLayout$Spring outerClass javax/swing/Grou innerclass innerClass javax/swing/GroupLayout$Alignment outerClass javax/swing/GroupLayout innerClassName Alignment flags 4019 innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019 -class name javax/swing/JList$AccessibleJList$AccessibleJListChild --method name getAccessibleAction descriptor ()Ljavax/accessibility/AccessibleAction; -method name getAccessibleAction descriptor ()Ljavax/accessibility/AccessibleAction; flags 1 - -class name javax/swing/JTextPane -header extends javax/swing/JEditorPane flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(description="A\u005C;u0020;text\u005C;u0020;component\u005C;u0020;that\u005C;u0020;can\u005C;u0020;be\u005C;u0020;marked\u005C;u0020;up\u005C;u0020;with\u005C;u0020;attributes\u005C;u0020;that\u005C;u0020;are\u005C;u0020;graphically\u005C;u0020;represented.")@Ljavax/swing/SwingContainer; - -class name javax/swing/LookAndFeel -header extends java/lang/Object flags 421 -innerclass innerClass javax/swing/text/JTextComponent$KeyBinding outerClass javax/swing/text/JTextComponent innerClassName KeyBinding flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/MenuSelectionManager -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/SizeRequirements -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/SortingFocusTraversalPolicy -header extends javax/swing/InternalFrameFocusTraversalPolicy flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/SwingContainer -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;) - -class name javax/swing/UIClientPropertyKey -header extends java/lang/Object flags 601 - -class name javax/swing/border/LineBorder -header extends javax/swing/border/AbstractBorder flags 21 -innerclass innerClass java/awt/geom/RoundRectangle2D$Float outerClass java/awt/geom/RoundRectangle2D innerClassName Float flags 9 -innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9 -innerclass innerClass java/awt/geom/Path2D$Float outerClass java/awt/geom/Path2D innerClassName Float flags 9 - -class name javax/swing/event/EventListenerList -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/event/ListDataEvent -header extends java/util/EventObject flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/event/ListSelectionEvent -header extends java/util/EventObject flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/event/TreeModelEvent -header extends java/util/EventObject flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/filechooser/FileNameExtensionFilter -header extends javax/swing/filechooser/FileFilter flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/basic/BasicArrowButton -header extends javax/swing/JButton implements javax/swing/SwingConstants flags 21 -innerclass innerClass java/awt/geom/Path2D$Double outerClass java/awt/geom/Path2D innerClassName Double flags 9 - -class name javax/swing/plaf/basic/BasicButtonUI -header extends javax/swing/plaf/ButtonUI flags 21 -innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/basic/BasicPasswordFieldUI -header extends javax/swing/plaf/basic/BasicTextFieldUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/swing/plaf/basic/BasicSplitPaneUI$BasicVerticalLayoutManager header extends javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager nestHost javax/swing/plaf/basic/BasicSplitPaneUI flags 21 innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName BasicHorizontalLayoutManager flags 1 innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$BasicVerticalLayoutManager outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName BasicVerticalLayoutManager flags 1 -class name javax/swing/plaf/basic/BasicToolBarSeparatorUI -header extends javax/swing/plaf/basic/BasicSeparatorUI flags 21 -innerclass innerClass javax/swing/JToolBar$Separator outerClass javax/swing/JToolBar innerClassName Separator flags 9 - -class name javax/swing/plaf/metal/MetalButtonUI -header extends javax/swing/plaf/basic/BasicButtonUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/metal/MetalCheckBoxUI -header extends javax/swing/plaf/metal/MetalRadioButtonUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/metal/MetalRadioButtonUI -header extends javax/swing/plaf/basic/BasicRadioButtonUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout header extends javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout nestHost javax/swing/plaf/metal/MetalTabbedPaneUI flags 21 innerclass innerClass javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout outerClass javax/swing/plaf/basic/BasicTabbedPaneUI innerClassName TabbedPaneLayout flags 1 innerclass innerClass javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout outerClass javax/swing/plaf/metal/MetalTabbedPaneUI innerClassName TabbedPaneLayout flags 1 -class name javax/swing/plaf/metal/MetalToggleButtonUI -header extends javax/swing/plaf/basic/BasicToggleButtonUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/swing/plaf/metal/MetalToolBarUI$MetalContainerListener header extends javax/swing/plaf/basic/BasicToolBarUI$ToolBarContListener nestHost javax/swing/plaf/metal/MetalToolBarUI flags 21 innerclass innerClass javax/swing/plaf/basic/BasicToolBarUI$ToolBarContListener outerClass javax/swing/plaf/basic/BasicToolBarUI innerClassName ToolBarContListener flags 4 @@ -752,171 +122,3 @@ header extends javax/swing/plaf/basic/BasicToolBarUI$PropertyListener nestHost j innerclass innerClass javax/swing/plaf/basic/BasicToolBarUI$PropertyListener outerClass javax/swing/plaf/basic/BasicToolBarUI innerClassName PropertyListener flags 4 innerclass innerClass javax/swing/plaf/metal/MetalToolBarUI$MetalRolloverListener outerClass javax/swing/plaf/metal/MetalToolBarUI innerClassName MetalRolloverListener flags 4 -class name javax/swing/plaf/metal/MetalToolTipUI -header extends javax/swing/plaf/basic/BasicToolTipUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/multi/MultiLookAndFeel -header extends javax/swing/LookAndFeel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/synth/SynthButtonUI -header extends javax/swing/plaf/basic/BasicButtonUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/synth/SynthIcon -header extends java/lang/Object implements javax/swing/Icon flags 601 - -class name javax/swing/plaf/synth/SynthMenuItemUI -header extends javax/swing/plaf/basic/BasicMenuItemUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/synth/SynthMenuUI -header extends javax/swing/plaf/basic/BasicMenuUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/synth/SynthSeparatorUI -header extends javax/swing/plaf/SeparatorUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21 -innerclass innerClass javax/swing/JToolBar$Separator outerClass javax/swing/JToolBar innerClassName Separator flags 9 - -class name javax/swing/plaf/synth/SynthStyle -header extends java/lang/Object flags 421 -innerclass innerClass javax/swing/UIDefaults$LazyInputMap outerClass javax/swing/UIDefaults innerClassName LazyInputMap flags 9 -innerclass innerClass javax/swing/UIDefaults$LazyValue outerClass javax/swing/UIDefaults innerClassName LazyValue flags 609 - -class name javax/swing/table/AbstractTableModel -header extends java/lang/Object implements javax/swing/table/TableModel,java/io/Serializable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/AbstractWriter -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/BoxView -header extends javax/swing/text/CompositeView flags 21 -innerclass innerClass javax/swing/event/DocumentEvent$ElementChange outerClass javax/swing/event/DocumentEvent innerClassName ElementChange flags 609 -innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/CompositeView -header extends javax/swing/text/View flags 421 -innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/DateFormatter -header extends javax/swing/text/InternationalFormatter flags 21 -innerclass innerClass java/text/DateFormat$Field outerClass java/text/DateFormat innerClassName Field flags 9 - -class name javax/swing/text/IconView -header extends javax/swing/text/View flags 21 -innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/LayoutQueue -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/NumberFormatter -header extends javax/swing/text/InternationalFormatter flags 21 -innerclass innerClass java/text/NumberFormat$Field outerClass java/text/NumberFormat innerClassName Field flags 9 -innerclass innerClass javax/swing/text/DocumentFilter$FilterBypass outerClass javax/swing/text/DocumentFilter innerClassName FilterBypass flags 409 -innerclass innerClass java/text/AttributedCharacterIterator$Attribute outerClass java/text/AttributedCharacterIterator innerClassName Attribute flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/Segment -header extends java/lang/Object implements java/lang/Cloneable,java/text/CharacterIterator,java/lang/CharSequence flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/TabSet -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/TabStop -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/View -header extends java/lang/Object implements javax/swing/SwingConstants flags 421 -innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19 -innerclass innerClass javax/swing/event/DocumentEvent$ElementChange outerClass javax/swing/event/DocumentEvent innerClassName ElementChange flags 609 -innerclass innerClass javax/swing/event/DocumentEvent$EventType outerClass javax/swing/event/DocumentEvent innerClassName EventType flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/html/InlineView -header extends javax/swing/text/LabelView flags 21 -innerclass innerClass javax/swing/text/html/CSS$Attribute outerClass javax/swing/text/html/CSS innerClassName Attribute flags 19 - -class name javax/swing/text/html/ListView -header extends javax/swing/text/html/BlockView flags 21 -innerclass innerClass javax/swing/text/html/StyleSheet$ListPainter outerClass javax/swing/text/html/StyleSheet innerClassName ListPainter flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/html/MinimalHTMLWriter -header extends javax/swing/text/AbstractWriter flags 21 -innerclass innerClass javax/swing/text/StyleConstants$ParagraphConstants outerClass javax/swing/text/StyleConstants innerClassName ParagraphConstants flags 9 -innerclass innerClass javax/swing/text/StyleConstants$CharacterConstants outerClass javax/swing/text/StyleConstants innerClassName CharacterConstants flags 9 -innerclass innerClass javax/swing/text/StyleConstants$FontConstants outerClass javax/swing/text/StyleConstants innerClassName FontConstants flags 9 -innerclass innerClass javax/swing/text/StyleConstants$ColorConstants outerClass javax/swing/text/StyleConstants innerClassName ColorConstants flags 9 -innerclass innerClass javax/swing/text/AbstractDocument$BranchElement outerClass javax/swing/text/AbstractDocument innerClassName BranchElement flags 1 -innerclass innerClass javax/swing/text/StyleContext$NamedStyle outerClass javax/swing/text/StyleContext innerClassName NamedStyle flags 1 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/html/ObjectView -header extends javax/swing/text/ComponentView flags 21 -innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/html/Option -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19 - -class name javax/swing/text/html/ParagraphView -header extends javax/swing/text/ParagraphView flags 21 -innerclass innerClass javax/swing/text/html/StyleSheet$BoxPainter outerClass javax/swing/text/html/StyleSheet innerClassName BoxPainter flags 9 -innerclass innerClass javax/swing/text/html/CSS$Attribute outerClass javax/swing/text/html/CSS innerClassName Attribute flags 19 - -class name javax/swing/text/html/parser/ContentModel -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/html/parser/DocumentParser -header extends javax/swing/text/html/parser/Parser flags 21 -innerclass innerClass javax/swing/text/html/HTMLEditorKit$ParserCallback outerClass javax/swing/text/html/HTMLEditorKit innerClassName ParserCallback flags 9 -innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9 -innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19 - -class name javax/swing/text/html/parser/Parser -header extends java/lang/Object implements javax/swing/text/html/parser/DTDConstants flags 21 -innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/html/parser/TagElement -header extends java/lang/Object flags 21 -innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9 -innerclass innerClass javax/swing/text/html/HTML$UnknownTag outerClass javax/swing/text/html/HTML innerClassName UnknownTag flags 9 - -class name javax/swing/tree/DefaultTreeModel -header extends java/lang/Object implements java/io/Serializable,javax/swing/tree/TreeModel flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 - -class name javax/swing/tree/DefaultTreeSelectionModel -header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable,javax/swing/tree/TreeSelectionModel flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/tree/TreePath -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/undo/AbstractUndoableEdit -header extends java/lang/Object implements javax/swing/undo/UndoableEdit,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/undo/CompoundEdit -header extends javax/swing/undo/AbstractUndoableEdit flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/undo/UndoableEditSupport -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.desktop-J.sym.txt b/src/jdk.compiler/share/data/symbols/java.desktop-J.sym.txt index cc36cf51fedd6..cd41f825edfbf 100644 --- a/src/jdk.compiler/share/data/symbols/java.desktop-J.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.desktop-J.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,122 +26,34 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name java/awt/AWTKeyStroke -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/AttributeValue -header extends java/lang/Object flags 420 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/BorderLayout -header extends java/lang/Object implements java/awt/LayoutManager2,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/CheckboxGroup -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Color -header extends java/lang/Object implements java/awt/Paint,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/ContainerOrderFocusTraversalPolicy -header extends java/awt/FocusTraversalPolicy implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Dimension -header extends java/awt/geom/Dimension2D implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/DisplayMode -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Event -header extends java/lang/Object implements java/io/Serializable flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/FlowLayout -header extends java/lang/Object implements java/awt/LayoutManager,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/FontMetrics -header extends java/lang/Object implements java/io/Serializable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Graphics -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/awt/GridBagLayoutInfo header extends java/lang/Object implements java/io/Serializable flags 31 innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019 -class name java/awt/GridLayout -header extends java/lang/Object implements java/awt/LayoutManager,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/HeadlessException -header extends java/lang/UnsupportedOperationException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Insets -header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/MenuShortcut -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/awt/MultipleGradientPaint -header extends java/lang/Object implements java/awt/Paint nestMembers java/awt/MultipleGradientPaint$ColorSpaceType,java/awt/MultipleGradientPaint$CycleMethod sealed true flags 421 +header extends java/lang/Object implements java/awt/Paint nestMembers java/awt/MultipleGradientPaint$ColorSpaceType,java/awt/MultipleGradientPaint$CycleMethod sealed true permittedSubclasses java/awt/LinearGradientPaint,java/awt/RadialGradientPaint flags 421 innerclass innerClass java/awt/MultipleGradientPaint$ColorSpaceType outerClass java/awt/MultipleGradientPaint innerClassName ColorSpaceType flags 4019 innerclass innerClass java/awt/MultipleGradientPaint$CycleMethod outerClass java/awt/MultipleGradientPaint innerClassName CycleMethod flags 4019 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name java/awt/Point -header extends java/awt/geom/Point2D implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/awt/PointerInfo header extends java/lang/Object flags 31 -class name java/awt/Rectangle -header extends java/awt/geom/Rectangle2D implements java/awt/Shape,java/io/Serializable flags 21 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/awt/ScrollPaneAdjustable header extends java/lang/Object implements java/awt/Adjustable,java/io/Serializable flags 31 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name java/awt/SystemColor -header extends java/awt/Color implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/awt/SystemTray header extends java/lang/Object flags 21 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 class name java/awt/TextComponent -header extends java/awt/Component implements javax/accessibility/Accessible nestMembers java/awt/TextComponent$AccessibleAWTTextComponent sealed true flags 21 +header extends java/awt/Component implements javax/accessibility/Accessible nestMembers java/awt/TextComponent$AccessibleAWTTextComponent sealed true permittedSubclasses java/awt/TextArea,java/awt/TextField flags 21 innerclass innerClass java/awt/TextComponent$AccessibleAWTTextComponent outerClass java/awt/TextComponent innerClassName AccessibleAWTTextComponent flags 4 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name java/awt/TexturePaint -header extends java/lang/Object implements java/awt/Paint flags 21 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 - -class name java/awt/color/ColorSpace -header extends java/lang/Object implements java/io/Serializable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/color/ICC_ColorSpace -header extends java/awt/color/ColorSpace flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I4) - class name java/awt/color/ICC_Profile -header extends java/lang/Object implements java/io/Serializable sealed true flags 21 +header extends java/lang/Object implements java/io/Serializable sealed true permittedSubclasses java/awt/color/ICC_ProfileGray,java/awt/color/ICC_ProfileRGB flags 21 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 class name java/awt/color/ICC_ProfileGray @@ -150,199 +62,20 @@ header extends java/awt/color/ICC_Profile flags 31 class name java/awt/color/ICC_ProfileRGB header extends java/awt/color/ICC_Profile flags 31 -class name java/awt/desktop/AboutEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/AboutHandler -header extends java/lang/Object flags 601 - class name java/awt/desktop/AppEvent -header extends java/util/EventObject sealed true flags 21 - -class name java/awt/desktop/AppForegroundEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/AppForegroundListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/desktop/AppHiddenEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/AppHiddenListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/desktop/AppReopenedEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/AppReopenedListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 +header extends java/util/EventObject sealed true permittedSubclasses java/awt/desktop/AboutEvent,java/awt/desktop/AppForegroundEvent,java/awt/desktop/AppHiddenEvent,java/awt/desktop/AppReopenedEvent,java/awt/desktop/FilesEvent,java/awt/desktop/OpenURIEvent,java/awt/desktop/PreferencesEvent,java/awt/desktop/QuitEvent,java/awt/desktop/ScreenSleepEvent,java/awt/desktop/SystemSleepEvent,java/awt/desktop/UserSessionEvent flags 21 class name java/awt/desktop/FilesEvent -header extends java/awt/desktop/AppEvent sealed true flags 21 - -class name java/awt/desktop/OpenFilesEvent -header extends java/awt/desktop/FilesEvent flags 31 - -class name java/awt/desktop/OpenFilesHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/OpenURIEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/OpenURIHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/PreferencesEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/PreferencesHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/PrintFilesEvent -header extends java/awt/desktop/FilesEvent flags 31 - -class name java/awt/desktop/PrintFilesHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/QuitEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/QuitHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/QuitResponse -header extends java/lang/Object flags 601 - -class name java/awt/desktop/QuitStrategy -header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum; - -class name java/awt/desktop/ScreenSleepEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/ScreenSleepListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/desktop/SystemEventListener -header extends java/lang/Object implements java/util/EventListener flags 601 - -class name java/awt/desktop/SystemSleepEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/SystemSleepListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/desktop/UserSessionListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/dnd/DragGestureEvent -header extends java/util/EventObject flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 - -class name java/awt/dnd/DragGestureRecognizer -header extends java/lang/Object implements java/io/Serializable flags 421 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 - -class name java/awt/dnd/DragSource -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +header extends java/awt/desktop/AppEvent sealed true permittedSubclasses java/awt/desktop/OpenFilesEvent,java/awt/desktop/PrintFilesEvent flags 21 class name java/awt/dnd/DropTargetContext header extends java/lang/Object implements java/io/Serializable nestMembers java/awt/dnd/DropTargetContext$TransferableProxy flags 31 innerclass innerClass java/awt/dnd/DropTargetContext$TransferableProxy outerClass java/awt/dnd/DropTargetContext innerClassName TransferableProxy flags 4 -class name java/awt/dnd/DropTargetDragEvent -header extends java/awt/dnd/DropTargetEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/dnd/DropTargetDropEvent -header extends java/awt/dnd/DropTargetEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/ActionEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/AdjustmentEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/ComponentEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/ContainerEvent -header extends java/awt/event/ComponentEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/HierarchyEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/awt/event/InputEvent -header extends java/awt/event/ComponentEvent sealed true flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/InputMethodEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/ItemEvent -header extends java/awt/AWTEvent flags 21 +header extends java/awt/event/ComponentEvent sealed true permittedSubclasses java/awt/event/KeyEvent,java/awt/event/MouseEvent flags 421 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name java/awt/event/MouseWheelEvent -header extends java/awt/event/MouseEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/PaintEvent -header extends java/awt/event/ComponentEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/WindowEvent -header extends java/awt/event/ComponentEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/font/FontRenderContext -header extends java/lang/Object flags 21 -innerclass innerClass java/awt/RenderingHints$Key outerClass java/awt/RenderingHints innerClassName Key flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/font/GraphicAttribute -header extends java/lang/Object flags 421 -innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9 - -class name java/awt/font/ImageGraphicAttribute -header extends java/awt/font/GraphicAttribute flags 31 -innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9 - -class name java/awt/font/NumericShaper$Range -header extends java/lang/Enum nestHost java/awt/font/NumericShaper sealed true flags 4021 signature Ljava/lang/Enum; -innerclass innerClass java/awt/font/NumericShaper$Range outerClass java/awt/font/NumericShaper innerClassName Range flags 4009 - -class name java/awt/font/ShapeGraphicAttribute -header extends java/awt/font/GraphicAttribute flags 31 -innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9 - -class name java/awt/font/TextHitInfo -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/font/TextMeasurer -header extends java/lang/Object implements java/lang/Cloneable flags 31 -innerclass innerClass java/text/AttributedCharacterIterator$Attribute outerClass java/text/AttributedCharacterIterator innerClassName Attribute flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/geom/AffineTransform -header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable flags 21 -innerclass innerClass java/awt/geom/Point2D$Double outerClass java/awt/geom/Point2D innerClassName Double flags 9 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 -innerclass innerClass java/awt/geom/Path2D$Double outerClass java/awt/geom/Path2D innerClassName Double flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/geom/Area -header extends java/lang/Object implements java/awt/Shape,java/lang/Cloneable flags 21 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 - class name java/awt/geom/CubicCurve2D method name getBounds2D descriptor ()Ljava/awt/geom/Rectangle2D; flags 1 @@ -359,7 +92,7 @@ innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point -method name getBounds2D descriptor ()Ljava/awt/geom/Rectangle2D; class name java/awt/geom/Path2D -header extends java/lang/Object implements java/awt/Shape,java/lang/Cloneable nestMembers java/awt/geom/Path2D$Double,java/awt/geom/Path2D$Float sealed true flags 421 +header extends java/lang/Object implements java/awt/Shape,java/lang/Cloneable nestMembers java/awt/geom/Path2D$Double,java/awt/geom/Path2D$Float sealed true permittedSubclasses java/awt/geom/Path2D$Double,java/awt/geom/Path2D$Float flags 421 innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 innerclass innerClass java/awt/geom/Path2D$Double outerClass java/awt/geom/Path2D innerClassName Double flags 9 innerclass innerClass java/awt/geom/Path2D$Float outerClass java/awt/geom/Path2D innerClassName Float flags 9 @@ -389,299 +122,41 @@ innerclass innerClass java/awt/geom/QuadCurve2D$Float outerClass java/awt/geom/Q innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 -method name getBounds2D descriptor ()Ljava/awt/geom/Rectangle2D; -class name java/awt/geom/RectangularShape -header extends java/lang/Object implements java/awt/Shape,java/lang/Cloneable flags 421 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 - -class name java/awt/image/AbstractMultiResolutionImage -header extends java/awt/Image implements java/awt/image/MultiResolutionImage flags 421 - -class name java/awt/image/BandCombineOp -header extends java/lang/Object implements java/awt/image/RasterOp flags 21 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/BandedSampleModel -header extends java/awt/image/ComponentSampleModel flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/BaseMultiResolutionImage -header extends java/awt/image/AbstractMultiResolutionImage flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/BufferedImageFilter -header extends java/awt/image/ImageFilter implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ByteLookupTable -header extends java/awt/image/LookupTable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ColorConvertOp -header extends java/lang/Object implements java/awt/image/BufferedImageOp,java/awt/image/RasterOp flags 21 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 - -class name java/awt/image/ComponentColorModel -header extends java/awt/image/ColorModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ComponentSampleModel -header extends java/awt/image/SampleModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ConvolveOp -header extends java/lang/Object implements java/awt/image/BufferedImageOp,java/awt/image/RasterOp flags 21 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 - -class name java/awt/image/DataBufferUShort -header extends java/awt/image/DataBuffer flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/DirectColorModel -header extends java/awt/image/PackedColorModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ImageFilter -header extends java/lang/Object implements java/awt/image/ImageConsumer,java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/IndexColorModel -header extends java/awt/image/ColorModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/Kernel -header extends java/lang/Object implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/LookupOp -header extends java/lang/Object implements java/awt/image/BufferedImageOp,java/awt/image/RasterOp flags 21 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/MultiPixelPackedSampleModel -header extends java/awt/image/SampleModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/MultiResolutionImage -header extends java/lang/Object flags 601 - -class name java/awt/image/PackedColorModel -header extends java/awt/image/ColorModel flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/Raster -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ReplicateScaleFilter -header extends java/awt/image/ImageFilter flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/RescaleOp -header extends java/lang/Object implements java/awt/image/BufferedImageOp,java/awt/image/RasterOp flags 21 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/SampleModel -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ShortLookupTable -header extends java/awt/image/LookupTable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/SinglePixelPackedSampleModel -header extends java/awt/image/SampleModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/print/Paper -header extends java/lang/Object implements java/lang/Cloneable flags 21 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 - -class name java/beans/BeanProperty -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;METHOD;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;) - -class name java/beans/Beans -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/DefaultPersistenceDelegate -header extends java/beans/PersistenceDelegate flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/Encoder -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/EventSetDescriptor -header extends java/beans/FeatureDescriptor flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/Expression -header extends java/beans/Statement flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/FeatureDescriptor -header extends java/lang/Object flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 - -class name java/beans/IndexedPropertyDescriptor -header extends java/beans/PropertyDescriptor flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/JavaBean -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;) - -class name java/beans/PropertyDescriptor -header extends java/beans/FeatureDescriptor flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/SimpleBeanInfo -header extends java/lang/Object implements java/beans/BeanInfo flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/accessibility/AccessibilityProvider -header extends java/lang/Object flags 421 - -class name javax/accessibility/AccessibleBundle -header extends java/lang/Object flags 421 classAnnotations @Ljdk/Profile+Annotation;(value=I4) - -class name javax/accessibility/AccessibleRelationSet -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/accessibility/AccessibleStateSet -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/metadata/IIOMetadata -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/plugins/jpeg/JPEGHuffmanTable -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/plugins/jpeg/JPEGQTable -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/plugins/tiff/TIFFDirectory -header extends java/lang/Object implements java/lang/Cloneable flags 21 - -class name javax/imageio/plugins/tiff/TIFFField -header extends java/lang/Object implements java/lang/Cloneable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/plugins/tiff/TIFFImageReadParam -header extends javax/imageio/ImageReadParam flags 31 - -class name javax/imageio/plugins/tiff/TIFFTag -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/plugins/tiff/TIFFTagSet -header extends java/lang/Object flags 21 - -class name javax/imageio/spi/ImageReaderWriterSpi -header extends javax/imageio/spi/IIOServiceProvider flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/print/attribute/DateTimeSyntax -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/print/attribute/EnumSyntax -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/print/attribute/IntegerSyntax -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/print/attribute/standard/MediaPrintableArea -header extends java/lang/Object implements javax/print/attribute/DocAttribute,javax/print/attribute/PrintRequestAttribute,javax/print/attribute/PrintJobAttribute flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/print/event/PrintEvent -header extends java/util/EventObject flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/midi/MetaMessage -header extends javax/sound/midi/MidiMessage flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/midi/MidiMessage -header extends java/lang/Object implements java/lang/Cloneable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/midi/Sequence -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/midi/ShortMessage -header extends javax/sound/midi/MidiMessage flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/midi/SysexMessage -header extends javax/sound/midi/MidiMessage flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/sound/midi/Track header extends java/lang/Object flags 31 -class name javax/sound/sampled/ReverbType -header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I4) - -class name javax/sound/sampled/spi/FormatConversionProvider -header extends java/lang/Object flags 421 -innerclass innerClass javax/sound/sampled/AudioFormat$Encoding outerClass javax/sound/sampled/AudioFormat innerClassName Encoding flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/BoxLayout -header extends java/lang/Object implements java/awt/LayoutManager2,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/DebugGraphics -header extends java/awt/Graphics flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/DefaultBoundedRangeModel -header extends java/lang/Object implements javax/swing/BoundedRangeModel,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/DefaultListSelectionModel -header extends java/lang/Object implements javax/swing/ListSelectionModel,java/lang/Cloneable,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/GrayFilter -header extends java/awt/image/RGBImageFilter flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/swing/GroupLayout -header extends java/lang/Object implements java/awt/LayoutManager2 nestMembers javax/swing/GroupLayout$ParallelGroup,javax/swing/GroupLayout$SequentialGroup,javax/swing/GroupLayout$Group,javax/swing/GroupLayout$Spring,javax/swing/GroupLayout$Alignment flags 21 +header extends java/lang/Object implements java/awt/LayoutManager2 nestMembers javax/swing/GroupLayout$BaselineGroup,javax/swing/GroupLayout$ParallelGroup,javax/swing/GroupLayout$SequentialGroup,javax/swing/GroupLayout$Group,javax/swing/GroupLayout$Spring,javax/swing/GroupLayout$Alignment flags 21 innerclass innerClass javax/swing/GroupLayout$Alignment outerClass javax/swing/GroupLayout innerClassName Alignment flags 4019 innerclass innerClass javax/swing/GroupLayout$ParallelGroup outerClass javax/swing/GroupLayout innerClassName ParallelGroup flags 1 innerclass innerClass javax/swing/GroupLayout$Group outerClass javax/swing/GroupLayout innerClassName Group flags 401 innerclass innerClass javax/swing/GroupLayout$SequentialGroup outerClass javax/swing/GroupLayout innerClassName SequentialGroup flags 11 innerclass innerClass javax/swing/GroupLayout$Spring outerClass javax/swing/GroupLayout innerClassName Spring flags 40a +innerclass innerClass javax/swing/GroupLayout$BaselineGroup outerClass javax/swing/GroupLayout innerClassName BaselineGroup flags 12 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +class name javax/swing/GroupLayout$BaselineGroup +header extends javax/swing/GroupLayout$ParallelGroup nestHost javax/swing/GroupLayout flags 30 +innerclass innerClass javax/swing/GroupLayout$Alignment outerClass javax/swing/GroupLayout innerClassName Alignment flags 4019 +innerclass innerClass javax/swing/GroupLayout$ParallelGroup outerClass javax/swing/GroupLayout innerClassName ParallelGroup flags 1 +innerclass innerClass javax/swing/GroupLayout$BaselineGroup outerClass javax/swing/GroupLayout innerClassName BaselineGroup flags 12 +innerclass innerClass javax/swing/GroupLayout$Spring outerClass javax/swing/GroupLayout innerClassName Spring flags 40a +innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019 + class name javax/swing/GroupLayout$Group -header extends javax/swing/GroupLayout$Spring nestHost javax/swing/GroupLayout sealed true flags 421 +header extends javax/swing/GroupLayout$Spring nestHost javax/swing/GroupLayout sealed true permittedSubclasses javax/swing/GroupLayout$ParallelGroup,javax/swing/GroupLayout$SequentialGroup flags 421 innerclass innerClass javax/swing/GroupLayout$Group outerClass javax/swing/GroupLayout innerClassName Group flags 401 innerclass innerClass javax/swing/GroupLayout$Spring outerClass javax/swing/GroupLayout innerClassName Spring flags 40a innerclass innerClass javax/swing/GroupLayout$ParallelGroup outerClass javax/swing/GroupLayout innerClassName ParallelGroup flags 1 innerclass innerClass javax/swing/GroupLayout$SequentialGroup outerClass javax/swing/GroupLayout innerClassName SequentialGroup flags 11 class name javax/swing/GroupLayout$ParallelGroup -header extends javax/swing/GroupLayout$Group nestHost javax/swing/GroupLayout sealed true flags 21 +header extends javax/swing/GroupLayout$Group nestHost javax/swing/GroupLayout sealed true permittedSubclasses javax/swing/GroupLayout$BaselineGroup flags 21 innerclass innerClass javax/swing/GroupLayout$ParallelGroup outerClass javax/swing/GroupLayout innerClassName ParallelGroup flags 1 innerclass innerClass javax/swing/GroupLayout$Group outerClass javax/swing/GroupLayout innerClassName Group flags 401 innerclass innerClass javax/swing/GroupLayout$Alignment outerClass javax/swing/GroupLayout innerClassName Alignment flags 4019 innerclass innerClass javax/swing/GroupLayout$Spring outerClass javax/swing/GroupLayout innerClassName Spring flags 40a +innerclass innerClass javax/swing/GroupLayout$BaselineGroup outerClass javax/swing/GroupLayout innerClassName BaselineGroup flags 12 class name javax/swing/GroupLayout$SequentialGroup header extends javax/swing/GroupLayout$Group nestHost javax/swing/GroupLayout flags 31 @@ -691,77 +166,12 @@ innerclass innerClass javax/swing/GroupLayout$Spring outerClass javax/swing/Grou innerclass innerClass javax/swing/LayoutStyle$ComponentPlacement outerClass javax/swing/LayoutStyle innerClassName ComponentPlacement flags 4019 innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019 -class name javax/swing/JList$AccessibleJList$AccessibleJListChild --method name getAccessibleAction descriptor ()Ljavax/accessibility/AccessibleAction; -method name getAccessibleAction descriptor ()Ljavax/accessibility/AccessibleAction; flags 1 - -class name javax/swing/JTextPane -header extends javax/swing/JEditorPane flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(description="A\u005C;u0020;text\u005C;u0020;component\u005C;u0020;that\u005C;u0020;can\u005C;u0020;be\u005C;u0020;marked\u005C;u0020;up\u005C;u0020;with\u005C;u0020;attributes\u005C;u0020;that\u005C;u0020;are\u005C;u0020;graphically\u005C;u0020;represented.")@Ljavax/swing/SwingContainer; - -class name javax/swing/LookAndFeel -header extends java/lang/Object flags 421 -innerclass innerClass javax/swing/text/JTextComponent$KeyBinding outerClass javax/swing/text/JTextComponent innerClassName KeyBinding flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/MenuSelectionManager -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/SizeRequirements -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/SortingFocusTraversalPolicy -header extends javax/swing/InternalFrameFocusTraversalPolicy flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/SwingContainer -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;) - class name javax/swing/ToolTipManager header extends java/awt/event/MouseAdapter implements java/awt/event/MouseMotionListener nestMembers javax/swing/ToolTipManager$stillInsideTimerAction,javax/swing/ToolTipManager$outsideTimerAction,javax/swing/ToolTipManager$insideTimerAction flags 31 innerclass innerClass javax/swing/ToolTipManager$insideTimerAction outerClass javax/swing/ToolTipManager innerClassName insideTimerAction flags 4 innerclass innerClass javax/swing/ToolTipManager$outsideTimerAction outerClass javax/swing/ToolTipManager innerClassName outsideTimerAction flags 4 innerclass innerClass javax/swing/ToolTipManager$stillInsideTimerAction outerClass javax/swing/ToolTipManager innerClassName stillInsideTimerAction flags 4 -class name javax/swing/UIClientPropertyKey -header extends java/lang/Object flags 601 - -class name javax/swing/border/LineBorder -header extends javax/swing/border/AbstractBorder flags 21 -innerclass innerClass java/awt/geom/RoundRectangle2D$Float outerClass java/awt/geom/RoundRectangle2D innerClassName Float flags 9 -innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9 -innerclass innerClass java/awt/geom/Path2D$Float outerClass java/awt/geom/Path2D innerClassName Float flags 9 - -class name javax/swing/event/EventListenerList -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/event/ListDataEvent -header extends java/util/EventObject flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/event/ListSelectionEvent -header extends java/util/EventObject flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/event/TreeModelEvent -header extends java/util/EventObject flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/filechooser/FileNameExtensionFilter -header extends javax/swing/filechooser/FileFilter flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/basic/BasicArrowButton -header extends javax/swing/JButton implements javax/swing/SwingConstants flags 21 -innerclass innerClass java/awt/geom/Path2D$Double outerClass java/awt/geom/Path2D innerClassName Double flags 9 - -class name javax/swing/plaf/basic/BasicButtonUI -header extends javax/swing/plaf/ButtonUI flags 21 -innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/swing/plaf/basic/BasicDirectoryModel -method name intervalAdded descriptor (Ljavax/swing/event/ListDataEvent;)V -method name intervalRemoved descriptor (Ljavax/swing/event/ListDataEvent;)V @@ -774,10 +184,6 @@ class name javax/swing/plaf/basic/BasicMenuItemUI$MouseInputHandler header extends java/lang/Object implements javax/swing/event/MouseInputListener nestHost javax/swing/plaf/basic/BasicMenuItemUI flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="17") innerclass innerClass javax/swing/plaf/basic/BasicMenuItemUI$MouseInputHandler outerClass javax/swing/plaf/basic/BasicMenuItemUI innerClassName MouseInputHandler flags 4 -class name javax/swing/plaf/basic/BasicPasswordFieldUI -header extends javax/swing/plaf/basic/BasicTextFieldUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/swing/plaf/basic/BasicScrollPaneUI$HSBChangeListener header extends java/lang/Object implements javax/swing/event/ChangeListener nestHost javax/swing/plaf/basic/BasicScrollPaneUI flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="17") innerclass innerClass javax/swing/plaf/basic/BasicScrollPaneUI$HSBChangeListener outerClass javax/swing/plaf/basic/BasicScrollPaneUI innerClassName HSBChangeListener flags 1 @@ -795,112 +201,17 @@ header extends java/lang/Object implements javax/swing/event/ChangeListener nest innerclass innerClass javax/swing/plaf/basic/BasicScrollPaneUI$ViewportChangeHandler outerClass javax/swing/plaf/basic/BasicScrollPaneUI innerClassName ViewportChangeHandler flags 1 class name javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager -header extends java/lang/Object implements java/awt/LayoutManager2 nestHost javax/swing/plaf/basic/BasicSplitPaneUI sealed true flags 21 +header extends java/lang/Object implements java/awt/LayoutManager2 nestHost javax/swing/plaf/basic/BasicSplitPaneUI sealed true permittedSubclasses javax/swing/plaf/basic/BasicSplitPaneUI$BasicVerticalLayoutManager flags 21 innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName BasicHorizontalLayoutManager flags 1 innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$BasicVerticalLayoutManager outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName BasicVerticalLayoutManager flags 1 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name javax/swing/plaf/basic/BasicToolBarSeparatorUI -header extends javax/swing/plaf/basic/BasicSeparatorUI flags 21 -innerclass innerClass javax/swing/JToolBar$Separator outerClass javax/swing/JToolBar innerClassName Separator flags 9 - class name javax/swing/plaf/basic/BasicToolBarUI -method name createFloatingFrame descriptor (Ljavax/swing/JToolBar;)Ljavax/swing/JFrame; method name createFloatingFrame descriptor (Ljavax/swing/JToolBar;)Ljavax/swing/JFrame; flags 4 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="17") -class name javax/swing/plaf/metal/MetalButtonUI -header extends javax/swing/plaf/basic/BasicButtonUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/metal/MetalCheckBoxUI -header extends javax/swing/plaf/metal/MetalRadioButtonUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/metal/MetalRadioButtonUI -header extends javax/swing/plaf/basic/BasicRadioButtonUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/metal/MetalToggleButtonUI -header extends javax/swing/plaf/basic/BasicToggleButtonUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/metal/MetalToolTipUI -header extends javax/swing/plaf/basic/BasicToolTipUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/multi/MultiLookAndFeel -header extends javax/swing/LookAndFeel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/synth/SynthButtonUI -header extends javax/swing/plaf/basic/BasicButtonUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/synth/SynthIcon -header extends java/lang/Object implements javax/swing/Icon flags 601 - -class name javax/swing/plaf/synth/SynthMenuItemUI -header extends javax/swing/plaf/basic/BasicMenuItemUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/synth/SynthMenuUI -header extends javax/swing/plaf/basic/BasicMenuUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/synth/SynthSeparatorUI -header extends javax/swing/plaf/SeparatorUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21 -innerclass innerClass javax/swing/JToolBar$Separator outerClass javax/swing/JToolBar innerClassName Separator flags 9 - -class name javax/swing/plaf/synth/SynthStyle -header extends java/lang/Object flags 421 -innerclass innerClass javax/swing/UIDefaults$LazyInputMap outerClass javax/swing/UIDefaults innerClassName LazyInputMap flags 9 -innerclass innerClass javax/swing/UIDefaults$LazyValue outerClass javax/swing/UIDefaults innerClassName LazyValue flags 609 - -class name javax/swing/table/AbstractTableModel -header extends java/lang/Object implements javax/swing/table/TableModel,java/io/Serializable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/AbstractWriter -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/BoxView -header extends javax/swing/text/CompositeView flags 21 -innerclass innerClass javax/swing/event/DocumentEvent$ElementChange outerClass javax/swing/event/DocumentEvent innerClassName ElementChange flags 609 -innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/CompositeView -header extends javax/swing/text/View flags 421 -innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/DateFormatter -header extends javax/swing/text/InternationalFormatter flags 21 -innerclass innerClass java/text/DateFormat$Field outerClass java/text/DateFormat innerClassName Field flags 9 - -class name javax/swing/text/IconView -header extends javax/swing/text/View flags 21 -innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/LayoutQueue -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/NumberFormatter -header extends javax/swing/text/InternationalFormatter flags 21 -innerclass innerClass java/text/NumberFormat$Field outerClass java/text/NumberFormat innerClassName Field flags 9 -innerclass innerClass javax/swing/text/DocumentFilter$FilterBypass outerClass javax/swing/text/DocumentFilter innerClassName FilterBypass flags 409 -innerclass innerClass java/text/AttributedCharacterIterator$Attribute outerClass java/text/AttributedCharacterIterator innerClassName Attribute flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/Segment -header extends java/lang/Object implements java/lang/Cloneable,java/text/CharacterIterator,java/lang/CharSequence flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/swing/text/StyleConstants -header extends java/lang/Object nestMembers javax/swing/text/StyleConstants$FontConstants,javax/swing/text/StyleConstants$ColorConstants,javax/swing/text/StyleConstants$CharacterConstants,javax/swing/text/StyleConstants$ParagraphConstants sealed true flags 21 +header extends java/lang/Object nestMembers javax/swing/text/StyleConstants$FontConstants,javax/swing/text/StyleConstants$ColorConstants,javax/swing/text/StyleConstants$CharacterConstants,javax/swing/text/StyleConstants$ParagraphConstants sealed true permittedSubclasses javax/swing/text/StyleConstants$CharacterConstants,javax/swing/text/StyleConstants$ColorConstants,javax/swing/text/StyleConstants$FontConstants,javax/swing/text/StyleConstants$ParagraphConstants flags 21 innerclass innerClass javax/swing/text/StyleConstants$CharacterConstants outerClass javax/swing/text/StyleConstants innerClassName CharacterConstants flags 19 innerclass innerClass javax/swing/text/StyleConstants$FontConstants outerClass javax/swing/text/StyleConstants innerClassName FontConstants flags 19 innerclass innerClass javax/swing/text/StyleConstants$ColorConstants outerClass javax/swing/text/StyleConstants innerClassName ColorConstants flags 19 @@ -928,21 +239,6 @@ header extends javax/swing/text/StyleConstants implements javax/swing/text/Attri innerclass innerClass javax/swing/text/StyleConstants$ParagraphConstants outerClass javax/swing/text/StyleConstants innerClassName ParagraphConstants flags 19 innerclass innerClass javax/swing/text/AttributeSet$ParagraphAttribute outerClass javax/swing/text/AttributeSet innerClassName ParagraphAttribute flags 609 -class name javax/swing/text/TabSet -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/TabStop -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/View -header extends java/lang/Object implements javax/swing/SwingConstants flags 421 -innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19 -innerclass innerClass javax/swing/event/DocumentEvent$ElementChange outerClass javax/swing/event/DocumentEvent innerClassName ElementChange flags 609 -innerclass innerClass javax/swing/event/DocumentEvent$EventType outerClass javax/swing/event/DocumentEvent innerClassName EventType flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/swing/text/html/BlockView header extends javax/swing/text/BoxView flags 21 innerclass innerClass javax/swing/text/html/CSS$Attribute outerClass javax/swing/text/html/CSS innerClassName Attribute flags 19 @@ -954,10 +250,6 @@ header extends javax/swing/text/html/HTMLFrameHyperlinkEvent nestMembers javax/s innerclass innerClass javax/swing/event/HyperlinkEvent$EventType outerClass javax/swing/event/HyperlinkEvent innerClassName EventType flags 19 innerclass innerClass javax/swing/text/html/FormSubmitEvent$MethodType outerClass javax/swing/text/html/FormSubmitEvent innerClassName MethodType flags 4019 -class name javax/swing/text/html/InlineView -header extends javax/swing/text/LabelView flags 21 -innerclass innerClass javax/swing/text/html/CSS$Attribute outerClass javax/swing/text/html/CSS innerClassName Attribute flags 19 - class name javax/swing/text/html/ListView header extends javax/swing/text/html/BlockView flags 21 innerclass innerClass javax/swing/text/html/StyleSheet$ListPainter outerClass javax/swing/text/html/StyleSheet innerClassName ListPainter flags 19 @@ -973,15 +265,6 @@ innerclass innerClass javax/swing/text/AbstractDocument$BranchElement outerClass innerclass innerClass javax/swing/text/StyleContext$NamedStyle outerClass javax/swing/text/StyleContext innerClassName NamedStyle flags 1 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name javax/swing/text/html/ObjectView -header extends javax/swing/text/ComponentView flags 21 -innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/html/Option -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19 - class name javax/swing/text/html/ParagraphView header extends javax/swing/text/ParagraphView flags 21 innerclass innerClass javax/swing/text/html/StyleSheet$BoxPainter outerClass javax/swing/text/html/StyleSheet innerClassName BoxPainter flags 19 @@ -1014,48 +297,3 @@ innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swin innerclass innerClass java/awt/RenderingHints$Key outerClass java/awt/RenderingHints innerClassName Key flags 409 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name javax/swing/text/html/parser/ContentModel -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/html/parser/DocumentParser -header extends javax/swing/text/html/parser/Parser flags 21 -innerclass innerClass javax/swing/text/html/HTMLEditorKit$ParserCallback outerClass javax/swing/text/html/HTMLEditorKit innerClassName ParserCallback flags 9 -innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9 -innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19 - -class name javax/swing/text/html/parser/Parser -header extends java/lang/Object implements javax/swing/text/html/parser/DTDConstants flags 21 -innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/html/parser/TagElement -header extends java/lang/Object flags 21 -innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9 -innerclass innerClass javax/swing/text/html/HTML$UnknownTag outerClass javax/swing/text/html/HTML innerClassName UnknownTag flags 9 - -class name javax/swing/tree/DefaultTreeModel -header extends java/lang/Object implements java/io/Serializable,javax/swing/tree/TreeModel flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 - -class name javax/swing/tree/DefaultTreeSelectionModel -header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable,javax/swing/tree/TreeSelectionModel flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/tree/TreePath -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/undo/AbstractUndoableEdit -header extends java/lang/Object implements javax/swing/undo/UndoableEdit,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/undo/CompoundEdit -header extends javax/swing/undo/AbstractUndoableEdit flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/undo/UndoableEditSupport -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.desktop-K.sym.txt b/src/jdk.compiler/share/data/symbols/java.desktop-K.sym.txt index 6d9e205b3c1b5..4787598dfd654 100644 --- a/src/jdk.compiler/share/data/symbols/java.desktop-K.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.desktop-K.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,846 +26,16 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name java/awt/AWTKeyStroke -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/AttributeValue -header extends java/lang/Object flags 420 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/BorderLayout -header extends java/lang/Object implements java/awt/LayoutManager2,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/CheckboxGroup -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Color -header extends java/lang/Object implements java/awt/Paint,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/ContainerOrderFocusTraversalPolicy -header extends java/awt/FocusTraversalPolicy implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Dimension -header extends java/awt/geom/Dimension2D implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/DisplayMode -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Event -header extends java/lang/Object implements java/io/Serializable flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/FlowLayout -header extends java/lang/Object implements java/awt/LayoutManager,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/FontMetrics -header extends java/lang/Object implements java/io/Serializable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Graphics -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/GridLayout -header extends java/lang/Object implements java/awt/LayoutManager,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/HeadlessException -header extends java/lang/UnsupportedOperationException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Insets -header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/MenuShortcut -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/MultipleGradientPaint -header extends java/lang/Object implements java/awt/Paint nestMembers java/awt/MultipleGradientPaint$ColorSpaceType,java/awt/MultipleGradientPaint$CycleMethod sealed true flags 421 -innerclass innerClass java/awt/MultipleGradientPaint$ColorSpaceType outerClass java/awt/MultipleGradientPaint innerClassName ColorSpaceType flags 4019 -innerclass innerClass java/awt/MultipleGradientPaint$CycleMethod outerClass java/awt/MultipleGradientPaint innerClassName CycleMethod flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Point -header extends java/awt/geom/Point2D implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Rectangle -header extends java/awt/geom/Rectangle2D implements java/awt/Shape,java/io/Serializable flags 21 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/SystemColor -header extends java/awt/Color implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/TextComponent -header extends java/awt/Component implements javax/accessibility/Accessible nestMembers java/awt/TextComponent$AccessibleAWTTextComponent sealed true flags 21 -innerclass innerClass java/awt/TextComponent$AccessibleAWTTextComponent outerClass java/awt/TextComponent innerClassName AccessibleAWTTextComponent flags 4 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/TexturePaint -header extends java/lang/Object implements java/awt/Paint flags 21 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 - -class name java/awt/color/ColorSpace -header extends java/lang/Object implements java/io/Serializable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/color/ICC_ColorSpace -header extends java/awt/color/ColorSpace flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I4) - -class name java/awt/color/ICC_Profile -header extends java/lang/Object implements java/io/Serializable sealed true flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/desktop/AboutEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/AboutHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/AppEvent -header extends java/util/EventObject sealed true flags 21 - -class name java/awt/desktop/AppForegroundEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/AppForegroundListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/desktop/AppHiddenEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/AppHiddenListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/desktop/AppReopenedEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/AppReopenedListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/desktop/FilesEvent -header extends java/awt/desktop/AppEvent sealed true flags 21 - -class name java/awt/desktop/OpenFilesEvent -header extends java/awt/desktop/FilesEvent flags 31 - -class name java/awt/desktop/OpenFilesHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/OpenURIEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/OpenURIHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/PreferencesEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/PreferencesHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/PrintFilesEvent -header extends java/awt/desktop/FilesEvent flags 31 - -class name java/awt/desktop/PrintFilesHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/QuitEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/QuitHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/QuitResponse -header extends java/lang/Object flags 601 - -class name java/awt/desktop/QuitStrategy -header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum; - -class name java/awt/desktop/ScreenSleepEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/ScreenSleepListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/desktop/SystemEventListener -header extends java/lang/Object implements java/util/EventListener flags 601 - -class name java/awt/desktop/SystemSleepEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/SystemSleepListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/desktop/UserSessionListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/dnd/DragGestureEvent -header extends java/util/EventObject flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 - -class name java/awt/dnd/DragGestureRecognizer -header extends java/lang/Object implements java/io/Serializable flags 421 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 - -class name java/awt/dnd/DragSource -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/dnd/DropTargetDragEvent -header extends java/awt/dnd/DropTargetEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/dnd/DropTargetDropEvent -header extends java/awt/dnd/DropTargetEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/ActionEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/AdjustmentEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/ComponentEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/ContainerEvent -header extends java/awt/event/ComponentEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/HierarchyEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/InputEvent -header extends java/awt/event/ComponentEvent sealed true flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/InputMethodEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/ItemEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/MouseWheelEvent -header extends java/awt/event/MouseEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/PaintEvent -header extends java/awt/event/ComponentEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/WindowEvent -header extends java/awt/event/ComponentEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/font/FontRenderContext -header extends java/lang/Object flags 21 -innerclass innerClass java/awt/RenderingHints$Key outerClass java/awt/RenderingHints innerClassName Key flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/font/GraphicAttribute -header extends java/lang/Object flags 421 -innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9 - -class name java/awt/font/ImageGraphicAttribute -header extends java/awt/font/GraphicAttribute flags 31 -innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9 - -class name java/awt/font/NumericShaper$Range -header extends java/lang/Enum nestHost java/awt/font/NumericShaper sealed true flags 4021 signature Ljava/lang/Enum; -innerclass innerClass java/awt/font/NumericShaper$Range outerClass java/awt/font/NumericShaper innerClassName Range flags 4009 - -class name java/awt/font/ShapeGraphicAttribute -header extends java/awt/font/GraphicAttribute flags 31 -innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9 - -class name java/awt/font/TextHitInfo -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/font/TextMeasurer -header extends java/lang/Object implements java/lang/Cloneable flags 31 -innerclass innerClass java/text/AttributedCharacterIterator$Attribute outerClass java/text/AttributedCharacterIterator innerClassName Attribute flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/geom/AffineTransform -header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable flags 21 -innerclass innerClass java/awt/geom/Point2D$Double outerClass java/awt/geom/Point2D innerClassName Double flags 9 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 -innerclass innerClass java/awt/geom/Path2D$Double outerClass java/awt/geom/Path2D innerClassName Double flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/geom/Area -header extends java/lang/Object implements java/awt/Shape,java/lang/Cloneable flags 21 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 - -class name java/awt/geom/Path2D -header extends java/lang/Object implements java/awt/Shape,java/lang/Cloneable nestMembers java/awt/geom/Path2D$Double,java/awt/geom/Path2D$Float sealed true flags 421 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 -innerclass innerClass java/awt/geom/Path2D$Double outerClass java/awt/geom/Path2D innerClassName Double flags 9 -innerclass innerClass java/awt/geom/Path2D$Float outerClass java/awt/geom/Path2D innerClassName Float flags 9 - -class name java/awt/geom/RectangularShape -header extends java/lang/Object implements java/awt/Shape,java/lang/Cloneable flags 421 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 - -class name java/awt/image/AbstractMultiResolutionImage -header extends java/awt/Image implements java/awt/image/MultiResolutionImage flags 421 - -class name java/awt/image/BandCombineOp -header extends java/lang/Object implements java/awt/image/RasterOp flags 21 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/BandedSampleModel -header extends java/awt/image/ComponentSampleModel flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/BaseMultiResolutionImage -header extends java/awt/image/AbstractMultiResolutionImage flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/BufferedImageFilter -header extends java/awt/image/ImageFilter implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ByteLookupTable -header extends java/awt/image/LookupTable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ColorConvertOp -header extends java/lang/Object implements java/awt/image/BufferedImageOp,java/awt/image/RasterOp flags 21 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 - -class name java/awt/image/ComponentColorModel -header extends java/awt/image/ColorModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ComponentSampleModel -header extends java/awt/image/SampleModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ConvolveOp -header extends java/lang/Object implements java/awt/image/BufferedImageOp,java/awt/image/RasterOp flags 21 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 - -class name java/awt/image/DataBufferUShort -header extends java/awt/image/DataBuffer flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/DirectColorModel -header extends java/awt/image/PackedColorModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ImageFilter -header extends java/lang/Object implements java/awt/image/ImageConsumer,java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/IndexColorModel -header extends java/awt/image/ColorModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/Kernel -header extends java/lang/Object implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/LookupOp -header extends java/lang/Object implements java/awt/image/BufferedImageOp,java/awt/image/RasterOp flags 21 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/MultiPixelPackedSampleModel -header extends java/awt/image/SampleModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/MultiResolutionImage -header extends java/lang/Object flags 601 - -class name java/awt/image/PackedColorModel -header extends java/awt/image/ColorModel flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/Raster -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ReplicateScaleFilter -header extends java/awt/image/ImageFilter flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/RescaleOp -header extends java/lang/Object implements java/awt/image/BufferedImageOp,java/awt/image/RasterOp flags 21 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/SampleModel -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ShortLookupTable -header extends java/awt/image/LookupTable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/SinglePixelPackedSampleModel -header extends java/awt/image/SampleModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/print/Paper -header extends java/lang/Object implements java/lang/Cloneable flags 21 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 - -class name java/beans/BeanProperty -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;METHOD;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;) - -class name java/beans/Beans -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/DefaultPersistenceDelegate -header extends java/beans/PersistenceDelegate flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/Encoder -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/EventSetDescriptor -header extends java/beans/FeatureDescriptor flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/Expression -header extends java/beans/Statement flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/FeatureDescriptor -header extends java/lang/Object flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 - -class name java/beans/IndexedPropertyDescriptor -header extends java/beans/PropertyDescriptor flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/JavaBean -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;) - -class name java/beans/PropertyDescriptor -header extends java/beans/FeatureDescriptor flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/SimpleBeanInfo -header extends java/lang/Object implements java/beans/BeanInfo flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/accessibility/AccessibilityProvider -header extends java/lang/Object flags 421 - -class name javax/accessibility/AccessibleBundle -header extends java/lang/Object flags 421 classAnnotations @Ljdk/Profile+Annotation;(value=I4) - -class name javax/accessibility/AccessibleRelationSet -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/accessibility/AccessibleStateSet -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/metadata/IIOMetadata -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/plugins/jpeg/JPEGHuffmanTable -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/plugins/jpeg/JPEGQTable -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/plugins/tiff/TIFFDirectory -header extends java/lang/Object implements java/lang/Cloneable flags 21 - -class name javax/imageio/plugins/tiff/TIFFField -header extends java/lang/Object implements java/lang/Cloneable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/plugins/tiff/TIFFImageReadParam -header extends javax/imageio/ImageReadParam flags 31 - -class name javax/imageio/plugins/tiff/TIFFTag -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/plugins/tiff/TIFFTagSet -header extends java/lang/Object flags 21 - -class name javax/imageio/spi/ImageReaderWriterSpi -header extends javax/imageio/spi/IIOServiceProvider flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/print/attribute/DateTimeSyntax -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/print/attribute/EnumSyntax -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/print/attribute/IntegerSyntax -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/print/attribute/standard/MediaPrintableArea -header extends java/lang/Object implements javax/print/attribute/DocAttribute,javax/print/attribute/PrintRequestAttribute,javax/print/attribute/PrintJobAttribute flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/print/event/PrintEvent -header extends java/util/EventObject flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/midi/MetaMessage -header extends javax/sound/midi/MidiMessage flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/midi/MidiMessage -header extends java/lang/Object implements java/lang/Cloneable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/midi/Sequence -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/midi/ShortMessage -header extends javax/sound/midi/MidiMessage flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/midi/SysexMessage -header extends javax/sound/midi/MidiMessage flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/sampled/ReverbType -header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I4) - -class name javax/sound/sampled/spi/FormatConversionProvider -header extends java/lang/Object flags 421 -innerclass innerClass javax/sound/sampled/AudioFormat$Encoding outerClass javax/sound/sampled/AudioFormat innerClassName Encoding flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/BoxLayout -header extends java/lang/Object implements java/awt/LayoutManager2,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/DebugGraphics -header extends java/awt/Graphics flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/DefaultBoundedRangeModel -header extends java/lang/Object implements javax/swing/BoundedRangeModel,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/DefaultListSelectionModel -header extends java/lang/Object implements javax/swing/ListSelectionModel,java/lang/Cloneable,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/GrayFilter -header extends java/awt/image/RGBImageFilter flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/GroupLayout$Group -header extends javax/swing/GroupLayout$Spring nestHost javax/swing/GroupLayout sealed true flags 421 -innerclass innerClass javax/swing/GroupLayout$Group outerClass javax/swing/GroupLayout innerClassName Group flags 401 -innerclass innerClass javax/swing/GroupLayout$Spring outerClass javax/swing/GroupLayout innerClassName Spring flags 40a -innerclass innerClass javax/swing/GroupLayout$ParallelGroup outerClass javax/swing/GroupLayout innerClassName ParallelGroup flags 1 -innerclass innerClass javax/swing/GroupLayout$SequentialGroup outerClass javax/swing/GroupLayout innerClassName SequentialGroup flags 11 - -class name javax/swing/GroupLayout$ParallelGroup -header extends javax/swing/GroupLayout$Group nestHost javax/swing/GroupLayout sealed true flags 21 -innerclass innerClass javax/swing/GroupLayout$ParallelGroup outerClass javax/swing/GroupLayout innerClassName ParallelGroup flags 1 -innerclass innerClass javax/swing/GroupLayout$Group outerClass javax/swing/GroupLayout innerClassName Group flags 401 -innerclass innerClass javax/swing/GroupLayout$Alignment outerClass javax/swing/GroupLayout innerClassName Alignment flags 4019 -innerclass innerClass javax/swing/GroupLayout$Spring outerClass javax/swing/GroupLayout innerClassName Spring flags 40a - class name javax/swing/JList -method name setLayoutOrientation descriptor (I)V method name setLayoutOrientation descriptor (I)V flags 1 runtimeAnnotations @Ljava/beans/BeanProperty;(visualUpdate=Ztrue,enumerationValues={"JList.VERTICAL""JList.HORIZONTAL_WRAP""JList.VERTICAL_WRAP"},description="Defines\u005C;u0020;the\u005C;u0020;way\u005C;u0020;list\u005C;u0020;cells\u005C;u0020;are\u005C;u0020;laid\u005C;u0020;out.") -class name javax/swing/JList$AccessibleJList$AccessibleJListChild --method name getAccessibleAction descriptor ()Ljavax/accessibility/AccessibleAction; -method name getAccessibleAction descriptor ()Ljavax/accessibility/AccessibleAction; flags 1 - -class name javax/swing/JTextPane -header extends javax/swing/JEditorPane flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(description="A\u005C;u0020;text\u005C;u0020;component\u005C;u0020;that\u005C;u0020;can\u005C;u0020;be\u005C;u0020;marked\u005C;u0020;up\u005C;u0020;with\u005C;u0020;attributes\u005C;u0020;that\u005C;u0020;are\u005C;u0020;graphically\u005C;u0020;represented.")@Ljavax/swing/SwingContainer; - -class name javax/swing/LookAndFeel -header extends java/lang/Object flags 421 -innerclass innerClass javax/swing/text/JTextComponent$KeyBinding outerClass javax/swing/text/JTextComponent innerClassName KeyBinding flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/MenuSelectionManager -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/SizeRequirements -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/SortingFocusTraversalPolicy -header extends javax/swing/InternalFrameFocusTraversalPolicy flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/SwingContainer -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;) - -class name javax/swing/UIClientPropertyKey -header extends java/lang/Object flags 601 - -class name javax/swing/border/LineBorder -header extends javax/swing/border/AbstractBorder flags 21 -innerclass innerClass java/awt/geom/RoundRectangle2D$Float outerClass java/awt/geom/RoundRectangle2D innerClassName Float flags 9 -innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9 -innerclass innerClass java/awt/geom/Path2D$Float outerClass java/awt/geom/Path2D innerClassName Float flags 9 - -class name javax/swing/event/EventListenerList -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/event/ListDataEvent -header extends java/util/EventObject flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/event/ListSelectionEvent -header extends java/util/EventObject flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/event/TreeModelEvent -header extends java/util/EventObject flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/filechooser/FileNameExtensionFilter -header extends javax/swing/filechooser/FileFilter flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/basic/BasicArrowButton -header extends javax/swing/JButton implements javax/swing/SwingConstants flags 21 -innerclass innerClass java/awt/geom/Path2D$Double outerClass java/awt/geom/Path2D innerClassName Double flags 9 - -class name javax/swing/plaf/basic/BasicButtonUI -header extends javax/swing/plaf/ButtonUI flags 21 -innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/basic/BasicPasswordFieldUI -header extends javax/swing/plaf/basic/BasicTextFieldUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager -header extends java/lang/Object implements java/awt/LayoutManager2 nestHost javax/swing/plaf/basic/BasicSplitPaneUI sealed true flags 21 -innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName BasicHorizontalLayoutManager flags 1 -innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$BasicVerticalLayoutManager outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName BasicVerticalLayoutManager flags 1 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/basic/BasicToolBarSeparatorUI -header extends javax/swing/plaf/basic/BasicSeparatorUI flags 21 -innerclass innerClass javax/swing/JToolBar$Separator outerClass javax/swing/JToolBar innerClassName Separator flags 9 - -class name javax/swing/plaf/metal/MetalButtonUI -header extends javax/swing/plaf/basic/BasicButtonUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/metal/MetalCheckBoxUI -header extends javax/swing/plaf/metal/MetalRadioButtonUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/metal/MetalRadioButtonUI -header extends javax/swing/plaf/basic/BasicRadioButtonUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/metal/MetalToggleButtonUI -header extends javax/swing/plaf/basic/BasicToggleButtonUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/metal/MetalToolTipUI -header extends javax/swing/plaf/basic/BasicToolTipUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/multi/MultiLookAndFeel -header extends javax/swing/LookAndFeel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/synth/SynthButtonUI -header extends javax/swing/plaf/basic/BasicButtonUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/synth/SynthIcon -header extends java/lang/Object implements javax/swing/Icon flags 601 - -class name javax/swing/plaf/synth/SynthMenuItemUI -header extends javax/swing/plaf/basic/BasicMenuItemUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/synth/SynthMenuUI -header extends javax/swing/plaf/basic/BasicMenuUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/swing/plaf/synth/SynthPasswordFieldUI header extends javax/swing/plaf/synth/SynthTextFieldUI flags 21 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 method name installDefaults descriptor ()V flags 4 -class name javax/swing/plaf/synth/SynthSeparatorUI -header extends javax/swing/plaf/SeparatorUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21 -innerclass innerClass javax/swing/JToolBar$Separator outerClass javax/swing/JToolBar innerClassName Separator flags 9 - -class name javax/swing/plaf/synth/SynthStyle -header extends java/lang/Object flags 421 -innerclass innerClass javax/swing/UIDefaults$LazyInputMap outerClass javax/swing/UIDefaults innerClassName LazyInputMap flags 9 -innerclass innerClass javax/swing/UIDefaults$LazyValue outerClass javax/swing/UIDefaults innerClassName LazyValue flags 609 - -class name javax/swing/table/AbstractTableModel -header extends java/lang/Object implements javax/swing/table/TableModel,java/io/Serializable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/AbstractWriter -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/BoxView -header extends javax/swing/text/CompositeView flags 21 -innerclass innerClass javax/swing/event/DocumentEvent$ElementChange outerClass javax/swing/event/DocumentEvent innerClassName ElementChange flags 609 -innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/CompositeView -header extends javax/swing/text/View flags 421 -innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/DateFormatter -header extends javax/swing/text/InternationalFormatter flags 21 -innerclass innerClass java/text/DateFormat$Field outerClass java/text/DateFormat innerClassName Field flags 9 - class name javax/swing/text/DefaultEditorKit field name beginLineUpAction descriptor Ljava/lang/String; constantValue caret-begin-line-and-up flags 19 field name endLineDownAction descriptor Ljava/lang/String; constantValue caret-end-line-and-down flags 19 -class name javax/swing/text/IconView -header extends javax/swing/text/View flags 21 -innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/LayoutQueue -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/NumberFormatter -header extends javax/swing/text/InternationalFormatter flags 21 -innerclass innerClass java/text/NumberFormat$Field outerClass java/text/NumberFormat innerClassName Field flags 9 -innerclass innerClass javax/swing/text/DocumentFilter$FilterBypass outerClass javax/swing/text/DocumentFilter innerClassName FilterBypass flags 409 -innerclass innerClass java/text/AttributedCharacterIterator$Attribute outerClass java/text/AttributedCharacterIterator innerClassName Attribute flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/Segment -header extends java/lang/Object implements java/lang/Cloneable,java/text/CharacterIterator,java/lang/CharSequence flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/StyleConstants -header extends java/lang/Object nestMembers javax/swing/text/StyleConstants$FontConstants,javax/swing/text/StyleConstants$ColorConstants,javax/swing/text/StyleConstants$CharacterConstants,javax/swing/text/StyleConstants$ParagraphConstants sealed true flags 21 -innerclass innerClass javax/swing/text/StyleConstants$CharacterConstants outerClass javax/swing/text/StyleConstants innerClassName CharacterConstants flags 19 -innerclass innerClass javax/swing/text/StyleConstants$FontConstants outerClass javax/swing/text/StyleConstants innerClassName FontConstants flags 19 -innerclass innerClass javax/swing/text/StyleConstants$ColorConstants outerClass javax/swing/text/StyleConstants innerClassName ColorConstants flags 19 -innerclass innerClass javax/swing/text/StyleConstants$ParagraphConstants outerClass javax/swing/text/StyleConstants innerClassName ParagraphConstants flags 19 - -class name javax/swing/text/TabSet -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/TabStop -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/View -header extends java/lang/Object implements javax/swing/SwingConstants flags 421 -innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19 -innerclass innerClass javax/swing/event/DocumentEvent$ElementChange outerClass javax/swing/event/DocumentEvent innerClassName ElementChange flags 609 -innerclass innerClass javax/swing/event/DocumentEvent$EventType outerClass javax/swing/event/DocumentEvent innerClassName EventType flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/html/InlineView -header extends javax/swing/text/LabelView flags 21 -innerclass innerClass javax/swing/text/html/CSS$Attribute outerClass javax/swing/text/html/CSS innerClassName Attribute flags 19 - -class name javax/swing/text/html/ObjectView -header extends javax/swing/text/ComponentView flags 21 -innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/html/Option -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19 - -class name javax/swing/text/html/parser/ContentModel -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/html/parser/DocumentParser -header extends javax/swing/text/html/parser/Parser flags 21 -innerclass innerClass javax/swing/text/html/HTMLEditorKit$ParserCallback outerClass javax/swing/text/html/HTMLEditorKit innerClassName ParserCallback flags 9 -innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9 -innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19 - -class name javax/swing/text/html/parser/Parser -header extends java/lang/Object implements javax/swing/text/html/parser/DTDConstants flags 21 -innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/html/parser/TagElement -header extends java/lang/Object flags 21 -innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9 -innerclass innerClass javax/swing/text/html/HTML$UnknownTag outerClass javax/swing/text/html/HTML innerClassName UnknownTag flags 9 - -class name javax/swing/tree/DefaultTreeModel -header extends java/lang/Object implements java/io/Serializable,javax/swing/tree/TreeModel flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 - -class name javax/swing/tree/DefaultTreeSelectionModel -header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable,javax/swing/tree/TreeSelectionModel flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/tree/TreePath -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/undo/AbstractUndoableEdit -header extends java/lang/Object implements javax/swing/undo/UndoableEdit,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/undo/CompoundEdit -header extends javax/swing/undo/AbstractUndoableEdit flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/undo/UndoableEditSupport -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.desktop-L.sym.txt b/src/jdk.compiler/share/data/symbols/java.desktop-L.sym.txt index b6a1274c0f8a9..808c6035afd30 100644 --- a/src/jdk.compiler/share/data/symbols/java.desktop-L.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.desktop-L.sym.txt @@ -26,616 +26,6 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name java/awt/AWTKeyStroke -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/AttributeValue -header extends java/lang/Object flags 420 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/BorderLayout -header extends java/lang/Object implements java/awt/LayoutManager2,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/CheckboxGroup -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Color -header extends java/lang/Object implements java/awt/Paint,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/ContainerOrderFocusTraversalPolicy -header extends java/awt/FocusTraversalPolicy implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Dimension -header extends java/awt/geom/Dimension2D implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/DisplayMode -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Event -header extends java/lang/Object implements java/io/Serializable flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/FlowLayout -header extends java/lang/Object implements java/awt/LayoutManager,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/FontMetrics -header extends java/lang/Object implements java/io/Serializable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Graphics -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/GridLayout -header extends java/lang/Object implements java/awt/LayoutManager,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/HeadlessException -header extends java/lang/UnsupportedOperationException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Insets -header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/MenuShortcut -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/MultipleGradientPaint -header extends java/lang/Object implements java/awt/Paint nestMembers java/awt/MultipleGradientPaint$ColorSpaceType,java/awt/MultipleGradientPaint$CycleMethod sealed true flags 421 -innerclass innerClass java/awt/MultipleGradientPaint$ColorSpaceType outerClass java/awt/MultipleGradientPaint innerClassName ColorSpaceType flags 4019 -innerclass innerClass java/awt/MultipleGradientPaint$CycleMethod outerClass java/awt/MultipleGradientPaint innerClassName CycleMethod flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Point -header extends java/awt/geom/Point2D implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/Rectangle -header extends java/awt/geom/Rectangle2D implements java/awt/Shape,java/io/Serializable flags 21 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/SystemColor -header extends java/awt/Color implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/TextComponent -header extends java/awt/Component implements javax/accessibility/Accessible nestMembers java/awt/TextComponent$AccessibleAWTTextComponent sealed true flags 21 -innerclass innerClass java/awt/TextComponent$AccessibleAWTTextComponent outerClass java/awt/TextComponent innerClassName AccessibleAWTTextComponent flags 4 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/TexturePaint -header extends java/lang/Object implements java/awt/Paint flags 21 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 - -class name java/awt/color/ColorSpace -header extends java/lang/Object implements java/io/Serializable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/color/ICC_ColorSpace -header extends java/awt/color/ColorSpace flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I4) - -class name java/awt/color/ICC_Profile -header extends java/lang/Object implements java/io/Serializable sealed true flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/desktop/AboutEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/AboutHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/AppEvent -header extends java/util/EventObject sealed true flags 21 - -class name java/awt/desktop/AppForegroundEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/AppForegroundListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/desktop/AppHiddenEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/AppHiddenListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/desktop/AppReopenedEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/AppReopenedListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/desktop/FilesEvent -header extends java/awt/desktop/AppEvent sealed true flags 21 - -class name java/awt/desktop/OpenFilesEvent -header extends java/awt/desktop/FilesEvent flags 31 - -class name java/awt/desktop/OpenFilesHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/OpenURIEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/OpenURIHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/PreferencesEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/PreferencesHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/PrintFilesEvent -header extends java/awt/desktop/FilesEvent flags 31 - -class name java/awt/desktop/PrintFilesHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/QuitEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/QuitHandler -header extends java/lang/Object flags 601 - -class name java/awt/desktop/QuitResponse -header extends java/lang/Object flags 601 - -class name java/awt/desktop/QuitStrategy -header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum; - -class name java/awt/desktop/ScreenSleepEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/ScreenSleepListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/desktop/SystemEventListener -header extends java/lang/Object implements java/util/EventListener flags 601 - -class name java/awt/desktop/SystemSleepEvent -header extends java/awt/desktop/AppEvent flags 31 - -class name java/awt/desktop/SystemSleepListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/desktop/UserSessionListener -header extends java/lang/Object implements java/awt/desktop/SystemEventListener flags 601 - -class name java/awt/dnd/DragGestureEvent -header extends java/util/EventObject flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 - -class name java/awt/dnd/DragGestureRecognizer -header extends java/lang/Object implements java/io/Serializable flags 421 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 - -class name java/awt/dnd/DragSource -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/dnd/DropTargetDragEvent -header extends java/awt/dnd/DropTargetEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/dnd/DropTargetDropEvent -header extends java/awt/dnd/DropTargetEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/ActionEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/AdjustmentEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/ComponentEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/ContainerEvent -header extends java/awt/event/ComponentEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/HierarchyEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/InputEvent -header extends java/awt/event/ComponentEvent sealed true flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/InputMethodEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/ItemEvent -header extends java/awt/AWTEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/MouseWheelEvent -header extends java/awt/event/MouseEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/PaintEvent -header extends java/awt/event/ComponentEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/event/WindowEvent -header extends java/awt/event/ComponentEvent flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/font/FontRenderContext -header extends java/lang/Object flags 21 -innerclass innerClass java/awt/RenderingHints$Key outerClass java/awt/RenderingHints innerClassName Key flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/font/GraphicAttribute -header extends java/lang/Object flags 421 -innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9 - -class name java/awt/font/ImageGraphicAttribute -header extends java/awt/font/GraphicAttribute flags 31 -innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9 - -class name java/awt/font/NumericShaper$Range -header extends java/lang/Enum nestHost java/awt/font/NumericShaper sealed true flags 4021 signature Ljava/lang/Enum; -innerclass innerClass java/awt/font/NumericShaper$Range outerClass java/awt/font/NumericShaper innerClassName Range flags 4009 - -class name java/awt/font/ShapeGraphicAttribute -header extends java/awt/font/GraphicAttribute flags 31 -innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/Rectangle2D innerClassName Float flags 9 - -class name java/awt/font/TextHitInfo -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/font/TextMeasurer -header extends java/lang/Object implements java/lang/Cloneable flags 31 -innerclass innerClass java/text/AttributedCharacterIterator$Attribute outerClass java/text/AttributedCharacterIterator innerClassName Attribute flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/geom/AffineTransform -header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable flags 21 -innerclass innerClass java/awt/geom/Point2D$Double outerClass java/awt/geom/Point2D innerClassName Double flags 9 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 -innerclass innerClass java/awt/geom/Path2D$Double outerClass java/awt/geom/Path2D innerClassName Double flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/geom/Area -header extends java/lang/Object implements java/awt/Shape,java/lang/Cloneable flags 21 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 - -class name java/awt/geom/Path2D -header extends java/lang/Object implements java/awt/Shape,java/lang/Cloneable nestMembers java/awt/geom/Path2D$Double,java/awt/geom/Path2D$Float sealed true flags 421 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 -innerclass innerClass java/awt/geom/Path2D$Double outerClass java/awt/geom/Path2D innerClassName Double flags 9 -innerclass innerClass java/awt/geom/Path2D$Float outerClass java/awt/geom/Path2D innerClassName Float flags 9 - -class name java/awt/geom/RectangularShape -header extends java/lang/Object implements java/awt/Shape,java/lang/Cloneable flags 421 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 - -class name java/awt/image/AbstractMultiResolutionImage -header extends java/awt/Image implements java/awt/image/MultiResolutionImage flags 421 - -class name java/awt/image/BandCombineOp -header extends java/lang/Object implements java/awt/image/RasterOp flags 21 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/BandedSampleModel -header extends java/awt/image/ComponentSampleModel flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/BaseMultiResolutionImage -header extends java/awt/image/AbstractMultiResolutionImage flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/BufferedImageFilter -header extends java/awt/image/ImageFilter implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ByteLookupTable -header extends java/awt/image/LookupTable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ColorConvertOp -header extends java/lang/Object implements java/awt/image/BufferedImageOp,java/awt/image/RasterOp flags 21 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 - -class name java/awt/image/ComponentColorModel -header extends java/awt/image/ColorModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ComponentSampleModel -header extends java/awt/image/SampleModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ConvolveOp -header extends java/lang/Object implements java/awt/image/BufferedImageOp,java/awt/image/RasterOp flags 21 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 - -class name java/awt/image/DataBufferUShort -header extends java/awt/image/DataBuffer flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/DirectColorModel -header extends java/awt/image/PackedColorModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ImageFilter -header extends java/lang/Object implements java/awt/image/ImageConsumer,java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/IndexColorModel -header extends java/awt/image/ColorModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/Kernel -header extends java/lang/Object implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/LookupOp -header extends java/lang/Object implements java/awt/image/BufferedImageOp,java/awt/image/RasterOp flags 21 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/MultiPixelPackedSampleModel -header extends java/awt/image/SampleModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/MultiResolutionImage -header extends java/lang/Object flags 601 - -class name java/awt/image/PackedColorModel -header extends java/awt/image/ColorModel flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/Raster -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ReplicateScaleFilter -header extends java/awt/image/ImageFilter flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/RescaleOp -header extends java/lang/Object implements java/awt/image/BufferedImageOp,java/awt/image/RasterOp flags 21 -innerclass innerClass java/awt/geom/Point2D$Float outerClass java/awt/geom/Point2D innerClassName Float flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/SampleModel -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/ShortLookupTable -header extends java/awt/image/LookupTable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/image/SinglePixelPackedSampleModel -header extends java/awt/image/SampleModel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/awt/print/Paper -header extends java/lang/Object implements java/lang/Cloneable flags 21 -innerclass innerClass java/awt/geom/Rectangle2D$Double outerClass java/awt/geom/Rectangle2D innerClassName Double flags 9 - -class name java/beans/BeanProperty -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;METHOD;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;) - -class name java/beans/Beans -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/DefaultPersistenceDelegate -header extends java/beans/PersistenceDelegate flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/Encoder -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/EventSetDescriptor -header extends java/beans/FeatureDescriptor flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/Expression -header extends java/beans/Statement flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/FeatureDescriptor -header extends java/lang/Object flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 - -class name java/beans/IndexedPropertyDescriptor -header extends java/beans/PropertyDescriptor flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/JavaBean -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;) - -class name java/beans/PropertyDescriptor -header extends java/beans/FeatureDescriptor flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/beans/SimpleBeanInfo -header extends java/lang/Object implements java/beans/BeanInfo flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/accessibility/AccessibilityProvider -header extends java/lang/Object flags 421 - -class name javax/accessibility/AccessibleBundle -header extends java/lang/Object flags 421 classAnnotations @Ljdk/Profile+Annotation;(value=I4) - -class name javax/accessibility/AccessibleRelationSet -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/accessibility/AccessibleStateSet -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/metadata/IIOMetadata -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/plugins/jpeg/JPEGHuffmanTable -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/plugins/jpeg/JPEGQTable -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/plugins/tiff/TIFFDirectory -header extends java/lang/Object implements java/lang/Cloneable flags 21 - -class name javax/imageio/plugins/tiff/TIFFField -header extends java/lang/Object implements java/lang/Cloneable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/plugins/tiff/TIFFImageReadParam -header extends javax/imageio/ImageReadParam flags 31 - -class name javax/imageio/plugins/tiff/TIFFTag -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/imageio/plugins/tiff/TIFFTagSet -header extends java/lang/Object flags 21 - -class name javax/imageio/spi/ImageReaderWriterSpi -header extends javax/imageio/spi/IIOServiceProvider flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/print/attribute/DateTimeSyntax -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/print/attribute/EnumSyntax -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/print/attribute/IntegerSyntax -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/print/attribute/standard/MediaPrintableArea -header extends java/lang/Object implements javax/print/attribute/DocAttribute,javax/print/attribute/PrintRequestAttribute,javax/print/attribute/PrintJobAttribute flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/print/event/PrintEvent -header extends java/util/EventObject flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/midi/MetaMessage -header extends javax/sound/midi/MidiMessage flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/midi/MidiMessage -header extends java/lang/Object implements java/lang/Cloneable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/midi/Sequence -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/midi/ShortMessage -header extends javax/sound/midi/MidiMessage flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/midi/SysexMessage -header extends javax/sound/midi/MidiMessage flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sound/sampled/ReverbType -header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I4) - -class name javax/sound/sampled/spi/FormatConversionProvider -header extends java/lang/Object flags 421 -innerclass innerClass javax/sound/sampled/AudioFormat$Encoding outerClass javax/sound/sampled/AudioFormat innerClassName Encoding flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/BoxLayout -header extends java/lang/Object implements java/awt/LayoutManager2,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/DebugGraphics -header extends java/awt/Graphics flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/DefaultBoundedRangeModel -header extends java/lang/Object implements javax/swing/BoundedRangeModel,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/DefaultListSelectionModel -header extends java/lang/Object implements javax/swing/ListSelectionModel,java/lang/Cloneable,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/GrayFilter -header extends java/awt/image/RGBImageFilter flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/GroupLayout$Group -header extends javax/swing/GroupLayout$Spring nestHost javax/swing/GroupLayout sealed true flags 421 -innerclass innerClass javax/swing/GroupLayout$Group outerClass javax/swing/GroupLayout innerClassName Group flags 401 -innerclass innerClass javax/swing/GroupLayout$Spring outerClass javax/swing/GroupLayout innerClassName Spring flags 40a -innerclass innerClass javax/swing/GroupLayout$ParallelGroup outerClass javax/swing/GroupLayout innerClassName ParallelGroup flags 1 -innerclass innerClass javax/swing/GroupLayout$SequentialGroup outerClass javax/swing/GroupLayout innerClassName SequentialGroup flags 11 - -class name javax/swing/GroupLayout$ParallelGroup -header extends javax/swing/GroupLayout$Group nestHost javax/swing/GroupLayout sealed true flags 21 -innerclass innerClass javax/swing/GroupLayout$ParallelGroup outerClass javax/swing/GroupLayout innerClassName ParallelGroup flags 1 -innerclass innerClass javax/swing/GroupLayout$Group outerClass javax/swing/GroupLayout innerClassName Group flags 401 -innerclass innerClass javax/swing/GroupLayout$Alignment outerClass javax/swing/GroupLayout innerClassName Alignment flags 4019 -innerclass innerClass javax/swing/GroupLayout$Spring outerClass javax/swing/GroupLayout innerClassName Spring flags 40a - -class name javax/swing/JList$AccessibleJList$AccessibleJListChild --method name getAccessibleAction descriptor ()Ljavax/accessibility/AccessibleAction; -method name getAccessibleAction descriptor ()Ljavax/accessibility/AccessibleAction; flags 1 - -class name javax/swing/JTextPane -header extends javax/swing/JEditorPane flags 21 runtimeAnnotations @Ljava/beans/JavaBean;(description="A\u005C;u0020;text\u005C;u0020;component\u005C;u0020;that\u005C;u0020;can\u005C;u0020;be\u005C;u0020;marked\u005C;u0020;up\u005C;u0020;with\u005C;u0020;attributes\u005C;u0020;that\u005C;u0020;are\u005C;u0020;graphically\u005C;u0020;represented.")@Ljavax/swing/SwingContainer; - -class name javax/swing/LookAndFeel -header extends java/lang/Object flags 421 -innerclass innerClass javax/swing/text/JTextComponent$KeyBinding outerClass javax/swing/text/JTextComponent innerClassName KeyBinding flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/MenuSelectionManager -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/SizeRequirements -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/SortingFocusTraversalPolicy -header extends javax/swing/InternalFrameFocusTraversalPolicy flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/SwingContainer -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;TYPE;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;) - -class name javax/swing/UIClientPropertyKey -header extends java/lang/Object flags 601 - class name javax/swing/border/EtchedBorder header extends javax/swing/border/AbstractBorder flags 21 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 @@ -647,40 +37,11 @@ innerclass innerClass java/awt/geom/Rectangle2D$Float outerClass java/awt/geom/R innerclass innerClass java/awt/geom/Path2D$Float outerClass java/awt/geom/Path2D innerClassName Float flags 9 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name javax/swing/event/EventListenerList -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/event/ListDataEvent -header extends java/util/EventObject flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/event/ListSelectionEvent -header extends java/util/EventObject flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/event/TreeModelEvent -header extends java/util/EventObject flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/filechooser/FileNameExtensionFilter -header extends javax/swing/filechooser/FileFilter flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/basic/BasicArrowButton -header extends javax/swing/JButton implements javax/swing/SwingConstants flags 21 -innerclass innerClass java/awt/geom/Path2D$Double outerClass java/awt/geom/Path2D innerClassName Double flags 9 - class name javax/swing/plaf/basic/BasicButtonListener header extends java/lang/Object implements java/awt/event/MouseListener,java/awt/event/MouseMotionListener,java/awt/event/FocusListener,javax/swing/event/ChangeListener,java/beans/PropertyChangeListener flags 21 innerclass innerClass java/awt/event/FocusEvent$Cause outerClass java/awt/event/FocusEvent innerClassName Cause flags 4019 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name javax/swing/plaf/basic/BasicButtonUI -header extends javax/swing/plaf/ButtonUI flags 21 -innerclass innerClass java/awt/Component$BaselineResizeBehavior outerClass java/awt/Component innerClassName BaselineResizeBehavior flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/swing/plaf/basic/BasicComboPopup header extends javax/swing/JPopupMenu implements javax/swing/plaf/basic/ComboPopup nestMembers javax/swing/plaf/basic/BasicComboPopup$PropertyChangeHandler,javax/swing/plaf/basic/BasicComboPopup$ItemHandler,javax/swing/plaf/basic/BasicComboPopup$ListMouseMotionHandler,javax/swing/plaf/basic/BasicComboPopup$ListMouseHandler,javax/swing/plaf/basic/BasicComboPopup$ListDataHandler,javax/swing/plaf/basic/BasicComboPopup$ListSelectionHandler,javax/swing/plaf/basic/BasicComboPopup$InvocationKeyHandler,javax/swing/plaf/basic/BasicComboPopup$InvocationMouseMotionHandler,javax/swing/plaf/basic/BasicComboPopup$InvocationMouseHandler flags 21 innerclass innerClass java/awt/event/FocusEvent$Cause outerClass java/awt/event/FocusEvent innerClassName Cause flags 4019 @@ -694,10 +55,6 @@ innerclass innerClass javax/swing/plaf/basic/BasicComboPopup$InvocationKeyHandle innerclass innerClass javax/swing/plaf/basic/BasicComboPopup$InvocationMouseMotionHandler outerClass javax/swing/plaf/basic/BasicComboPopup innerClassName InvocationMouseMotionHandler flags 4 innerclass innerClass javax/swing/plaf/basic/BasicComboPopup$InvocationMouseHandler outerClass javax/swing/plaf/basic/BasicComboPopup innerClassName InvocationMouseHandler flags 4 -class name javax/swing/plaf/basic/BasicPasswordFieldUI -header extends javax/swing/plaf/basic/BasicTextFieldUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener header extends java/awt/event/MouseAdapter nestHost javax/swing/plaf/basic/BasicScrollBarUI flags 21 innerclass innerClass javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener outerClass javax/swing/plaf/basic/BasicScrollBarUI innerClassName ArrowButtonListener flags 4 @@ -716,191 +73,10 @@ innerclass innerClass javax/swing/plaf/basic/BasicSliderUI$TrackListener outerCl innerclass innerClass java/awt/event/FocusEvent$Cause outerClass java/awt/event/FocusEvent innerClassName Cause flags 4019 innerclass innerClass javax/swing/plaf/basic/BasicSliderUI$ScrollListener outerClass javax/swing/plaf/basic/BasicSliderUI innerClassName ScrollListener flags 1 -class name javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager -header extends java/lang/Object implements java/awt/LayoutManager2 nestHost javax/swing/plaf/basic/BasicSplitPaneUI sealed true flags 21 -innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName BasicHorizontalLayoutManager flags 1 -innerclass innerClass javax/swing/plaf/basic/BasicSplitPaneUI$BasicVerticalLayoutManager outerClass javax/swing/plaf/basic/BasicSplitPaneUI innerClassName BasicVerticalLayoutManager flags 1 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/basic/BasicToolBarSeparatorUI -header extends javax/swing/plaf/basic/BasicSeparatorUI flags 21 -innerclass innerClass javax/swing/JToolBar$Separator outerClass javax/swing/JToolBar innerClassName Separator flags 9 - -class name javax/swing/plaf/metal/MetalButtonUI -header extends javax/swing/plaf/basic/BasicButtonUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/metal/MetalCheckBoxUI -header extends javax/swing/plaf/metal/MetalRadioButtonUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/metal/MetalRadioButtonUI -header extends javax/swing/plaf/basic/BasicRadioButtonUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/metal/MetalToggleButtonUI -header extends javax/swing/plaf/basic/BasicToggleButtonUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/metal/MetalToolTipUI -header extends javax/swing/plaf/basic/BasicToolTipUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/multi/MultiLookAndFeel -header extends javax/swing/LookAndFeel flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/synth/SynthButtonUI -header extends javax/swing/plaf/basic/BasicButtonUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/swing/plaf/synth/SynthComboBoxUI method name getMinimumSize descriptor (Ljavax/swing/JComponent;)Ljava/awt/Dimension; flags 1 -class name javax/swing/plaf/synth/SynthIcon -header extends java/lang/Object implements javax/swing/Icon flags 601 - class name javax/swing/plaf/synth/SynthLookAndFeel -method name load descriptor (Ljava/net/URL;)V method name load descriptor (Ljava/net/URL;)V thrownTypes java/text/ParseException,java/io/IOException flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="21") -class name javax/swing/plaf/synth/SynthMenuItemUI -header extends javax/swing/plaf/basic/BasicMenuItemUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/synth/SynthMenuUI -header extends javax/swing/plaf/basic/BasicMenuUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/plaf/synth/SynthSeparatorUI -header extends javax/swing/plaf/SeparatorUI implements java/beans/PropertyChangeListener,javax/swing/plaf/synth/SynthUI flags 21 -innerclass innerClass javax/swing/JToolBar$Separator outerClass javax/swing/JToolBar innerClassName Separator flags 9 - -class name javax/swing/plaf/synth/SynthStyle -header extends java/lang/Object flags 421 -innerclass innerClass javax/swing/UIDefaults$LazyInputMap outerClass javax/swing/UIDefaults innerClassName LazyInputMap flags 9 -innerclass innerClass javax/swing/UIDefaults$LazyValue outerClass javax/swing/UIDefaults innerClassName LazyValue flags 609 - -class name javax/swing/table/AbstractTableModel -header extends java/lang/Object implements javax/swing/table/TableModel,java/io/Serializable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/AbstractWriter -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/BoxView -header extends javax/swing/text/CompositeView flags 21 -innerclass innerClass javax/swing/event/DocumentEvent$ElementChange outerClass javax/swing/event/DocumentEvent innerClassName ElementChange flags 609 -innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/CompositeView -header extends javax/swing/text/View flags 421 -innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/DateFormatter -header extends javax/swing/text/InternationalFormatter flags 21 -innerclass innerClass java/text/DateFormat$Field outerClass java/text/DateFormat innerClassName Field flags 9 - -class name javax/swing/text/IconView -header extends javax/swing/text/View flags 21 -innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/LayoutQueue -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/NumberFormatter -header extends javax/swing/text/InternationalFormatter flags 21 -innerclass innerClass java/text/NumberFormat$Field outerClass java/text/NumberFormat innerClassName Field flags 9 -innerclass innerClass javax/swing/text/DocumentFilter$FilterBypass outerClass javax/swing/text/DocumentFilter innerClassName FilterBypass flags 409 -innerclass innerClass java/text/AttributedCharacterIterator$Attribute outerClass java/text/AttributedCharacterIterator innerClassName Attribute flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/Segment -header extends java/lang/Object implements java/lang/Cloneable,java/text/CharacterIterator,java/lang/CharSequence flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/StyleConstants -header extends java/lang/Object nestMembers javax/swing/text/StyleConstants$FontConstants,javax/swing/text/StyleConstants$ColorConstants,javax/swing/text/StyleConstants$CharacterConstants,javax/swing/text/StyleConstants$ParagraphConstants sealed true flags 21 -innerclass innerClass javax/swing/text/StyleConstants$CharacterConstants outerClass javax/swing/text/StyleConstants innerClassName CharacterConstants flags 19 -innerclass innerClass javax/swing/text/StyleConstants$FontConstants outerClass javax/swing/text/StyleConstants innerClassName FontConstants flags 19 -innerclass innerClass javax/swing/text/StyleConstants$ColorConstants outerClass javax/swing/text/StyleConstants innerClassName ColorConstants flags 19 -innerclass innerClass javax/swing/text/StyleConstants$ParagraphConstants outerClass javax/swing/text/StyleConstants innerClassName ParagraphConstants flags 19 - -class name javax/swing/text/TabSet -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/TabStop -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/View -header extends java/lang/Object implements javax/swing/SwingConstants flags 421 -innerclass innerClass javax/swing/text/Position$Bias outerClass javax/swing/text/Position innerClassName Bias flags 19 -innerclass innerClass javax/swing/event/DocumentEvent$ElementChange outerClass javax/swing/event/DocumentEvent innerClassName ElementChange flags 609 -innerclass innerClass javax/swing/event/DocumentEvent$EventType outerClass javax/swing/event/DocumentEvent innerClassName EventType flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/html/InlineView -header extends javax/swing/text/LabelView flags 21 -innerclass innerClass javax/swing/text/html/CSS$Attribute outerClass javax/swing/text/html/CSS innerClassName Attribute flags 19 - -class name javax/swing/text/html/ObjectView -header extends javax/swing/text/ComponentView flags 21 -innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/html/Option -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19 - -class name javax/swing/text/html/parser/ContentModel -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/html/parser/DocumentParser -header extends javax/swing/text/html/parser/Parser flags 21 -innerclass innerClass javax/swing/text/html/HTMLEditorKit$ParserCallback outerClass javax/swing/text/html/HTMLEditorKit innerClassName ParserCallback flags 9 -innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9 -innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19 - -class name javax/swing/text/html/parser/Parser -header extends java/lang/Object implements javax/swing/text/html/parser/DTDConstants flags 21 -innerclass innerClass javax/swing/text/html/HTML$Attribute outerClass javax/swing/text/html/HTML innerClassName Attribute flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/text/html/parser/TagElement -header extends java/lang/Object flags 21 -innerclass innerClass javax/swing/text/html/HTML$Tag outerClass javax/swing/text/html/HTML innerClassName Tag flags 9 -innerclass innerClass javax/swing/text/html/HTML$UnknownTag outerClass javax/swing/text/html/HTML innerClassName UnknownTag flags 9 - -class name javax/swing/tree/DefaultTreeModel -header extends java/lang/Object implements java/io/Serializable,javax/swing/tree/TreeModel flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 - -class name javax/swing/tree/DefaultTreeSelectionModel -header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable,javax/swing/tree/TreeSelectionModel flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/tree/TreePath -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/undo/AbstractUndoableEdit -header extends java/lang/Object implements javax/swing/undo/UndoableEdit,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/undo/CompoundEdit -header extends javax/swing/undo/AbstractUndoableEdit flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/swing/undo/UndoableEditSupport -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.instrument-H.sym.txt b/src/jdk.compiler/share/data/symbols/java.instrument-H.sym.txt deleted file mode 100644 index 9f7539e822613..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.instrument-H.sym.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name java/lang/instrument/UnmodifiableModuleException -header extends java/lang/RuntimeException flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/java.instrument-I.sym.txt b/src/jdk.compiler/share/data/symbols/java.instrument-I.sym.txt deleted file mode 100644 index 9f7539e822613..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.instrument-I.sym.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name java/lang/instrument/UnmodifiableModuleException -header extends java/lang/RuntimeException flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/java.instrument-J.sym.txt b/src/jdk.compiler/share/data/symbols/java.instrument-J.sym.txt deleted file mode 100644 index fb591b1e06537..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.instrument-J.sym.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name java/lang/instrument/UnmodifiableModuleException -header extends java/lang/RuntimeException flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/java.instrument-K.sym.txt b/src/jdk.compiler/share/data/symbols/java.instrument-K.sym.txt deleted file mode 100644 index fb591b1e06537..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.instrument-K.sym.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name java/lang/instrument/UnmodifiableModuleException -header extends java/lang/RuntimeException flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/java.instrument-L.sym.txt b/src/jdk.compiler/share/data/symbols/java.instrument-L.sym.txt deleted file mode 100644 index 3ae025c1742c2..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.instrument-L.sym.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name java/lang/instrument/UnmodifiableModuleException -header extends java/lang/RuntimeException flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/java.logging-H.sym.txt b/src/jdk.compiler/share/data/symbols/java.logging-H.sym.txt index 16bf499224154..26f558d94ffe0 100644 --- a/src/jdk.compiler/share/data/symbols/java.logging-H.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.logging-H.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,34 +26,7 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name java/util/logging/ErrorManager -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/util/logging/LogManager -method name checkAccess descriptor ()V method name checkAccess descriptor ()V thrownTypes java/lang/SecurityException flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="17") -class name java/util/logging/LoggingMXBean -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") - -class name java/util/logging/LoggingPermission -header extends java/security/BasicPermission flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/logging/MemoryHandler -header extends java/util/logging/Handler flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/logging/SimpleFormatter -header extends java/util/logging/Formatter flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/logging/SocketHandler -header extends java/util/logging/StreamHandler flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/logging/XMLFormatter -header extends java/util/logging/Formatter flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.logging-I.sym.txt b/src/jdk.compiler/share/data/symbols/java.logging-I.sym.txt deleted file mode 100644 index 0c5aabcc4bb91..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.logging-I.sym.txt +++ /dev/null @@ -1,55 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name java/util/logging/ErrorManager -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/logging/LoggingMXBean -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") - -class name java/util/logging/LoggingPermission -header extends java/security/BasicPermission flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/logging/MemoryHandler -header extends java/util/logging/Handler flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/logging/SimpleFormatter -header extends java/util/logging/Formatter flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/logging/SocketHandler -header extends java/util/logging/StreamHandler flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/logging/XMLFormatter -header extends java/util/logging/Formatter flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.logging-J.sym.txt b/src/jdk.compiler/share/data/symbols/java.logging-J.sym.txt deleted file mode 100644 index cbc88ccd16c57..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.logging-J.sym.txt +++ /dev/null @@ -1,55 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name java/util/logging/ErrorManager -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/logging/LoggingMXBean -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") - -class name java/util/logging/LoggingPermission -header extends java/security/BasicPermission flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/logging/MemoryHandler -header extends java/util/logging/Handler flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/logging/SimpleFormatter -header extends java/util/logging/Formatter flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/logging/SocketHandler -header extends java/util/logging/StreamHandler flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/logging/XMLFormatter -header extends java/util/logging/Formatter flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.logging-K.sym.txt b/src/jdk.compiler/share/data/symbols/java.logging-K.sym.txt deleted file mode 100644 index cbc88ccd16c57..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.logging-K.sym.txt +++ /dev/null @@ -1,55 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name java/util/logging/ErrorManager -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/logging/LoggingMXBean -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") - -class name java/util/logging/LoggingPermission -header extends java/security/BasicPermission flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/logging/MemoryHandler -header extends java/util/logging/Handler flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/logging/SimpleFormatter -header extends java/util/logging/Formatter flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/logging/SocketHandler -header extends java/util/logging/StreamHandler flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/util/logging/XMLFormatter -header extends java/util/logging/Formatter flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.logging-L.sym.txt b/src/jdk.compiler/share/data/symbols/java.logging-L.sym.txt index f98f5629295db..352911500a6ab 100644 --- a/src/jdk.compiler/share/data/symbols/java.logging-L.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.logging-L.sym.txt @@ -27,8 +27,6 @@ # ########################################################## # class name java/util/logging/ErrorManager -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -method name error descriptor (Ljava/lang/String;Ljava/lang/Exception;I)V method name error descriptor (Ljava/lang/String;Ljava/lang/Exception;I)V flags 1 @@ -50,16 +48,7 @@ method name setFilter descriptor (Ljava/util/logging/Filter;)V thrownTypes java/ method name setErrorManager descriptor (Ljava/util/logging/ErrorManager;)V flags 1 method name setLevel descriptor (Ljava/util/logging/Level;)V thrownTypes java/lang/SecurityException flags 1 -class name java/util/logging/LoggingMXBean -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") - -class name java/util/logging/LoggingPermission -header extends java/security/BasicPermission flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/util/logging/MemoryHandler -header extends java/util/logging/Handler flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -method name publish descriptor (Ljava/util/logging/LogRecord;)V -method name push descriptor ()V -method name setPushLevel descriptor (Ljava/util/logging/Level;)V @@ -67,13 +56,7 @@ method name publish descriptor (Ljava/util/logging/LogRecord;)V flags 1 method name push descriptor ()V flags 1 method name setPushLevel descriptor (Ljava/util/logging/Level;)V thrownTypes java/lang/SecurityException flags 1 -class name java/util/logging/SimpleFormatter -header extends java/util/logging/Formatter flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name java/util/logging/SocketHandler -header extends java/util/logging/StreamHandler flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -method name close descriptor ()V -method name publish descriptor (Ljava/util/logging/LogRecord;)V method name close descriptor ()V thrownTypes java/lang/SecurityException flags 1 @@ -91,7 +74,3 @@ method name publish descriptor (Ljava/util/logging/LogRecord;)V flags 1 method name flush descriptor ()V flags 1 method name close descriptor ()V thrownTypes java/lang/SecurityException flags 1 -class name java/util/logging/XMLFormatter -header extends java/util/logging/Formatter flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.management-H.sym.txt b/src/jdk.compiler/share/data/symbols/java.management-H.sym.txt index 49ed0cab4a773..81cdf559fc145 100644 --- a/src/jdk.compiler/share/data/symbols/java.management-H.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.management-H.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,240 +26,6 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name java/lang/management/LockInfo -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/management/ManagementPermission -header extends java/security/BasicPermission flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/management/MemoryUsage -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/management/MonitorInfo -header extends java/lang/management/LockInfo flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/management/RuntimeMXBean -header extends java/lang/Object implements java/lang/management/PlatformManagedObject flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/Attribute -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/AttributeList -header extends java/util/ArrayList flags 21 signature Ljava/util/ArrayList; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/BadAttributeValueExpException -header extends java/lang/Exception flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/BadBinaryOpValueExpException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/BadStringOperationException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/ConstructorParameters -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;CONSTRUCTOR;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;) - -class name javax/management/ImmutableDescriptor -header extends java/lang/Object implements javax/management/Descriptor flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanAttributeInfo -header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanConstructorInfo -header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanNotificationInfo -header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanOperationInfo -header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanParameterInfo -header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanPermission -header extends java/security/Permission flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanServerDelegate -header extends java/lang/Object implements javax/management/MBeanServerDelegateMBean,javax/management/NotificationEmitter flags 21 -innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 -innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanServerFactory -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 -innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanServerInvocationHandler -header extends java/lang/Object implements java/lang/reflect/InvocationHandler flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanServerNotification -header extends javax/management/Notification flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanServerPermission -header extends java/security/BasicPermission flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanTrustPermission -header extends java/security/BasicPermission flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/Notification -header extends java/util/EventObject flags 21 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/ObjectInstance -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/Query -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/StandardEmitterMBean -header extends javax/management/StandardMBean implements javax/management/NotificationEmitter flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/StringValueExp -header extends java/lang/Object implements javax/management/ValueExp flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/loading/DefaultLoaderRepository -header extends java/lang/Object flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated; -innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 -innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 - -class name javax/management/loading/MLetContent -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/modelmbean/InvalidTargetObjectTypeException -header extends java/lang/Exception flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/modelmbean/XMLParseException -header extends java/lang/Exception flags 21 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/ArrayType -header extends javax/management/openmbean/OpenType flags 21 signature Ljavax/management/openmbean/OpenType; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/CompositeDataInvocationHandler -header extends java/lang/Object implements java/lang/reflect/InvocationHandler flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/CompositeDataSupport -header extends java/lang/Object implements javax/management/openmbean/CompositeData,java/io/Serializable flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/CompositeType -header extends javax/management/openmbean/OpenType flags 21 signature Ljavax/management/openmbean/OpenType; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/OpenMBeanAttributeInfoSupport -header extends javax/management/MBeanAttributeInfo implements javax/management/openmbean/OpenMBeanAttributeInfo flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/OpenMBeanOperationInfoSupport -header extends javax/management/MBeanOperationInfo implements javax/management/openmbean/OpenMBeanOperationInfo flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/SimpleType -header extends javax/management/openmbean/OpenType flags 31 signature Ljavax/management/openmbean/OpenType; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/TabularDataSupport -header extends java/lang/Object implements javax/management/openmbean/TabularData,java/util/Map,java/lang/Cloneable,java/io/Serializable flags 21 signature Ljava/lang/Object;Ljavax/management/openmbean/TabularData;Ljava/util/Map;Ljava/lang/Cloneable;Ljava/io/Serializable; -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/TabularType -header extends javax/management/openmbean/OpenType flags 21 signature Ljavax/management/openmbean/OpenType; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/relation/RelationNotification -header extends javax/management/Notification flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name javax/management/relation/RelationSupport -header extends java/lang/Object implements javax/management/relation/RelationSupportMBean,javax/management/MBeanRegistration flags 21 -innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 -innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 - -class name javax/management/relation/Role -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/relation/RoleInfo -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/relation/RoleResult -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name javax/management/relation/RoleUnresolved -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/JMXConnectorServerFactory -header extends java/lang/Object flags 21 -innerclass innerClass java/util/ServiceLoader$Provider outerClass java/util/ServiceLoader innerClassName Provider flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/JMXPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/JMXServiceURL -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/NotificationResult -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/TargetedNotification -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +module name java.management +header exports java/lang/management,javax/management,javax/management/loading,javax/management/modelmbean,javax/management/monitor,javax/management/openmbean,javax/management/relation,javax/management/remote,javax/management/timer requires name\u0020;java.base\u0020;flags\u0020;8000 uses javax/management/remote/JMXConnectorProvider,javax/management/remote/JMXConnectorServerProvider,sun/management/spi/PlatformMBeanProvider provides interface\u0020;javax/security/auth/spi/LoginModule\u0020;impls\u0020;com/sun/jmx/remote/security/FileLoginModule target linux-amd64 flags 8000 diff --git a/src/jdk.compiler/share/data/symbols/java.management-I.sym.txt b/src/jdk.compiler/share/data/symbols/java.management-I.sym.txt index ae261e32e0c9f..596052ed698f4 100644 --- a/src/jdk.compiler/share/data/symbols/java.management-I.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.management-I.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,244 +26,10 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name java/lang/management/LockInfo -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/management/ManagementPermission -header extends java/security/BasicPermission flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +module name java.management +header exports java/lang/management,javax/management,javax/management/loading,javax/management/modelmbean,javax/management/monitor,javax/management/openmbean,javax/management/relation,javax/management/remote,javax/management/timer requires name\u0020;java.base\u0020;flags\u0020;8000 uses javax/management/remote/JMXConnectorProvider,javax/management/remote/JMXConnectorServerProvider,sun/management/spi/PlatformMBeanProvider provides interface\u0020;javax/security/auth/spi/LoginModule\u0020;impls\u0020;com/sun/jmx/remote/security/FileLoginModule target linux-amd64 flags 8000 class name java/lang/management/MemoryMXBean -method name getObjectPendingFinalizationCount descriptor ()I method name getObjectPendingFinalizationCount descriptor ()I flags 401 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="18") -class name java/lang/management/MemoryUsage -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/management/MonitorInfo -header extends java/lang/management/LockInfo flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/management/RuntimeMXBean -header extends java/lang/Object implements java/lang/management/PlatformManagedObject flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/Attribute -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/AttributeList -header extends java/util/ArrayList flags 21 signature Ljava/util/ArrayList; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/BadAttributeValueExpException -header extends java/lang/Exception flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/BadBinaryOpValueExpException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/BadStringOperationException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/ConstructorParameters -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;CONSTRUCTOR;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;) - -class name javax/management/ImmutableDescriptor -header extends java/lang/Object implements javax/management/Descriptor flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanAttributeInfo -header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanConstructorInfo -header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanNotificationInfo -header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanOperationInfo -header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanParameterInfo -header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanPermission -header extends java/security/Permission flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanServerDelegate -header extends java/lang/Object implements javax/management/MBeanServerDelegateMBean,javax/management/NotificationEmitter flags 21 -innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 -innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanServerFactory -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 -innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanServerInvocationHandler -header extends java/lang/Object implements java/lang/reflect/InvocationHandler flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanServerNotification -header extends javax/management/Notification flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanServerPermission -header extends java/security/BasicPermission flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanTrustPermission -header extends java/security/BasicPermission flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/Notification -header extends java/util/EventObject flags 21 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/ObjectInstance -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/Query -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/StandardEmitterMBean -header extends javax/management/StandardMBean implements javax/management/NotificationEmitter flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/StringValueExp -header extends java/lang/Object implements javax/management/ValueExp flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/loading/DefaultLoaderRepository -header extends java/lang/Object flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated; -innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 -innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 - -class name javax/management/loading/MLetContent -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/modelmbean/InvalidTargetObjectTypeException -header extends java/lang/Exception flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/modelmbean/XMLParseException -header extends java/lang/Exception flags 21 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/ArrayType -header extends javax/management/openmbean/OpenType flags 21 signature Ljavax/management/openmbean/OpenType; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/CompositeDataInvocationHandler -header extends java/lang/Object implements java/lang/reflect/InvocationHandler flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/CompositeDataSupport -header extends java/lang/Object implements javax/management/openmbean/CompositeData,java/io/Serializable flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/CompositeType -header extends javax/management/openmbean/OpenType flags 21 signature Ljavax/management/openmbean/OpenType; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/OpenMBeanAttributeInfoSupport -header extends javax/management/MBeanAttributeInfo implements javax/management/openmbean/OpenMBeanAttributeInfo flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/OpenMBeanOperationInfoSupport -header extends javax/management/MBeanOperationInfo implements javax/management/openmbean/OpenMBeanOperationInfo flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/SimpleType -header extends javax/management/openmbean/OpenType flags 31 signature Ljavax/management/openmbean/OpenType; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/TabularDataSupport -header extends java/lang/Object implements javax/management/openmbean/TabularData,java/util/Map,java/lang/Cloneable,java/io/Serializable flags 21 signature Ljava/lang/Object;Ljavax/management/openmbean/TabularData;Ljava/util/Map;Ljava/lang/Cloneable;Ljava/io/Serializable; -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/TabularType -header extends javax/management/openmbean/OpenType flags 21 signature Ljavax/management/openmbean/OpenType; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/relation/RelationNotification -header extends javax/management/Notification flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name javax/management/relation/RelationSupport -header extends java/lang/Object implements javax/management/relation/RelationSupportMBean,javax/management/MBeanRegistration flags 21 -innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 -innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 - -class name javax/management/relation/Role -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/relation/RoleInfo -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/relation/RoleResult -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name javax/management/relation/RoleUnresolved -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/JMXConnectorServerFactory -header extends java/lang/Object flags 21 -innerclass innerClass java/util/ServiceLoader$Provider outerClass java/util/ServiceLoader innerClassName Provider flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/JMXPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/JMXServiceURL -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/NotificationResult -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/TargetedNotification -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.management-J.sym.txt b/src/jdk.compiler/share/data/symbols/java.management-J.sym.txt index c9342b3e68941..f80f191a03ba2 100644 --- a/src/jdk.compiler/share/data/symbols/java.management-J.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.management-J.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,240 +26,6 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name java/lang/management/LockInfo -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/management/ManagementPermission -header extends java/security/BasicPermission flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/management/MemoryUsage -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/management/MonitorInfo -header extends java/lang/management/LockInfo flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/management/RuntimeMXBean -header extends java/lang/Object implements java/lang/management/PlatformManagedObject flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/Attribute -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/AttributeList -header extends java/util/ArrayList flags 21 signature Ljava/util/ArrayList; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/BadAttributeValueExpException -header extends java/lang/Exception flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/BadBinaryOpValueExpException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/BadStringOperationException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/ConstructorParameters -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;CONSTRUCTOR;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;) - -class name javax/management/ImmutableDescriptor -header extends java/lang/Object implements javax/management/Descriptor flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanAttributeInfo -header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanConstructorInfo -header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanNotificationInfo -header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanOperationInfo -header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanParameterInfo -header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanPermission -header extends java/security/Permission flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanServerDelegate -header extends java/lang/Object implements javax/management/MBeanServerDelegateMBean,javax/management/NotificationEmitter flags 21 -innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 -innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanServerFactory -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 -innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanServerInvocationHandler -header extends java/lang/Object implements java/lang/reflect/InvocationHandler flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanServerNotification -header extends javax/management/Notification flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanServerPermission -header extends java/security/BasicPermission flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanTrustPermission -header extends java/security/BasicPermission flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/Notification -header extends java/util/EventObject flags 21 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/ObjectInstance -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/Query -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/StandardEmitterMBean -header extends javax/management/StandardMBean implements javax/management/NotificationEmitter flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/StringValueExp -header extends java/lang/Object implements javax/management/ValueExp flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/loading/DefaultLoaderRepository -header extends java/lang/Object flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated; -innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 -innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 - -class name javax/management/loading/MLetContent -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/modelmbean/InvalidTargetObjectTypeException -header extends java/lang/Exception flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/modelmbean/XMLParseException -header extends java/lang/Exception flags 21 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/ArrayType -header extends javax/management/openmbean/OpenType flags 21 signature Ljavax/management/openmbean/OpenType; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/CompositeDataInvocationHandler -header extends java/lang/Object implements java/lang/reflect/InvocationHandler flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/CompositeDataSupport -header extends java/lang/Object implements javax/management/openmbean/CompositeData,java/io/Serializable flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/CompositeType -header extends javax/management/openmbean/OpenType flags 21 signature Ljavax/management/openmbean/OpenType; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/OpenMBeanAttributeInfoSupport -header extends javax/management/MBeanAttributeInfo implements javax/management/openmbean/OpenMBeanAttributeInfo flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/OpenMBeanOperationInfoSupport -header extends javax/management/MBeanOperationInfo implements javax/management/openmbean/OpenMBeanOperationInfo flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/SimpleType -header extends javax/management/openmbean/OpenType flags 31 signature Ljavax/management/openmbean/OpenType; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/TabularDataSupport -header extends java/lang/Object implements javax/management/openmbean/TabularData,java/util/Map,java/lang/Cloneable,java/io/Serializable flags 21 signature Ljava/lang/Object;Ljavax/management/openmbean/TabularData;Ljava/util/Map;Ljava/lang/Cloneable;Ljava/io/Serializable; -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/TabularType -header extends javax/management/openmbean/OpenType flags 21 signature Ljavax/management/openmbean/OpenType; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/relation/RelationNotification -header extends javax/management/Notification flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name javax/management/relation/RelationSupport -header extends java/lang/Object implements javax/management/relation/RelationSupportMBean,javax/management/MBeanRegistration flags 21 -innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 -innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 - -class name javax/management/relation/Role -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/relation/RoleInfo -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/relation/RoleResult -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name javax/management/relation/RoleUnresolved -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/JMXConnectorServerFactory -header extends java/lang/Object flags 21 -innerclass innerClass java/util/ServiceLoader$Provider outerClass java/util/ServiceLoader innerClassName Provider flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/JMXPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/JMXServiceURL -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/NotificationResult -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/TargetedNotification -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +module name java.management +header exports java/lang/management,javax/management,javax/management/loading,javax/management/modelmbean,javax/management/monitor,javax/management/openmbean,javax/management/relation,javax/management/remote,javax/management/timer requires name\u0020;java.base\u0020;flags\u0020;8000 uses javax/management/remote/JMXConnectorProvider,javax/management/remote/JMXConnectorServerProvider,sun/management/spi/PlatformMBeanProvider provides interface\u0020;javax/security/auth/spi/LoginModule\u0020;impls\u0020;com/sun/jmx/remote/security/FileLoginModule target linux-amd64 flags 8000 diff --git a/src/jdk.compiler/share/data/symbols/java.management-K.sym.txt b/src/jdk.compiler/share/data/symbols/java.management-K.sym.txt index 492b1d051992a..48382f94f9e82 100644 --- a/src/jdk.compiler/share/data/symbols/java.management-K.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.management-K.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. # 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,134 +29,6 @@ module name java.management header exports java/lang/management,javax/management,javax/management/loading,javax/management/modelmbean,javax/management/monitor,javax/management/openmbean,javax/management/relation,javax/management/remote,javax/management/timer requires name\u0020;java.base\u0020;flags\u0020;8000 uses javax/management/remote/JMXConnectorProvider,javax/management/remote/JMXConnectorServerProvider,sun/management/spi/PlatformMBeanProvider provides interface\u0020;javax/security/auth/spi/LoginModule\u0020;impls\u0020;com/sun/jmx/remote/security/FileLoginModule target linux-amd64 flags 8000 classAnnotations @Ljdk/internal/javac/ParticipatesInPreview; -class name java/lang/management/LockInfo -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/management/ManagementPermission -header extends java/security/BasicPermission flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/management/MemoryUsage -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/management/MonitorInfo -header extends java/lang/management/LockInfo flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/management/RuntimeMXBean -header extends java/lang/Object implements java/lang/management/PlatformManagedObject flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/Attribute -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/AttributeList -header extends java/util/ArrayList flags 21 signature Ljava/util/ArrayList; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/BadAttributeValueExpException -header extends java/lang/Exception flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/BadBinaryOpValueExpException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/BadStringOperationException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/ConstructorParameters -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;CONSTRUCTOR;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;) - -class name javax/management/ImmutableDescriptor -header extends java/lang/Object implements javax/management/Descriptor flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanAttributeInfo -header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanConstructorInfo -header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanNotificationInfo -header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanOperationInfo -header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanParameterInfo -header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanPermission -header extends java/security/Permission flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanServerDelegate -header extends java/lang/Object implements javax/management/MBeanServerDelegateMBean,javax/management/NotificationEmitter flags 21 -innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 -innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanServerFactory -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 -innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanServerInvocationHandler -header extends java/lang/Object implements java/lang/reflect/InvocationHandler flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanServerNotification -header extends javax/management/Notification flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanServerPermission -header extends java/security/BasicPermission flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanTrustPermission -header extends java/security/BasicPermission flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/Notification -header extends java/util/EventObject flags 21 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/ObjectInstance -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/Query -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/StandardEmitterMBean -header extends javax/management/StandardMBean implements javax/management/NotificationEmitter flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/StringValueExp -header extends java/lang/Object implements javax/management/ValueExp flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/loading/DefaultLoaderRepository -header extends java/lang/Object flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated; -innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 -innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 - class name javax/management/loading/MLet header extends java/net/URLClassLoader implements javax/management/loading/MLetMBean,javax/management/MBeanRegistration,java/io/Externalizable flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="20") innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 @@ -173,108 +45,3 @@ header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Lj class name javax/management/loading/PrivateMLet header extends javax/management/loading/MLet implements javax/management/loading/PrivateClassLoader flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="20") -class name javax/management/modelmbean/InvalidTargetObjectTypeException -header extends java/lang/Exception flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/modelmbean/XMLParseException -header extends java/lang/Exception flags 21 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/ArrayType -header extends javax/management/openmbean/OpenType flags 21 signature Ljavax/management/openmbean/OpenType; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/CompositeDataInvocationHandler -header extends java/lang/Object implements java/lang/reflect/InvocationHandler flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/CompositeDataSupport -header extends java/lang/Object implements javax/management/openmbean/CompositeData,java/io/Serializable flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/CompositeType -header extends javax/management/openmbean/OpenType flags 21 signature Ljavax/management/openmbean/OpenType; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/OpenMBeanAttributeInfoSupport -header extends javax/management/MBeanAttributeInfo implements javax/management/openmbean/OpenMBeanAttributeInfo flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/OpenMBeanOperationInfoSupport -header extends javax/management/MBeanOperationInfo implements javax/management/openmbean/OpenMBeanOperationInfo flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/SimpleType -header extends javax/management/openmbean/OpenType flags 31 signature Ljavax/management/openmbean/OpenType; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/TabularDataSupport -header extends java/lang/Object implements javax/management/openmbean/TabularData,java/util/Map,java/lang/Cloneable,java/io/Serializable flags 21 signature Ljava/lang/Object;Ljavax/management/openmbean/TabularData;Ljava/util/Map;Ljava/lang/Cloneable;Ljava/io/Serializable; -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/TabularType -header extends javax/management/openmbean/OpenType flags 21 signature Ljavax/management/openmbean/OpenType; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/relation/RelationNotification -header extends javax/management/Notification flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name javax/management/relation/RelationSupport -header extends java/lang/Object implements javax/management/relation/RelationSupportMBean,javax/management/MBeanRegistration flags 21 -innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 -innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 - -class name javax/management/relation/Role -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/relation/RoleInfo -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/relation/RoleResult -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name javax/management/relation/RoleUnresolved -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/JMXConnectorServerFactory -header extends java/lang/Object flags 21 -innerclass innerClass java/util/ServiceLoader$Provider outerClass java/util/ServiceLoader innerClassName Provider flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/JMXPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/JMXServiceURL -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/NotificationResult -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/TargetedNotification -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.management-L.sym.txt b/src/jdk.compiler/share/data/symbols/java.management-L.sym.txt index a3ec73d1f7687..763c0ad739d39 100644 --- a/src/jdk.compiler/share/data/symbols/java.management-L.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.management-L.sym.txt @@ -29,240 +29,7 @@ module name java.management header exports java/lang/management,javax/management,javax/management/loading,javax/management/modelmbean,javax/management/monitor,javax/management/openmbean,javax/management/relation,javax/management/remote,javax/management/timer requires name\u0020;java.base\u0020;flags\u0020;8000 uses javax/management/remote/JMXConnectorProvider,javax/management/remote/JMXConnectorServerProvider,sun/management/spi/PlatformMBeanProvider provides interface\u0020;javax/security/auth/spi/LoginModule\u0020;impls\u0020;com/sun/jmx/remote/security/FileLoginModule target linux-amd64 flags 8000 -class name java/lang/management/LockInfo -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/management/ManagementPermission -header extends java/security/BasicPermission flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/management/MemoryUsage -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/management/MonitorInfo -header extends java/lang/management/LockInfo flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/lang/management/RuntimeMXBean -header extends java/lang/Object implements java/lang/management/PlatformManagedObject flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/Attribute -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/AttributeList -header extends java/util/ArrayList flags 21 signature Ljava/util/ArrayList; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/BadAttributeValueExpException -header extends java/lang/Exception flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/BadBinaryOpValueExpException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/BadStringOperationException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/ConstructorParameters -header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Documented;@Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;CONSTRUCTOR;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;RUNTIME;) - -class name javax/management/ImmutableDescriptor -header extends java/lang/Object implements javax/management/Descriptor flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanAttributeInfo -header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanConstructorInfo -header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanNotificationInfo -header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanOperationInfo -header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanParameterInfo -header extends javax/management/MBeanFeatureInfo implements java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanPermission -header extends java/security/Permission flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanServerDelegate -header extends java/lang/Object implements javax/management/MBeanServerDelegateMBean,javax/management/NotificationEmitter flags 21 -innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 -innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanServerFactory -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 -innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanServerInvocationHandler -header extends java/lang/Object implements java/lang/reflect/InvocationHandler flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanServerNotification -header extends javax/management/Notification flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanServerPermission -header extends java/security/BasicPermission flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/MBeanTrustPermission -header extends java/security/BasicPermission flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/Notification -header extends java/util/EventObject flags 21 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/ObjectInstance -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/Query -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/StandardEmitterMBean -header extends javax/management/StandardMBean implements javax/management/NotificationEmitter flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/StringValueExp -header extends java/lang/Object implements javax/management/ValueExp flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/loading/DefaultLoaderRepository -header extends java/lang/Object flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated; -innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 -innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 - -class name javax/management/modelmbean/InvalidTargetObjectTypeException -header extends java/lang/Exception flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/modelmbean/XMLParseException -header extends java/lang/Exception flags 21 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/ArrayType -header extends javax/management/openmbean/OpenType flags 21 signature Ljavax/management/openmbean/OpenType; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/CompositeDataInvocationHandler -header extends java/lang/Object implements java/lang/reflect/InvocationHandler flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/CompositeDataSupport -header extends java/lang/Object implements javax/management/openmbean/CompositeData,java/io/Serializable flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/CompositeType -header extends javax/management/openmbean/OpenType flags 21 signature Ljavax/management/openmbean/OpenType; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/OpenMBeanAttributeInfoSupport -header extends javax/management/MBeanAttributeInfo implements javax/management/openmbean/OpenMBeanAttributeInfo flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/OpenMBeanOperationInfoSupport -header extends javax/management/MBeanOperationInfo implements javax/management/openmbean/OpenMBeanOperationInfo flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/SimpleType -header extends javax/management/openmbean/OpenType flags 31 signature Ljavax/management/openmbean/OpenType; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/TabularDataSupport -header extends java/lang/Object implements javax/management/openmbean/TabularData,java/util/Map,java/lang/Cloneable,java/io/Serializable flags 21 signature Ljava/lang/Object;Ljavax/management/openmbean/TabularData;Ljava/util/Map;Ljava/lang/Cloneable;Ljava/io/Serializable; -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/openmbean/TabularType -header extends javax/management/openmbean/OpenType flags 21 signature Ljavax/management/openmbean/OpenType; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/relation/RelationNotification -header extends javax/management/Notification flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name javax/management/relation/RelationSupport -header extends java/lang/Object implements javax/management/relation/RelationSupportMBean,javax/management/MBeanRegistration flags 21 -innerclass innerClass java/lang/System$Logger outerClass java/lang/System innerClassName Logger flags 609 -innerclass innerClass java/lang/System$Logger$Level outerClass java/lang/System$Logger innerClassName Level flags 4019 - -class name javax/management/relation/Role -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/relation/RoleInfo -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/relation/RoleResult -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name javax/management/relation/RoleUnresolved -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/management/remote/JMXConnector -method name getMBeanServerConnection descriptor (Ljavax/security/auth/Subject;)Ljavax/management/MBeanServerConnection; method name getMBeanServerConnection descriptor (Ljavax/security/auth/Subject;)Ljavax/management/MBeanServerConnection; thrownTypes java/io/IOException flags 401 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="21") -class name javax/management/remote/JMXConnectorServerFactory -header extends java/lang/Object flags 21 -innerclass innerClass java/util/ServiceLoader$Provider outerClass java/util/ServiceLoader innerClassName Provider flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/JMXPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/JMXServiceURL -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/NotificationResult -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/TargetedNotification -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.management.rmi-H.sym.txt b/src/jdk.compiler/share/data/symbols/java.management.rmi-H.sym.txt deleted file mode 100644 index 18477d6862fb9..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.management.rmi-H.sym.txt +++ /dev/null @@ -1,39 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/management/remote/rmi/RMIConnectorServer -header extends javax/management/remote/JMXConnectorServer flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/rmi/RMIIIOPServerImpl -header extends javax/management/remote/rmi/RMIServerImpl flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated; - -class name javax/management/remote/rmi/RMIServerImpl -header extends java/lang/Object implements java/io/Closeable,javax/management/remote/rmi/RMIServer flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.management.rmi-I.sym.txt b/src/jdk.compiler/share/data/symbols/java.management.rmi-I.sym.txt deleted file mode 100644 index 18477d6862fb9..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.management.rmi-I.sym.txt +++ /dev/null @@ -1,39 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/management/remote/rmi/RMIConnectorServer -header extends javax/management/remote/JMXConnectorServer flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/rmi/RMIIIOPServerImpl -header extends javax/management/remote/rmi/RMIServerImpl flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated; - -class name javax/management/remote/rmi/RMIServerImpl -header extends java/lang/Object implements java/io/Closeable,javax/management/remote/rmi/RMIServer flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.management.rmi-J.sym.txt b/src/jdk.compiler/share/data/symbols/java.management.rmi-J.sym.txt deleted file mode 100644 index 46b3d3b6adbee..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.management.rmi-J.sym.txt +++ /dev/null @@ -1,39 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/management/remote/rmi/RMIConnectorServer -header extends javax/management/remote/JMXConnectorServer flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/rmi/RMIIIOPServerImpl -header extends javax/management/remote/rmi/RMIServerImpl flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated; - -class name javax/management/remote/rmi/RMIServerImpl -header extends java/lang/Object implements java/io/Closeable,javax/management/remote/rmi/RMIServer flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.management.rmi-K.sym.txt b/src/jdk.compiler/share/data/symbols/java.management.rmi-K.sym.txt deleted file mode 100644 index 46b3d3b6adbee..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.management.rmi-K.sym.txt +++ /dev/null @@ -1,39 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/management/remote/rmi/RMIConnectorServer -header extends javax/management/remote/JMXConnectorServer flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/rmi/RMIIIOPServerImpl -header extends javax/management/remote/rmi/RMIServerImpl flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated; - -class name javax/management/remote/rmi/RMIServerImpl -header extends java/lang/Object implements java/io/Closeable,javax/management/remote/rmi/RMIServer flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.management.rmi-L.sym.txt b/src/jdk.compiler/share/data/symbols/java.management.rmi-L.sym.txt index 956cfb6f2ddc7..eb245fb98a587 100644 --- a/src/jdk.compiler/share/data/symbols/java.management.rmi-L.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.management.rmi-L.sym.txt @@ -26,13 +26,5 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name javax/management/remote/rmi/RMIConnectorServer -header extends javax/management/remote/JMXConnectorServer flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/management/remote/rmi/RMIIIOPServerImpl -class name javax/management/remote/rmi/RMIServerImpl -header extends java/lang/Object implements java/io/Closeable,javax/management/remote/rmi/RMIServer flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.naming-H.sym.txt b/src/jdk.compiler/share/data/symbols/java.naming-H.sym.txt index 0d55209508e67..9e07ea30f72f3 100644 --- a/src/jdk.compiler/share/data/symbols/java.naming-H.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.naming-H.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,55 +26,7 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name javax/naming/BinaryRefAddr -header extends javax/naming/RefAddr flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/Binding -header extends javax/naming/NameClassPair flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/CompositeName -header extends java/lang/Object implements javax/naming/Name flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/CompoundName -header extends java/lang/Object implements javax/naming/Name flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/naming/Context -field name APPLET descriptor Ljava/lang/String; field name APPLET descriptor Ljava/lang/String; constantValue java.naming.applet flags 19 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="9") -class name javax/naming/LinkException -header extends javax/naming/NamingException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/NameClassPair -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/NamingException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/RefAddr -header extends java/lang/Object implements java/io/Serializable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/Reference -header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/directory/AttributeModificationException -header extends javax/naming/NamingException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/directory/ModificationItem -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/directory/SearchResult -header extends javax/naming/Binding flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.naming-I.sym.txt b/src/jdk.compiler/share/data/symbols/java.naming-I.sym.txt deleted file mode 100644 index f913ec6f184bf..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.naming-I.sym.txt +++ /dev/null @@ -1,76 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/naming/BinaryRefAddr -header extends javax/naming/RefAddr flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/Binding -header extends javax/naming/NameClassPair flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/CompositeName -header extends java/lang/Object implements javax/naming/Name flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/CompoundName -header extends java/lang/Object implements javax/naming/Name flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/LinkException -header extends javax/naming/NamingException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/NameClassPair -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/NamingException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/RefAddr -header extends java/lang/Object implements java/io/Serializable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/Reference -header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/directory/AttributeModificationException -header extends javax/naming/NamingException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/directory/ModificationItem -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/directory/SearchResult -header extends javax/naming/Binding flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.naming-J.sym.txt b/src/jdk.compiler/share/data/symbols/java.naming-J.sym.txt deleted file mode 100644 index f1d6d17412c43..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.naming-J.sym.txt +++ /dev/null @@ -1,76 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/naming/BinaryRefAddr -header extends javax/naming/RefAddr flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/Binding -header extends javax/naming/NameClassPair flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/CompositeName -header extends java/lang/Object implements javax/naming/Name flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/CompoundName -header extends java/lang/Object implements javax/naming/Name flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/LinkException -header extends javax/naming/NamingException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/NameClassPair -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/NamingException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/RefAddr -header extends java/lang/Object implements java/io/Serializable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/Reference -header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/directory/AttributeModificationException -header extends javax/naming/NamingException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/directory/ModificationItem -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/directory/SearchResult -header extends javax/naming/Binding flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.naming-K.sym.txt b/src/jdk.compiler/share/data/symbols/java.naming-K.sym.txt index 335632cea8727..68c03c49d11de 100644 --- a/src/jdk.compiler/share/data/symbols/java.naming-K.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.naming-K.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,54 +26,6 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name javax/naming/BinaryRefAddr -header extends javax/naming/RefAddr flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/Binding -header extends javax/naming/NameClassPair flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/CompositeName -header extends java/lang/Object implements javax/naming/Name flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/CompoundName -header extends java/lang/Object implements javax/naming/Name flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/LinkException -header extends javax/naming/NamingException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/NameClassPair -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/NamingException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/RefAddr -header extends java/lang/Object implements java/io/Serializable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/Reference -header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/directory/AttributeModificationException -header extends javax/naming/NamingException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/directory/ModificationItem -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/directory/SearchResult -header extends javax/naming/Binding flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/naming/spi/DirectoryManager header extends javax/naming/spi/NamingManager flags 21 innerclass innerClass javax/naming/spi/DirStateFactory$Result outerClass javax/naming/spi/DirStateFactory innerClassName Result flags 9 diff --git a/src/jdk.compiler/share/data/symbols/java.naming-L.sym.txt b/src/jdk.compiler/share/data/symbols/java.naming-L.sym.txt deleted file mode 100644 index 8253f7e15472c..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.naming-L.sym.txt +++ /dev/null @@ -1,76 +0,0 @@ -# -# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/naming/BinaryRefAddr -header extends javax/naming/RefAddr flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/Binding -header extends javax/naming/NameClassPair flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/CompositeName -header extends java/lang/Object implements javax/naming/Name flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/CompoundName -header extends java/lang/Object implements javax/naming/Name flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/LinkException -header extends javax/naming/NamingException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/NameClassPair -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/NamingException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/RefAddr -header extends java/lang/Object implements java/io/Serializable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/Reference -header extends java/lang/Object implements java/lang/Cloneable,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/directory/AttributeModificationException -header extends javax/naming/NamingException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/directory/ModificationItem -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/naming/directory/SearchResult -header extends javax/naming/Binding flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.rmi-H.sym.txt b/src/jdk.compiler/share/data/symbols/java.rmi-H.sym.txt index 2f143621aeff1..f4817386c8a83 100644 --- a/src/jdk.compiler/share/data/symbols/java.rmi-H.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.rmi-H.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -32,10 +32,6 @@ header exports java/rmi,java/rmi/dgc,java/rmi/registry,java/rmi/server,javax/rmi class name java/rmi/RMISecurityManager header extends java/lang/SecurityManager flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="1.8") -class name java/rmi/RemoteException -header extends java/io/IOException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/rmi/activation/Activatable -class name java/rmi/activation/ActivateFailedException @@ -68,23 +64,3 @@ innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang -class name java/rmi/activation/UnknownObjectException -class name java/rmi/dgc/VMID -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/rmi/server/ObjID -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/rmi/server/RemoteObject -header extends java/lang/Object implements java/rmi/Remote,java/io/Serializable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/rmi/server/ServerCloneException -header extends java/lang/CloneNotSupportedException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/rmi/server/UID -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.rmi-I.sym.txt b/src/jdk.compiler/share/data/symbols/java.rmi-I.sym.txt deleted file mode 100644 index 9e577bb975ca0..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.rmi-I.sym.txt +++ /dev/null @@ -1,52 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name java/rmi/RemoteException -header extends java/io/IOException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/rmi/dgc/VMID -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/rmi/server/ObjID -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/rmi/server/RemoteObject -header extends java/lang/Object implements java/rmi/Remote,java/io/Serializable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/rmi/server/ServerCloneException -header extends java/lang/CloneNotSupportedException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/rmi/server/UID -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.rmi-J.sym.txt b/src/jdk.compiler/share/data/symbols/java.rmi-J.sym.txt deleted file mode 100644 index 20c9c67810952..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.rmi-J.sym.txt +++ /dev/null @@ -1,52 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name java/rmi/RemoteException -header extends java/io/IOException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/rmi/dgc/VMID -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/rmi/server/ObjID -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/rmi/server/RemoteObject -header extends java/lang/Object implements java/rmi/Remote,java/io/Serializable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/rmi/server/ServerCloneException -header extends java/lang/CloneNotSupportedException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/rmi/server/UID -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.rmi-K.sym.txt b/src/jdk.compiler/share/data/symbols/java.rmi-K.sym.txt deleted file mode 100644 index 20c9c67810952..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.rmi-K.sym.txt +++ /dev/null @@ -1,52 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name java/rmi/RemoteException -header extends java/io/IOException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/rmi/dgc/VMID -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/rmi/server/ObjID -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/rmi/server/RemoteObject -header extends java/lang/Object implements java/rmi/Remote,java/io/Serializable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/rmi/server/ServerCloneException -header extends java/lang/CloneNotSupportedException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/rmi/server/UID -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.rmi-L.sym.txt b/src/jdk.compiler/share/data/symbols/java.rmi-L.sym.txt deleted file mode 100644 index eef51cac29aef..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.rmi-L.sym.txt +++ /dev/null @@ -1,52 +0,0 @@ -# -# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name java/rmi/RemoteException -header extends java/io/IOException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/rmi/dgc/VMID -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/rmi/server/ObjID -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/rmi/server/RemoteObject -header extends java/lang/Object implements java/rmi/Remote,java/io/Serializable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/rmi/server/ServerCloneException -header extends java/lang/CloneNotSupportedException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/rmi/server/UID -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.scripting-H.sym.txt b/src/jdk.compiler/share/data/symbols/java.scripting-H.sym.txt deleted file mode 100644 index 661fc972e825f..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.scripting-H.sym.txt +++ /dev/null @@ -1,32 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/script/ScriptException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.scripting-I.sym.txt b/src/jdk.compiler/share/data/symbols/java.scripting-I.sym.txt deleted file mode 100644 index 661fc972e825f..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.scripting-I.sym.txt +++ /dev/null @@ -1,32 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/script/ScriptException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.scripting-J.sym.txt b/src/jdk.compiler/share/data/symbols/java.scripting-J.sym.txt deleted file mode 100644 index 93890844c9942..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.scripting-J.sym.txt +++ /dev/null @@ -1,32 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/script/ScriptException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.scripting-K.sym.txt b/src/jdk.compiler/share/data/symbols/java.scripting-K.sym.txt deleted file mode 100644 index 93890844c9942..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.scripting-K.sym.txt +++ /dev/null @@ -1,32 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/script/ScriptException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.scripting-L.sym.txt b/src/jdk.compiler/share/data/symbols/java.scripting-L.sym.txt deleted file mode 100644 index 083b604bdd1eb..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.scripting-L.sym.txt +++ /dev/null @@ -1,32 +0,0 @@ -# -# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/script/ScriptException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.security.jgss-H.sym.txt b/src/jdk.compiler/share/data/symbols/java.security.jgss-H.sym.txt deleted file mode 100644 index 6af48bfea4aea..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.security.jgss-H.sym.txt +++ /dev/null @@ -1,69 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/security/auth/kerberos/DelegationPermission -header extends java/security/BasicPermission implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/EncryptionKey -header extends java/lang/Object implements javax/crypto/SecretKey flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/KerberosCredMessage -header extends java/lang/Object implements javax/security/auth/Destroyable flags 31 -innerclass innerClass java/util/Base64$Encoder outerClass java/util/Base64 innerClassName Encoder flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/KerberosKey -header extends java/lang/Object implements javax/crypto/SecretKey flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/KerberosPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/KerberosTicket -header extends java/lang/Object implements javax/security/auth/Destroyable,javax/security/auth/Refreshable,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/KeyTab -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/ServicePermission -header extends java/security/Permission implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name org/ietf/jgss/GSSException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name org/ietf/jgss/Oid -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.security.jgss-I.sym.txt b/src/jdk.compiler/share/data/symbols/java.security.jgss-I.sym.txt deleted file mode 100644 index 6af48bfea4aea..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.security.jgss-I.sym.txt +++ /dev/null @@ -1,69 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/security/auth/kerberos/DelegationPermission -header extends java/security/BasicPermission implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/EncryptionKey -header extends java/lang/Object implements javax/crypto/SecretKey flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/KerberosCredMessage -header extends java/lang/Object implements javax/security/auth/Destroyable flags 31 -innerclass innerClass java/util/Base64$Encoder outerClass java/util/Base64 innerClassName Encoder flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/KerberosKey -header extends java/lang/Object implements javax/crypto/SecretKey flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/KerberosPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/KerberosTicket -header extends java/lang/Object implements javax/security/auth/Destroyable,javax/security/auth/Refreshable,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/KeyTab -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/ServicePermission -header extends java/security/Permission implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name org/ietf/jgss/GSSException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name org/ietf/jgss/Oid -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.security.jgss-J.sym.txt b/src/jdk.compiler/share/data/symbols/java.security.jgss-J.sym.txt deleted file mode 100644 index d200d5018b3a9..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.security.jgss-J.sym.txt +++ /dev/null @@ -1,69 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/security/auth/kerberos/DelegationPermission -header extends java/security/BasicPermission implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/EncryptionKey -header extends java/lang/Object implements javax/crypto/SecretKey flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/KerberosCredMessage -header extends java/lang/Object implements javax/security/auth/Destroyable flags 31 -innerclass innerClass java/util/Base64$Encoder outerClass java/util/Base64 innerClassName Encoder flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/KerberosKey -header extends java/lang/Object implements javax/crypto/SecretKey flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/KerberosPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/KerberosTicket -header extends java/lang/Object implements javax/security/auth/Destroyable,javax/security/auth/Refreshable,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/KeyTab -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/ServicePermission -header extends java/security/Permission implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name org/ietf/jgss/GSSException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name org/ietf/jgss/Oid -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.security.jgss-K.sym.txt b/src/jdk.compiler/share/data/symbols/java.security.jgss-K.sym.txt deleted file mode 100644 index d200d5018b3a9..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.security.jgss-K.sym.txt +++ /dev/null @@ -1,69 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/security/auth/kerberos/DelegationPermission -header extends java/security/BasicPermission implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/EncryptionKey -header extends java/lang/Object implements javax/crypto/SecretKey flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/KerberosCredMessage -header extends java/lang/Object implements javax/security/auth/Destroyable flags 31 -innerclass innerClass java/util/Base64$Encoder outerClass java/util/Base64 innerClassName Encoder flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/KerberosKey -header extends java/lang/Object implements javax/crypto/SecretKey flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/KerberosPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/KerberosTicket -header extends java/lang/Object implements javax/security/auth/Destroyable,javax/security/auth/Refreshable,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/KeyTab -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/ServicePermission -header extends java/security/Permission implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name org/ietf/jgss/GSSException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name org/ietf/jgss/Oid -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.security.jgss-L.sym.txt b/src/jdk.compiler/share/data/symbols/java.security.jgss-L.sym.txt deleted file mode 100644 index 4391727d20804..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.security.jgss-L.sym.txt +++ /dev/null @@ -1,69 +0,0 @@ -# -# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/security/auth/kerberos/DelegationPermission -header extends java/security/BasicPermission implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/EncryptionKey -header extends java/lang/Object implements javax/crypto/SecretKey flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/KerberosCredMessage -header extends java/lang/Object implements javax/security/auth/Destroyable flags 31 -innerclass innerClass java/util/Base64$Encoder outerClass java/util/Base64 innerClassName Encoder flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/KerberosKey -header extends java/lang/Object implements javax/crypto/SecretKey flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/KerberosPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/KerberosTicket -header extends java/lang/Object implements javax/security/auth/Destroyable,javax/security/auth/Refreshable,java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/KeyTab -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/security/auth/kerberos/ServicePermission -header extends java/security/Permission implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name org/ietf/jgss/GSSException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name org/ietf/jgss/Oid -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.security.sasl-H.sym.txt b/src/jdk.compiler/share/data/symbols/java.security.sasl-H.sym.txt deleted file mode 100644 index 37bab20606abb..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.security.sasl-H.sym.txt +++ /dev/null @@ -1,32 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/security/sasl/SaslException -header extends java/io/IOException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.security.sasl-I.sym.txt b/src/jdk.compiler/share/data/symbols/java.security.sasl-I.sym.txt deleted file mode 100644 index 37bab20606abb..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.security.sasl-I.sym.txt +++ /dev/null @@ -1,32 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/security/sasl/SaslException -header extends java/io/IOException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.security.sasl-J.sym.txt b/src/jdk.compiler/share/data/symbols/java.security.sasl-J.sym.txt deleted file mode 100644 index b89a95b8822f5..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.security.sasl-J.sym.txt +++ /dev/null @@ -1,32 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/security/sasl/SaslException -header extends java/io/IOException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.security.sasl-K.sym.txt b/src/jdk.compiler/share/data/symbols/java.security.sasl-K.sym.txt deleted file mode 100644 index b89a95b8822f5..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.security.sasl-K.sym.txt +++ /dev/null @@ -1,32 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/security/sasl/SaslException -header extends java/io/IOException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.security.sasl-L.sym.txt b/src/jdk.compiler/share/data/symbols/java.security.sasl-L.sym.txt deleted file mode 100644 index d979a055a9caf..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.security.sasl-L.sym.txt +++ /dev/null @@ -1,32 +0,0 @@ -# -# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/security/sasl/SaslException -header extends java/io/IOException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.smartcardio-H.sym.txt b/src/jdk.compiler/share/data/symbols/java.smartcardio-H.sym.txt deleted file mode 100644 index 63ca75a641ec2..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.smartcardio-H.sym.txt +++ /dev/null @@ -1,62 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/smartcardio/ATR -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/smartcardio/Card -header extends java/lang/Object flags 421 - -class name javax/smartcardio/CardChannel -header extends java/lang/Object flags 421 - -class name javax/smartcardio/CardException -header extends java/lang/Exception flags 21 - -class name javax/smartcardio/CardNotPresentException -header extends javax/smartcardio/CardException flags 21 - -class name javax/smartcardio/CardPermission -header extends java/security/Permission flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/smartcardio/CardTerminal -header extends java/lang/Object flags 421 - -class name javax/smartcardio/CommandAPDU -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/smartcardio/ResponseAPDU -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/smartcardio/TerminalFactorySpi -header extends java/lang/Object flags 421 - diff --git a/src/jdk.compiler/share/data/symbols/java.smartcardio-I.sym.txt b/src/jdk.compiler/share/data/symbols/java.smartcardio-I.sym.txt deleted file mode 100644 index 63ca75a641ec2..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.smartcardio-I.sym.txt +++ /dev/null @@ -1,62 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/smartcardio/ATR -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/smartcardio/Card -header extends java/lang/Object flags 421 - -class name javax/smartcardio/CardChannel -header extends java/lang/Object flags 421 - -class name javax/smartcardio/CardException -header extends java/lang/Exception flags 21 - -class name javax/smartcardio/CardNotPresentException -header extends javax/smartcardio/CardException flags 21 - -class name javax/smartcardio/CardPermission -header extends java/security/Permission flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/smartcardio/CardTerminal -header extends java/lang/Object flags 421 - -class name javax/smartcardio/CommandAPDU -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/smartcardio/ResponseAPDU -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/smartcardio/TerminalFactorySpi -header extends java/lang/Object flags 421 - diff --git a/src/jdk.compiler/share/data/symbols/java.smartcardio-J.sym.txt b/src/jdk.compiler/share/data/symbols/java.smartcardio-J.sym.txt deleted file mode 100644 index a6ae9dbaf51cd..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.smartcardio-J.sym.txt +++ /dev/null @@ -1,62 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/smartcardio/ATR -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/smartcardio/Card -header extends java/lang/Object flags 421 - -class name javax/smartcardio/CardChannel -header extends java/lang/Object flags 421 - -class name javax/smartcardio/CardException -header extends java/lang/Exception flags 21 - -class name javax/smartcardio/CardNotPresentException -header extends javax/smartcardio/CardException flags 21 - -class name javax/smartcardio/CardPermission -header extends java/security/Permission flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/smartcardio/CardTerminal -header extends java/lang/Object flags 421 - -class name javax/smartcardio/CommandAPDU -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/smartcardio/ResponseAPDU -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/smartcardio/TerminalFactorySpi -header extends java/lang/Object flags 421 - diff --git a/src/jdk.compiler/share/data/symbols/java.smartcardio-K.sym.txt b/src/jdk.compiler/share/data/symbols/java.smartcardio-K.sym.txt deleted file mode 100644 index a6ae9dbaf51cd..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.smartcardio-K.sym.txt +++ /dev/null @@ -1,62 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/smartcardio/ATR -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/smartcardio/Card -header extends java/lang/Object flags 421 - -class name javax/smartcardio/CardChannel -header extends java/lang/Object flags 421 - -class name javax/smartcardio/CardException -header extends java/lang/Exception flags 21 - -class name javax/smartcardio/CardNotPresentException -header extends javax/smartcardio/CardException flags 21 - -class name javax/smartcardio/CardPermission -header extends java/security/Permission flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/smartcardio/CardTerminal -header extends java/lang/Object flags 421 - -class name javax/smartcardio/CommandAPDU -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/smartcardio/ResponseAPDU -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/smartcardio/TerminalFactorySpi -header extends java/lang/Object flags 421 - diff --git a/src/jdk.compiler/share/data/symbols/java.smartcardio-L.sym.txt b/src/jdk.compiler/share/data/symbols/java.smartcardio-L.sym.txt deleted file mode 100644 index 8e48ca3d44184..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.smartcardio-L.sym.txt +++ /dev/null @@ -1,62 +0,0 @@ -# -# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/smartcardio/ATR -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/smartcardio/Card -header extends java/lang/Object flags 421 - -class name javax/smartcardio/CardChannel -header extends java/lang/Object flags 421 - -class name javax/smartcardio/CardException -header extends java/lang/Exception flags 21 - -class name javax/smartcardio/CardNotPresentException -header extends javax/smartcardio/CardException flags 21 - -class name javax/smartcardio/CardPermission -header extends java/security/Permission flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/smartcardio/CardTerminal -header extends java/lang/Object flags 421 - -class name javax/smartcardio/CommandAPDU -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/smartcardio/ResponseAPDU -header extends java/lang/Object implements java/io/Serializable flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/smartcardio/TerminalFactorySpi -header extends java/lang/Object flags 421 - diff --git a/src/jdk.compiler/share/data/symbols/java.sql-H.sym.txt b/src/jdk.compiler/share/data/symbols/java.sql-H.sym.txt deleted file mode 100644 index 16586cf28ca2f..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.sql-H.sym.txt +++ /dev/null @@ -1,60 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name java/sql/BatchUpdateException -header extends java/sql/SQLException flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name java/sql/ConnectionBuilder -header extends java/lang/Object flags 601 - -class name java/sql/JDBCType -header extends java/lang/Enum implements java/sql/SQLType flags 4031 signature Ljava/lang/Enum;Ljava/sql/SQLType; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/sql/SQLWarning -header extends java/sql/SQLException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/sql/ShardingKey -header extends java/lang/Object flags 601 - -class name java/sql/ShardingKeyBuilder -header extends java/lang/Object flags 601 - -class name java/sql/Statement -header extends java/lang/Object implements java/sql/Wrapper,java/lang/AutoCloseable flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sql/PooledConnectionBuilder -header extends java/lang/Object flags 601 - -class name javax/sql/XAConnectionBuilder -header extends java/lang/Object flags 601 - diff --git a/src/jdk.compiler/share/data/symbols/java.sql-I.sym.txt b/src/jdk.compiler/share/data/symbols/java.sql-I.sym.txt deleted file mode 100644 index 16586cf28ca2f..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.sql-I.sym.txt +++ /dev/null @@ -1,60 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name java/sql/BatchUpdateException -header extends java/sql/SQLException flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name java/sql/ConnectionBuilder -header extends java/lang/Object flags 601 - -class name java/sql/JDBCType -header extends java/lang/Enum implements java/sql/SQLType flags 4031 signature Ljava/lang/Enum;Ljava/sql/SQLType; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/sql/SQLWarning -header extends java/sql/SQLException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/sql/ShardingKey -header extends java/lang/Object flags 601 - -class name java/sql/ShardingKeyBuilder -header extends java/lang/Object flags 601 - -class name java/sql/Statement -header extends java/lang/Object implements java/sql/Wrapper,java/lang/AutoCloseable flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sql/PooledConnectionBuilder -header extends java/lang/Object flags 601 - -class name javax/sql/XAConnectionBuilder -header extends java/lang/Object flags 601 - diff --git a/src/jdk.compiler/share/data/symbols/java.sql-J.sym.txt b/src/jdk.compiler/share/data/symbols/java.sql-J.sym.txt deleted file mode 100644 index 445e6be3d1077..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.sql-J.sym.txt +++ /dev/null @@ -1,60 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name java/sql/BatchUpdateException -header extends java/sql/SQLException flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name java/sql/ConnectionBuilder -header extends java/lang/Object flags 601 - -class name java/sql/JDBCType -header extends java/lang/Enum implements java/sql/SQLType flags 4031 signature Ljava/lang/Enum;Ljava/sql/SQLType; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/sql/SQLWarning -header extends java/sql/SQLException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/sql/ShardingKey -header extends java/lang/Object flags 601 - -class name java/sql/ShardingKeyBuilder -header extends java/lang/Object flags 601 - -class name java/sql/Statement -header extends java/lang/Object implements java/sql/Wrapper,java/lang/AutoCloseable flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sql/PooledConnectionBuilder -header extends java/lang/Object flags 601 - -class name javax/sql/XAConnectionBuilder -header extends java/lang/Object flags 601 - diff --git a/src/jdk.compiler/share/data/symbols/java.sql-K.sym.txt b/src/jdk.compiler/share/data/symbols/java.sql-K.sym.txt deleted file mode 100644 index 445e6be3d1077..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.sql-K.sym.txt +++ /dev/null @@ -1,60 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name java/sql/BatchUpdateException -header extends java/sql/SQLException flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name java/sql/ConnectionBuilder -header extends java/lang/Object flags 601 - -class name java/sql/JDBCType -header extends java/lang/Enum implements java/sql/SQLType flags 4031 signature Ljava/lang/Enum;Ljava/sql/SQLType; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/sql/SQLWarning -header extends java/sql/SQLException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/sql/ShardingKey -header extends java/lang/Object flags 601 - -class name java/sql/ShardingKeyBuilder -header extends java/lang/Object flags 601 - -class name java/sql/Statement -header extends java/lang/Object implements java/sql/Wrapper,java/lang/AutoCloseable flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sql/PooledConnectionBuilder -header extends java/lang/Object flags 601 - -class name javax/sql/XAConnectionBuilder -header extends java/lang/Object flags 601 - diff --git a/src/jdk.compiler/share/data/symbols/java.sql-L.sym.txt b/src/jdk.compiler/share/data/symbols/java.sql-L.sym.txt deleted file mode 100644 index c95dcbcec08d8..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.sql-L.sym.txt +++ /dev/null @@ -1,60 +0,0 @@ -# -# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name java/sql/BatchUpdateException -header extends java/sql/SQLException flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name java/sql/ConnectionBuilder -header extends java/lang/Object flags 601 - -class name java/sql/JDBCType -header extends java/lang/Enum implements java/sql/SQLType flags 4031 signature Ljava/lang/Enum;Ljava/sql/SQLType; -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/sql/SQLWarning -header extends java/sql/SQLException flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name java/sql/ShardingKey -header extends java/lang/Object flags 601 - -class name java/sql/ShardingKeyBuilder -header extends java/lang/Object flags 601 - -class name java/sql/Statement -header extends java/lang/Object implements java/sql/Wrapper,java/lang/AutoCloseable flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sql/PooledConnectionBuilder -header extends java/lang/Object flags 601 - -class name javax/sql/XAConnectionBuilder -header extends java/lang/Object flags 601 - diff --git a/src/jdk.compiler/share/data/symbols/java.sql.rowset-H.sym.txt b/src/jdk.compiler/share/data/symbols/java.sql.rowset-H.sym.txt deleted file mode 100644 index ea90b56bbc736..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.sql.rowset-H.sym.txt +++ /dev/null @@ -1,69 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/sql/rowset/BaseRowSet -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sql/rowset/serial/SerialArray -header extends java/lang/Object implements java/sql/Array,java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name javax/sql/rowset/serial/SerialBlob -header extends java/lang/Object implements java/sql/Blob,java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name javax/sql/rowset/serial/SerialClob -header extends java/lang/Object implements java/sql/Clob,java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sql/rowset/serial/SerialDatalink -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sql/rowset/serial/SerialJavaObject -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name javax/sql/rowset/serial/SerialRef -header extends java/lang/Object implements java/sql/Ref,java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sql/rowset/serial/SerialStruct -header extends java/lang/Object implements java/sql/Struct,java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.sql.rowset-I.sym.txt b/src/jdk.compiler/share/data/symbols/java.sql.rowset-I.sym.txt deleted file mode 100644 index ea90b56bbc736..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.sql.rowset-I.sym.txt +++ /dev/null @@ -1,69 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/sql/rowset/BaseRowSet -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sql/rowset/serial/SerialArray -header extends java/lang/Object implements java/sql/Array,java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name javax/sql/rowset/serial/SerialBlob -header extends java/lang/Object implements java/sql/Blob,java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name javax/sql/rowset/serial/SerialClob -header extends java/lang/Object implements java/sql/Clob,java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sql/rowset/serial/SerialDatalink -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sql/rowset/serial/SerialJavaObject -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name javax/sql/rowset/serial/SerialRef -header extends java/lang/Object implements java/sql/Ref,java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sql/rowset/serial/SerialStruct -header extends java/lang/Object implements java/sql/Struct,java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.sql.rowset-J.sym.txt b/src/jdk.compiler/share/data/symbols/java.sql.rowset-J.sym.txt deleted file mode 100644 index c41075948fd01..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.sql.rowset-J.sym.txt +++ /dev/null @@ -1,69 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/sql/rowset/BaseRowSet -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sql/rowset/serial/SerialArray -header extends java/lang/Object implements java/sql/Array,java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name javax/sql/rowset/serial/SerialBlob -header extends java/lang/Object implements java/sql/Blob,java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name javax/sql/rowset/serial/SerialClob -header extends java/lang/Object implements java/sql/Clob,java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sql/rowset/serial/SerialDatalink -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sql/rowset/serial/SerialJavaObject -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name javax/sql/rowset/serial/SerialRef -header extends java/lang/Object implements java/sql/Ref,java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sql/rowset/serial/SerialStruct -header extends java/lang/Object implements java/sql/Struct,java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.sql.rowset-K.sym.txt b/src/jdk.compiler/share/data/symbols/java.sql.rowset-K.sym.txt index 11a7e503a8c36..96e792a20a556 100644 --- a/src/jdk.compiler/share/data/symbols/java.sql.rowset-K.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.sql.rowset-K.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,48 +26,7 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name javax/sql/rowset/BaseRowSet -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/sql/rowset/serial/SQLOutputImpl header extends java/lang/Object implements java/sql/SQLOutput flags 21 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name javax/sql/rowset/serial/SerialArray -header extends java/lang/Object implements java/sql/Array,java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name javax/sql/rowset/serial/SerialBlob -header extends java/lang/Object implements java/sql/Blob,java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name javax/sql/rowset/serial/SerialClob -header extends java/lang/Object implements java/sql/Clob,java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sql/rowset/serial/SerialDatalink -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sql/rowset/serial/SerialJavaObject -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name javax/sql/rowset/serial/SerialRef -header extends java/lang/Object implements java/sql/Ref,java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sql/rowset/serial/SerialStruct -header extends java/lang/Object implements java/sql/Struct,java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.sql.rowset-L.sym.txt b/src/jdk.compiler/share/data/symbols/java.sql.rowset-L.sym.txt deleted file mode 100644 index 588fe07e513fc..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.sql.rowset-L.sym.txt +++ /dev/null @@ -1,69 +0,0 @@ -# -# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/sql/rowset/BaseRowSet -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sql/rowset/serial/SerialArray -header extends java/lang/Object implements java/sql/Array,java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name javax/sql/rowset/serial/SerialBlob -header extends java/lang/Object implements java/sql/Blob,java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name javax/sql/rowset/serial/SerialClob -header extends java/lang/Object implements java/sql/Clob,java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sql/rowset/serial/SerialDatalink -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sql/rowset/serial/SerialJavaObject -header extends java/lang/Object implements java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 - -class name javax/sql/rowset/serial/SerialRef -header extends java/lang/Object implements java/sql/Ref,java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/sql/rowset/serial/SerialStruct -header extends java/lang/Object implements java/sql/Struct,java/io/Serializable,java/lang/Cloneable flags 21 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.xml-H.sym.txt b/src/jdk.compiler/share/data/symbols/java.xml-H.sym.txt deleted file mode 100644 index dabe60e2adf82..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.xml-H.sym.txt +++ /dev/null @@ -1,150 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/xml/catalog/Catalog -header extends java/lang/Object flags 601 - -class name javax/xml/catalog/CatalogException -header extends java/lang/RuntimeException flags 21 - -class name javax/xml/catalog/CatalogManager -header extends java/lang/Object flags 31 - -class name javax/xml/catalog/CatalogResolver -header extends java/lang/Object implements org/xml/sax/EntityResolver,javax/xml/stream/XMLResolver,javax/xml/transform/URIResolver,org/w3c/dom/ls/LSResourceResolver flags 601 - -class name javax/xml/datatype/DatatypeFactory -header extends java/lang/Object flags 421 -innerclass innerClass javax/xml/datatype/DatatypeConstants$Field outerClass javax/xml/datatype/DatatypeConstants innerClassName Field flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/datatype/Duration -header extends java/lang/Object flags 421 -innerclass innerClass javax/xml/datatype/DatatypeConstants$Field outerClass javax/xml/datatype/DatatypeConstants innerClassName Field flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/namespace/QName -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/parsers/DocumentBuilder -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/parsers/DocumentBuilderFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/parsers/SAXParser -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/parsers/SAXParserFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/stream/XMLEventReader -header extends java/lang/Object implements java/util/Iterator flags 601 signature Ljava/lang/Object;Ljava/util/Iterator; - -class name javax/xml/stream/XMLInputFactory --method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; -method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9 - -class name javax/xml/stream/XMLStreamException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/transform/Transformer -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/transform/TransformerException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/validation/SchemaFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/xpath/XPath -header extends java/lang/Object flags 601 -innerclass innerClass javax/xml/xpath/XPathEvaluationResult$XPathResultType outerClass javax/xml/xpath/XPathEvaluationResult innerClassName XPathResultType flags 4019 - -class name javax/xml/xpath/XPathException -header extends java/lang/Exception flags 21 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 - -class name javax/xml/xpath/XPathExpression -header extends java/lang/Object flags 601 -innerclass innerClass javax/xml/xpath/XPathEvaluationResult$XPathResultType outerClass javax/xml/xpath/XPathEvaluationResult innerClassName XPathResultType flags 4019 - -class name javax/xml/xpath/XPathFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/xpath/XPathNodes -header extends java/lang/Object implements java/lang/Iterable flags 601 signature Ljava/lang/Object;Ljava/lang/Iterable; - -class name org/w3c/dom/ElementTraversal -header extends java/lang/Object flags 601 - -class name org/xml/sax/AttributeList -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/DocumentHandler -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/HandlerBase -header extends java/lang/Object implements org/xml/sax/EntityResolver,org/xml/sax/DTDHandler,org/xml/sax/DocumentHandler,org/xml/sax/ErrorHandler flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/Parser -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/ext/Attributes2Impl -header extends org/xml/sax/helpers/AttributesImpl implements org/xml/sax/ext/Attributes2 flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name org/xml/sax/helpers/AttributeListImpl -header extends java/lang/Object implements org/xml/sax/AttributeList flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/helpers/AttributesImpl -header extends java/lang/Object implements org/xml/sax/Attributes flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name org/xml/sax/helpers/ParserFactory -header extends java/lang/Object flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/helpers/XMLFilterImpl -header extends java/lang/Object implements org/xml/sax/XMLFilter,org/xml/sax/EntityResolver,org/xml/sax/DTDHandler,org/xml/sax/ContentHandler,org/xml/sax/ErrorHandler flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name org/xml/sax/helpers/XMLReaderFactory -header extends java/lang/Object flags 31 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.xml-I.sym.txt b/src/jdk.compiler/share/data/symbols/java.xml-I.sym.txt index ccadde9ba2187..3d8e58866e1c3 100644 --- a/src/jdk.compiler/share/data/symbols/java.xml-I.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.xml-I.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,133 +26,13 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name javax/xml/catalog/Catalog -header extends java/lang/Object flags 601 - -class name javax/xml/catalog/CatalogException -header extends java/lang/RuntimeException flags 21 - class name javax/xml/catalog/CatalogFeatures header extends java/lang/Object nestMembers javax/xml/catalog/CatalogFeatures$Builder,javax/xml/catalog/CatalogFeatures$Feature flags 21 innerclass innerClass javax/xml/catalog/CatalogFeatures$Builder outerClass javax/xml/catalog/CatalogFeatures innerClassName Builder flags 9 innerclass innerClass javax/xml/catalog/CatalogFeatures$Feature outerClass javax/xml/catalog/CatalogFeatures innerClassName Feature flags 4019 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name javax/xml/catalog/CatalogManager -header extends java/lang/Object flags 31 - -class name javax/xml/catalog/CatalogResolver -header extends java/lang/Object implements org/xml/sax/EntityResolver,javax/xml/stream/XMLResolver,javax/xml/transform/URIResolver,org/w3c/dom/ls/LSResourceResolver flags 601 - -class name javax/xml/datatype/DatatypeFactory -header extends java/lang/Object flags 421 -innerclass innerClass javax/xml/datatype/DatatypeConstants$Field outerClass javax/xml/datatype/DatatypeConstants innerClassName Field flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/datatype/Duration -header extends java/lang/Object flags 421 -innerclass innerClass javax/xml/datatype/DatatypeConstants$Field outerClass javax/xml/datatype/DatatypeConstants innerClassName Field flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/namespace/QName -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/parsers/DocumentBuilder -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/parsers/DocumentBuilderFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/parsers/SAXParser -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/parsers/SAXParserFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/stream/XMLEventReader -header extends java/lang/Object implements java/util/Iterator flags 601 signature Ljava/lang/Object;Ljava/util/Iterator; - -class name javax/xml/stream/XMLInputFactory --method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; -method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9 - -class name javax/xml/stream/XMLStreamException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/transform/Transformer -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/transform/TransformerException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/validation/SchemaFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/xpath/XPath -header extends java/lang/Object flags 601 -innerclass innerClass javax/xml/xpath/XPathEvaluationResult$XPathResultType outerClass javax/xml/xpath/XPathEvaluationResult innerClassName XPathResultType flags 4019 - -class name javax/xml/xpath/XPathException -header extends java/lang/Exception flags 21 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 - -class name javax/xml/xpath/XPathExpression -header extends java/lang/Object flags 601 -innerclass innerClass javax/xml/xpath/XPathEvaluationResult$XPathResultType outerClass javax/xml/xpath/XPathEvaluationResult innerClassName XPathResultType flags 4019 - class name javax/xml/xpath/XPathFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 method name setProperty descriptor (Ljava/lang/String;Ljava/lang/String;)V flags 1 method name getProperty descriptor (Ljava/lang/String;)Ljava/lang/String; flags 1 -class name javax/xml/xpath/XPathNodes -header extends java/lang/Object implements java/lang/Iterable flags 601 signature Ljava/lang/Object;Ljava/lang/Iterable; - -class name org/w3c/dom/ElementTraversal -header extends java/lang/Object flags 601 - -class name org/xml/sax/AttributeList -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/DocumentHandler -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/HandlerBase -header extends java/lang/Object implements org/xml/sax/EntityResolver,org/xml/sax/DTDHandler,org/xml/sax/DocumentHandler,org/xml/sax/ErrorHandler flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/Parser -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/ext/Attributes2Impl -header extends org/xml/sax/helpers/AttributesImpl implements org/xml/sax/ext/Attributes2 flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name org/xml/sax/helpers/AttributeListImpl -header extends java/lang/Object implements org/xml/sax/AttributeList flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/helpers/AttributesImpl -header extends java/lang/Object implements org/xml/sax/Attributes flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name org/xml/sax/helpers/ParserFactory -header extends java/lang/Object flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/helpers/XMLFilterImpl -header extends java/lang/Object implements org/xml/sax/XMLFilter,org/xml/sax/EntityResolver,org/xml/sax/DTDHandler,org/xml/sax/ContentHandler,org/xml/sax/ErrorHandler flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name org/xml/sax/helpers/XMLReaderFactory -header extends java/lang/Object flags 31 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.xml-J.sym.txt b/src/jdk.compiler/share/data/symbols/java.xml-J.sym.txt deleted file mode 100644 index 9af87b0ca2a65..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.xml-J.sym.txt +++ /dev/null @@ -1,150 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/xml/catalog/Catalog -header extends java/lang/Object flags 601 - -class name javax/xml/catalog/CatalogException -header extends java/lang/RuntimeException flags 21 - -class name javax/xml/catalog/CatalogManager -header extends java/lang/Object flags 31 - -class name javax/xml/catalog/CatalogResolver -header extends java/lang/Object implements org/xml/sax/EntityResolver,javax/xml/stream/XMLResolver,javax/xml/transform/URIResolver,org/w3c/dom/ls/LSResourceResolver flags 601 - -class name javax/xml/datatype/DatatypeFactory -header extends java/lang/Object flags 421 -innerclass innerClass javax/xml/datatype/DatatypeConstants$Field outerClass javax/xml/datatype/DatatypeConstants innerClassName Field flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/datatype/Duration -header extends java/lang/Object flags 421 -innerclass innerClass javax/xml/datatype/DatatypeConstants$Field outerClass javax/xml/datatype/DatatypeConstants innerClassName Field flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/namespace/QName -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/parsers/DocumentBuilder -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/parsers/DocumentBuilderFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/parsers/SAXParser -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/parsers/SAXParserFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/stream/XMLEventReader -header extends java/lang/Object implements java/util/Iterator flags 601 signature Ljava/lang/Object;Ljava/util/Iterator; - -class name javax/xml/stream/XMLInputFactory --method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; -method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9 - -class name javax/xml/stream/XMLStreamException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/transform/Transformer -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/transform/TransformerException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/validation/SchemaFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/xpath/XPath -header extends java/lang/Object flags 601 -innerclass innerClass javax/xml/xpath/XPathEvaluationResult$XPathResultType outerClass javax/xml/xpath/XPathEvaluationResult innerClassName XPathResultType flags 4019 - -class name javax/xml/xpath/XPathException -header extends java/lang/Exception flags 21 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 - -class name javax/xml/xpath/XPathExpression -header extends java/lang/Object flags 601 -innerclass innerClass javax/xml/xpath/XPathEvaluationResult$XPathResultType outerClass javax/xml/xpath/XPathEvaluationResult innerClassName XPathResultType flags 4019 - -class name javax/xml/xpath/XPathFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/xpath/XPathNodes -header extends java/lang/Object implements java/lang/Iterable flags 601 signature Ljava/lang/Object;Ljava/lang/Iterable; - -class name org/w3c/dom/ElementTraversal -header extends java/lang/Object flags 601 - -class name org/xml/sax/AttributeList -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/DocumentHandler -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/HandlerBase -header extends java/lang/Object implements org/xml/sax/EntityResolver,org/xml/sax/DTDHandler,org/xml/sax/DocumentHandler,org/xml/sax/ErrorHandler flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/Parser -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/ext/Attributes2Impl -header extends org/xml/sax/helpers/AttributesImpl implements org/xml/sax/ext/Attributes2 flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name org/xml/sax/helpers/AttributeListImpl -header extends java/lang/Object implements org/xml/sax/AttributeList flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/helpers/AttributesImpl -header extends java/lang/Object implements org/xml/sax/Attributes flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name org/xml/sax/helpers/ParserFactory -header extends java/lang/Object flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/helpers/XMLFilterImpl -header extends java/lang/Object implements org/xml/sax/XMLFilter,org/xml/sax/EntityResolver,org/xml/sax/DTDHandler,org/xml/sax/ContentHandler,org/xml/sax/ErrorHandler flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name org/xml/sax/helpers/XMLReaderFactory -header extends java/lang/Object flags 31 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.xml-K.sym.txt b/src/jdk.compiler/share/data/symbols/java.xml-K.sym.txt deleted file mode 100644 index 9af87b0ca2a65..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.xml-K.sym.txt +++ /dev/null @@ -1,150 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/xml/catalog/Catalog -header extends java/lang/Object flags 601 - -class name javax/xml/catalog/CatalogException -header extends java/lang/RuntimeException flags 21 - -class name javax/xml/catalog/CatalogManager -header extends java/lang/Object flags 31 - -class name javax/xml/catalog/CatalogResolver -header extends java/lang/Object implements org/xml/sax/EntityResolver,javax/xml/stream/XMLResolver,javax/xml/transform/URIResolver,org/w3c/dom/ls/LSResourceResolver flags 601 - -class name javax/xml/datatype/DatatypeFactory -header extends java/lang/Object flags 421 -innerclass innerClass javax/xml/datatype/DatatypeConstants$Field outerClass javax/xml/datatype/DatatypeConstants innerClassName Field flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/datatype/Duration -header extends java/lang/Object flags 421 -innerclass innerClass javax/xml/datatype/DatatypeConstants$Field outerClass javax/xml/datatype/DatatypeConstants innerClassName Field flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/namespace/QName -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/parsers/DocumentBuilder -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/parsers/DocumentBuilderFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/parsers/SAXParser -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/parsers/SAXParserFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/stream/XMLEventReader -header extends java/lang/Object implements java/util/Iterator flags 601 signature Ljava/lang/Object;Ljava/util/Iterator; - -class name javax/xml/stream/XMLInputFactory --method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; -method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9 - -class name javax/xml/stream/XMLStreamException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/transform/Transformer -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/transform/TransformerException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/validation/SchemaFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/xpath/XPath -header extends java/lang/Object flags 601 -innerclass innerClass javax/xml/xpath/XPathEvaluationResult$XPathResultType outerClass javax/xml/xpath/XPathEvaluationResult innerClassName XPathResultType flags 4019 - -class name javax/xml/xpath/XPathException -header extends java/lang/Exception flags 21 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 - -class name javax/xml/xpath/XPathExpression -header extends java/lang/Object flags 601 -innerclass innerClass javax/xml/xpath/XPathEvaluationResult$XPathResultType outerClass javax/xml/xpath/XPathEvaluationResult innerClassName XPathResultType flags 4019 - -class name javax/xml/xpath/XPathFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/xpath/XPathNodes -header extends java/lang/Object implements java/lang/Iterable flags 601 signature Ljava/lang/Object;Ljava/lang/Iterable; - -class name org/w3c/dom/ElementTraversal -header extends java/lang/Object flags 601 - -class name org/xml/sax/AttributeList -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/DocumentHandler -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/HandlerBase -header extends java/lang/Object implements org/xml/sax/EntityResolver,org/xml/sax/DTDHandler,org/xml/sax/DocumentHandler,org/xml/sax/ErrorHandler flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/Parser -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/ext/Attributes2Impl -header extends org/xml/sax/helpers/AttributesImpl implements org/xml/sax/ext/Attributes2 flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name org/xml/sax/helpers/AttributeListImpl -header extends java/lang/Object implements org/xml/sax/AttributeList flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/helpers/AttributesImpl -header extends java/lang/Object implements org/xml/sax/Attributes flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name org/xml/sax/helpers/ParserFactory -header extends java/lang/Object flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/helpers/XMLFilterImpl -header extends java/lang/Object implements org/xml/sax/XMLFilter,org/xml/sax/EntityResolver,org/xml/sax/DTDHandler,org/xml/sax/ContentHandler,org/xml/sax/ErrorHandler flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name org/xml/sax/helpers/XMLReaderFactory -header extends java/lang/Object flags 31 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.xml-L.sym.txt b/src/jdk.compiler/share/data/symbols/java.xml-L.sym.txt deleted file mode 100644 index 972eb717aacb4..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.xml-L.sym.txt +++ /dev/null @@ -1,150 +0,0 @@ -# -# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/xml/catalog/Catalog -header extends java/lang/Object flags 601 - -class name javax/xml/catalog/CatalogException -header extends java/lang/RuntimeException flags 21 - -class name javax/xml/catalog/CatalogManager -header extends java/lang/Object flags 31 - -class name javax/xml/catalog/CatalogResolver -header extends java/lang/Object implements org/xml/sax/EntityResolver,javax/xml/stream/XMLResolver,javax/xml/transform/URIResolver,org/w3c/dom/ls/LSResourceResolver flags 601 - -class name javax/xml/datatype/DatatypeFactory -header extends java/lang/Object flags 421 -innerclass innerClass javax/xml/datatype/DatatypeConstants$Field outerClass javax/xml/datatype/DatatypeConstants innerClassName Field flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/datatype/Duration -header extends java/lang/Object flags 421 -innerclass innerClass javax/xml/datatype/DatatypeConstants$Field outerClass javax/xml/datatype/DatatypeConstants innerClassName Field flags 19 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/namespace/QName -header extends java/lang/Object implements java/io/Serializable flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/parsers/DocumentBuilder -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/parsers/DocumentBuilderFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/parsers/SAXParser -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/parsers/SAXParserFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/stream/XMLEventReader -header extends java/lang/Object implements java/util/Iterator flags 601 signature Ljava/lang/Object;Ljava/util/Iterator; - -class name javax/xml/stream/XMLInputFactory --method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; -method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9 - -class name javax/xml/stream/XMLStreamException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/transform/Transformer -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/transform/TransformerException -header extends java/lang/Exception flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/validation/SchemaFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/xpath/XPath -header extends java/lang/Object flags 601 -innerclass innerClass javax/xml/xpath/XPathEvaluationResult$XPathResultType outerClass javax/xml/xpath/XPathEvaluationResult innerClassName XPathResultType flags 4019 - -class name javax/xml/xpath/XPathException -header extends java/lang/Exception flags 21 -innerclass innerClass java/io/ObjectOutputStream$PutField outerClass java/io/ObjectOutputStream innerClassName PutField flags 409 -innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409 - -class name javax/xml/xpath/XPathExpression -header extends java/lang/Object flags 601 -innerclass innerClass javax/xml/xpath/XPathEvaluationResult$XPathResultType outerClass javax/xml/xpath/XPathEvaluationResult innerClassName XPathResultType flags 4019 - -class name javax/xml/xpath/XPathFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/xpath/XPathNodes -header extends java/lang/Object implements java/lang/Iterable flags 601 signature Ljava/lang/Object;Ljava/lang/Iterable; - -class name org/w3c/dom/ElementTraversal -header extends java/lang/Object flags 601 - -class name org/xml/sax/AttributeList -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/DocumentHandler -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/HandlerBase -header extends java/lang/Object implements org/xml/sax/EntityResolver,org/xml/sax/DTDHandler,org/xml/sax/DocumentHandler,org/xml/sax/ErrorHandler flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/Parser -header extends java/lang/Object flags 601 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/ext/Attributes2Impl -header extends org/xml/sax/helpers/AttributesImpl implements org/xml/sax/ext/Attributes2 flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name org/xml/sax/helpers/AttributeListImpl -header extends java/lang/Object implements org/xml/sax/AttributeList flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/helpers/AttributesImpl -header extends java/lang/Object implements org/xml/sax/Attributes flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name org/xml/sax/helpers/ParserFactory -header extends java/lang/Object flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="1.5") - -class name org/xml/sax/helpers/XMLFilterImpl -header extends java/lang/Object implements org/xml/sax/XMLFilter,org/xml/sax/EntityResolver,org/xml/sax/DTDHandler,org/xml/sax/ContentHandler,org/xml/sax/ErrorHandler flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name org/xml/sax/helpers/XMLReaderFactory -header extends java/lang/Object flags 31 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="9") -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.xml.crypto-H.sym.txt b/src/jdk.compiler/share/data/symbols/java.xml.crypto-H.sym.txt index 8acb0648b277e..ec25e7e31ecc9 100644 --- a/src/jdk.compiler/share/data/symbols/java.xml.crypto-H.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.xml.crypto-H.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,27 +26,9 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name javax/xml/crypto/NodeSetData -header extends java/lang/Object implements javax/xml/crypto/Data,java/lang/Iterable flags 601 signature Ljava/lang/Object;Ljavax/xml/crypto/Data;Ljava/lang/Iterable; - -class name javax/xml/crypto/dom/DOMCryptoContext -header extends java/lang/Object implements javax/xml/crypto/XMLCryptoContext flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/xml/crypto/dsig/SignatureMethod field name RSA_PSS descriptor Ljava/lang/String; constantValue http://www.w3.org/2007/05/xmldsig-more#rsa-pss flags 19 -class name javax/xml/crypto/dsig/XMLSignatureFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/crypto/dsig/keyinfo/KeyInfoFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/xml/crypto/dsig/spec/RSAPSSParameterSpec header extends java/lang/Object implements javax/xml/crypto/dsig/spec/SignatureMethodParameterSpec flags 31 method name descriptor (Ljava/security/spec/PSSParameterSpec;)V flags 1 diff --git a/src/jdk.compiler/share/data/symbols/java.xml.crypto-I.sym.txt b/src/jdk.compiler/share/data/symbols/java.xml.crypto-I.sym.txt deleted file mode 100644 index 257909a317c7b..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.xml.crypto-I.sym.txt +++ /dev/null @@ -1,46 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/xml/crypto/NodeSetData -header extends java/lang/Object implements javax/xml/crypto/Data,java/lang/Iterable flags 601 signature Ljava/lang/Object;Ljavax/xml/crypto/Data;Ljava/lang/Iterable; - -class name javax/xml/crypto/dom/DOMCryptoContext -header extends java/lang/Object implements javax/xml/crypto/XMLCryptoContext flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/crypto/dsig/XMLSignatureFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/crypto/dsig/keyinfo/KeyInfoFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.xml.crypto-J.sym.txt b/src/jdk.compiler/share/data/symbols/java.xml.crypto-J.sym.txt deleted file mode 100644 index af622ef859b04..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.xml.crypto-J.sym.txt +++ /dev/null @@ -1,46 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/xml/crypto/NodeSetData -header extends java/lang/Object implements javax/xml/crypto/Data,java/lang/Iterable flags 601 signature Ljava/lang/Object;Ljavax/xml/crypto/Data;Ljava/lang/Iterable; - -class name javax/xml/crypto/dom/DOMCryptoContext -header extends java/lang/Object implements javax/xml/crypto/XMLCryptoContext flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/crypto/dsig/XMLSignatureFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/crypto/dsig/keyinfo/KeyInfoFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.xml.crypto-K.sym.txt b/src/jdk.compiler/share/data/symbols/java.xml.crypto-K.sym.txt deleted file mode 100644 index af622ef859b04..0000000000000 --- a/src/jdk.compiler/share/data/symbols/java.xml.crypto-K.sym.txt +++ /dev/null @@ -1,46 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name javax/xml/crypto/NodeSetData -header extends java/lang/Object implements javax/xml/crypto/Data,java/lang/Iterable flags 601 signature Ljava/lang/Object;Ljavax/xml/crypto/Data;Ljava/lang/Iterable; - -class name javax/xml/crypto/dom/DOMCryptoContext -header extends java/lang/Object implements javax/xml/crypto/XMLCryptoContext flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/crypto/dsig/XMLSignatureFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/crypto/dsig/keyinfo/KeyInfoFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/java.xml.crypto-L.sym.txt b/src/jdk.compiler/share/data/symbols/java.xml.crypto-L.sym.txt index 66c7be3ace53c..e8f9058864384 100644 --- a/src/jdk.compiler/share/data/symbols/java.xml.crypto-L.sym.txt +++ b/src/jdk.compiler/share/data/symbols/java.xml.crypto-L.sym.txt @@ -26,25 +26,7 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name javax/xml/crypto/NodeSetData -header extends java/lang/Object implements javax/xml/crypto/Data,java/lang/Iterable flags 601 signature Ljava/lang/Object;Ljavax/xml/crypto/Data;Ljava/lang/Iterable; - -class name javax/xml/crypto/dom/DOMCryptoContext -header extends java/lang/Object implements javax/xml/crypto/XMLCryptoContext flags 21 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name javax/xml/crypto/dsig/SignatureMethod field name ED25519 descriptor Ljava/lang/String; constantValue http://www.w3.org/2021/04/xmldsig-more#eddsa-ed25519 flags 19 field name ED448 descriptor Ljava/lang/String; constantValue http://www.w3.org/2021/04/xmldsig-more#eddsa-ed448 flags 19 -class name javax/xml/crypto/dsig/XMLSignatureFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name javax/xml/crypto/dsig/keyinfo/KeyInfoFactory -header extends java/lang/Object flags 421 -innerclass innerClass java/security/Provider$Service outerClass java/security/Provider innerClassName Service flags 9 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.accessibility-H.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.accessibility-H.sym.txt deleted file mode 100644 index 5b305d6057b7d..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.accessibility-H.sym.txt +++ /dev/null @@ -1,44 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/java/accessibility/util/AccessibilityListenerList -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/java/accessibility/util/EventID -header extends java/lang/Object flags 21 - -class name com/sun/java/accessibility/util/GUIInitializedListener -header extends java/lang/Object implements java/util/EventListener flags 601 - -class name com/sun/java/accessibility/util/TopLevelWindowListener -header extends java/lang/Object implements java/util/EventListener flags 601 - -class name com/sun/java/accessibility/util/Translator -header extends javax/accessibility/AccessibleContext implements javax/accessibility/Accessible,javax/accessibility/AccessibleComponent flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.accessibility-I.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.accessibility-I.sym.txt index eee9c4105f302..26e2b62eb10e9 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.accessibility-I.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.accessibility-I.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -40,19 +40,3 @@ class name com/sun/java/accessibility/util/AWTEventMonitor -field name itemListener descriptor Ljava/awt/event/ItemListener; -field name textListener descriptor Ljava/awt/event/TextListener; -class name com/sun/java/accessibility/util/AccessibilityListenerList -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/java/accessibility/util/EventID -header extends java/lang/Object flags 21 - -class name com/sun/java/accessibility/util/GUIInitializedListener -header extends java/lang/Object implements java/util/EventListener flags 601 - -class name com/sun/java/accessibility/util/TopLevelWindowListener -header extends java/lang/Object implements java/util/EventListener flags 601 - -class name com/sun/java/accessibility/util/Translator -header extends javax/accessibility/AccessibleContext implements javax/accessibility/Accessible,javax/accessibility/AccessibleComponent flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.accessibility-J.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.accessibility-J.sym.txt deleted file mode 100644 index 542df1b173453..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.accessibility-J.sym.txt +++ /dev/null @@ -1,44 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/java/accessibility/util/AccessibilityListenerList -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/java/accessibility/util/EventID -header extends java/lang/Object flags 21 - -class name com/sun/java/accessibility/util/GUIInitializedListener -header extends java/lang/Object implements java/util/EventListener flags 601 - -class name com/sun/java/accessibility/util/TopLevelWindowListener -header extends java/lang/Object implements java/util/EventListener flags 601 - -class name com/sun/java/accessibility/util/Translator -header extends javax/accessibility/AccessibleContext implements javax/accessibility/Accessible,javax/accessibility/AccessibleComponent flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.accessibility-K.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.accessibility-K.sym.txt deleted file mode 100644 index 542df1b173453..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.accessibility-K.sym.txt +++ /dev/null @@ -1,44 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/java/accessibility/util/AccessibilityListenerList -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/java/accessibility/util/EventID -header extends java/lang/Object flags 21 - -class name com/sun/java/accessibility/util/GUIInitializedListener -header extends java/lang/Object implements java/util/EventListener flags 601 - -class name com/sun/java/accessibility/util/TopLevelWindowListener -header extends java/lang/Object implements java/util/EventListener flags 601 - -class name com/sun/java/accessibility/util/Translator -header extends javax/accessibility/AccessibleContext implements javax/accessibility/Accessible,javax/accessibility/AccessibleComponent flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.accessibility-L.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.accessibility-L.sym.txt deleted file mode 100644 index f60356ee3d8b9..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.accessibility-L.sym.txt +++ /dev/null @@ -1,44 +0,0 @@ -# -# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/java/accessibility/util/AccessibilityListenerList -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/java/accessibility/util/EventID -header extends java/lang/Object flags 21 - -class name com/sun/java/accessibility/util/GUIInitializedListener -header extends java/lang/Object implements java/util/EventListener flags 601 - -class name com/sun/java/accessibility/util/TopLevelWindowListener -header extends java/lang/Object implements java/util/EventListener flags 601 - -class name com/sun/java/accessibility/util/Translator -header extends javax/accessibility/AccessibleContext implements javax/accessibility/Accessible,javax/accessibility/AccessibleComponent flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.attach-H.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.attach-H.sym.txt deleted file mode 100644 index bbe7de3e07f93..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.attach-H.sym.txt +++ /dev/null @@ -1,55 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/tools/attach/AgentInitializationException -header extends java/lang/Exception flags 21 - -class name com/sun/tools/attach/AgentLoadException -header extends java/lang/Exception flags 21 - -class name com/sun/tools/attach/AttachNotSupportedException -header extends java/lang/Exception flags 21 - -class name com/sun/tools/attach/AttachOperationFailedException -header extends java/io/IOException flags 21 - -class name com/sun/tools/attach/AttachPermission -header extends java/security/BasicPermission flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/tools/attach/VirtualMachine -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/tools/attach/VirtualMachineDescriptor -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/tools/attach/spi/AttachProvider -header extends java/lang/Object flags 421 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.attach-I.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.attach-I.sym.txt deleted file mode 100644 index bbe7de3e07f93..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.attach-I.sym.txt +++ /dev/null @@ -1,55 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/tools/attach/AgentInitializationException -header extends java/lang/Exception flags 21 - -class name com/sun/tools/attach/AgentLoadException -header extends java/lang/Exception flags 21 - -class name com/sun/tools/attach/AttachNotSupportedException -header extends java/lang/Exception flags 21 - -class name com/sun/tools/attach/AttachOperationFailedException -header extends java/io/IOException flags 21 - -class name com/sun/tools/attach/AttachPermission -header extends java/security/BasicPermission flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/tools/attach/VirtualMachine -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/tools/attach/VirtualMachineDescriptor -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/tools/attach/spi/AttachProvider -header extends java/lang/Object flags 421 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.attach-J.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.attach-J.sym.txt deleted file mode 100644 index e27029fddda4d..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.attach-J.sym.txt +++ /dev/null @@ -1,55 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/tools/attach/AgentInitializationException -header extends java/lang/Exception flags 21 - -class name com/sun/tools/attach/AgentLoadException -header extends java/lang/Exception flags 21 - -class name com/sun/tools/attach/AttachNotSupportedException -header extends java/lang/Exception flags 21 - -class name com/sun/tools/attach/AttachOperationFailedException -header extends java/io/IOException flags 21 - -class name com/sun/tools/attach/AttachPermission -header extends java/security/BasicPermission flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/tools/attach/VirtualMachine -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/tools/attach/VirtualMachineDescriptor -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/tools/attach/spi/AttachProvider -header extends java/lang/Object flags 421 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.attach-K.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.attach-K.sym.txt deleted file mode 100644 index e27029fddda4d..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.attach-K.sym.txt +++ /dev/null @@ -1,55 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/tools/attach/AgentInitializationException -header extends java/lang/Exception flags 21 - -class name com/sun/tools/attach/AgentLoadException -header extends java/lang/Exception flags 21 - -class name com/sun/tools/attach/AttachNotSupportedException -header extends java/lang/Exception flags 21 - -class name com/sun/tools/attach/AttachOperationFailedException -header extends java/io/IOException flags 21 - -class name com/sun/tools/attach/AttachPermission -header extends java/security/BasicPermission flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/tools/attach/VirtualMachine -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/tools/attach/VirtualMachineDescriptor -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/tools/attach/spi/AttachProvider -header extends java/lang/Object flags 421 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.attach-L.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.attach-L.sym.txt deleted file mode 100644 index 8074cc25b757d..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.attach-L.sym.txt +++ /dev/null @@ -1,55 +0,0 @@ -# -# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/tools/attach/AgentInitializationException -header extends java/lang/Exception flags 21 - -class name com/sun/tools/attach/AgentLoadException -header extends java/lang/Exception flags 21 - -class name com/sun/tools/attach/AttachNotSupportedException -header extends java/lang/Exception flags 21 - -class name com/sun/tools/attach/AttachOperationFailedException -header extends java/io/IOException flags 21 - -class name com/sun/tools/attach/AttachPermission -header extends java/security/BasicPermission flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/tools/attach/VirtualMachine -header extends java/lang/Object flags 421 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/tools/attach/VirtualMachineDescriptor -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/tools/attach/spi/AttachProvider -header extends java/lang/Object flags 421 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.compiler-H.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.compiler-H.sym.txt index 3a4967e9e4649..e4626f30e9325 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.compiler-H.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.compiler-H.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,379 +26,54 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name com/sun/source/doctree/AuthorTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/BlockTagTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/CommentTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/DeprecatedTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/DocCommentTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/DocRootTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/DocTreeVisitor -header extends java/lang/Object flags 601 signature Ljava/lang/Object; - -class name com/sun/source/doctree/DocTypeTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/EndElementTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/EntityTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/ErroneousTree -header extends java/lang/Object implements com/sun/source/doctree/TextTree flags 601 - -class name com/sun/source/doctree/HiddenTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/IdentifierTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/IndexTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/InheritDocTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/InlineTagTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/LinkTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/LiteralTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/ParamTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/ProvidesTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/ReferenceTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/SeeTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/SerialDataTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/SerialFieldTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/SerialTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/SinceTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/StartElementTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/SummaryTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/TextTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/ThrowsTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/UnknownBlockTagTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/UnknownInlineTagTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/UsesTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/ValueTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/VersionTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/tree/AnnotatedTypeTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/AnnotationTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/ArrayAccessTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/ArrayTypeTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/AssertTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/AssignmentTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/BinaryTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/BlockTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/BreakTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - class name com/sun/source/tree/CaseLabelTree header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) class name com/sun/source/tree/CaseTree method name getLabels descriptor ()Ljava/util/List; flags 401 signature ()Ljava/util/List<+Lcom/sun/source/tree/CaseLabelTree;>; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) -class name com/sun/source/tree/CatchTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - class name com/sun/source/tree/ClassTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 -method name getPermitsClause descriptor ()Ljava/util/List; method name getPermitsClause descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<+Lcom/sun/source/tree/Tree;>; class name com/sun/source/tree/CompilationUnitTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 method name getModule descriptor ()Lcom/sun/source/tree/ModuleTree; flags 1 -class name com/sun/source/tree/CompoundAssignmentTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/ConditionalExpressionTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/ContinueTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - class name com/sun/source/tree/DefaultCaseLabelTree header extends java/lang/Object implements com/sun/source/tree/CaseLabelTree flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) -class name com/sun/source/tree/DirectiveTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/DoWhileLoopTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/EmptyStatementTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/EnhancedForLoopTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/ErroneousTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/ExportsTree -header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601 - -class name com/sun/source/tree/ExpressionStatementTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - class name com/sun/source/tree/ExpressionTree header extends java/lang/Object implements com/sun/source/tree/Tree,com/sun/source/tree/CaseLabelTree flags 601 classAnnotations @Ljdk/internal/javac/NoPreview; -class name com/sun/source/tree/ForLoopTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - class name com/sun/source/tree/GuardedPatternTree header extends java/lang/Object implements com/sun/source/tree/PatternTree flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) method name getPattern descriptor ()Lcom/sun/source/tree/PatternTree; flags 401 method name getExpression descriptor ()Lcom/sun/source/tree/ExpressionTree; flags 401 -class name com/sun/source/tree/IdentifierTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/IfTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/ImportTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/InstanceOfTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/IntersectionTypeTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/LabeledStatementTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/LineMap -header extends java/lang/Object flags 601 - -class name com/sun/source/tree/LiteralTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/MemberSelectTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/MethodInvocationTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/MethodTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/ModifiersTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/NewArrayTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/NewClassTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/OpensTree -header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601 - -class name com/sun/source/tree/PackageTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/ParameterizedTypeTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - class name com/sun/source/tree/ParenthesizedPatternTree header extends java/lang/Object implements com/sun/source/tree/PatternTree flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) method name getPattern descriptor ()Lcom/sun/source/tree/PatternTree; flags 401 -class name com/sun/source/tree/ParenthesizedTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - class name com/sun/source/tree/PatternTree header extends java/lang/Object implements com/sun/source/tree/Tree,com/sun/source/tree/CaseLabelTree flags 601 -class name com/sun/source/tree/PrimitiveTypeTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/ProvidesTree -header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601 - -class name com/sun/source/tree/RequiresTree -header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601 - -class name com/sun/source/tree/ReturnTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/Scope -header extends java/lang/Object flags 601 - -class name com/sun/source/tree/StatementTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/SwitchTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/SynchronizedTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/ThrowTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - class name com/sun/source/tree/Tree$Kind field name GUARDED_PATTERN descriptor Lcom/sun/source/tree/Tree$Kind; flags 4019 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) field name PARENTHESIZED_PATTERN descriptor Lcom/sun/source/tree/Tree$Kind; flags 4019 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) field name DEFAULT_CASE_LABEL descriptor Lcom/sun/source/tree/Tree$Kind; flags 4019 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) class name com/sun/source/tree/TreeVisitor -header extends java/lang/Object flags 601 signature Ljava/lang/Object; method name visitDefaultCaseLabel descriptor (Lcom/sun/source/tree/DefaultCaseLabelTree;Ljava/lang/Object;)Ljava/lang/Object; flags 401 signature (Lcom/sun/source/tree/DefaultCaseLabelTree;TP;)TR; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) method name visitGuardedPattern descriptor (Lcom/sun/source/tree/GuardedPatternTree;Ljava/lang/Object;)Ljava/lang/Object; flags 401 signature (Lcom/sun/source/tree/GuardedPatternTree;TP;)TR; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) method name visitParenthesizedPattern descriptor (Lcom/sun/source/tree/ParenthesizedPatternTree;Ljava/lang/Object;)Ljava/lang/Object; flags 401 signature (Lcom/sun/source/tree/ParenthesizedPatternTree;TP;)TR; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) -class name com/sun/source/tree/TryTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/TypeCastTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/TypeParameterTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/UnaryTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/UnionTypeTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/UsesTree -header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601 - -class name com/sun/source/tree/VariableTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/WhileLoopTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/WildcardTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/util/DocSourcePositions -header extends java/lang/Object implements com/sun/source/util/SourcePositions flags 601 - -class name com/sun/source/util/DocTreeFactory -header extends java/lang/Object flags 601 -innerclass innerClass com/sun/source/doctree/AttributeTree$ValueKind outerClass com/sun/source/doctree/AttributeTree innerClassName ValueKind flags 4019 - -class name com/sun/source/util/DocTreePathScanner -header extends com/sun/source/util/DocTreeScanner flags 21 signature Lcom/sun/source/util/DocTreeScanner; - -class name com/sun/source/util/DocTreeScanner -header extends java/lang/Object implements com/sun/source/doctree/DocTreeVisitor flags 21 signature Ljava/lang/Object;Lcom/sun/source/doctree/DocTreeVisitor; - -class name com/sun/source/util/DocTrees -header extends com/sun/source/util/Trees flags 421 -innerclass innerClass javax/tools/JavaCompiler$CompilationTask outerClass javax/tools/JavaCompiler innerClassName CompilationTask flags 609 -innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019 - -class name com/sun/source/util/JavacTask -header extends java/lang/Object implements javax/tools/JavaCompiler$CompilationTask flags 421 -innerclass innerClass javax/tools/JavaCompiler$CompilationTask outerClass javax/tools/JavaCompiler innerClassName CompilationTask flags 609 - -class name com/sun/source/util/Plugin -header extends java/lang/Object flags 601 - -class name com/sun/source/util/SimpleDocTreeVisitor -header extends java/lang/Object implements com/sun/source/doctree/DocTreeVisitor flags 21 signature Ljava/lang/Object;Lcom/sun/source/doctree/DocTreeVisitor; - class name com/sun/source/util/SimpleTreeVisitor -header extends java/lang/Object implements com/sun/source/tree/TreeVisitor flags 21 signature Ljava/lang/Object;Lcom/sun/source/tree/TreeVisitor; method name visitDefaultCaseLabel descriptor (Lcom/sun/source/tree/DefaultCaseLabelTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/tree/DefaultCaseLabelTree;TP;)TR; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) method name visitParenthesizedPattern descriptor (Lcom/sun/source/tree/ParenthesizedPatternTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/tree/ParenthesizedPatternTree;TP;)TR; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) method name visitGuardedPattern descriptor (Lcom/sun/source/tree/GuardedPatternTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/tree/GuardedPatternTree;TP;)TR; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) -class name com/sun/source/util/SourcePositions -header extends java/lang/Object flags 601 - -class name com/sun/source/util/TaskListener -header extends java/lang/Object flags 601 - -class name com/sun/source/util/TreePathScanner -header extends com/sun/source/util/TreeScanner flags 21 signature Lcom/sun/source/util/TreeScanner; - class name com/sun/source/util/TreeScanner method name visitDefaultCaseLabel descriptor (Lcom/sun/source/tree/DefaultCaseLabelTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/tree/DefaultCaseLabelTree;TP;)TR; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) method name visitParenthesizedPattern descriptor (Lcom/sun/source/tree/ParenthesizedPatternTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/tree/ParenthesizedPatternTree;TP;)TR; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) method name visitGuardedPattern descriptor (Lcom/sun/source/tree/GuardedPatternTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/tree/GuardedPatternTree;TP;)TR; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) -class name com/sun/source/util/Trees -header extends java/lang/Object flags 421 -innerclass innerClass javax/tools/JavaCompiler$CompilationTask outerClass javax/tools/JavaCompiler innerClassName CompilationTask flags 609 -innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019 - -class name com/sun/tools/javac/Main -header extends java/lang/Object flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.compiler-I.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.compiler-I.sym.txt index 7546b9fea2746..c26675dec4c35 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.compiler-I.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.compiler-I.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,348 +26,23 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name com/sun/source/doctree/AuthorTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/BlockTagTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/CommentTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/DeprecatedTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/DocCommentTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/DocRootTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - class name com/sun/source/doctree/DocTree$Kind field name SNIPPET descriptor Lcom/sun/source/doctree/DocTree$Kind; flags 4019 class name com/sun/source/doctree/DocTreeVisitor -header extends java/lang/Object flags 601 signature Ljava/lang/Object; method name visitSnippet descriptor (Lcom/sun/source/doctree/SnippetTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/doctree/SnippetTree;TP;)TR; -class name com/sun/source/doctree/DocTypeTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/EndElementTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/EntityTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/ErroneousTree -header extends java/lang/Object implements com/sun/source/doctree/TextTree flags 601 - -class name com/sun/source/doctree/HiddenTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/IdentifierTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/IndexTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/InheritDocTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/InlineTagTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/LinkTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/LiteralTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/ParamTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/ProvidesTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/ReferenceTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/SeeTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/SerialDataTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/SerialFieldTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/SerialTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/SinceTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - class name com/sun/source/doctree/SnippetTree header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 method name getAttributes descriptor ()Ljava/util/List; flags 401 signature ()Ljava/util/List<+Lcom/sun/source/doctree/DocTree;>; method name getBody descriptor ()Lcom/sun/source/doctree/TextTree; flags 401 -class name com/sun/source/doctree/StartElementTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/SummaryTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/TextTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/ThrowsTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/UnknownBlockTagTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/UnknownInlineTagTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/UsesTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/ValueTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/VersionTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/tree/AnnotatedTypeTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/AnnotationTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/ArrayAccessTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/ArrayTypeTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/AssertTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/AssignmentTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/BinaryTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/BlockTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/BreakTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/CatchTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/ClassTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/CompilationUnitTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/CompoundAssignmentTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/ConditionalExpressionTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/ContinueTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/DirectiveTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/DoWhileLoopTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/EmptyStatementTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/EnhancedForLoopTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/ErroneousTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/ExportsTree -header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601 - -class name com/sun/source/tree/ExpressionStatementTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/ForLoopTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/IdentifierTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/IfTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/ImportTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/InstanceOfTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/IntersectionTypeTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/LabeledStatementTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/LineMap -header extends java/lang/Object flags 601 - -class name com/sun/source/tree/LiteralTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/MemberSelectTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/MethodInvocationTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/MethodTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/ModifiersTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/NewArrayTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/NewClassTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/OpensTree -header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601 - -class name com/sun/source/tree/PackageTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/ParameterizedTypeTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/ParenthesizedTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/PrimitiveTypeTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/ProvidesTree -header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601 - -class name com/sun/source/tree/RequiresTree -header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601 - -class name com/sun/source/tree/ReturnTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/Scope -header extends java/lang/Object flags 601 - -class name com/sun/source/tree/StatementTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/SwitchTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/SynchronizedTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/ThrowTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/TreeVisitor -header extends java/lang/Object flags 601 signature Ljava/lang/Object; - -class name com/sun/source/tree/TryTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/TypeCastTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/TypeParameterTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/UnaryTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/UnionTypeTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/UsesTree -header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601 - -class name com/sun/source/tree/VariableTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/WhileLoopTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/WildcardTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/util/DocSourcePositions -header extends java/lang/Object implements com/sun/source/util/SourcePositions flags 601 - class name com/sun/source/util/DocTreeFactory -header extends java/lang/Object flags 601 -innerclass innerClass com/sun/source/doctree/AttributeTree$ValueKind outerClass com/sun/source/doctree/AttributeTree innerClassName ValueKind flags 4019 method name newSnippetTree descriptor (Ljava/util/List;Lcom/sun/source/doctree/TextTree;)Lcom/sun/source/doctree/SnippetTree; flags 401 signature (Ljava/util/List<+Lcom/sun/source/doctree/DocTree;>;Lcom/sun/source/doctree/TextTree;)Lcom/sun/source/doctree/SnippetTree; -class name com/sun/source/util/DocTreePathScanner -header extends com/sun/source/util/DocTreeScanner flags 21 signature Lcom/sun/source/util/DocTreeScanner; - class name com/sun/source/util/DocTreeScanner -header extends java/lang/Object implements com/sun/source/doctree/DocTreeVisitor flags 21 signature Ljava/lang/Object;Lcom/sun/source/doctree/DocTreeVisitor; method name visitSnippet descriptor (Lcom/sun/source/doctree/SnippetTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/doctree/SnippetTree;TP;)TR; -class name com/sun/source/util/DocTrees -header extends com/sun/source/util/Trees flags 421 -innerclass innerClass javax/tools/JavaCompiler$CompilationTask outerClass javax/tools/JavaCompiler innerClassName CompilationTask flags 609 -innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019 - -class name com/sun/source/util/JavacTask -header extends java/lang/Object implements javax/tools/JavaCompiler$CompilationTask flags 421 -innerclass innerClass javax/tools/JavaCompiler$CompilationTask outerClass javax/tools/JavaCompiler innerClassName CompilationTask flags 609 - -class name com/sun/source/util/Plugin -header extends java/lang/Object flags 601 - class name com/sun/source/util/SimpleDocTreeVisitor -header extends java/lang/Object implements com/sun/source/doctree/DocTreeVisitor flags 21 signature Ljava/lang/Object;Lcom/sun/source/doctree/DocTreeVisitor; method name visitSnippet descriptor (Lcom/sun/source/doctree/SnippetTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/doctree/SnippetTree;TP;)TR; -class name com/sun/source/util/SimpleTreeVisitor -header extends java/lang/Object implements com/sun/source/tree/TreeVisitor flags 21 signature Ljava/lang/Object;Lcom/sun/source/tree/TreeVisitor; - -class name com/sun/source/util/SourcePositions -header extends java/lang/Object flags 601 - -class name com/sun/source/util/TaskListener -header extends java/lang/Object flags 601 - -class name com/sun/source/util/TreePathScanner -header extends com/sun/source/util/TreeScanner flags 21 signature Lcom/sun/source/util/TreeScanner; - -class name com/sun/source/util/Trees -header extends java/lang/Object flags 421 -innerclass innerClass javax/tools/JavaCompiler$CompilationTask outerClass javax/tools/JavaCompiler innerClassName CompilationTask flags 609 -innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019 - -class name com/sun/tools/javac/Main -header extends java/lang/Object flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.compiler-J.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.compiler-J.sym.txt index 146a9073bb97f..0345c0ebcc53c 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.compiler-J.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.compiler-J.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. # 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,249 +29,21 @@ module name jdk.compiler header exports com/sun/source/doctree,com/sun/source/tree,com/sun/source/util,com/sun/tools/javac requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.compiler\u0020;flags\u0020;20,name\u0020;jdk.zipfs\u0020;flags\u0020;0 uses javax/annotation/processing/Processor,com/sun/source/util/Plugin,com/sun/tools/doclint/DocLint,com/sun/tools/javac/platform/PlatformProvider provides interface\u0020;java/util/spi/ToolProvider\u0020;impls\u0020;com/sun/tools/javac/main/JavacToolProvider,interface\u0020;com/sun/tools/javac/platform/PlatformProvider\u0020;impls\u0020;com/sun/tools/javac/platform/JDKPlatformProvider,interface\u0020;javax/tools/JavaCompiler\u0020;impls\u0020;com/sun/tools/javac/api/JavacTool,interface\u0020;javax/tools/Tool\u0020;impls\u0020;com/sun/tools/javac/api/JavacTool target linux-amd64 flags 8000 -class name com/sun/source/doctree/AuthorTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/BlockTagTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/CommentTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/DeprecatedTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/DocCommentTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/DocRootTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/DocTreeVisitor -header extends java/lang/Object flags 601 signature Ljava/lang/Object; - -class name com/sun/source/doctree/DocTypeTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/EndElementTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/EntityTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/ErroneousTree -header extends java/lang/Object implements com/sun/source/doctree/TextTree flags 601 - -class name com/sun/source/doctree/HiddenTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/IdentifierTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/IndexTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/InheritDocTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/InlineTagTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/LinkTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/LiteralTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/ParamTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/ProvidesTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/ReferenceTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/SeeTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/SerialDataTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/SerialFieldTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/SerialTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/SinceTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/StartElementTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/SummaryTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/TextTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/ThrowsTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/UnknownBlockTagTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/UnknownInlineTagTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/UsesTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/ValueTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/VersionTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/tree/AnnotatedTypeTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/AnnotationTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/ArrayAccessTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/ArrayTypeTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/AssertTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/AssignmentTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/BinaryTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/BlockTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/BreakTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/CatchTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/ClassTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/CompilationUnitTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/CompoundAssignmentTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/ConditionalExpressionTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - class name com/sun/source/tree/ConstantCaseLabelTree header extends java/lang/Object implements com/sun/source/tree/CaseLabelTree flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) method name getConstantExpression descriptor ()Lcom/sun/source/tree/ExpressionTree; flags 401 -class name com/sun/source/tree/ContinueTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - class name com/sun/source/tree/DeconstructionPatternTree header extends java/lang/Object implements com/sun/source/tree/PatternTree flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;RECORD_PATTERNS;,reflective=Ztrue) method name getDeconstructor descriptor ()Lcom/sun/source/tree/ExpressionTree; flags 401 method name getNestedPatterns descriptor ()Ljava/util/List; flags 401 signature ()Ljava/util/List<+Lcom/sun/source/tree/PatternTree;>; method name getVariable descriptor ()Lcom/sun/source/tree/VariableTree; flags 401 -class name com/sun/source/tree/DirectiveTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/DoWhileLoopTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/EmptyStatementTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/EnhancedForLoopTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/ErroneousTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/ExportsTree -header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601 - -class name com/sun/source/tree/ExpressionStatementTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - class name com/sun/source/tree/ExpressionTree header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 -class name com/sun/source/tree/ForLoopTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/GuardedPatternTree -class name com/sun/source/tree/IdentifierTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/IfTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/ImportTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/InstanceOfTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/IntersectionTypeTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/LabeledStatementTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/LineMap -header extends java/lang/Object flags 601 - -class name com/sun/source/tree/LiteralTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/MemberSelectTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/MethodInvocationTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/MethodTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/ModifiersTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/NewArrayTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/NewClassTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/OpensTree -header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601 - -class name com/sun/source/tree/PackageTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/ParameterizedTypeTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/ParenthesizedTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - class name com/sun/source/tree/PatternCaseLabelTree header extends java/lang/Object implements com/sun/source/tree/CaseLabelTree flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) method name getPattern descriptor ()Lcom/sun/source/tree/PatternTree; flags 401 @@ -280,33 +52,6 @@ method name getGuard descriptor ()Lcom/sun/source/tree/ExpressionTree; flags 401 class name com/sun/source/tree/PatternTree header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 -class name com/sun/source/tree/PrimitiveTypeTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/ProvidesTree -header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601 - -class name com/sun/source/tree/RequiresTree -header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601 - -class name com/sun/source/tree/ReturnTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/Scope -header extends java/lang/Object flags 601 - -class name com/sun/source/tree/StatementTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/SwitchTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/SynchronizedTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/ThrowTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - class name com/sun/source/tree/Tree$Kind -field name GUARDED_PATTERN descriptor Lcom/sun/source/tree/Tree$Kind; field name DECONSTRUCTION_PATTERN descriptor Lcom/sun/source/tree/Tree$Kind; flags 4019 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;RECORD_PATTERNS;,reflective=Ztrue) @@ -314,94 +59,20 @@ field name CONSTANT_CASE_LABEL descriptor Lcom/sun/source/tree/Tree$Kind; flags field name PATTERN_CASE_LABEL descriptor Lcom/sun/source/tree/Tree$Kind; flags 4019 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) class name com/sun/source/tree/TreeVisitor -header extends java/lang/Object flags 601 signature Ljava/lang/Object; -method name visitGuardedPattern descriptor (Lcom/sun/source/tree/GuardedPatternTree;Ljava/lang/Object;)Ljava/lang/Object; method name visitDeconstructionPattern descriptor (Lcom/sun/source/tree/DeconstructionPatternTree;Ljava/lang/Object;)Ljava/lang/Object; flags 401 signature (Lcom/sun/source/tree/DeconstructionPatternTree;TP;)TR; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;RECORD_PATTERNS;,reflective=Ztrue) method name visitConstantCaseLabel descriptor (Lcom/sun/source/tree/ConstantCaseLabelTree;Ljava/lang/Object;)Ljava/lang/Object; flags 401 signature (Lcom/sun/source/tree/ConstantCaseLabelTree;TP;)TR; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) method name visitPatternCaseLabel descriptor (Lcom/sun/source/tree/PatternCaseLabelTree;Ljava/lang/Object;)Ljava/lang/Object; flags 401 signature (Lcom/sun/source/tree/PatternCaseLabelTree;TP;)TR; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) -class name com/sun/source/tree/TryTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/TypeCastTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/TypeParameterTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/UnaryTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/UnionTypeTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/UsesTree -header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601 - -class name com/sun/source/tree/VariableTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/WhileLoopTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/WildcardTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/util/DocSourcePositions -header extends java/lang/Object implements com/sun/source/util/SourcePositions flags 601 - -class name com/sun/source/util/DocTreeFactory -header extends java/lang/Object flags 601 -innerclass innerClass com/sun/source/doctree/AttributeTree$ValueKind outerClass com/sun/source/doctree/AttributeTree innerClassName ValueKind flags 4019 - -class name com/sun/source/util/DocTreePathScanner -header extends com/sun/source/util/DocTreeScanner flags 21 signature Lcom/sun/source/util/DocTreeScanner; - -class name com/sun/source/util/DocTreeScanner -header extends java/lang/Object implements com/sun/source/doctree/DocTreeVisitor flags 21 signature Ljava/lang/Object;Lcom/sun/source/doctree/DocTreeVisitor; - -class name com/sun/source/util/DocTrees -header extends com/sun/source/util/Trees flags 421 -innerclass innerClass javax/tools/JavaCompiler$CompilationTask outerClass javax/tools/JavaCompiler innerClassName CompilationTask flags 609 -innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019 - -class name com/sun/source/util/JavacTask -header extends java/lang/Object implements javax/tools/JavaCompiler$CompilationTask flags 421 -innerclass innerClass javax/tools/JavaCompiler$CompilationTask outerClass javax/tools/JavaCompiler innerClassName CompilationTask flags 609 - -class name com/sun/source/util/Plugin -header extends java/lang/Object flags 601 - -class name com/sun/source/util/SimpleDocTreeVisitor -header extends java/lang/Object implements com/sun/source/doctree/DocTreeVisitor flags 21 signature Ljava/lang/Object;Lcom/sun/source/doctree/DocTreeVisitor; - class name com/sun/source/util/SimpleTreeVisitor -header extends java/lang/Object implements com/sun/source/tree/TreeVisitor flags 21 signature Ljava/lang/Object;Lcom/sun/source/tree/TreeVisitor; -method name visitGuardedPattern descriptor (Lcom/sun/source/tree/GuardedPatternTree;Ljava/lang/Object;)Ljava/lang/Object; method name visitDeconstructionPattern descriptor (Lcom/sun/source/tree/DeconstructionPatternTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/tree/DeconstructionPatternTree;TP;)TR; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;RECORD_PATTERNS;,reflective=Ztrue) method name visitConstantCaseLabel descriptor (Lcom/sun/source/tree/ConstantCaseLabelTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/tree/ConstantCaseLabelTree;TP;)TR; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) method name visitPatternCaseLabel descriptor (Lcom/sun/source/tree/PatternCaseLabelTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/tree/PatternCaseLabelTree;TP;)TR; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) -class name com/sun/source/util/SourcePositions -header extends java/lang/Object flags 601 - -class name com/sun/source/util/TaskListener -header extends java/lang/Object flags 601 - -class name com/sun/source/util/TreePathScanner -header extends com/sun/source/util/TreeScanner flags 21 signature Lcom/sun/source/util/TreeScanner; - class name com/sun/source/util/TreeScanner -method name visitGuardedPattern descriptor (Lcom/sun/source/tree/GuardedPatternTree;Ljava/lang/Object;)Ljava/lang/Object; method name visitDeconstructionPattern descriptor (Lcom/sun/source/tree/DeconstructionPatternTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/tree/DeconstructionPatternTree;TP;)TR; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;RECORD_PATTERNS;,reflective=Ztrue) method name visitConstantCaseLabel descriptor (Lcom/sun/source/tree/ConstantCaseLabelTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/tree/ConstantCaseLabelTree;TP;)TR; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) method name visitPatternCaseLabel descriptor (Lcom/sun/source/tree/PatternCaseLabelTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/tree/PatternCaseLabelTree;TP;)TR; classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;SWITCH_PATTERN_MATCHING;,reflective=Ztrue) -class name com/sun/source/util/Trees -header extends java/lang/Object flags 421 -innerclass innerClass javax/tools/JavaCompiler$CompilationTask outerClass javax/tools/JavaCompiler innerClassName CompilationTask flags 609 -innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019 - -class name com/sun/tools/javac/Main -header extends java/lang/Object flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.compiler-K.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.compiler-K.sym.txt index b55f0c82adb15..ecfc832a1b790 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.compiler-K.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.compiler-K.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,178 +26,23 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name com/sun/source/doctree/AuthorTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/BlockTagTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/CommentTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/DeprecatedTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/DocCommentTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/DocRootTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - class name com/sun/source/doctree/DocTree$Kind field name SPEC descriptor Lcom/sun/source/doctree/DocTree$Kind; flags 4019 class name com/sun/source/doctree/DocTreeVisitor -header extends java/lang/Object flags 601 signature Ljava/lang/Object; method name visitSpec descriptor (Lcom/sun/source/doctree/SpecTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/doctree/SpecTree;TP;)TR; -class name com/sun/source/doctree/DocTypeTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/EndElementTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/EntityTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/ErroneousTree -header extends java/lang/Object implements com/sun/source/doctree/TextTree flags 601 - -class name com/sun/source/doctree/HiddenTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/IdentifierTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/IndexTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/InheritDocTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/InlineTagTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/LinkTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/LiteralTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/ParamTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/ProvidesTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/ReferenceTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/SeeTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/SerialDataTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/SerialFieldTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/SerialTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/SinceTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - class name com/sun/source/doctree/SpecTree header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 method name getURL descriptor ()Lcom/sun/source/doctree/TextTree; flags 401 method name getTitle descriptor ()Ljava/util/List; flags 401 signature ()Ljava/util/List<+Lcom/sun/source/doctree/DocTree;>; -class name com/sun/source/doctree/StartElementTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/SummaryTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/TextTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/ThrowsTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/UnknownBlockTagTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/UnknownInlineTagTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/UsesTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - class name com/sun/source/doctree/ValueTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 method name getFormat descriptor ()Lcom/sun/source/doctree/TextTree; flags 1 -class name com/sun/source/doctree/VersionTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/tree/AnnotatedTypeTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/AnnotationTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/ArrayAccessTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/ArrayTypeTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/AssertTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/AssignmentTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/BinaryTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/BlockTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/BreakTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/CatchTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/ClassTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/CompilationUnitTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/CompoundAssignmentTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/ConditionalExpressionTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/ContinueTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - class name com/sun/source/tree/DeconstructionPatternTree -method name getVariable descriptor ()Lcom/sun/source/tree/VariableTree; -class name com/sun/source/tree/DirectiveTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/DoWhileLoopTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/EmptyStatementTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - class name com/sun/source/tree/EnhancedForLoopTree header extends java/lang/Object implements com/sun/source/tree/StatementTree nestMembers com/sun/source/tree/EnhancedForLoopTree$DeclarationKind flags 601 innerclass innerClass com/sun/source/tree/EnhancedForLoopTree$DeclarationKind outerClass com/sun/source/tree/EnhancedForLoopTree innerClassName DeclarationKind flags 4019 @@ -212,30 +57,6 @@ field name PATTERN descriptor Lcom/sun/source/tree/EnhancedForLoopTree$Declarati method name values descriptor ()[Lcom/sun/source/tree/EnhancedForLoopTree$DeclarationKind; flags 9 method name valueOf descriptor (Ljava/lang/String;)Lcom/sun/source/tree/EnhancedForLoopTree$DeclarationKind; flags 9 -class name com/sun/source/tree/ErroneousTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/ExportsTree -header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601 - -class name com/sun/source/tree/ExpressionStatementTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/ExpressionTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/ForLoopTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/IdentifierTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/IfTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/ImportTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - class name com/sun/source/tree/InstanceOfTree header extends java/lang/Object implements com/sun/source/tree/ExpressionTree nestMembers com/sun/source/tree/InstanceOfTree$TestKind flags 601 innerclass innerClass com/sun/source/tree/InstanceOfTree$TestKind outerClass com/sun/source/tree/InstanceOfTree innerClassName TestKind flags 4019 @@ -249,157 +70,13 @@ field name PATTERN descriptor Lcom/sun/source/tree/InstanceOfTree$TestKind; flag method name values descriptor ()[Lcom/sun/source/tree/InstanceOfTree$TestKind; flags 9 method name valueOf descriptor (Ljava/lang/String;)Lcom/sun/source/tree/InstanceOfTree$TestKind; flags 9 -class name com/sun/source/tree/IntersectionTypeTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/LabeledStatementTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/LineMap -header extends java/lang/Object flags 601 - -class name com/sun/source/tree/LiteralTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/MemberSelectTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/MethodInvocationTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/MethodTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/ModifiersTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/NewArrayTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/NewClassTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/OpensTree -header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601 - -class name com/sun/source/tree/PackageTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/ParameterizedTypeTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/ParenthesizedTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/PatternTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/PrimitiveTypeTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/ProvidesTree -header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601 - -class name com/sun/source/tree/RequiresTree -header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601 - -class name com/sun/source/tree/ReturnTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/Scope -header extends java/lang/Object flags 601 - -class name com/sun/source/tree/StatementTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/SwitchTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/SynchronizedTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/ThrowTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/TreeVisitor -header extends java/lang/Object flags 601 signature Ljava/lang/Object; - -class name com/sun/source/tree/TryTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/TypeCastTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/TypeParameterTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/UnaryTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/UnionTypeTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/UsesTree -header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601 - -class name com/sun/source/tree/VariableTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/WhileLoopTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/WildcardTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/util/DocSourcePositions -header extends java/lang/Object implements com/sun/source/util/SourcePositions flags 601 - class name com/sun/source/util/DocTreeFactory -header extends java/lang/Object flags 601 -innerclass innerClass com/sun/source/doctree/AttributeTree$ValueKind outerClass com/sun/source/doctree/AttributeTree innerClassName ValueKind flags 4019 method name newSpecTree descriptor (Lcom/sun/source/doctree/TextTree;Ljava/util/List;)Lcom/sun/source/doctree/SpecTree; flags 401 signature (Lcom/sun/source/doctree/TextTree;Ljava/util/List<+Lcom/sun/source/doctree/DocTree;>;)Lcom/sun/source/doctree/SpecTree; method name newValueTree descriptor (Lcom/sun/source/doctree/TextTree;Lcom/sun/source/doctree/ReferenceTree;)Lcom/sun/source/doctree/ValueTree; flags 1 -class name com/sun/source/util/DocTreePathScanner -header extends com/sun/source/util/DocTreeScanner flags 21 signature Lcom/sun/source/util/DocTreeScanner; - class name com/sun/source/util/DocTreeScanner -header extends java/lang/Object implements com/sun/source/doctree/DocTreeVisitor flags 21 signature Ljava/lang/Object;Lcom/sun/source/doctree/DocTreeVisitor; method name visitSpec descriptor (Lcom/sun/source/doctree/SpecTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/doctree/SpecTree;TP;)TR; -class name com/sun/source/util/DocTrees -header extends com/sun/source/util/Trees flags 421 -innerclass innerClass javax/tools/JavaCompiler$CompilationTask outerClass javax/tools/JavaCompiler innerClassName CompilationTask flags 609 -innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019 - -class name com/sun/source/util/JavacTask -header extends java/lang/Object implements javax/tools/JavaCompiler$CompilationTask flags 421 -innerclass innerClass javax/tools/JavaCompiler$CompilationTask outerClass javax/tools/JavaCompiler innerClassName CompilationTask flags 609 - -class name com/sun/source/util/Plugin -header extends java/lang/Object flags 601 - class name com/sun/source/util/SimpleDocTreeVisitor -header extends java/lang/Object implements com/sun/source/doctree/DocTreeVisitor flags 21 signature Ljava/lang/Object;Lcom/sun/source/doctree/DocTreeVisitor; method name visitSpec descriptor (Lcom/sun/source/doctree/SpecTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/doctree/SpecTree;TP;)TR; -class name com/sun/source/util/SimpleTreeVisitor -header extends java/lang/Object implements com/sun/source/tree/TreeVisitor flags 21 signature Ljava/lang/Object;Lcom/sun/source/tree/TreeVisitor; - -class name com/sun/source/util/SourcePositions -header extends java/lang/Object flags 601 - -class name com/sun/source/util/TaskListener -header extends java/lang/Object flags 601 - -class name com/sun/source/util/TreePathScanner -header extends com/sun/source/util/TreeScanner flags 21 signature Lcom/sun/source/util/TreeScanner; - -class name com/sun/source/util/Trees -header extends java/lang/Object flags 421 -innerclass innerClass javax/tools/JavaCompiler$CompilationTask outerClass javax/tools/JavaCompiler innerClassName CompilationTask flags 609 -innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019 - -class name com/sun/tools/javac/Main -header extends java/lang/Object flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.compiler-L.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.compiler-L.sym.txt index f8ec12678547c..8cdc16e89119b 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.compiler-L.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.compiler-L.sym.txt @@ -29,149 +29,19 @@ module name jdk.compiler header exports com/sun/source/doctree,com/sun/source/tree,com/sun/source/util,com/sun/tools/javac requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.compiler\u0020;flags\u0020;20,name\u0020;jdk.internal.opt\u0020;flags\u0020;0,name\u0020;jdk.zipfs\u0020;flags\u0020;0 uses javax/annotation/processing/Processor,com/sun/source/util/Plugin,com/sun/tools/doclint/DocLint,com/sun/tools/javac/platform/PlatformProvider provides interface\u0020;java/util/spi/ToolProvider\u0020;impls\u0020;com/sun/tools/javac/main/JavacToolProvider,interface\u0020;com/sun/tools/javac/platform/PlatformProvider\u0020;impls\u0020;com/sun/tools/javac/platform/JDKPlatformProvider,interface\u0020;javax/tools/JavaCompiler\u0020;impls\u0020;com/sun/tools/javac/api/JavacTool,interface\u0020;javax/tools/Tool\u0020;impls\u0020;com/sun/tools/javac/api/JavacTool target linux-amd64 flags 8000 -class name com/sun/source/doctree/AuthorTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/BlockTagTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/CommentTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/DeprecatedTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/DocCommentTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/DocRootTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - class name com/sun/source/doctree/DocTree$Kind field name ESCAPE descriptor Lcom/sun/source/doctree/DocTree$Kind; flags 4019 class name com/sun/source/doctree/DocTreeVisitor -header extends java/lang/Object flags 601 signature Ljava/lang/Object; method name visitEscape descriptor (Lcom/sun/source/doctree/EscapeTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/doctree/EscapeTree;TP;)TR; -class name com/sun/source/doctree/DocTypeTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/EndElementTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/EntityTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/ErroneousTree -header extends java/lang/Object implements com/sun/source/doctree/TextTree flags 601 - class name com/sun/source/doctree/EscapeTree header extends java/lang/Object implements com/sun/source/doctree/TextTree flags 601 method name getBody descriptor ()Ljava/lang/String; flags 401 -class name com/sun/source/doctree/HiddenTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/IdentifierTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/IndexTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/InheritDocTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/InlineTagTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/LinkTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/LiteralTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/ParamTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/ProvidesTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/ReferenceTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/SeeTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/SerialDataTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/SerialFieldTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/SerialTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/SinceTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/StartElementTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/SummaryTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/TextTree -header extends java/lang/Object implements com/sun/source/doctree/DocTree flags 601 - -class name com/sun/source/doctree/ThrowsTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/UnknownBlockTagTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/UnknownInlineTagTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/UsesTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/doctree/ValueTree -header extends java/lang/Object implements com/sun/source/doctree/InlineTagTree flags 601 - -class name com/sun/source/doctree/VersionTree -header extends java/lang/Object implements com/sun/source/doctree/BlockTagTree flags 601 - -class name com/sun/source/tree/AnnotatedTypeTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/AnnotationTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - class name com/sun/source/tree/AnyPatternTree header extends java/lang/Object implements com/sun/source/tree/PatternTree flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;UNNAMED;) -class name com/sun/source/tree/ArrayAccessTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/ArrayTypeTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/AssertTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/AssignmentTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/BinaryTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/BlockTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/BreakTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - class name com/sun/source/tree/CaseLabelTree header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 @@ -180,42 +50,15 @@ class name com/sun/source/tree/CaseTree method name getLabels descriptor ()Ljava/util/List; flags 401 signature ()Ljava/util/List<+Lcom/sun/source/tree/CaseLabelTree;>; method name getGuard descriptor ()Lcom/sun/source/tree/ExpressionTree; flags 401 -class name com/sun/source/tree/CatchTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/ClassTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/CompilationUnitTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/CompoundAssignmentTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/ConditionalExpressionTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - class name com/sun/source/tree/ConstantCaseLabelTree header extends java/lang/Object implements com/sun/source/tree/CaseLabelTree flags 601 -class name com/sun/source/tree/ContinueTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - class name com/sun/source/tree/DeconstructionPatternTree header extends java/lang/Object implements com/sun/source/tree/PatternTree flags 601 class name com/sun/source/tree/DefaultCaseLabelTree header extends java/lang/Object implements com/sun/source/tree/CaseLabelTree flags 601 -class name com/sun/source/tree/DirectiveTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/DoWhileLoopTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/EmptyStatementTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - class name com/sun/source/tree/EnhancedForLoopTree header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 -method name getVariableOrRecordPattern descriptor ()Lcom/sun/source/tree/Tree; @@ -223,120 +66,24 @@ header extends java/lang/Object implements com/sun/source/tree/StatementTree fla -class name com/sun/source/tree/EnhancedForLoopTree$DeclarationKind -class name com/sun/source/tree/ErroneousTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/ExportsTree -header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601 - -class name com/sun/source/tree/ExpressionStatementTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/ExpressionTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/ForLoopTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/IdentifierTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/IfTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/ImportTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - class name com/sun/source/tree/InstanceOfTree header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 -method name getTestKind descriptor ()Lcom/sun/source/tree/InstanceOfTree$TestKind; -class name com/sun/source/tree/InstanceOfTree$TestKind -class name com/sun/source/tree/IntersectionTypeTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/LabeledStatementTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/LineMap -header extends java/lang/Object flags 601 - -class name com/sun/source/tree/LiteralTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/MemberSelectTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/MethodInvocationTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/MethodTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/ModifiersTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/NewArrayTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/NewClassTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/OpensTree -header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601 - -class name com/sun/source/tree/PackageTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/ParameterizedTypeTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/ParenthesizedPatternTree -class name com/sun/source/tree/ParenthesizedTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - class name com/sun/source/tree/PatternCaseLabelTree header extends java/lang/Object implements com/sun/source/tree/CaseLabelTree flags 601 -method name getGuard descriptor ()Lcom/sun/source/tree/ExpressionTree; -class name com/sun/source/tree/PatternTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/PrimitiveTypeTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/ProvidesTree -header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601 - -class name com/sun/source/tree/RequiresTree -header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601 - -class name com/sun/source/tree/ReturnTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/Scope -header extends java/lang/Object flags 601 - -class name com/sun/source/tree/StatementTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - class name com/sun/source/tree/StringTemplateTree header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;STRING_TEMPLATES;,reflective=Ztrue) method name getProcessor descriptor ()Lcom/sun/source/tree/ExpressionTree; flags 401 method name getFragments descriptor ()Ljava/util/List; flags 401 signature ()Ljava/util/List; method name getExpressions descriptor ()Ljava/util/List; flags 401 signature ()Ljava/util/List<+Lcom/sun/source/tree/ExpressionTree;>; -class name com/sun/source/tree/SwitchTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/SynchronizedTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/ThrowTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - class name com/sun/source/tree/Tree$Kind -field name PARENTHESIZED_PATTERN descriptor Lcom/sun/source/tree/Tree$Kind; -field name DEFAULT_CASE_LABEL descriptor Lcom/sun/source/tree/Tree$Kind; @@ -351,7 +98,6 @@ field name PATTERN_CASE_LABEL descriptor Lcom/sun/source/tree/Tree$Kind; flags 4 field name DECONSTRUCTION_PATTERN descriptor Lcom/sun/source/tree/Tree$Kind; flags 4019 class name com/sun/source/tree/TreeVisitor -header extends java/lang/Object flags 601 signature Ljava/lang/Object; -method name visitDefaultCaseLabel descriptor (Lcom/sun/source/tree/DefaultCaseLabelTree;Ljava/lang/Object;)Ljava/lang/Object; -method name visitParenthesizedPattern descriptor (Lcom/sun/source/tree/ParenthesizedPatternTree;Ljava/lang/Object;)Ljava/lang/Object; -method name visitDeconstructionPattern descriptor (Lcom/sun/source/tree/DeconstructionPatternTree;Ljava/lang/Object;)Ljava/lang/Object; @@ -364,68 +110,20 @@ method name visitConstantCaseLabel descriptor (Lcom/sun/source/tree/ConstantCase method name visitPatternCaseLabel descriptor (Lcom/sun/source/tree/PatternCaseLabelTree;Ljava/lang/Object;)Ljava/lang/Object; flags 401 signature (Lcom/sun/source/tree/PatternCaseLabelTree;TP;)TR; method name visitDeconstructionPattern descriptor (Lcom/sun/source/tree/DeconstructionPatternTree;Ljava/lang/Object;)Ljava/lang/Object; flags 401 signature (Lcom/sun/source/tree/DeconstructionPatternTree;TP;)TR; -class name com/sun/source/tree/TryTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/TypeCastTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/TypeParameterTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/UnaryTree -header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601 - -class name com/sun/source/tree/UnionTypeTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/tree/UsesTree -header extends java/lang/Object implements com/sun/source/tree/DirectiveTree flags 601 - -class name com/sun/source/tree/VariableTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/WhileLoopTree -header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601 - -class name com/sun/source/tree/WildcardTree -header extends java/lang/Object implements com/sun/source/tree/Tree flags 601 - -class name com/sun/source/util/DocSourcePositions -header extends java/lang/Object implements com/sun/source/util/SourcePositions flags 601 - class name com/sun/source/util/DocTreeFactory -header extends java/lang/Object flags 601 -innerclass innerClass com/sun/source/doctree/AttributeTree$ValueKind outerClass com/sun/source/doctree/AttributeTree innerClassName ValueKind flags 4019 method name newEscapeTree descriptor (C)Lcom/sun/source/doctree/EscapeTree; flags 401 -class name com/sun/source/util/DocTreePathScanner -header extends com/sun/source/util/DocTreeScanner flags 21 signature Lcom/sun/source/util/DocTreeScanner; - class name com/sun/source/util/DocTreeScanner -header extends java/lang/Object implements com/sun/source/doctree/DocTreeVisitor flags 21 signature Ljava/lang/Object;Lcom/sun/source/doctree/DocTreeVisitor; method name visitEscape descriptor (Lcom/sun/source/doctree/EscapeTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/doctree/EscapeTree;TP;)TR; -class name com/sun/source/util/DocTrees -header extends com/sun/source/util/Trees flags 421 -innerclass innerClass javax/tools/JavaCompiler$CompilationTask outerClass javax/tools/JavaCompiler innerClassName CompilationTask flags 609 -innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019 - class name com/sun/source/util/JavacTask -header extends java/lang/Object implements javax/tools/JavaCompiler$CompilationTask flags 421 -innerclass innerClass javax/tools/JavaCompiler$CompilationTask outerClass javax/tools/JavaCompiler innerClassName CompilationTask flags 609 -method name descriptor ()V method name descriptor ()V flags 4 -class name com/sun/source/util/Plugin -header extends java/lang/Object flags 601 - class name com/sun/source/util/SimpleDocTreeVisitor -header extends java/lang/Object implements com/sun/source/doctree/DocTreeVisitor flags 21 signature Ljava/lang/Object;Lcom/sun/source/doctree/DocTreeVisitor; method name visitEscape descriptor (Lcom/sun/source/doctree/EscapeTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/doctree/EscapeTree;TP;)TR; class name com/sun/source/util/SimpleTreeVisitor -header extends java/lang/Object implements com/sun/source/tree/TreeVisitor flags 21 signature Ljava/lang/Object;Lcom/sun/source/tree/TreeVisitor; -method name visitDefaultCaseLabel descriptor (Lcom/sun/source/tree/DefaultCaseLabelTree;Ljava/lang/Object;)Ljava/lang/Object; -method name visitParenthesizedPattern descriptor (Lcom/sun/source/tree/ParenthesizedPatternTree;Ljava/lang/Object;)Ljava/lang/Object; -method name visitDeconstructionPattern descriptor (Lcom/sun/source/tree/DeconstructionPatternTree;Ljava/lang/Object;)Ljava/lang/Object; @@ -438,15 +136,6 @@ method name visitConstantCaseLabel descriptor (Lcom/sun/source/tree/ConstantCase method name visitDeconstructionPattern descriptor (Lcom/sun/source/tree/DeconstructionPatternTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/tree/DeconstructionPatternTree;TP;)TR; method name visitPatternCaseLabel descriptor (Lcom/sun/source/tree/PatternCaseLabelTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/tree/PatternCaseLabelTree;TP;)TR; -class name com/sun/source/util/SourcePositions -header extends java/lang/Object flags 601 - -class name com/sun/source/util/TaskListener -header extends java/lang/Object flags 601 - -class name com/sun/source/util/TreePathScanner -header extends com/sun/source/util/TreeScanner flags 21 signature Lcom/sun/source/util/TreeScanner; - class name com/sun/source/util/TreeScanner -method name visitDefaultCaseLabel descriptor (Lcom/sun/source/tree/DefaultCaseLabelTree;Ljava/lang/Object;)Ljava/lang/Object; -method name visitParenthesizedPattern descriptor (Lcom/sun/source/tree/ParenthesizedPatternTree;Ljava/lang/Object;)Ljava/lang/Object; @@ -460,11 +149,3 @@ method name visitConstantCaseLabel descriptor (Lcom/sun/source/tree/ConstantCase method name visitPatternCaseLabel descriptor (Lcom/sun/source/tree/PatternCaseLabelTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/tree/PatternCaseLabelTree;TP;)TR; method name visitDeconstructionPattern descriptor (Lcom/sun/source/tree/DeconstructionPatternTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/tree/DeconstructionPatternTree;TP;)TR; -class name com/sun/source/util/Trees -header extends java/lang/Object flags 421 -innerclass innerClass javax/tools/JavaCompiler$CompilationTask outerClass javax/tools/JavaCompiler innerClassName CompilationTask flags 609 -innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019 - -class name com/sun/tools/javac/Main -header extends java/lang/Object flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.dynalink-H.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.dynalink-H.sym.txt deleted file mode 100644 index 854dbd70888eb..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.dynalink-H.sym.txt +++ /dev/null @@ -1,136 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name jdk/dynalink/CallSiteDescriptor -header extends jdk/dynalink/SecureLookupSupplier flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/DynamicLinker -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/StackWalker$StackFrame outerClass java/lang/StackWalker innerClassName StackFrame flags 609 -innerclass innerClass java/lang/StackWalker$Option outerClass java/lang/StackWalker innerClassName Option flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/NamedOperation -header extends java/lang/Object implements jdk/dynalink/Operation flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/Namespace -header extends java/lang/Object flags 601 - -class name jdk/dynalink/NamespaceOperation -header extends java/lang/Object implements jdk/dynalink/Operation flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/NoSuchDynamicMethodException -header extends java/lang/RuntimeException flags 21 - -class name jdk/dynalink/Operation -header extends java/lang/Object flags 601 - -class name jdk/dynalink/RelinkableCallSite -header extends java/lang/Object flags 601 - -class name jdk/dynalink/SecureLookupSupplier -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/StandardNamespace -header extends java/lang/Enum implements jdk/dynalink/Namespace flags 4031 signature Ljava/lang/Enum;Ljdk/dynalink/Namespace; - -class name jdk/dynalink/StandardOperation -header extends java/lang/Enum implements jdk/dynalink/Operation flags 4031 signature Ljava/lang/Enum;Ljdk/dynalink/Operation; - -class name jdk/dynalink/beans/MissingMemberHandlerFactory -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; - -class name jdk/dynalink/linker/GuardedInvocation -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/linker/GuardedInvocationTransformer -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; - -class name jdk/dynalink/linker/GuardingDynamicLinker -header extends java/lang/Object flags 601 - -class name jdk/dynalink/linker/GuardingDynamicLinkerExporter -header extends java/lang/Object implements java/util/function/Supplier flags 421 signature Ljava/lang/Object;Ljava/util/function/Supplier;>; - -class name jdk/dynalink/linker/GuardingTypeConverterFactory -header extends java/lang/Object flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/linker/LinkRequest -header extends java/lang/Object flags 601 - -class name jdk/dynalink/linker/LinkerServices -header extends java/lang/Object flags 601 -innerclass innerClass jdk/dynalink/linker/ConversionComparator$Comparison outerClass jdk/dynalink/linker/ConversionComparator innerClassName Comparison flags 4019 - -class name jdk/dynalink/linker/MethodHandleTransformer -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; - -class name jdk/dynalink/linker/MethodTypeConversionStrategy -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; - -class name jdk/dynalink/linker/TypeBasedGuardingDynamicLinker -header extends java/lang/Object implements jdk/dynalink/linker/GuardingDynamicLinker flags 601 - -class name jdk/dynalink/linker/support/CompositeGuardingDynamicLinker -header extends java/lang/Object implements jdk/dynalink/linker/GuardingDynamicLinker flags 21 - -class name jdk/dynalink/linker/support/DefaultInternalObjectFilter -header extends java/lang/Object implements jdk/dynalink/linker/MethodHandleTransformer flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/linker/support/Guards -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/linker/support/Lookup -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/linker/support/SimpleLinkRequest -header extends java/lang/Object implements jdk/dynalink/linker/LinkRequest flags 21 - -class name jdk/dynalink/linker/support/TypeUtilities -header extends java/lang/Object flags 31 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 - -class name jdk/dynalink/support/AbstractRelinkableCallSite -header extends java/lang/invoke/MutableCallSite implements jdk/dynalink/RelinkableCallSite flags 421 - -class name jdk/dynalink/support/ChainedCallSite -header extends jdk/dynalink/support/AbstractRelinkableCallSite flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/support/SimpleRelinkableCallSite -header extends jdk/dynalink/support/AbstractRelinkableCallSite flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.dynalink-I.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.dynalink-I.sym.txt deleted file mode 100644 index 854dbd70888eb..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.dynalink-I.sym.txt +++ /dev/null @@ -1,136 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name jdk/dynalink/CallSiteDescriptor -header extends jdk/dynalink/SecureLookupSupplier flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/DynamicLinker -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/StackWalker$StackFrame outerClass java/lang/StackWalker innerClassName StackFrame flags 609 -innerclass innerClass java/lang/StackWalker$Option outerClass java/lang/StackWalker innerClassName Option flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/NamedOperation -header extends java/lang/Object implements jdk/dynalink/Operation flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/Namespace -header extends java/lang/Object flags 601 - -class name jdk/dynalink/NamespaceOperation -header extends java/lang/Object implements jdk/dynalink/Operation flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/NoSuchDynamicMethodException -header extends java/lang/RuntimeException flags 21 - -class name jdk/dynalink/Operation -header extends java/lang/Object flags 601 - -class name jdk/dynalink/RelinkableCallSite -header extends java/lang/Object flags 601 - -class name jdk/dynalink/SecureLookupSupplier -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/StandardNamespace -header extends java/lang/Enum implements jdk/dynalink/Namespace flags 4031 signature Ljava/lang/Enum;Ljdk/dynalink/Namespace; - -class name jdk/dynalink/StandardOperation -header extends java/lang/Enum implements jdk/dynalink/Operation flags 4031 signature Ljava/lang/Enum;Ljdk/dynalink/Operation; - -class name jdk/dynalink/beans/MissingMemberHandlerFactory -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; - -class name jdk/dynalink/linker/GuardedInvocation -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/linker/GuardedInvocationTransformer -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; - -class name jdk/dynalink/linker/GuardingDynamicLinker -header extends java/lang/Object flags 601 - -class name jdk/dynalink/linker/GuardingDynamicLinkerExporter -header extends java/lang/Object implements java/util/function/Supplier flags 421 signature Ljava/lang/Object;Ljava/util/function/Supplier;>; - -class name jdk/dynalink/linker/GuardingTypeConverterFactory -header extends java/lang/Object flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/linker/LinkRequest -header extends java/lang/Object flags 601 - -class name jdk/dynalink/linker/LinkerServices -header extends java/lang/Object flags 601 -innerclass innerClass jdk/dynalink/linker/ConversionComparator$Comparison outerClass jdk/dynalink/linker/ConversionComparator innerClassName Comparison flags 4019 - -class name jdk/dynalink/linker/MethodHandleTransformer -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; - -class name jdk/dynalink/linker/MethodTypeConversionStrategy -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; - -class name jdk/dynalink/linker/TypeBasedGuardingDynamicLinker -header extends java/lang/Object implements jdk/dynalink/linker/GuardingDynamicLinker flags 601 - -class name jdk/dynalink/linker/support/CompositeGuardingDynamicLinker -header extends java/lang/Object implements jdk/dynalink/linker/GuardingDynamicLinker flags 21 - -class name jdk/dynalink/linker/support/DefaultInternalObjectFilter -header extends java/lang/Object implements jdk/dynalink/linker/MethodHandleTransformer flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/linker/support/Guards -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/linker/support/Lookup -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/linker/support/SimpleLinkRequest -header extends java/lang/Object implements jdk/dynalink/linker/LinkRequest flags 21 - -class name jdk/dynalink/linker/support/TypeUtilities -header extends java/lang/Object flags 31 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 - -class name jdk/dynalink/support/AbstractRelinkableCallSite -header extends java/lang/invoke/MutableCallSite implements jdk/dynalink/RelinkableCallSite flags 421 - -class name jdk/dynalink/support/ChainedCallSite -header extends jdk/dynalink/support/AbstractRelinkableCallSite flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/support/SimpleRelinkableCallSite -header extends jdk/dynalink/support/AbstractRelinkableCallSite flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.dynalink-J.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.dynalink-J.sym.txt deleted file mode 100644 index d881760d53a68..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.dynalink-J.sym.txt +++ /dev/null @@ -1,136 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name jdk/dynalink/CallSiteDescriptor -header extends jdk/dynalink/SecureLookupSupplier flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/DynamicLinker -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/StackWalker$StackFrame outerClass java/lang/StackWalker innerClassName StackFrame flags 609 -innerclass innerClass java/lang/StackWalker$Option outerClass java/lang/StackWalker innerClassName Option flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/NamedOperation -header extends java/lang/Object implements jdk/dynalink/Operation flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/Namespace -header extends java/lang/Object flags 601 - -class name jdk/dynalink/NamespaceOperation -header extends java/lang/Object implements jdk/dynalink/Operation flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/NoSuchDynamicMethodException -header extends java/lang/RuntimeException flags 21 - -class name jdk/dynalink/Operation -header extends java/lang/Object flags 601 - -class name jdk/dynalink/RelinkableCallSite -header extends java/lang/Object flags 601 - -class name jdk/dynalink/SecureLookupSupplier -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/StandardNamespace -header extends java/lang/Enum implements jdk/dynalink/Namespace flags 4031 signature Ljava/lang/Enum;Ljdk/dynalink/Namespace; - -class name jdk/dynalink/StandardOperation -header extends java/lang/Enum implements jdk/dynalink/Operation flags 4031 signature Ljava/lang/Enum;Ljdk/dynalink/Operation; - -class name jdk/dynalink/beans/MissingMemberHandlerFactory -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; - -class name jdk/dynalink/linker/GuardedInvocation -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/linker/GuardedInvocationTransformer -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; - -class name jdk/dynalink/linker/GuardingDynamicLinker -header extends java/lang/Object flags 601 - -class name jdk/dynalink/linker/GuardingDynamicLinkerExporter -header extends java/lang/Object implements java/util/function/Supplier flags 421 signature Ljava/lang/Object;Ljava/util/function/Supplier;>; - -class name jdk/dynalink/linker/GuardingTypeConverterFactory -header extends java/lang/Object flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/linker/LinkRequest -header extends java/lang/Object flags 601 - -class name jdk/dynalink/linker/LinkerServices -header extends java/lang/Object flags 601 -innerclass innerClass jdk/dynalink/linker/ConversionComparator$Comparison outerClass jdk/dynalink/linker/ConversionComparator innerClassName Comparison flags 4019 - -class name jdk/dynalink/linker/MethodHandleTransformer -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; - -class name jdk/dynalink/linker/MethodTypeConversionStrategy -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; - -class name jdk/dynalink/linker/TypeBasedGuardingDynamicLinker -header extends java/lang/Object implements jdk/dynalink/linker/GuardingDynamicLinker flags 601 - -class name jdk/dynalink/linker/support/CompositeGuardingDynamicLinker -header extends java/lang/Object implements jdk/dynalink/linker/GuardingDynamicLinker flags 21 - -class name jdk/dynalink/linker/support/DefaultInternalObjectFilter -header extends java/lang/Object implements jdk/dynalink/linker/MethodHandleTransformer flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/linker/support/Guards -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/linker/support/Lookup -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/linker/support/SimpleLinkRequest -header extends java/lang/Object implements jdk/dynalink/linker/LinkRequest flags 21 - -class name jdk/dynalink/linker/support/TypeUtilities -header extends java/lang/Object flags 31 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 - -class name jdk/dynalink/support/AbstractRelinkableCallSite -header extends java/lang/invoke/MutableCallSite implements jdk/dynalink/RelinkableCallSite flags 421 - -class name jdk/dynalink/support/ChainedCallSite -header extends jdk/dynalink/support/AbstractRelinkableCallSite flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/support/SimpleRelinkableCallSite -header extends jdk/dynalink/support/AbstractRelinkableCallSite flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.dynalink-K.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.dynalink-K.sym.txt deleted file mode 100644 index d881760d53a68..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.dynalink-K.sym.txt +++ /dev/null @@ -1,136 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name jdk/dynalink/CallSiteDescriptor -header extends jdk/dynalink/SecureLookupSupplier flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/DynamicLinker -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/StackWalker$StackFrame outerClass java/lang/StackWalker innerClassName StackFrame flags 609 -innerclass innerClass java/lang/StackWalker$Option outerClass java/lang/StackWalker innerClassName Option flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/NamedOperation -header extends java/lang/Object implements jdk/dynalink/Operation flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/Namespace -header extends java/lang/Object flags 601 - -class name jdk/dynalink/NamespaceOperation -header extends java/lang/Object implements jdk/dynalink/Operation flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/NoSuchDynamicMethodException -header extends java/lang/RuntimeException flags 21 - -class name jdk/dynalink/Operation -header extends java/lang/Object flags 601 - -class name jdk/dynalink/RelinkableCallSite -header extends java/lang/Object flags 601 - -class name jdk/dynalink/SecureLookupSupplier -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/StandardNamespace -header extends java/lang/Enum implements jdk/dynalink/Namespace flags 4031 signature Ljava/lang/Enum;Ljdk/dynalink/Namespace; - -class name jdk/dynalink/StandardOperation -header extends java/lang/Enum implements jdk/dynalink/Operation flags 4031 signature Ljava/lang/Enum;Ljdk/dynalink/Operation; - -class name jdk/dynalink/beans/MissingMemberHandlerFactory -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; - -class name jdk/dynalink/linker/GuardedInvocation -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/linker/GuardedInvocationTransformer -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; - -class name jdk/dynalink/linker/GuardingDynamicLinker -header extends java/lang/Object flags 601 - -class name jdk/dynalink/linker/GuardingDynamicLinkerExporter -header extends java/lang/Object implements java/util/function/Supplier flags 421 signature Ljava/lang/Object;Ljava/util/function/Supplier;>; - -class name jdk/dynalink/linker/GuardingTypeConverterFactory -header extends java/lang/Object flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/linker/LinkRequest -header extends java/lang/Object flags 601 - -class name jdk/dynalink/linker/LinkerServices -header extends java/lang/Object flags 601 -innerclass innerClass jdk/dynalink/linker/ConversionComparator$Comparison outerClass jdk/dynalink/linker/ConversionComparator innerClassName Comparison flags 4019 - -class name jdk/dynalink/linker/MethodHandleTransformer -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; - -class name jdk/dynalink/linker/MethodTypeConversionStrategy -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; - -class name jdk/dynalink/linker/TypeBasedGuardingDynamicLinker -header extends java/lang/Object implements jdk/dynalink/linker/GuardingDynamicLinker flags 601 - -class name jdk/dynalink/linker/support/CompositeGuardingDynamicLinker -header extends java/lang/Object implements jdk/dynalink/linker/GuardingDynamicLinker flags 21 - -class name jdk/dynalink/linker/support/DefaultInternalObjectFilter -header extends java/lang/Object implements jdk/dynalink/linker/MethodHandleTransformer flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/linker/support/Guards -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/linker/support/Lookup -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/linker/support/SimpleLinkRequest -header extends java/lang/Object implements jdk/dynalink/linker/LinkRequest flags 21 - -class name jdk/dynalink/linker/support/TypeUtilities -header extends java/lang/Object flags 31 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 - -class name jdk/dynalink/support/AbstractRelinkableCallSite -header extends java/lang/invoke/MutableCallSite implements jdk/dynalink/RelinkableCallSite flags 421 - -class name jdk/dynalink/support/ChainedCallSite -header extends jdk/dynalink/support/AbstractRelinkableCallSite flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/support/SimpleRelinkableCallSite -header extends jdk/dynalink/support/AbstractRelinkableCallSite flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.dynalink-L.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.dynalink-L.sym.txt deleted file mode 100644 index 62666ffdd4c2b..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.dynalink-L.sym.txt +++ /dev/null @@ -1,136 +0,0 @@ -# -# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name jdk/dynalink/CallSiteDescriptor -header extends jdk/dynalink/SecureLookupSupplier flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/DynamicLinker -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/StackWalker$StackFrame outerClass java/lang/StackWalker innerClassName StackFrame flags 609 -innerclass innerClass java/lang/StackWalker$Option outerClass java/lang/StackWalker innerClassName Option flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/NamedOperation -header extends java/lang/Object implements jdk/dynalink/Operation flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/Namespace -header extends java/lang/Object flags 601 - -class name jdk/dynalink/NamespaceOperation -header extends java/lang/Object implements jdk/dynalink/Operation flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/NoSuchDynamicMethodException -header extends java/lang/RuntimeException flags 21 - -class name jdk/dynalink/Operation -header extends java/lang/Object flags 601 - -class name jdk/dynalink/RelinkableCallSite -header extends java/lang/Object flags 601 - -class name jdk/dynalink/SecureLookupSupplier -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/StandardNamespace -header extends java/lang/Enum implements jdk/dynalink/Namespace flags 4031 signature Ljava/lang/Enum;Ljdk/dynalink/Namespace; - -class name jdk/dynalink/StandardOperation -header extends java/lang/Enum implements jdk/dynalink/Operation flags 4031 signature Ljava/lang/Enum;Ljdk/dynalink/Operation; - -class name jdk/dynalink/beans/MissingMemberHandlerFactory -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; - -class name jdk/dynalink/linker/GuardedInvocation -header extends java/lang/Object flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/linker/GuardedInvocationTransformer -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; - -class name jdk/dynalink/linker/GuardingDynamicLinker -header extends java/lang/Object flags 601 - -class name jdk/dynalink/linker/GuardingDynamicLinkerExporter -header extends java/lang/Object implements java/util/function/Supplier flags 421 signature Ljava/lang/Object;Ljava/util/function/Supplier;>; - -class name jdk/dynalink/linker/GuardingTypeConverterFactory -header extends java/lang/Object flags 601 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/linker/LinkRequest -header extends java/lang/Object flags 601 - -class name jdk/dynalink/linker/LinkerServices -header extends java/lang/Object flags 601 -innerclass innerClass jdk/dynalink/linker/ConversionComparator$Comparison outerClass jdk/dynalink/linker/ConversionComparator innerClassName Comparison flags 4019 - -class name jdk/dynalink/linker/MethodHandleTransformer -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; - -class name jdk/dynalink/linker/MethodTypeConversionStrategy -header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface; - -class name jdk/dynalink/linker/TypeBasedGuardingDynamicLinker -header extends java/lang/Object implements jdk/dynalink/linker/GuardingDynamicLinker flags 601 - -class name jdk/dynalink/linker/support/CompositeGuardingDynamicLinker -header extends java/lang/Object implements jdk/dynalink/linker/GuardingDynamicLinker flags 21 - -class name jdk/dynalink/linker/support/DefaultInternalObjectFilter -header extends java/lang/Object implements jdk/dynalink/linker/MethodHandleTransformer flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/linker/support/Guards -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/linker/support/Lookup -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/linker/support/SimpleLinkRequest -header extends java/lang/Object implements jdk/dynalink/linker/LinkRequest flags 21 - -class name jdk/dynalink/linker/support/TypeUtilities -header extends java/lang/Object flags 31 -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 - -class name jdk/dynalink/support/AbstractRelinkableCallSite -header extends java/lang/invoke/MutableCallSite implements jdk/dynalink/RelinkableCallSite flags 421 - -class name jdk/dynalink/support/ChainedCallSite -header extends jdk/dynalink/support/AbstractRelinkableCallSite flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/dynalink/support/SimpleRelinkableCallSite -header extends jdk/dynalink/support/AbstractRelinkableCallSite flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.httpserver-H.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.httpserver-H.sym.txt index 9562d8d4f75c8..eeee816b038ef 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.httpserver-H.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.httpserver-H.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -30,35 +30,3 @@ class name com/sun/net/httpserver/Filter method name beforeHandler descriptor (Ljava/lang/String;Ljava/util/function/Consumer;)Lcom/sun/net/httpserver/Filter; flags 9 signature (Ljava/lang/String;Ljava/util/function/Consumer;)Lcom/sun/net/httpserver/Filter; method name afterHandler descriptor (Ljava/lang/String;Ljava/util/function/Consumer;)Lcom/sun/net/httpserver/Filter; flags 9 signature (Ljava/lang/String;Ljava/util/function/Consumer;)Lcom/sun/net/httpserver/Filter; -class name com/sun/net/httpserver/Headers -header extends java/lang/Object implements java/util/Map flags 21 signature Ljava/lang/Object;Ljava/util/Map;>; -innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609 - -class name com/sun/net/httpserver/HttpContext -header extends java/lang/Object flags 421 - -class name com/sun/net/httpserver/HttpHandler -header extends java/lang/Object flags 601 - -class name com/sun/net/httpserver/HttpPrincipal -header extends java/lang/Object implements java/security/Principal flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/net/httpserver/HttpServer -header extends java/lang/Object flags 421 - -class name com/sun/net/httpserver/HttpsConfigurator -header extends java/lang/Object flags 21 - -class name com/sun/net/httpserver/HttpsExchange -header extends com/sun/net/httpserver/HttpExchange flags 421 - -class name com/sun/net/httpserver/HttpsParameters -header extends java/lang/Object flags 421 - -class name com/sun/net/httpserver/HttpsServer -header extends com/sun/net/httpserver/HttpServer flags 421 - -class name com/sun/net/httpserver/spi/HttpServerProvider -header extends java/lang/Object flags 421 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.httpserver-I.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.httpserver-I.sym.txt index 5803e61c4ba94..b96329bca1a7b 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.httpserver-I.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.httpserver-I.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # 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,39 +42,20 @@ method name toString descriptor ()Ljava/lang/String; flags 1 method name of descriptor ([Ljava/lang/String;)Lcom/sun/net/httpserver/Headers; flags 89 method name of descriptor (Ljava/util/Map;)Lcom/sun/net/httpserver/Headers; flags 9 signature (Ljava/util/Map;>;)Lcom/sun/net/httpserver/Headers; -class name com/sun/net/httpserver/HttpContext -header extends java/lang/Object flags 421 - class name com/sun/net/httpserver/HttpExchange header extends java/lang/Object implements java/lang/AutoCloseable,com/sun/net/httpserver/Request flags 421 -class name com/sun/net/httpserver/HttpHandler -header extends java/lang/Object flags 601 - class name com/sun/net/httpserver/HttpHandlers header extends java/lang/Object flags 31 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 method name handleOrElse descriptor (Ljava/util/function/Predicate;Lcom/sun/net/httpserver/HttpHandler;Lcom/sun/net/httpserver/HttpHandler;)Lcom/sun/net/httpserver/HttpHandler; flags 9 signature (Ljava/util/function/Predicate;Lcom/sun/net/httpserver/HttpHandler;Lcom/sun/net/httpserver/HttpHandler;)Lcom/sun/net/httpserver/HttpHandler; method name of descriptor (ILcom/sun/net/httpserver/Headers;Ljava/lang/String;)Lcom/sun/net/httpserver/HttpHandler; flags 9 -class name com/sun/net/httpserver/HttpPrincipal -header extends java/lang/Object implements java/security/Principal flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name com/sun/net/httpserver/HttpServer header extends java/lang/Object flags 421 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 method name create descriptor (Ljava/net/InetSocketAddress;ILjava/lang/String;Lcom/sun/net/httpserver/HttpHandler;[Lcom/sun/net/httpserver/Filter;)Lcom/sun/net/httpserver/HttpServer; thrownTypes java/io/IOException flags 89 -class name com/sun/net/httpserver/HttpsConfigurator -header extends java/lang/Object flags 21 - -class name com/sun/net/httpserver/HttpsExchange -header extends com/sun/net/httpserver/HttpExchange flags 421 - -class name com/sun/net/httpserver/HttpsParameters -header extends java/lang/Object flags 421 - class name com/sun/net/httpserver/HttpsServer header extends com/sun/net/httpserver/HttpServer flags 421 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 diff --git a/src/jdk.compiler/share/data/symbols/jdk.httpserver-J.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.httpserver-J.sym.txt deleted file mode 100644 index f0e62cb28d6b5..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.httpserver-J.sym.txt +++ /dev/null @@ -1,47 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/net/httpserver/HttpContext -header extends java/lang/Object flags 421 - -class name com/sun/net/httpserver/HttpHandler -header extends java/lang/Object flags 601 - -class name com/sun/net/httpserver/HttpPrincipal -header extends java/lang/Object implements java/security/Principal flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/net/httpserver/HttpsConfigurator -header extends java/lang/Object flags 21 - -class name com/sun/net/httpserver/HttpsExchange -header extends com/sun/net/httpserver/HttpExchange flags 421 - -class name com/sun/net/httpserver/HttpsParameters -header extends java/lang/Object flags 421 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.httpserver-K.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.httpserver-K.sym.txt deleted file mode 100644 index f0e62cb28d6b5..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.httpserver-K.sym.txt +++ /dev/null @@ -1,47 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/net/httpserver/HttpContext -header extends java/lang/Object flags 421 - -class name com/sun/net/httpserver/HttpHandler -header extends java/lang/Object flags 601 - -class name com/sun/net/httpserver/HttpPrincipal -header extends java/lang/Object implements java/security/Principal flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/net/httpserver/HttpsConfigurator -header extends java/lang/Object flags 21 - -class name com/sun/net/httpserver/HttpsExchange -header extends com/sun/net/httpserver/HttpExchange flags 421 - -class name com/sun/net/httpserver/HttpsParameters -header extends java/lang/Object flags 421 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.httpserver-L.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.httpserver-L.sym.txt deleted file mode 100644 index a74ed7cc74b24..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.httpserver-L.sym.txt +++ /dev/null @@ -1,47 +0,0 @@ -# -# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/net/httpserver/HttpContext -header extends java/lang/Object flags 421 - -class name com/sun/net/httpserver/HttpHandler -header extends java/lang/Object flags 601 - -class name com/sun/net/httpserver/HttpPrincipal -header extends java/lang/Object implements java/security/Principal flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/net/httpserver/HttpsConfigurator -header extends java/lang/Object flags 21 - -class name com/sun/net/httpserver/HttpsExchange -header extends com/sun/net/httpserver/HttpExchange flags 421 - -class name com/sun/net/httpserver/HttpsParameters -header extends java/lang/Object flags 421 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-H.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-H.sym.txt index d5349d378bfd7..dd4e9bdecbe79 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-H.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-H.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,8 +26,11 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # +module name jdk.incubator.foreign +header exports jdk/incubator/foreign extraModulePackages jdk/internal/foreign,jdk/internal/foreign/abi,jdk/internal/foreign/abi/aarch64/linux,jdk/internal/foreign/abi/aarch64/macos,jdk/internal/foreign/abi/x64/sysv,jdk/internal/foreign/abi/x64/windows requires name\u0020;java.base\u0020;flags\u0020;8000 target linux-amd64 resolution 9 flags 8000 + class name jdk/incubator/foreign/CLinker -header extends java/lang/Object nestMembers jdk/incubator/foreign/CLinker$TypeKind,jdk/incubator/foreign/CLinker$VaList,jdk/incubator/foreign/CLinker$VaList$Builder sealed true flags 601 +header extends java/lang/Object nestMembers jdk/incubator/foreign/CLinker$TypeKind,jdk/incubator/foreign/CLinker$VaList,jdk/incubator/foreign/CLinker$VaList$Builder sealed true permittedSubclasses jdk/internal/foreign/AbstractCLinker flags 601 innerclass innerClass jdk/incubator/foreign/CLinker$TypeKind outerClass jdk/incubator/foreign/CLinker innerClassName TypeKind flags 4019 innerclass innerClass jdk/incubator/foreign/CLinker$VaList outerClass jdk/incubator/foreign/CLinker innerClassName VaList flags 609 innerclass innerClass jdk/incubator/foreign/CLinker$VaList$Builder outerClass jdk/incubator/foreign/CLinker$VaList innerClassName Builder flags 609 @@ -54,9 +57,10 @@ method name allocateMemory descriptor (J)Ljdk/incubator/foreign/MemoryAddress; f method name freeMemory descriptor (Ljdk/incubator/foreign/MemoryAddress;)V flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; class name jdk/incubator/foreign/CLinker$VaList -header extends java/lang/Object implements jdk/incubator/foreign/Addressable nestHost jdk/incubator/foreign/CLinker sealed true flags 601 +header extends java/lang/Object implements jdk/incubator/foreign/Addressable nestHost jdk/incubator/foreign/CLinker sealed true permittedSubclasses jdk/internal/foreign/abi/x64/windows/WinVaList,jdk/internal/foreign/abi/x64/sysv/SysVVaList,jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList,jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList,jdk/internal/foreign/abi/SharedUtils$EmptyVaList flags 601 innerclass innerClass jdk/incubator/foreign/CLinker$VaList outerClass jdk/incubator/foreign/CLinker innerClassName VaList flags 609 innerclass innerClass jdk/incubator/foreign/CLinker$VaList$Builder outerClass jdk/incubator/foreign/CLinker$VaList innerClassName Builder flags 609 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 9 -method name vargAsSegment descriptor (Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/MemorySegment; -method name vargAsSegment descriptor (Ljdk/incubator/foreign/MemoryLayout;Ljdk/incubator/foreign/NativeScope;)Ljdk/incubator/foreign/MemorySegment; -method name isAlive descriptor ()Z @@ -73,9 +77,13 @@ method name ofAddress descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incu method name make descriptor (Ljava/util/function/Consumer;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/CLinker$VaList; flags 9 signature (Ljava/util/function/Consumer;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/CLinker$VaList; class name jdk/incubator/foreign/CLinker$VaList$Builder -header extends java/lang/Object nestHost jdk/incubator/foreign/CLinker sealed true flags 601 +header extends java/lang/Object nestHost jdk/incubator/foreign/CLinker sealed true permittedSubclasses jdk/internal/foreign/abi/x64/windows/WinVaList$Builder,jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder,jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder,jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder flags 601 innerclass innerClass jdk/incubator/foreign/CLinker$VaList outerClass jdk/incubator/foreign/CLinker innerClassName VaList flags 609 innerclass innerClass jdk/incubator/foreign/CLinker$VaList$Builder outerClass jdk/incubator/foreign/CLinker$VaList innerClassName Builder flags 609 +innerclass innerClass jdk/internal/foreign/abi/x64/windows/WinVaList$Builder outerClass jdk/internal/foreign/abi/x64/windows/WinVaList innerClassName Builder flags 9 +innerclass innerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder outerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList innerClassName Builder flags 9 +innerclass innerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList innerClassName Builder flags 9 +innerclass innerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList innerClassName Builder flags 9 class name jdk/incubator/foreign/GroupLayout header extends jdk/incubator/foreign/AbstractLayout implements jdk/incubator/foreign/MemoryLayout flags 31 @@ -88,7 +96,7 @@ innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang -class name jdk/incubator/foreign/MappedMemorySegments class name jdk/incubator/foreign/MemoryAddress -header extends java/lang/Object implements jdk/incubator/foreign/Addressable sealed true flags 601 +header extends java/lang/Object implements jdk/incubator/foreign/Addressable sealed true permittedSubclasses jdk/internal/foreign/MemoryAddressImpl flags 601 -method name asSegmentRestricted descriptor (J)Ljdk/incubator/foreign/MemorySegment; -method name asSegmentRestricted descriptor (JLjava/lang/Runnable;Ljava/lang/Object;)Ljdk/incubator/foreign/MemorySegment; method name scope descriptor ()Ljdk/incubator/foreign/ResourceScope; flags 401 @@ -97,7 +105,8 @@ method name asSegment descriptor (JLjava/lang/Runnable;Ljdk/incubator/foreign/Re method name isNative descriptor ()Z flags 401 class name jdk/incubator/foreign/MemoryLayout -header extends java/lang/Object implements java/lang/constant/Constable nestMembers jdk/incubator/foreign/MemoryLayout$PathElement sealed true flags 601 +header extends java/lang/Object implements java/lang/constant/Constable nestMembers jdk/incubator/foreign/MemoryLayout$PathElement sealed true permittedSubclasses jdk/incubator/foreign/AbstractLayout,jdk/incubator/foreign/SequenceLayout,jdk/incubator/foreign/GroupLayout,jdk/incubator/foreign/PaddingLayout,jdk/incubator/foreign/ValueLayout flags 601 +innerclass innerClass jdk/internal/foreign/LayoutPath$PathElementImpl outerClass jdk/internal/foreign/LayoutPath innerClassName PathElementImpl flags 19 innerclass innerClass jdk/incubator/foreign/MemoryLayout$PathElement outerClass jdk/incubator/foreign/MemoryLayout innerClassName PathElement flags 609 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -method name ofPaddingBits descriptor (J)Ljdk/incubator/foreign/MemoryLayout; @@ -115,12 +124,13 @@ method name structLayout descriptor ([Ljdk/incubator/foreign/MemoryLayout;)Ljdk/ method name unionLayout descriptor ([Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/GroupLayout; flags 89 class name jdk/incubator/foreign/MemoryLayout$PathElement -header extends java/lang/Object nestHost jdk/incubator/foreign/MemoryLayout sealed true flags 601 +header extends java/lang/Object nestHost jdk/incubator/foreign/MemoryLayout sealed true permittedSubclasses jdk/internal/foreign/LayoutPath$PathElementImpl flags 601 +innerclass innerClass jdk/internal/foreign/LayoutPath$PathElementImpl outerClass jdk/internal/foreign/LayoutPath innerClassName PathElementImpl flags 19 innerclass innerClass jdk/incubator/foreign/MemoryLayout$PathElement outerClass jdk/incubator/foreign/MemoryLayout innerClassName PathElement flags 609 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 class name jdk/incubator/foreign/MemorySegment -header extends java/lang/Object implements jdk/incubator/foreign/Addressable sealed true flags 601 +header extends java/lang/Object implements jdk/incubator/foreign/Addressable sealed true permittedSubclasses jdk/internal/foreign/AbstractMemorySegmentImpl flags 601 innerclass innerClass java/nio/channels/FileChannel$MapMode outerClass java/nio/channels/FileChannel innerClassName MapMode flags 9 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -field name READ descriptor I @@ -163,8 +173,26 @@ method name globalNativeSegment descriptor ()Ljdk/incubator/foreign/MemorySegmen -class name jdk/incubator/foreign/NativeScope +class name jdk/incubator/foreign/PaddingLayout +header extends jdk/incubator/foreign/AbstractLayout implements jdk/incubator/foreign/MemoryLayout flags 30 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name toString descriptor ()Ljava/lang/String; flags 1 +method name equals descriptor (Ljava/lang/Object;)Z flags 1 +method name hashCode descriptor ()I flags 1 +method name hasNaturalAlignment descriptor ()Z flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional;>; +method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/PaddingLayout; flags 1 +method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/PaddingLayout; flags 1 +method name withAttribute descriptor (Ljava/lang/String;Ljava/lang/constant/Constable;)Ljdk/incubator/foreign/PaddingLayout; flags 1 +method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/AbstractLayout; flags 1041 +method name withAttribute descriptor (Ljava/lang/String;Ljava/lang/constant/Constable;)Ljdk/incubator/foreign/AbstractLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/AbstractLayout; flags 1041 +method name withAttribute descriptor (Ljava/lang/String;Ljava/lang/constant/Constable;)Ljdk/incubator/foreign/MemoryLayout; flags 1041 +method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/MemoryLayout; flags 1041 +method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/MemoryLayout; flags 1041 + class name jdk/incubator/foreign/ResourceScope -header extends java/lang/Object implements java/lang/AutoCloseable nestMembers jdk/incubator/foreign/ResourceScope$Handle sealed true flags 601 +header extends java/lang/Object implements java/lang/AutoCloseable nestMembers jdk/incubator/foreign/ResourceScope$Handle sealed true permittedSubclasses jdk/internal/foreign/ResourceScopeImpl flags 601 innerclass innerClass jdk/incubator/foreign/ResourceScope$Handle outerClass jdk/incubator/foreign/ResourceScope innerClassName Handle flags 609 method name isAlive descriptor ()Z flags 401 method name ownerThread descriptor ()Ljava/lang/Thread; flags 401 @@ -181,8 +209,9 @@ method name newImplicitScope descriptor ()Ljdk/incubator/foreign/ResourceScope; method name globalScope descriptor ()Ljdk/incubator/foreign/ResourceScope; flags 9 class name jdk/incubator/foreign/ResourceScope$Handle -header extends java/lang/Object nestHost jdk/incubator/foreign/ResourceScope sealed true flags 601 +header extends java/lang/Object nestHost jdk/incubator/foreign/ResourceScope sealed true permittedSubclasses jdk/internal/foreign/ResourceScopeImpl$HandleImpl flags 601 innerclass innerClass jdk/incubator/foreign/ResourceScope$Handle outerClass jdk/incubator/foreign/ResourceScope innerClassName Handle flags 609 +innerclass innerClass jdk/internal/foreign/ResourceScopeImpl$HandleImpl outerClass jdk/internal/foreign/ResourceScopeImpl innerClassName HandleImpl flags 609 method name scope descriptor ()Ljdk/incubator/foreign/ResourceScope; flags 401 class name jdk/incubator/foreign/SegmentAllocator @@ -224,3 +253,363 @@ innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang method name lookup descriptor (Ljava/lang/String;)Ljava/util/Optional; flags 401 signature (Ljava/lang/String;)Ljava/util/Optional; method name loaderLookup descriptor ()Ljdk/incubator/foreign/SymbolLookup; flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; +class name jdk/internal/foreign/AbstractCLinker +header extends java/lang/Object implements jdk/incubator/foreign/CLinker flags 421 +method name descriptor ()V flags 1 +method name downcallHandle descriptor (Ljdk/incubator/foreign/Addressable;Ljava/lang/invoke/MethodType;Ljdk/incubator/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; flags 11 +method name downcallHandle descriptor (Ljdk/incubator/foreign/Addressable;Ljdk/incubator/foreign/SegmentAllocator;Ljava/lang/invoke/MethodType;Ljdk/incubator/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; flags 11 + +class name jdk/internal/foreign/AbstractMemorySegmentImpl +header extends jdk/internal/access/foreign/MemorySegmentProxy implements jdk/incubator/foreign/MemorySegment flags 421 +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope outerClass jdk/internal/misc/ScopedMemoryAccess innerClassName Scope flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name asReadOnly descriptor ()Ljdk/internal/foreign/AbstractMemorySegmentImpl; flags 1 +method name isReadOnly descriptor ()Z flags 1 +method name asSlice descriptor (JJ)Ljdk/internal/foreign/AbstractMemorySegmentImpl; flags 1 +method name asSlice descriptor (J)Ljdk/internal/foreign/AbstractMemorySegmentImpl; flags 1 +method name spliterator descriptor (Ljdk/incubator/foreign/MemoryLayout;)Ljava/util/Spliterator; flags 1 signature (Ljdk/incubator/foreign/MemoryLayout;)Ljava/util/Spliterator; +method name elements descriptor (Ljdk/incubator/foreign/MemoryLayout;)Ljava/util/stream/Stream; flags 1 signature (Ljdk/incubator/foreign/MemoryLayout;)Ljava/util/stream/Stream; +method name fill descriptor (B)Ljdk/incubator/foreign/MemorySegment; flags 11 +method name copyFrom descriptor (Ljdk/incubator/foreign/MemorySegment;)V flags 1 +method name copyFromSwap descriptor (Ljdk/incubator/foreign/MemorySegment;J)V flags 1 +method name mismatch descriptor (Ljdk/incubator/foreign/MemorySegment;)J flags 1 +method name address descriptor ()Ljdk/incubator/foreign/MemoryAddress; flags 11 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name asByteBuffer descriptor ()Ljava/nio/ByteBuffer; flags 11 +method name byteSize descriptor ()J flags 11 +method name isAlive descriptor ()Z flags 11 +method name ownerThread descriptor ()Ljava/lang/Thread; flags 1 +method name isMapped descriptor ()Z flags 1 +method name isNative descriptor ()Z flags 1 +method name load descriptor ()V flags 1 +method name unload descriptor ()V flags 1 +method name isLoaded descriptor ()Z flags 1 +method name force descriptor ()V flags 1 +method name toByteArray descriptor ()[B flags 11 +method name toShortArray descriptor ()[S flags 11 +method name toCharArray descriptor ()[C flags 11 +method name toIntArray descriptor ()[I flags 11 +method name toFloatArray descriptor ()[F flags 11 +method name toLongArray descriptor ()[J flags 11 +method name toDoubleArray descriptor ()[D flags 11 +method name isSmall descriptor ()Z flags 1 +method name checkAccess descriptor (JJZ)V flags 1 +method name unsafeGetOffset descriptor ()J flags 1 +method name unsafeGetBase descriptor ()Ljava/lang/Object; flags 1 +method name scope descriptor ()Ljdk/internal/foreign/ResourceScopeImpl; flags 1 +method name id descriptor ()I flags 4 +method name toString descriptor ()Ljava/lang/String; flags 1 +method name ofBuffer descriptor (Ljava/nio/ByteBuffer;)Ljdk/internal/foreign/AbstractMemorySegmentImpl; flags 9 +method name scope descriptor ()Ljdk/internal/misc/ScopedMemoryAccess$Scope; flags 1041 +method name asReadOnly descriptor ()Ljdk/incubator/foreign/MemorySegment; flags 1041 +method name asSlice descriptor (J)Ljdk/incubator/foreign/MemorySegment; flags 1041 +method name asSlice descriptor (JJ)Ljdk/incubator/foreign/MemorySegment; flags 1041 +method name scope descriptor ()Ljdk/incubator/foreign/ResourceScope; flags 1041 + +class name jdk/internal/foreign/LayoutPath +header extends java/lang/Object nestMembers jdk/internal/foreign/LayoutPath$PathElementImpl flags 21 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +innerclass innerClass jdk/internal/foreign/LayoutPath$PathElementImpl outerClass jdk/internal/foreign/LayoutPath innerClassName PathElementImpl flags 19 +method name sequenceElement descriptor ()Ljdk/internal/foreign/LayoutPath; flags 1 +method name sequenceElement descriptor (JJ)Ljdk/internal/foreign/LayoutPath; flags 1 +method name sequenceElement descriptor (J)Ljdk/internal/foreign/LayoutPath; flags 1 +method name groupElement descriptor (Ljava/lang/String;)Ljdk/internal/foreign/LayoutPath; flags 1 +method name offset descriptor ()J flags 1 +method name dereferenceHandle descriptor (Ljava/lang/Class;)Ljava/lang/invoke/VarHandle; flags 1 signature (Ljava/lang/Class<*>;)Ljava/lang/invoke/VarHandle; +method name offsetHandle descriptor ()Ljava/lang/invoke/MethodHandle; flags 1 +method name sliceHandle descriptor ()Ljava/lang/invoke/MethodHandle; flags 1 +method name layout descriptor ()Ljdk/incubator/foreign/MemoryLayout; flags 1 +method name map descriptor (Ljava/util/function/UnaryOperator;)Ljdk/incubator/foreign/MemoryLayout; flags 1 signature (Ljava/util/function/UnaryOperator;)Ljdk/incubator/foreign/MemoryLayout; +method name rootPath descriptor (Ljdk/incubator/foreign/MemoryLayout;Ljava/util/function/ToLongFunction;)Ljdk/internal/foreign/LayoutPath; flags 9 signature (Ljdk/incubator/foreign/MemoryLayout;Ljava/util/function/ToLongFunction;)Ljdk/internal/foreign/LayoutPath; + +class name jdk/internal/foreign/LayoutPath$PathElementImpl +header extends java/lang/Object implements jdk/incubator/foreign/MemoryLayout$PathElement,java/util/function/UnaryOperator nestHost jdk/internal/foreign/LayoutPath flags 31 signature Ljava/lang/Object;Ljdk/incubator/foreign/MemoryLayout$PathElement;Ljava/util/function/UnaryOperator; +innerclass innerClass jdk/internal/foreign/LayoutPath$PathElementImpl outerClass jdk/internal/foreign/LayoutPath innerClassName PathElementImpl flags 19 +innerclass innerClass jdk/incubator/foreign/MemoryLayout$PathElement outerClass jdk/incubator/foreign/MemoryLayout innerClassName PathElement flags 609 +method name descriptor (Ljdk/internal/foreign/LayoutPath$PathElementImpl$PathKind;Ljava/util/function/UnaryOperator;)V flags 1 signature (Ljdk/internal/foreign/LayoutPath$PathElementImpl$PathKind;Ljava/util/function/UnaryOperator;)V +method name apply descriptor (Ljdk/internal/foreign/LayoutPath;)Ljdk/internal/foreign/LayoutPath; flags 1 +method name kind descriptor ()Ljdk/internal/foreign/LayoutPath$PathElementImpl$PathKind; flags 1 +method name apply descriptor (Ljava/lang/Object;)Ljava/lang/Object; flags 1041 + +class name jdk/internal/foreign/MemoryAddressImpl +header extends java/lang/Object implements jdk/incubator/foreign/MemoryAddress flags 31 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name descriptor (Ljdk/internal/foreign/AbstractMemorySegmentImpl;J)V flags 1 +method name scope descriptor ()Ljdk/incubator/foreign/ResourceScope; flags 1 +method name addOffset descriptor (J)Ljdk/incubator/foreign/MemoryAddress; flags 1 +method name segmentOffset descriptor (Ljdk/incubator/foreign/MemorySegment;)J flags 1 +method name isNative descriptor ()Z flags 1 +method name toRawLongValue descriptor ()J flags 1 +method name hashCode descriptor ()I flags 1 +method name equals descriptor (Ljava/lang/Object;)Z flags 1 +method name toString descriptor ()Ljava/lang/String; flags 1 +method name asSegment descriptor (JLjdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/MemorySegment; flags 11 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; +method name asSegment descriptor (JLjava/lang/Runnable;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/MemorySegment; flags 11 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; +method name ofLongUnchecked descriptor (J)Ljdk/incubator/foreign/MemorySegment; flags 9 +method name ofLongUnchecked descriptor (JJLjdk/internal/foreign/ResourceScopeImpl;)Ljdk/incubator/foreign/MemorySegment; flags 9 +method name ofLongUnchecked descriptor (JJ)Ljdk/incubator/foreign/MemorySegment; flags 9 + +class name jdk/internal/foreign/ResourceScopeImpl +header extends java/lang/Object implements jdk/incubator/foreign/ResourceScope,jdk/internal/misc/ScopedMemoryAccess$Scope,jdk/incubator/foreign/SegmentAllocator nestMembers jdk/internal/foreign/ResourceScopeImpl$ResourceList,jdk/internal/foreign/ResourceScopeImpl$ResourceList$ResourceCleanup,jdk/internal/foreign/ResourceScopeImpl$HandleImpl flags 421 +innerclass innerClass jdk/internal/foreign/ResourceScopeImpl$ResourceList outerClass jdk/internal/foreign/ResourceScopeImpl innerClassName ResourceList flags 409 +innerclass innerClass jdk/internal/foreign/ResourceScopeImpl$ResourceList$ResourceCleanup outerClass jdk/internal/foreign/ResourceScopeImpl$ResourceList innerClassName ResourceCleanup flags 409 +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope outerClass jdk/internal/misc/ScopedMemoryAccess innerClassName Scope flags 609 +innerclass innerClass java/lang/ref/Cleaner$Cleanable outerClass java/lang/ref/Cleaner innerClassName Cleanable flags 609 +innerclass innerClass jdk/internal/foreign/ResourceScopeImpl$HandleImpl outerClass jdk/internal/foreign/ResourceScopeImpl innerClassName HandleImpl flags 609 +innerclass innerClass jdk/incubator/foreign/ResourceScope$Handle outerClass jdk/incubator/foreign/ResourceScope innerClassName Handle flags 609 +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope$Handle outerClass jdk/internal/misc/ScopedMemoryAccess$Scope innerClassName Handle flags 609 +field name GLOBAL descriptor Ljdk/internal/foreign/ResourceScopeImpl; flags 19 +method name addCloseAction descriptor (Ljava/lang/Runnable;)V flags 1 +method name isImplicit descriptor ()Z flags 1 +method name addOrCleanupIfFail descriptor (Ljdk/internal/foreign/ResourceScopeImpl$ResourceList$ResourceCleanup;)V flags 1 +method name descriptor (Ljava/lang/ref/Cleaner;Ljdk/internal/foreign/ResourceScopeImpl$ResourceList;)V flags 4 +method name createImplicitScope descriptor ()Ljdk/internal/foreign/ResourceScopeImpl; flags 9 +method name createConfined descriptor (Ljava/lang/Thread;Ljava/lang/ref/Cleaner;)Ljdk/internal/foreign/ResourceScopeImpl; flags 9 +method name createConfined descriptor (Ljava/lang/ref/Cleaner;)Ljdk/internal/foreign/ResourceScopeImpl; flags 9 +method name createShared descriptor (Ljava/lang/ref/Cleaner;)Ljdk/internal/foreign/ResourceScopeImpl; flags 9 +method name release descriptor (Ljdk/incubator/foreign/ResourceScope$Handle;)V flags 11 +method name release descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope$Handle;)V flags 11 +method name acquire descriptor ()Ljdk/internal/foreign/ResourceScopeImpl$HandleImpl; flags 401 +method name close descriptor ()V flags 1 +method name ownerThread descriptor ()Ljava/lang/Thread; flags 401 +method name isAlive descriptor ()Z flags 401 +method name checkValidState descriptor ()V flags 401 +method name checkValidStateSlow descriptor ()V flags 11 +method name clone descriptor ()Ljava/lang/Object; thrownTypes java/lang/CloneNotSupportedException flags 4 +method name allocate descriptor (JJ)Ljdk/incubator/foreign/MemorySegment; flags 1 +method name acquire descriptor ()Ljdk/incubator/foreign/ResourceScope$Handle; flags 1041 +method name acquire descriptor ()Ljdk/internal/misc/ScopedMemoryAccess$Scope$Handle; flags 1041 + +class name jdk/internal/foreign/ResourceScopeImpl$HandleImpl +header extends java/lang/Object implements jdk/incubator/foreign/ResourceScope$Handle,jdk/internal/misc/ScopedMemoryAccess$Scope$Handle nestHost jdk/internal/foreign/ResourceScopeImpl flags 601 +innerclass innerClass jdk/internal/foreign/ResourceScopeImpl$HandleImpl outerClass jdk/internal/foreign/ResourceScopeImpl innerClassName HandleImpl flags 609 +innerclass innerClass jdk/incubator/foreign/ResourceScope$Handle outerClass jdk/incubator/foreign/ResourceScope innerClassName Handle flags 609 +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope outerClass jdk/internal/misc/ScopedMemoryAccess innerClassName Scope flags 609 +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope$Handle outerClass jdk/internal/misc/ScopedMemoryAccess$Scope innerClassName Handle flags 609 +method name scope descriptor ()Ljdk/internal/foreign/ResourceScopeImpl; flags 401 +method name release descriptor ()V flags 401 +method name scope descriptor ()Ljdk/incubator/foreign/ResourceScope; flags 1041 +method name scope descriptor ()Ljdk/internal/misc/ScopedMemoryAccess$Scope; flags 1041 + +class name jdk/internal/foreign/ResourceScopeImpl$ResourceList +header extends java/lang/Object implements java/lang/Runnable nestHost jdk/internal/foreign/ResourceScopeImpl flags 421 +innerclass innerClass jdk/internal/foreign/ResourceScopeImpl$ResourceList outerClass jdk/internal/foreign/ResourceScopeImpl innerClassName ResourceList flags 409 +innerclass innerClass jdk/internal/foreign/ResourceScopeImpl$ResourceList$ResourceCleanup outerClass jdk/internal/foreign/ResourceScopeImpl$ResourceList innerClassName ResourceCleanup flags 409 +method name descriptor ()V flags 1 +method name run descriptor ()V flags 11 + +class name jdk/internal/foreign/ResourceScopeImpl$ResourceList$ResourceCleanup +header extends java/lang/Object nestHost jdk/internal/foreign/ResourceScopeImpl flags 421 +innerclass innerClass jdk/internal/foreign/ResourceScopeImpl$ResourceList outerClass jdk/internal/foreign/ResourceScopeImpl innerClassName ResourceList flags 409 +innerclass innerClass jdk/internal/foreign/ResourceScopeImpl$ResourceList$ResourceCleanup outerClass jdk/internal/foreign/ResourceScopeImpl$ResourceList innerClassName ResourceCleanup flags 409 +method name descriptor ()V flags 1 +method name cleanup descriptor ()V flags 401 + +class name jdk/internal/foreign/abi/SharedUtils +header extends java/lang/Object nestMembers jdk/internal/foreign/abi/SharedUtils$EmptyVaList flags 21 +innerclass innerClass jdk/incubator/foreign/CLinker$VaList outerClass jdk/incubator/foreign/CLinker innerClassName VaList flags 609 +innerclass innerClass jdk/incubator/foreign/MemoryLayout$PathElement outerClass jdk/incubator/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 9 +innerclass innerClass jdk/incubator/foreign/CLinker$VaList$Builder outerClass jdk/incubator/foreign/CLinker$VaList innerClassName Builder flags 609 +field name THROWING_ALLOCATOR descriptor Ljdk/incubator/foreign/SegmentAllocator; flags 19 +method name descriptor ()V flags 1 +method name align descriptor (Ljdk/incubator/foreign/MemoryLayout;ZJ)J flags 9 +method name alignUp descriptor (JJ)J flags 9 +method name alignment descriptor (Ljdk/incubator/foreign/MemoryLayout;Z)J flags 9 +method name adaptDowncallForIMR descriptor (Ljava/lang/invoke/MethodHandle;Ljdk/incubator/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; flags 9 +method name adaptUpcallForIMR descriptor (Ljava/lang/invoke/MethodHandle;Z)Ljava/lang/invoke/MethodHandle; flags 9 +method name checkCompatibleType descriptor (Ljava/lang/Class;Ljdk/incubator/foreign/MemoryLayout;J)V flags 9 signature (Ljava/lang/Class<*>;Ljdk/incubator/foreign/MemoryLayout;J)V +method name checkFunctionTypes descriptor (Ljava/lang/invoke/MethodType;Ljdk/incubator/foreign/FunctionDescriptor;J)V flags 9 +method name primitiveCarrierForSize descriptor (JZ)Ljava/lang/Class; flags 9 signature (JZ)Ljava/lang/Class<*>; +method name getSystemLinker descriptor ()Ljdk/incubator/foreign/CLinker; flags 9 +method name toJavaStringInternal descriptor (Ljdk/incubator/foreign/MemorySegment;J)Ljava/lang/String; flags 9 +method name checkSymbol descriptor (Ljdk/incubator/foreign/Addressable;)Ljdk/incubator/foreign/MemoryAddress; flags 9 +method name checkAddress descriptor (Ljdk/incubator/foreign/MemoryAddress;)Ljdk/incubator/foreign/MemoryAddress; flags 9 +method name allocateMemoryInternal descriptor (J)Ljdk/incubator/foreign/MemoryAddress; flags 9 +method name freeMemoryInternal descriptor (Ljdk/incubator/foreign/MemoryAddress;)V flags 9 +method name newVaList descriptor (Ljava/util/function/Consumer;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/CLinker$VaList; flags 9 signature (Ljava/util/function/Consumer;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/CLinker$VaList; +method name vhPrimitiveOrAddress descriptor (Ljava/lang/Class;Ljdk/incubator/foreign/MemoryLayout;)Ljava/lang/invoke/VarHandle; flags 9 signature (Ljava/lang/Class<*>;Ljdk/incubator/foreign/MemoryLayout;)Ljava/lang/invoke/VarHandle; +method name newVaListOfAddress descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/CLinker$VaList; flags 9 +method name emptyVaList descriptor ()Ljdk/incubator/foreign/CLinker$VaList; flags 9 +method name convertVaListCarriers descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/Class;)Ljava/lang/invoke/MethodType; flags 9 signature (Ljava/lang/invoke/MethodType;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodType; +method name unboxVaLists descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle; flags 9 +method name boxVaLists descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle; flags 9 +method name isTrivial descriptor (Ljdk/incubator/foreign/FunctionDescriptor;)Z flags 9 + +class name jdk/internal/foreign/abi/SharedUtils$EmptyVaList +header extends java/lang/Object implements jdk/incubator/foreign/CLinker$VaList nestHost jdk/internal/foreign/abi/SharedUtils flags 21 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 9 +innerclass innerClass jdk/incubator/foreign/CLinker$VaList outerClass jdk/incubator/foreign/CLinker innerClassName VaList flags 609 +method name descriptor (Ljdk/incubator/foreign/MemoryAddress;)V flags 1 +method name vargAsInt descriptor (Ljdk/incubator/foreign/MemoryLayout;)I flags 1 +method name vargAsLong descriptor (Ljdk/incubator/foreign/MemoryLayout;)J flags 1 +method name vargAsDouble descriptor (Ljdk/incubator/foreign/MemoryLayout;)D flags 1 +method name vargAsAddress descriptor (Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/MemoryAddress; flags 1 +method name vargAsSegment descriptor (Ljdk/incubator/foreign/MemoryLayout;Ljdk/incubator/foreign/SegmentAllocator;)Ljdk/incubator/foreign/MemorySegment; flags 1 +method name vargAsSegment descriptor (Ljdk/incubator/foreign/MemoryLayout;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/MemorySegment; flags 1 +method name skip descriptor ([Ljdk/incubator/foreign/MemoryLayout;)V flags 81 +method name scope descriptor ()Ljdk/incubator/foreign/ResourceScope; flags 1 +method name copy descriptor ()Ljdk/incubator/foreign/CLinker$VaList; flags 1 +method name address descriptor ()Ljdk/incubator/foreign/MemoryAddress; flags 1 + +class name jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList +header extends java/lang/Object implements jdk/incubator/foreign/CLinker$VaList nestMembers jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder flags 21 +innerclass innerClass java/lang/ref/Cleaner$Cleanable outerClass java/lang/ref/Cleaner innerClassName Cleanable flags 609 +innerclass innerClass jdk/incubator/foreign/CLinker$VaList outerClass jdk/incubator/foreign/CLinker innerClassName VaList flags 609 +innerclass innerClass jdk/incubator/foreign/MemoryLayout$PathElement outerClass jdk/incubator/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList innerClassName Builder flags 9 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 9 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name empty descriptor ()Ljdk/incubator/foreign/CLinker$VaList; flags 9 +method name vargAsInt descriptor (Ljdk/incubator/foreign/MemoryLayout;)I flags 1 +method name vargAsLong descriptor (Ljdk/incubator/foreign/MemoryLayout;)J flags 1 +method name vargAsDouble descriptor (Ljdk/incubator/foreign/MemoryLayout;)D flags 1 +method name vargAsAddress descriptor (Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/MemoryAddress; flags 1 +method name vargAsSegment descriptor (Ljdk/incubator/foreign/MemoryLayout;Ljdk/incubator/foreign/SegmentAllocator;)Ljdk/incubator/foreign/MemorySegment; flags 1 +method name vargAsSegment descriptor (Ljdk/incubator/foreign/MemoryLayout;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/MemorySegment; flags 1 +method name skip descriptor ([Ljdk/incubator/foreign/MemoryLayout;)V flags 81 +method name ofAddress descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/CLinker$VaList; flags 9 +method name scope descriptor ()Ljdk/incubator/foreign/ResourceScope; flags 1 +method name copy descriptor ()Ljdk/incubator/foreign/CLinker$VaList; flags 1 +method name address descriptor ()Ljdk/incubator/foreign/MemoryAddress; flags 1 +method name toString descriptor ()Ljava/lang/String; flags 1 + +class name jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder +header extends java/lang/Object implements jdk/incubator/foreign/CLinker$VaList$Builder nestHost jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList flags 21 +innerclass innerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList innerClassName Builder flags 9 +innerclass innerClass jdk/incubator/foreign/MemoryLayout$PathElement outerClass jdk/incubator/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass jdk/incubator/foreign/CLinker$VaList outerClass jdk/incubator/foreign/CLinker innerClassName VaList flags 609 +innerclass innerClass jdk/incubator/foreign/CLinker$VaList$Builder outerClass jdk/incubator/foreign/CLinker$VaList innerClassName Builder flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name vargFromInt descriptor (Ljdk/incubator/foreign/ValueLayout;I)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; flags 1 +method name vargFromLong descriptor (Ljdk/incubator/foreign/ValueLayout;J)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; flags 1 +method name vargFromDouble descriptor (Ljdk/incubator/foreign/ValueLayout;D)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; flags 1 +method name vargFromAddress descriptor (Ljdk/incubator/foreign/ValueLayout;Ljdk/incubator/foreign/Addressable;)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; flags 1 +method name vargFromSegment descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; flags 1 +method name build descriptor ()Ljdk/incubator/foreign/CLinker$VaList; flags 1 +method name vargFromSegment descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/incubator/foreign/CLinker$VaList$Builder; flags 1041 +method name vargFromAddress descriptor (Ljdk/incubator/foreign/ValueLayout;Ljdk/incubator/foreign/Addressable;)Ljdk/incubator/foreign/CLinker$VaList$Builder; flags 1041 +method name vargFromDouble descriptor (Ljdk/incubator/foreign/ValueLayout;D)Ljdk/incubator/foreign/CLinker$VaList$Builder; flags 1041 +method name vargFromLong descriptor (Ljdk/incubator/foreign/ValueLayout;J)Ljdk/incubator/foreign/CLinker$VaList$Builder; flags 1041 +method name vargFromInt descriptor (Ljdk/incubator/foreign/ValueLayout;I)Ljdk/incubator/foreign/CLinker$VaList$Builder; flags 1041 + +class name jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList +header extends java/lang/Object implements jdk/incubator/foreign/CLinker$VaList nestMembers jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder flags 21 +innerclass innerClass jdk/incubator/foreign/CLinker$VaList outerClass jdk/incubator/foreign/CLinker innerClassName VaList flags 609 +innerclass innerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList innerClassName Builder flags 9 +innerclass innerClass jdk/incubator/foreign/MemoryLayout$PathElement outerClass jdk/incubator/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 9 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +field name CARRIER descriptor Ljava/lang/Class; flags 19 signature Ljava/lang/Class<*>; +method name empty descriptor ()Ljdk/incubator/foreign/CLinker$VaList; flags 19 +method name vargAsInt descriptor (Ljdk/incubator/foreign/MemoryLayout;)I flags 1 +method name vargAsLong descriptor (Ljdk/incubator/foreign/MemoryLayout;)J flags 1 +method name vargAsDouble descriptor (Ljdk/incubator/foreign/MemoryLayout;)D flags 1 +method name vargAsAddress descriptor (Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/MemoryAddress; flags 1 +method name vargAsSegment descriptor (Ljdk/incubator/foreign/MemoryLayout;Ljdk/incubator/foreign/SegmentAllocator;)Ljdk/incubator/foreign/MemorySegment; flags 1 +method name vargAsSegment descriptor (Ljdk/incubator/foreign/MemoryLayout;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/MemorySegment; flags 1 +method name skip descriptor ([Ljdk/incubator/foreign/MemoryLayout;)V flags 81 +method name scope descriptor ()Ljdk/incubator/foreign/ResourceScope; flags 1 +method name copy descriptor ()Ljdk/incubator/foreign/CLinker$VaList; flags 1 +method name address descriptor ()Ljdk/incubator/foreign/MemoryAddress; flags 1 + +class name jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder +header extends java/lang/Object implements jdk/incubator/foreign/CLinker$VaList$Builder nestHost jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList flags 21 +innerclass innerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList innerClassName Builder flags 9 +innerclass innerClass jdk/incubator/foreign/CLinker$VaList outerClass jdk/incubator/foreign/CLinker innerClassName VaList flags 609 +innerclass innerClass jdk/incubator/foreign/CLinker$VaList$Builder outerClass jdk/incubator/foreign/CLinker$VaList innerClassName Builder flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name descriptor (Ljdk/incubator/foreign/ResourceScope;)V flags 1 +method name vargFromInt descriptor (Ljdk/incubator/foreign/ValueLayout;I)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; flags 1 +method name vargFromLong descriptor (Ljdk/incubator/foreign/ValueLayout;J)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; flags 1 +method name vargFromDouble descriptor (Ljdk/incubator/foreign/ValueLayout;D)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; flags 1 +method name vargFromAddress descriptor (Ljdk/incubator/foreign/ValueLayout;Ljdk/incubator/foreign/Addressable;)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; flags 1 +method name vargFromSegment descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; flags 1 +method name build descriptor ()Ljdk/incubator/foreign/CLinker$VaList; flags 1 +method name vargFromSegment descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/incubator/foreign/CLinker$VaList$Builder; flags 1041 +method name vargFromAddress descriptor (Ljdk/incubator/foreign/ValueLayout;Ljdk/incubator/foreign/Addressable;)Ljdk/incubator/foreign/CLinker$VaList$Builder; flags 1041 +method name vargFromDouble descriptor (Ljdk/incubator/foreign/ValueLayout;D)Ljdk/incubator/foreign/CLinker$VaList$Builder; flags 1041 +method name vargFromLong descriptor (Ljdk/incubator/foreign/ValueLayout;J)Ljdk/incubator/foreign/CLinker$VaList$Builder; flags 1041 +method name vargFromInt descriptor (Ljdk/incubator/foreign/ValueLayout;I)Ljdk/incubator/foreign/CLinker$VaList$Builder; flags 1041 + +class name jdk/internal/foreign/abi/x64/sysv/SysVVaList +header extends java/lang/Object implements jdk/incubator/foreign/CLinker$VaList nestMembers jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder flags 21 +innerclass innerClass java/lang/ref/Cleaner$Cleanable outerClass java/lang/ref/Cleaner innerClassName Cleanable flags 609 +innerclass innerClass jdk/incubator/foreign/CLinker$VaList outerClass jdk/incubator/foreign/CLinker innerClassName VaList flags 609 +innerclass innerClass jdk/incubator/foreign/MemoryLayout$PathElement outerClass jdk/incubator/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder outerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList innerClassName Builder flags 9 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 9 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name empty descriptor ()Ljdk/incubator/foreign/CLinker$VaList; flags 9 +method name vargAsInt descriptor (Ljdk/incubator/foreign/MemoryLayout;)I flags 1 +method name vargAsLong descriptor (Ljdk/incubator/foreign/MemoryLayout;)J flags 1 +method name vargAsDouble descriptor (Ljdk/incubator/foreign/MemoryLayout;)D flags 1 +method name vargAsAddress descriptor (Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/MemoryAddress; flags 1 +method name vargAsSegment descriptor (Ljdk/incubator/foreign/MemoryLayout;Ljdk/incubator/foreign/SegmentAllocator;)Ljdk/incubator/foreign/MemorySegment; flags 1 +method name vargAsSegment descriptor (Ljdk/incubator/foreign/MemoryLayout;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/MemorySegment; flags 1 +method name skip descriptor ([Ljdk/incubator/foreign/MemoryLayout;)V flags 81 +method name ofAddress descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/CLinker$VaList; flags 9 +method name scope descriptor ()Ljdk/incubator/foreign/ResourceScope; flags 1 +method name copy descriptor ()Ljdk/incubator/foreign/CLinker$VaList; flags 1 +method name address descriptor ()Ljdk/incubator/foreign/MemoryAddress; flags 1 +method name toString descriptor ()Ljava/lang/String; flags 1 + +class name jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder +header extends java/lang/Object implements jdk/incubator/foreign/CLinker$VaList$Builder nestHost jdk/internal/foreign/abi/x64/sysv/SysVVaList flags 21 +innerclass innerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder outerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList innerClassName Builder flags 9 +innerclass innerClass jdk/incubator/foreign/MemoryLayout$PathElement outerClass jdk/incubator/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass jdk/incubator/foreign/CLinker$VaList outerClass jdk/incubator/foreign/CLinker innerClassName VaList flags 609 +innerclass innerClass jdk/incubator/foreign/CLinker$VaList$Builder outerClass jdk/incubator/foreign/CLinker$VaList innerClassName Builder flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name descriptor (Ljdk/incubator/foreign/ResourceScope;)V flags 1 +method name vargFromInt descriptor (Ljdk/incubator/foreign/ValueLayout;I)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; flags 1 +method name vargFromLong descriptor (Ljdk/incubator/foreign/ValueLayout;J)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; flags 1 +method name vargFromDouble descriptor (Ljdk/incubator/foreign/ValueLayout;D)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; flags 1 +method name vargFromAddress descriptor (Ljdk/incubator/foreign/ValueLayout;Ljdk/incubator/foreign/Addressable;)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; flags 1 +method name vargFromSegment descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; flags 1 +method name build descriptor ()Ljdk/incubator/foreign/CLinker$VaList; flags 1 +method name vargFromSegment descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/incubator/foreign/CLinker$VaList$Builder; flags 1041 +method name vargFromAddress descriptor (Ljdk/incubator/foreign/ValueLayout;Ljdk/incubator/foreign/Addressable;)Ljdk/incubator/foreign/CLinker$VaList$Builder; flags 1041 +method name vargFromDouble descriptor (Ljdk/incubator/foreign/ValueLayout;D)Ljdk/incubator/foreign/CLinker$VaList$Builder; flags 1041 +method name vargFromLong descriptor (Ljdk/incubator/foreign/ValueLayout;J)Ljdk/incubator/foreign/CLinker$VaList$Builder; flags 1041 +method name vargFromInt descriptor (Ljdk/incubator/foreign/ValueLayout;I)Ljdk/incubator/foreign/CLinker$VaList$Builder; flags 1041 + +class name jdk/internal/foreign/abi/x64/windows/WinVaList +header extends java/lang/Object implements jdk/incubator/foreign/CLinker$VaList nestMembers jdk/internal/foreign/abi/x64/windows/WinVaList$Builder flags 21 +innerclass innerClass jdk/incubator/foreign/CLinker$VaList outerClass jdk/incubator/foreign/CLinker innerClassName VaList flags 609 +innerclass innerClass jdk/internal/foreign/abi/x64/windows/WinVaList$Builder outerClass jdk/internal/foreign/abi/x64/windows/WinVaList innerClassName Builder flags 9 +innerclass innerClass jdk/incubator/foreign/MemoryLayout$PathElement outerClass jdk/incubator/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 9 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +field name CARRIER descriptor Ljava/lang/Class; flags 19 signature Ljava/lang/Class<*>; +method name empty descriptor ()Ljdk/incubator/foreign/CLinker$VaList; flags 19 +method name vargAsInt descriptor (Ljdk/incubator/foreign/MemoryLayout;)I flags 1 +method name vargAsLong descriptor (Ljdk/incubator/foreign/MemoryLayout;)J flags 1 +method name vargAsDouble descriptor (Ljdk/incubator/foreign/MemoryLayout;)D flags 1 +method name vargAsAddress descriptor (Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/MemoryAddress; flags 1 +method name vargAsSegment descriptor (Ljdk/incubator/foreign/MemoryLayout;Ljdk/incubator/foreign/SegmentAllocator;)Ljdk/incubator/foreign/MemorySegment; flags 1 +method name vargAsSegment descriptor (Ljdk/incubator/foreign/MemoryLayout;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/MemorySegment; flags 1 +method name skip descriptor ([Ljdk/incubator/foreign/MemoryLayout;)V flags 81 +method name scope descriptor ()Ljdk/incubator/foreign/ResourceScope; flags 1 +method name copy descriptor ()Ljdk/incubator/foreign/CLinker$VaList; flags 1 +method name address descriptor ()Ljdk/incubator/foreign/MemoryAddress; flags 1 + +class name jdk/internal/foreign/abi/x64/windows/WinVaList$Builder +header extends java/lang/Object implements jdk/incubator/foreign/CLinker$VaList$Builder nestHost jdk/internal/foreign/abi/x64/windows/WinVaList flags 21 +innerclass innerClass jdk/internal/foreign/abi/x64/windows/WinVaList$Builder outerClass jdk/internal/foreign/abi/x64/windows/WinVaList innerClassName Builder flags 9 +innerclass innerClass jdk/incubator/foreign/CLinker$VaList outerClass jdk/incubator/foreign/CLinker innerClassName VaList flags 609 +innerclass innerClass jdk/incubator/foreign/CLinker$VaList$Builder outerClass jdk/incubator/foreign/CLinker$VaList innerClassName Builder flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name descriptor (Ljdk/incubator/foreign/ResourceScope;)V flags 1 +method name vargFromInt descriptor (Ljdk/incubator/foreign/ValueLayout;I)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; flags 1 +method name vargFromLong descriptor (Ljdk/incubator/foreign/ValueLayout;J)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; flags 1 +method name vargFromDouble descriptor (Ljdk/incubator/foreign/ValueLayout;D)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; flags 1 +method name vargFromAddress descriptor (Ljdk/incubator/foreign/ValueLayout;Ljdk/incubator/foreign/Addressable;)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; flags 1 +method name vargFromSegment descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; flags 1 +method name build descriptor ()Ljdk/incubator/foreign/CLinker$VaList; flags 1 +method name vargFromSegment descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/incubator/foreign/CLinker$VaList$Builder; flags 1041 +method name vargFromAddress descriptor (Ljdk/incubator/foreign/ValueLayout;Ljdk/incubator/foreign/Addressable;)Ljdk/incubator/foreign/CLinker$VaList$Builder; flags 1041 +method name vargFromDouble descriptor (Ljdk/incubator/foreign/ValueLayout;D)Ljdk/incubator/foreign/CLinker$VaList$Builder; flags 1041 +method name vargFromLong descriptor (Ljdk/incubator/foreign/ValueLayout;J)Ljdk/incubator/foreign/CLinker$VaList$Builder; flags 1041 +method name vargFromInt descriptor (Ljdk/incubator/foreign/ValueLayout;I)Ljdk/incubator/foreign/CLinker$VaList$Builder; flags 1041 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-I.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-I.sym.txt index c8b457ba73374..ec39943792d16 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-I.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-I.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -39,10 +39,10 @@ method name descriptor (Ljava/util/OptionalLong;JLjava/util/Optional;)V f method name byteSize descriptor ()J flags 1 class name jdk/incubator/foreign/Addressable -header extends java/lang/Object sealed true flags 601 +header extends java/lang/Object sealed true permittedSubclasses jdk/incubator/foreign/MemorySegment,jdk/incubator/foreign/MemoryAddress,jdk/incubator/foreign/NativeSymbol,jdk/incubator/foreign/VaList flags 601 class name jdk/incubator/foreign/CLinker -header extends java/lang/Object implements jdk/incubator/foreign/SymbolLookup sealed true flags 601 +header extends java/lang/Object implements jdk/incubator/foreign/SymbolLookup sealed true permittedSubclasses jdk/internal/foreign/abi/x64/windows/Windowsx64Linker,jdk/internal/foreign/abi/x64/sysv/SysVx64Linker,jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64Linker,jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64Linker flags 601 -field name C_CHAR descriptor Ljdk/incubator/foreign/ValueLayout; -field name C_SHORT descriptor Ljdk/incubator/foreign/ValueLayout; -field name C_INT descriptor Ljdk/incubator/foreign/ValueLayout; @@ -80,7 +80,8 @@ method name upcallType descriptor (Ljdk/incubator/foreign/FunctionDescriptor;)Lj -class name jdk/incubator/foreign/CLinker$VaList$Builder class name jdk/incubator/foreign/FunctionDescriptor -header extends java/lang/Object implements java/lang/constant/Constable sealed true flags 21 +header extends java/lang/Object implements java/lang/constant/Constable nestMembers jdk/incubator/foreign/FunctionDescriptor$VariadicFunction sealed true permittedSubclasses jdk/incubator/foreign/FunctionDescriptor$VariadicFunction flags 21 +innerclass innerClass jdk/incubator/foreign/FunctionDescriptor$VariadicFunction outerClass jdk/incubator/foreign/FunctionDescriptor innerClassName VariadicFunction flags 18 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -field name TRIVIAL_ATTRIBUTE_NAME descriptor Ljava/lang/String; -method name attribute descriptor (Ljava/lang/String;)Ljava/util/Optional; @@ -96,6 +97,17 @@ method name insertArgumentLayouts descriptor (I[Ljdk/incubator/foreign/MemoryLay method name changeReturnLayout descriptor (Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/FunctionDescriptor; flags 1 method name dropReturnLayout descriptor ()Ljdk/incubator/foreign/FunctionDescriptor; flags 1 +class name jdk/incubator/foreign/FunctionDescriptor$VariadicFunction +header extends jdk/incubator/foreign/FunctionDescriptor nestHost jdk/incubator/foreign/FunctionDescriptor flags 30 +innerclass innerClass jdk/incubator/foreign/FunctionDescriptor$VariadicFunction outerClass jdk/incubator/foreign/FunctionDescriptor innerClassName VariadicFunction flags 18 +method name descriptor (Ljdk/incubator/foreign/FunctionDescriptor;[Ljdk/incubator/foreign/MemoryLayout;)V flags 81 +method name firstVariadicArgumentIndex descriptor ()I flags 1 +method name appendArgumentLayouts descriptor ([Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/FunctionDescriptor; flags 81 +method name insertArgumentLayouts descriptor (I[Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/FunctionDescriptor; flags 81 +method name changeReturnLayout descriptor (Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/FunctionDescriptor; flags 1 +method name dropReturnLayout descriptor ()Ljdk/incubator/foreign/FunctionDescriptor; flags 1 +method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional;>; + class name jdk/incubator/foreign/GroupLayout -method name withAttribute descriptor (Ljava/lang/String;Ljava/lang/constant/Constable;)Ljdk/incubator/foreign/GroupLayout; -method name withAttribute descriptor (Ljava/lang/String;Ljava/lang/constant/Constable;)Ljdk/incubator/foreign/AbstractLayout; @@ -107,7 +119,7 @@ method name byteSize descriptor ()J flags 1041 -class name jdk/incubator/foreign/MemoryAccess class name jdk/incubator/foreign/MemoryAddress -header extends java/lang/Object implements jdk/incubator/foreign/Addressable sealed true flags 601 +header extends java/lang/Object implements jdk/incubator/foreign/Addressable sealed true permittedSubclasses jdk/internal/foreign/MemoryAddressImpl flags 601 innerclass innerClass jdk/incubator/foreign/ValueLayout$OfByte outerClass jdk/incubator/foreign/ValueLayout innerClassName OfByte flags 19 innerclass innerClass jdk/incubator/foreign/ValueLayout$OfBoolean outerClass jdk/incubator/foreign/ValueLayout innerClassName OfBoolean flags 19 innerclass innerClass jdk/incubator/foreign/ValueLayout$OfChar outerClass jdk/incubator/foreign/ValueLayout innerClassName OfChar flags 19 @@ -165,7 +177,8 @@ class name jdk/incubator/foreign/MemoryHandles method name varHandle descriptor (Ljdk/incubator/foreign/ValueLayout;)Ljava/lang/invoke/VarHandle; flags 9 class name jdk/incubator/foreign/MemoryLayout -header extends java/lang/Object implements java/lang/constant/Constable nestMembers jdk/incubator/foreign/MemoryLayout$PathElement sealed true flags 601 +header extends java/lang/Object implements java/lang/constant/Constable nestMembers jdk/incubator/foreign/MemoryLayout$PathElement sealed true permittedSubclasses jdk/incubator/foreign/AbstractLayout,jdk/incubator/foreign/SequenceLayout,jdk/incubator/foreign/GroupLayout,jdk/incubator/foreign/PaddingLayout,jdk/incubator/foreign/ValueLayout flags 601 +innerclass innerClass jdk/internal/foreign/LayoutPath$PathElementImpl outerClass jdk/internal/foreign/LayoutPath innerClassName PathElementImpl flags 19 innerclass innerClass jdk/incubator/foreign/MemoryLayout$PathElement outerClass jdk/incubator/foreign/MemoryLayout innerClassName PathElement flags 609 innerclass innerClass jdk/incubator/foreign/ValueLayout$OfBoolean outerClass jdk/incubator/foreign/ValueLayout innerClassName OfBoolean flags 19 innerclass innerClass jdk/incubator/foreign/ValueLayout$OfChar outerClass jdk/incubator/foreign/ValueLayout innerClassName OfChar flags 19 @@ -188,17 +201,13 @@ method name byteSize descriptor ()J flags 401 method name varHandle descriptor ([Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljava/lang/invoke/VarHandle; flags 81 method name valueLayout descriptor (Ljava/lang/Class;Ljava/nio/ByteOrder;)Ljdk/incubator/foreign/ValueLayout; flags 9 signature (Ljava/lang/Class<*>;Ljava/nio/ByteOrder;)Ljdk/incubator/foreign/ValueLayout; -class name jdk/incubator/foreign/MemoryLayout$PathElement -header extends java/lang/Object nestHost jdk/incubator/foreign/MemoryLayout sealed true flags 601 -innerclass innerClass jdk/incubator/foreign/MemoryLayout$PathElement outerClass jdk/incubator/foreign/MemoryLayout innerClassName PathElement flags 609 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/incubator/foreign/MemoryLayouts class name jdk/incubator/foreign/MemorySegment -header extends java/lang/Object implements jdk/incubator/foreign/Addressable sealed true flags 601 +header extends java/lang/Object implements jdk/incubator/foreign/Addressable sealed true permittedSubclasses jdk/internal/foreign/AbstractMemorySegmentImpl flags 601 innerclass innerClass java/nio/channels/FileChannel$MapMode outerClass java/nio/channels/FileChannel innerClassName MapMode flags 9 innerclass innerClass jdk/incubator/foreign/ValueLayout$OfByte outerClass jdk/incubator/foreign/ValueLayout innerClassName OfByte flags 19 +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope outerClass jdk/internal/misc/ScopedMemoryAccess innerClassName Scope flags 609 innerclass innerClass jdk/incubator/foreign/ValueLayout$OfBoolean outerClass jdk/incubator/foreign/ValueLayout innerClassName OfBoolean flags 19 innerclass innerClass jdk/incubator/foreign/ValueLayout$OfChar outerClass jdk/incubator/foreign/ValueLayout innerClassName OfChar flags 19 innerclass innerClass jdk/incubator/foreign/ValueLayout$OfShort outerClass jdk/incubator/foreign/ValueLayout innerClassName OfShort flags 19 @@ -218,11 +227,7 @@ innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang -method name toFloatArray descriptor ()[F -method name toLongArray descriptor ()[J -method name toDoubleArray descriptor ()[D --method name asReadOnly descriptor ()Ljdk/incubator/foreign/MemorySegment; --method name isReadOnly descriptor ()Z -method name globalNativeSegment descriptor ()Ljdk/incubator/foreign/MemorySegment; -method name asReadOnly descriptor ()Ljdk/incubator/foreign/MemorySegment; flags 401 -method name isReadOnly descriptor ()Z flags 401 method name asOverlappingSlice descriptor (Ljdk/incubator/foreign/MemorySegment;)Ljdk/incubator/foreign/MemorySegment; flags 401 method name segmentOffset descriptor (Ljdk/incubator/foreign/MemorySegment;)J flags 401 method name copyFrom descriptor (Ljdk/incubator/foreign/MemorySegment;)Ljdk/incubator/foreign/MemorySegment; flags 1 @@ -274,14 +279,19 @@ method name copy descriptor (Ljdk/incubator/foreign/MemorySegment;Ljdk/incubator method name copy descriptor (Ljava/lang/Object;ILjdk/incubator/foreign/MemorySegment;Ljdk/incubator/foreign/ValueLayout;JI)V flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; class name jdk/incubator/foreign/NativeSymbol -header extends java/lang/Object implements jdk/incubator/foreign/Addressable sealed true flags 601 +header extends java/lang/Object implements jdk/incubator/foreign/Addressable sealed true permittedSubclasses jdk/internal/foreign/NativeSymbolImpl flags 601 method name name descriptor ()Ljava/lang/String; flags 401 method name scope descriptor ()Ljdk/incubator/foreign/ResourceScope; flags 401 method name address descriptor ()Ljdk/incubator/foreign/MemoryAddress; flags 401 method name ofAddress descriptor (Ljava/lang/String;Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/NativeSymbol; flags 9 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; +class name jdk/incubator/foreign/PaddingLayout +-method name withAttribute descriptor (Ljava/lang/String;Ljava/lang/constant/Constable;)Ljdk/incubator/foreign/PaddingLayout; +-method name withAttribute descriptor (Ljava/lang/String;Ljava/lang/constant/Constable;)Ljdk/incubator/foreign/AbstractLayout; +-method name withAttribute descriptor (Ljava/lang/String;Ljava/lang/constant/Constable;)Ljdk/incubator/foreign/MemoryLayout; + class name jdk/incubator/foreign/ResourceScope -header extends java/lang/Object implements java/lang/AutoCloseable sealed true flags 601 +header extends java/lang/Object implements java/lang/AutoCloseable sealed true permittedSubclasses jdk/internal/foreign/ResourceScopeImpl flags 601 -method name isImplicit descriptor ()Z -method name acquire descriptor ()Ljdk/incubator/foreign/ResourceScope$Handle; -method name release descriptor (Ljdk/incubator/foreign/ResourceScope$Handle;)V @@ -357,12 +367,13 @@ class name jdk/incubator/foreign/SymbolLookup method name lookup descriptor (Ljava/lang/String;)Ljava/util/Optional; flags 401 signature (Ljava/lang/String;)Ljava/util/Optional; class name jdk/incubator/foreign/VaList -header extends java/lang/Object implements jdk/incubator/foreign/Addressable nestMembers jdk/incubator/foreign/VaList$Builder sealed true flags 601 +header extends java/lang/Object implements jdk/incubator/foreign/Addressable nestMembers jdk/incubator/foreign/VaList$Builder sealed true permittedSubclasses jdk/internal/foreign/abi/x64/windows/WinVaList,jdk/internal/foreign/abi/x64/sysv/SysVVaList,jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList,jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList,jdk/internal/foreign/abi/SharedUtils$EmptyVaList flags 601 innerclass innerClass jdk/incubator/foreign/VaList$Builder outerClass jdk/incubator/foreign/VaList innerClassName Builder flags 609 innerclass innerClass jdk/incubator/foreign/ValueLayout$OfInt outerClass jdk/incubator/foreign/ValueLayout innerClassName OfInt flags 19 innerclass innerClass jdk/incubator/foreign/ValueLayout$OfLong outerClass jdk/incubator/foreign/ValueLayout innerClassName OfLong flags 19 innerclass innerClass jdk/incubator/foreign/ValueLayout$OfDouble outerClass jdk/incubator/foreign/ValueLayout innerClassName OfDouble flags 19 innerclass innerClass jdk/incubator/foreign/ValueLayout$OfAddress outerClass jdk/incubator/foreign/ValueLayout innerClassName OfAddress flags 19 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 9 method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;)I flags 401 method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;)J flags 401 method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;)D flags 401 @@ -377,12 +388,16 @@ method name make descriptor (Ljava/util/function/Consumer;Ljdk/incubator/foreign method name empty descriptor ()Ljdk/incubator/foreign/VaList; flags 9 class name jdk/incubator/foreign/VaList$Builder -header extends java/lang/Object nestHost jdk/incubator/foreign/VaList sealed true flags 601 +header extends java/lang/Object nestHost jdk/incubator/foreign/VaList sealed true permittedSubclasses jdk/internal/foreign/abi/x64/windows/WinVaList$Builder,jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder,jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder,jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder flags 601 innerclass innerClass jdk/incubator/foreign/VaList$Builder outerClass jdk/incubator/foreign/VaList innerClassName Builder flags 609 innerclass innerClass jdk/incubator/foreign/ValueLayout$OfInt outerClass jdk/incubator/foreign/ValueLayout innerClassName OfInt flags 19 innerclass innerClass jdk/incubator/foreign/ValueLayout$OfLong outerClass jdk/incubator/foreign/ValueLayout innerClassName OfLong flags 19 innerclass innerClass jdk/incubator/foreign/ValueLayout$OfDouble outerClass jdk/incubator/foreign/ValueLayout innerClassName OfDouble flags 19 innerclass innerClass jdk/incubator/foreign/ValueLayout$OfAddress outerClass jdk/incubator/foreign/ValueLayout innerClassName OfAddress flags 19 +innerclass innerClass jdk/internal/foreign/abi/x64/windows/WinVaList$Builder outerClass jdk/internal/foreign/abi/x64/windows/WinVaList innerClassName Builder flags 9 +innerclass innerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder outerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList innerClassName Builder flags 9 +innerclass innerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList innerClassName Builder flags 9 +innerclass innerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList innerClassName Builder flags 9 method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;I)Ljdk/incubator/foreign/VaList$Builder; flags 401 method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;J)Ljdk/incubator/foreign/VaList$Builder; flags 401 method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;D)Ljdk/incubator/foreign/VaList$Builder; flags 401 @@ -390,7 +405,7 @@ method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;Ljd method name addVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/incubator/foreign/VaList$Builder; flags 401 class name jdk/incubator/foreign/ValueLayout -header extends jdk/incubator/foreign/AbstractLayout implements jdk/incubator/foreign/MemoryLayout nestMembers jdk/incubator/foreign/ValueLayout$OfAddress,jdk/incubator/foreign/ValueLayout$OfDouble,jdk/incubator/foreign/ValueLayout$OfLong,jdk/incubator/foreign/ValueLayout$OfFloat,jdk/incubator/foreign/ValueLayout$OfInt,jdk/incubator/foreign/ValueLayout$OfShort,jdk/incubator/foreign/ValueLayout$OfChar,jdk/incubator/foreign/ValueLayout$OfByte,jdk/incubator/foreign/ValueLayout$OfBoolean sealed true flags 21 +header extends jdk/incubator/foreign/AbstractLayout implements jdk/incubator/foreign/MemoryLayout nestMembers jdk/incubator/foreign/ValueLayout$OfAddress,jdk/incubator/foreign/ValueLayout$OfDouble,jdk/incubator/foreign/ValueLayout$OfLong,jdk/incubator/foreign/ValueLayout$OfFloat,jdk/incubator/foreign/ValueLayout$OfInt,jdk/incubator/foreign/ValueLayout$OfShort,jdk/incubator/foreign/ValueLayout$OfChar,jdk/incubator/foreign/ValueLayout$OfByte,jdk/incubator/foreign/ValueLayout$OfBoolean sealed true permittedSubclasses jdk/incubator/foreign/ValueLayout$OfAddress,jdk/incubator/foreign/ValueLayout$OfByte,jdk/incubator/foreign/ValueLayout$OfBoolean,jdk/incubator/foreign/ValueLayout$OfChar,jdk/incubator/foreign/ValueLayout$OfShort,jdk/incubator/foreign/ValueLayout$OfInt,jdk/incubator/foreign/ValueLayout$OfLong,jdk/incubator/foreign/ValueLayout$OfFloat,jdk/incubator/foreign/ValueLayout$OfDouble flags 21 innerclass innerClass jdk/incubator/foreign/ValueLayout$OfAddress outerClass jdk/incubator/foreign/ValueLayout innerClassName OfAddress flags 19 innerclass innerClass jdk/incubator/foreign/ValueLayout$OfByte outerClass jdk/incubator/foreign/ValueLayout innerClassName OfByte flags 19 innerclass innerClass jdk/incubator/foreign/ValueLayout$OfBoolean outerClass jdk/incubator/foreign/ValueLayout innerClassName OfBoolean flags 19 @@ -580,3 +595,501 @@ method name byteSize descriptor ()J flags 1041 method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/AbstractLayout; flags 1041 method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/AbstractLayout; flags 1041 +-class name jdk/internal/foreign/AbstractCLinker + +class name jdk/internal/foreign/AbstractMemorySegmentImpl +header extends jdk/internal/access/foreign/MemorySegmentProxy implements jdk/incubator/foreign/MemorySegment,jdk/incubator/foreign/SegmentAllocator,jdk/internal/foreign/Scoped flags 421 +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope outerClass jdk/internal/misc/ScopedMemoryAccess innerClassName Scope flags 609 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfByte outerClass jdk/incubator/foreign/ValueLayout innerClassName OfByte flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfShort outerClass jdk/incubator/foreign/ValueLayout innerClassName OfShort flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfChar outerClass jdk/incubator/foreign/ValueLayout innerClassName OfChar flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfInt outerClass jdk/incubator/foreign/ValueLayout innerClassName OfInt flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfFloat outerClass jdk/incubator/foreign/ValueLayout innerClassName OfFloat flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfLong outerClass jdk/incubator/foreign/ValueLayout innerClassName OfLong flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfDouble outerClass jdk/incubator/foreign/ValueLayout innerClassName OfDouble flags 19 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name copyFrom descriptor (Ljdk/incubator/foreign/MemorySegment;)V +-method name copyFromSwap descriptor (Ljdk/incubator/foreign/MemorySegment;J)V +-method name address descriptor ()Ljdk/incubator/foreign/MemoryAddress; +-method name toByteArray descriptor ()[B +-method name toShortArray descriptor ()[S +-method name toCharArray descriptor ()[C +-method name toIntArray descriptor ()[I +-method name toFloatArray descriptor ()[F +-method name toLongArray descriptor ()[J +-method name toDoubleArray descriptor ()[D +method name allocate descriptor (JJ)Ljdk/incubator/foreign/MemorySegment; flags 1 +method name address descriptor ()Ljdk/incubator/foreign/MemoryAddress; flags 1 +method name asOverlappingSlice descriptor (Ljdk/incubator/foreign/MemorySegment;)Ljdk/incubator/foreign/MemorySegment; flags 11 +method name segmentOffset descriptor (Ljdk/incubator/foreign/MemorySegment;)J flags 11 +method name toArray descriptor (Ljdk/incubator/foreign/ValueLayout$OfByte;)[B flags 11 +method name toArray descriptor (Ljdk/incubator/foreign/ValueLayout$OfShort;)[S flags 11 +method name toArray descriptor (Ljdk/incubator/foreign/ValueLayout$OfChar;)[C flags 11 +method name toArray descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;)[I flags 11 +method name toArray descriptor (Ljdk/incubator/foreign/ValueLayout$OfFloat;)[F flags 11 +method name toArray descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;)[J flags 11 +method name toArray descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;)[D flags 11 +method name isAlignedForElement descriptor (JLjdk/incubator/foreign/MemoryLayout;)Z flags 11 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; + +class name jdk/internal/foreign/LayoutPath +-method name dereferenceHandle descriptor (Ljava/lang/Class;)Ljava/lang/invoke/VarHandle; +method name dereferenceHandle descriptor ()Ljava/lang/invoke/VarHandle; flags 1 + +class name jdk/internal/foreign/MemoryAddressImpl +header extends java/lang/Object implements jdk/incubator/foreign/MemoryAddress,jdk/internal/foreign/Scoped flags 31 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfByte outerClass jdk/incubator/foreign/ValueLayout innerClassName OfByte flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfBoolean outerClass jdk/incubator/foreign/ValueLayout innerClassName OfBoolean flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfChar outerClass jdk/incubator/foreign/ValueLayout innerClassName OfChar flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfShort outerClass jdk/incubator/foreign/ValueLayout innerClassName OfShort flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfInt outerClass jdk/incubator/foreign/ValueLayout innerClassName OfInt flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfFloat outerClass jdk/incubator/foreign/ValueLayout innerClassName OfFloat flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfLong outerClass jdk/incubator/foreign/ValueLayout innerClassName OfLong flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfDouble outerClass jdk/incubator/foreign/ValueLayout innerClassName OfDouble flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfAddress outerClass jdk/incubator/foreign/ValueLayout innerClassName OfAddress flags 19 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name descriptor (Ljdk/internal/foreign/AbstractMemorySegmentImpl;J)V +-method name segmentOffset descriptor (Ljdk/incubator/foreign/MemorySegment;)J +-method name isNative descriptor ()Z +-method name asSegment descriptor (JLjdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/MemorySegment; +-method name asSegment descriptor (JLjava/lang/Runnable;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/MemorySegment; +method name descriptor (J)V flags 1 +method name address descriptor ()Ljdk/incubator/foreign/MemoryAddress; flags 11 +method name getUtf8String descriptor (J)Ljava/lang/String; flags 1 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;@Ljdk/internal/vm/annotation/ForceInline; +method name setUtf8String descriptor (JLjava/lang/String;)V flags 1 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;@Ljdk/internal/vm/annotation/ForceInline; +method name get descriptor (Ljdk/incubator/foreign/ValueLayout$OfByte;J)B flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name set descriptor (Ljdk/incubator/foreign/ValueLayout$OfByte;JB)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name get descriptor (Ljdk/incubator/foreign/ValueLayout$OfBoolean;J)Z flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name set descriptor (Ljdk/incubator/foreign/ValueLayout$OfBoolean;JZ)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name get descriptor (Ljdk/incubator/foreign/ValueLayout$OfChar;J)C flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name set descriptor (Ljdk/incubator/foreign/ValueLayout$OfChar;JC)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name get descriptor (Ljdk/incubator/foreign/ValueLayout$OfShort;J)S flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name set descriptor (Ljdk/incubator/foreign/ValueLayout$OfShort;JS)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name get descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;J)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name set descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;JI)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name get descriptor (Ljdk/incubator/foreign/ValueLayout$OfFloat;J)F flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name set descriptor (Ljdk/incubator/foreign/ValueLayout$OfFloat;JF)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name get descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;J)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name set descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;JJ)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name get descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;J)D flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name set descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;JD)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name get descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;J)Ljdk/incubator/foreign/MemoryAddress; flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name set descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;JLjdk/incubator/foreign/Addressable;)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name getAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfChar;J)C flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name setAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfChar;JC)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name getAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfShort;J)S flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name setAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfShort;JS)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name getAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;J)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name setAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;JI)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name getAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfFloat;J)F flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name setAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfFloat;JF)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name getAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;J)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name setAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;JJ)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name getAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;J)D flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name setAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;JD)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name getAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;J)Ljdk/incubator/foreign/MemoryAddress; flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name setAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;JLjdk/incubator/foreign/Addressable;)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; + +class name jdk/internal/foreign/NativeSymbolImpl +header extends java/lang/Record implements jdk/incubator/foreign/NativeSymbol,jdk/internal/foreign/Scoped record true flags 31 +recordcomponent name name descriptor Ljava/lang/String; +recordcomponent name address descriptor Ljdk/incubator/foreign/MemoryAddress; +recordcomponent name scope descriptor Ljdk/incubator/foreign/ResourceScope; +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name descriptor (Ljava/lang/String;Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/ResourceScope;)V flags 1 methodParameters 0:name,0:address,0:scope +method name address descriptor ()Ljdk/incubator/foreign/MemoryAddress; flags 1 +method name toString descriptor ()Ljava/lang/String; flags 11 +method name hashCode descriptor ()I flags 11 +method name equals descriptor (Ljava/lang/Object;)Z flags 11 +method name name descriptor ()Ljava/lang/String; flags 1 +method name scope descriptor ()Ljdk/incubator/foreign/ResourceScope; flags 1 + +class name jdk/internal/foreign/ResourceScopeImpl +header extends java/lang/Object implements jdk/incubator/foreign/ResourceScope,jdk/incubator/foreign/SegmentAllocator,jdk/internal/misc/ScopedMemoryAccess$Scope nestMembers jdk/internal/foreign/ResourceScopeImpl$ResourceList,jdk/internal/foreign/ResourceScopeImpl$ResourceList$ResourceCleanup flags 421 +innerclass innerClass jdk/internal/foreign/ResourceScopeImpl$ResourceList outerClass jdk/internal/foreign/ResourceScopeImpl innerClassName ResourceList flags 409 +innerclass innerClass jdk/internal/foreign/ResourceScopeImpl$ResourceList$ResourceCleanup outerClass jdk/internal/foreign/ResourceScopeImpl$ResourceList innerClassName ResourceCleanup flags 409 +innerclass innerClass jdk/internal/misc/ScopedMemoryAccess$Scope outerClass jdk/internal/misc/ScopedMemoryAccess innerClassName Scope flags 609 +innerclass innerClass java/lang/ref/Cleaner$Cleanable outerClass java/lang/ref/Cleaner innerClassName Cleanable flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name isImplicit descriptor ()Z +-method name descriptor (Ljava/lang/ref/Cleaner;Ljdk/internal/foreign/ResourceScopeImpl$ResourceList;)V +-method name createImplicitScope descriptor ()Ljdk/internal/foreign/ResourceScopeImpl; +-method name createConfined descriptor (Ljava/lang/ref/Cleaner;)Ljdk/internal/foreign/ResourceScopeImpl; +-method name release descriptor (Ljdk/incubator/foreign/ResourceScope$Handle;)V +-method name release descriptor (Ljdk/internal/misc/ScopedMemoryAccess$Scope$Handle;)V +-method name acquire descriptor ()Ljdk/internal/foreign/ResourceScopeImpl$HandleImpl; +-method name ownerThread descriptor ()Ljava/lang/Thread; +-method name checkValidState descriptor ()V +-method name acquire descriptor ()Ljdk/incubator/foreign/ResourceScope$Handle; +-method name acquire descriptor ()Ljdk/internal/misc/ScopedMemoryAccess$Scope$Handle; +method name descriptor (Ljava/lang/Thread;Ljdk/internal/foreign/ResourceScopeImpl$ResourceList;Ljava/lang/ref/Cleaner;)V flags 4 +method name release0 descriptor ()V flags 401 +method name acquire0 descriptor ()V flags 401 +method name keepAlive descriptor (Ljdk/incubator/foreign/ResourceScope;)V flags 1 +method name ownerThread descriptor ()Ljava/lang/Thread; flags 11 +method name checkValidState descriptor ()V flags 11 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name heapScope descriptor (Ljava/lang/Object;)Ljdk/internal/foreign/ResourceScopeImpl; flags 9 + +-class name jdk/internal/foreign/ResourceScopeImpl$HandleImpl + +class name jdk/internal/foreign/Scoped +header extends java/lang/Object flags 601 +method name scope descriptor ()Ljdk/incubator/foreign/ResourceScope; flags 401 + +class name jdk/internal/foreign/abi/SharedUtils +header extends java/lang/Object nestMembers jdk/internal/foreign/abi/SharedUtils$EmptyVaList flags 21 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfByte outerClass jdk/incubator/foreign/ValueLayout innerClassName OfByte flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfLong outerClass jdk/incubator/foreign/ValueLayout innerClassName OfLong flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfFloat outerClass jdk/incubator/foreign/ValueLayout innerClassName OfFloat flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfDouble outerClass jdk/incubator/foreign/ValueLayout innerClassName OfDouble flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfBoolean outerClass jdk/incubator/foreign/ValueLayout innerClassName OfBoolean flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfInt outerClass jdk/incubator/foreign/ValueLayout innerClassName OfInt flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfShort outerClass jdk/incubator/foreign/ValueLayout innerClassName OfShort flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfChar outerClass jdk/incubator/foreign/ValueLayout innerClassName OfChar flags 19 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 9 +innerclass innerClass jdk/incubator/foreign/VaList$Builder outerClass jdk/incubator/foreign/VaList innerClassName Builder flags 609 +-method name checkCompatibleType descriptor (Ljava/lang/Class;Ljdk/incubator/foreign/MemoryLayout;J)V +-method name checkFunctionTypes descriptor (Ljava/lang/invoke/MethodType;Ljdk/incubator/foreign/FunctionDescriptor;J)V +-method name checkSymbol descriptor (Ljdk/incubator/foreign/Addressable;)Ljdk/incubator/foreign/MemoryAddress; +-method name checkAddress descriptor (Ljdk/incubator/foreign/MemoryAddress;)Ljdk/incubator/foreign/MemoryAddress; +-method name newVaList descriptor (Ljava/util/function/Consumer;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/CLinker$VaList; +-method name vhPrimitiveOrAddress descriptor (Ljava/lang/Class;Ljdk/incubator/foreign/MemoryLayout;)Ljava/lang/invoke/VarHandle; +-method name newVaListOfAddress descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/CLinker$VaList; +-method name emptyVaList descriptor ()Ljdk/incubator/foreign/CLinker$VaList; +-method name convertVaListCarriers descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/Class;)Ljava/lang/invoke/MethodType; +-method name unboxVaLists descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle; +-method name boxVaLists descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle; +method name acquire descriptor ([Ljdk/internal/foreign/Scoped;)V flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name release descriptor ([Ljdk/internal/foreign/Scoped;)V flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name wrapDowncall descriptor (Ljava/lang/invoke/MethodHandle;Ljdk/incubator/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; flags 9 +method name checkExceptions descriptor (Ljava/lang/invoke/MethodHandle;)V flags 9 +method name checkSymbol descriptor (Ljdk/incubator/foreign/NativeSymbol;)V flags 9 +method name checkAddress descriptor (Ljdk/incubator/foreign/MemoryAddress;)V flags 9 +method name newVaList descriptor (Ljava/util/function/Consumer;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; flags 9 signature (Ljava/util/function/Consumer;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; +method name newVaListOfAddress descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; flags 9 +method name emptyVaList descriptor ()Ljdk/incubator/foreign/VaList; flags 9 +method name isVarargsIndex descriptor (Ljdk/incubator/foreign/FunctionDescriptor;I)Z flags 9 +method name inferMethodType descriptor (Ljdk/incubator/foreign/FunctionDescriptor;Z)Ljava/lang/invoke/MethodType; flags 9 + +class name jdk/internal/foreign/abi/SharedUtils$EmptyVaList +header extends java/lang/Object implements jdk/incubator/foreign/VaList,jdk/internal/foreign/Scoped nestHost jdk/internal/foreign/abi/SharedUtils flags 21 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 9 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfInt outerClass jdk/incubator/foreign/ValueLayout innerClassName OfInt flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfLong outerClass jdk/incubator/foreign/ValueLayout innerClassName OfLong flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfDouble outerClass jdk/incubator/foreign/ValueLayout innerClassName OfDouble flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfAddress outerClass jdk/incubator/foreign/ValueLayout innerClassName OfAddress flags 19 +-method name vargAsInt descriptor (Ljdk/incubator/foreign/MemoryLayout;)I +-method name vargAsLong descriptor (Ljdk/incubator/foreign/MemoryLayout;)J +-method name vargAsDouble descriptor (Ljdk/incubator/foreign/MemoryLayout;)D +-method name vargAsAddress descriptor (Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/MemoryAddress; +-method name vargAsSegment descriptor (Ljdk/incubator/foreign/MemoryLayout;Ljdk/incubator/foreign/SegmentAllocator;)Ljdk/incubator/foreign/MemorySegment; +-method name vargAsSegment descriptor (Ljdk/incubator/foreign/MemoryLayout;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/MemorySegment; +-method name copy descriptor ()Ljdk/incubator/foreign/CLinker$VaList; +method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;)I flags 1 +method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;)J flags 1 +method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;)D flags 1 +method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;)Ljdk/incubator/foreign/MemoryAddress; flags 1 +method name nextVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/SegmentAllocator;)Ljdk/incubator/foreign/MemorySegment; flags 1 +method name copy descriptor ()Ljdk/incubator/foreign/VaList; flags 1 + +class name jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64Linker +header extends java/lang/Object implements jdk/incubator/foreign/CLinker flags 31 +innerclass innerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList innerClassName Builder flags 9 +innerclass innerClass jdk/incubator/foreign/VaList$Builder outerClass jdk/incubator/foreign/VaList innerClassName Builder flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name descriptor ()V flags 1 +method name getInstance descriptor ()Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64Linker; flags 9 +method name downcallHandle descriptor (Ljdk/incubator/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; flags 11 +method name upcallStub descriptor (Ljava/lang/invoke/MethodHandle;Ljdk/incubator/foreign/FunctionDescriptor;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/NativeSymbol; flags 11 +method name newVaList descriptor (Ljava/util/function/Consumer;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; flags 9 signature (Ljava/util/function/Consumer;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; +method name newVaListOfAddress descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; flags 9 +method name emptyVaList descriptor ()Ljdk/incubator/foreign/VaList; flags 9 + +class name jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList +header extends java/lang/Object implements jdk/incubator/foreign/VaList,jdk/internal/foreign/Scoped nestMembers jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder flags 21 +innerclass innerClass jdk/incubator/foreign/MemoryLayout$PathElement outerClass jdk/incubator/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfAddress outerClass jdk/incubator/foreign/ValueLayout innerClassName OfAddress flags 19 +innerclass innerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList innerClassName Builder flags 9 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfInt outerClass jdk/incubator/foreign/ValueLayout innerClassName OfInt flags 19 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 9 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfLong outerClass jdk/incubator/foreign/ValueLayout innerClassName OfLong flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfDouble outerClass jdk/incubator/foreign/ValueLayout innerClassName OfDouble flags 19 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name empty descriptor ()Ljdk/incubator/foreign/CLinker$VaList; +-method name vargAsInt descriptor (Ljdk/incubator/foreign/MemoryLayout;)I +-method name vargAsLong descriptor (Ljdk/incubator/foreign/MemoryLayout;)J +-method name vargAsDouble descriptor (Ljdk/incubator/foreign/MemoryLayout;)D +-method name vargAsAddress descriptor (Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/MemoryAddress; +-method name vargAsSegment descriptor (Ljdk/incubator/foreign/MemoryLayout;Ljdk/incubator/foreign/SegmentAllocator;)Ljdk/incubator/foreign/MemorySegment; +-method name vargAsSegment descriptor (Ljdk/incubator/foreign/MemoryLayout;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/MemorySegment; +-method name ofAddress descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/CLinker$VaList; +-method name copy descriptor ()Ljdk/incubator/foreign/CLinker$VaList; +method name empty descriptor ()Ljdk/incubator/foreign/VaList; flags 9 +method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;)I flags 1 +method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;)J flags 1 +method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;)D flags 1 +method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;)Ljdk/incubator/foreign/MemoryAddress; flags 1 +method name nextVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/SegmentAllocator;)Ljdk/incubator/foreign/MemorySegment; flags 1 +method name ofAddress descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; flags 9 +method name copy descriptor ()Ljdk/incubator/foreign/VaList; flags 1 + +class name jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder +header extends java/lang/Object implements jdk/incubator/foreign/VaList$Builder nestHost jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList flags 21 +innerclass innerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList innerClassName Builder flags 9 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfAddress outerClass jdk/incubator/foreign/ValueLayout innerClassName OfAddress flags 19 +innerclass innerClass jdk/incubator/foreign/MemoryLayout$PathElement outerClass jdk/incubator/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfDouble outerClass jdk/incubator/foreign/ValueLayout innerClassName OfDouble flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfLong outerClass jdk/incubator/foreign/ValueLayout innerClassName OfLong flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfInt outerClass jdk/incubator/foreign/ValueLayout innerClassName OfInt flags 19 +innerclass innerClass jdk/incubator/foreign/VaList$Builder outerClass jdk/incubator/foreign/VaList innerClassName Builder flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name vargFromInt descriptor (Ljdk/incubator/foreign/ValueLayout;I)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; +-method name vargFromLong descriptor (Ljdk/incubator/foreign/ValueLayout;J)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; +-method name vargFromDouble descriptor (Ljdk/incubator/foreign/ValueLayout;D)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; +-method name vargFromAddress descriptor (Ljdk/incubator/foreign/ValueLayout;Ljdk/incubator/foreign/Addressable;)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; +-method name vargFromSegment descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; +-method name build descriptor ()Ljdk/incubator/foreign/CLinker$VaList; +-method name vargFromSegment descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/incubator/foreign/CLinker$VaList$Builder; +-method name vargFromAddress descriptor (Ljdk/incubator/foreign/ValueLayout;Ljdk/incubator/foreign/Addressable;)Ljdk/incubator/foreign/CLinker$VaList$Builder; +-method name vargFromDouble descriptor (Ljdk/incubator/foreign/ValueLayout;D)Ljdk/incubator/foreign/CLinker$VaList$Builder; +-method name vargFromLong descriptor (Ljdk/incubator/foreign/ValueLayout;J)Ljdk/incubator/foreign/CLinker$VaList$Builder; +-method name vargFromInt descriptor (Ljdk/incubator/foreign/ValueLayout;I)Ljdk/incubator/foreign/CLinker$VaList$Builder; +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;I)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; flags 1 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;J)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; flags 1 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;D)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; flags 1 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;Ljdk/incubator/foreign/Addressable;)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; flags 1 +method name addVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; flags 1 +method name build descriptor ()Ljdk/incubator/foreign/VaList; flags 1 +method name addVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/incubator/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;Ljdk/incubator/foreign/Addressable;)Ljdk/incubator/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;D)Ljdk/incubator/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;J)Ljdk/incubator/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;I)Ljdk/incubator/foreign/VaList$Builder; flags 1041 + +class name jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64Linker +header extends java/lang/Object implements jdk/incubator/foreign/CLinker flags 31 +innerclass innerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList innerClassName Builder flags 9 +innerclass innerClass jdk/incubator/foreign/VaList$Builder outerClass jdk/incubator/foreign/VaList innerClassName Builder flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name descriptor ()V flags 1 +method name getInstance descriptor ()Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64Linker; flags 9 +method name downcallHandle descriptor (Ljdk/incubator/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; flags 11 +method name upcallStub descriptor (Ljava/lang/invoke/MethodHandle;Ljdk/incubator/foreign/FunctionDescriptor;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/NativeSymbol; flags 11 +method name newVaList descriptor (Ljava/util/function/Consumer;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; flags 9 signature (Ljava/util/function/Consumer;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; +method name newVaListOfAddress descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; flags 9 +method name emptyVaList descriptor ()Ljdk/incubator/foreign/VaList; flags 9 + +class name jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList +header extends java/lang/Object implements jdk/incubator/foreign/VaList,jdk/internal/foreign/Scoped nestMembers jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder flags 21 +innerclass innerClass jdk/incubator/foreign/MemoryLayout$PathElement outerClass jdk/incubator/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList innerClassName Builder flags 9 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfAddress outerClass jdk/incubator/foreign/ValueLayout innerClassName OfAddress flags 19 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 9 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfInt outerClass jdk/incubator/foreign/ValueLayout innerClassName OfInt flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfLong outerClass jdk/incubator/foreign/ValueLayout innerClassName OfLong flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfDouble outerClass jdk/incubator/foreign/ValueLayout innerClassName OfDouble flags 19 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name empty descriptor ()Ljdk/incubator/foreign/CLinker$VaList; +-method name vargAsInt descriptor (Ljdk/incubator/foreign/MemoryLayout;)I +-method name vargAsLong descriptor (Ljdk/incubator/foreign/MemoryLayout;)J +-method name vargAsDouble descriptor (Ljdk/incubator/foreign/MemoryLayout;)D +-method name vargAsAddress descriptor (Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/MemoryAddress; +-method name vargAsSegment descriptor (Ljdk/incubator/foreign/MemoryLayout;Ljdk/incubator/foreign/SegmentAllocator;)Ljdk/incubator/foreign/MemorySegment; +-method name vargAsSegment descriptor (Ljdk/incubator/foreign/MemoryLayout;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/MemorySegment; +-method name copy descriptor ()Ljdk/incubator/foreign/CLinker$VaList; +method name empty descriptor ()Ljdk/incubator/foreign/VaList; flags 19 +method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;)I flags 1 +method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;)J flags 1 +method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;)D flags 1 +method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;)Ljdk/incubator/foreign/MemoryAddress; flags 1 +method name nextVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/SegmentAllocator;)Ljdk/incubator/foreign/MemorySegment; flags 1 +method name copy descriptor ()Ljdk/incubator/foreign/VaList; flags 1 + +class name jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder +header extends java/lang/Object implements jdk/incubator/foreign/VaList$Builder nestHost jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList flags 21 +innerclass innerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList innerClassName Builder flags 9 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfAddress outerClass jdk/incubator/foreign/ValueLayout innerClassName OfAddress flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfDouble outerClass jdk/incubator/foreign/ValueLayout innerClassName OfDouble flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfLong outerClass jdk/incubator/foreign/ValueLayout innerClassName OfLong flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfInt outerClass jdk/incubator/foreign/ValueLayout innerClassName OfInt flags 19 +innerclass innerClass jdk/incubator/foreign/VaList$Builder outerClass jdk/incubator/foreign/VaList innerClassName Builder flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name vargFromInt descriptor (Ljdk/incubator/foreign/ValueLayout;I)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; +-method name vargFromLong descriptor (Ljdk/incubator/foreign/ValueLayout;J)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; +-method name vargFromDouble descriptor (Ljdk/incubator/foreign/ValueLayout;D)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; +-method name vargFromAddress descriptor (Ljdk/incubator/foreign/ValueLayout;Ljdk/incubator/foreign/Addressable;)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; +-method name vargFromSegment descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; +-method name build descriptor ()Ljdk/incubator/foreign/CLinker$VaList; +-method name vargFromSegment descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/incubator/foreign/CLinker$VaList$Builder; +-method name vargFromAddress descriptor (Ljdk/incubator/foreign/ValueLayout;Ljdk/incubator/foreign/Addressable;)Ljdk/incubator/foreign/CLinker$VaList$Builder; +-method name vargFromDouble descriptor (Ljdk/incubator/foreign/ValueLayout;D)Ljdk/incubator/foreign/CLinker$VaList$Builder; +-method name vargFromLong descriptor (Ljdk/incubator/foreign/ValueLayout;J)Ljdk/incubator/foreign/CLinker$VaList$Builder; +-method name vargFromInt descriptor (Ljdk/incubator/foreign/ValueLayout;I)Ljdk/incubator/foreign/CLinker$VaList$Builder; +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;I)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; flags 1 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;J)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; flags 1 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;D)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; flags 1 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;Ljdk/incubator/foreign/Addressable;)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; flags 1 +method name addVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; flags 1 +method name build descriptor ()Ljdk/incubator/foreign/VaList; flags 1 +method name addVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/incubator/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;Ljdk/incubator/foreign/Addressable;)Ljdk/incubator/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;D)Ljdk/incubator/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;J)Ljdk/incubator/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;I)Ljdk/incubator/foreign/VaList$Builder; flags 1041 + +class name jdk/internal/foreign/abi/x64/sysv/SysVVaList +header extends java/lang/Object implements jdk/incubator/foreign/VaList,jdk/internal/foreign/Scoped nestMembers jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder flags 21 +innerclass innerClass jdk/incubator/foreign/MemoryLayout$PathElement outerClass jdk/incubator/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder outerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList innerClassName Builder flags 9 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfInt outerClass jdk/incubator/foreign/ValueLayout innerClassName OfInt flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfAddress outerClass jdk/incubator/foreign/ValueLayout innerClassName OfAddress flags 19 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 9 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfLong outerClass jdk/incubator/foreign/ValueLayout innerClassName OfLong flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfDouble outerClass jdk/incubator/foreign/ValueLayout innerClassName OfDouble flags 19 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name empty descriptor ()Ljdk/incubator/foreign/CLinker$VaList; +-method name vargAsInt descriptor (Ljdk/incubator/foreign/MemoryLayout;)I +-method name vargAsLong descriptor (Ljdk/incubator/foreign/MemoryLayout;)J +-method name vargAsDouble descriptor (Ljdk/incubator/foreign/MemoryLayout;)D +-method name vargAsAddress descriptor (Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/MemoryAddress; +-method name vargAsSegment descriptor (Ljdk/incubator/foreign/MemoryLayout;Ljdk/incubator/foreign/SegmentAllocator;)Ljdk/incubator/foreign/MemorySegment; +-method name vargAsSegment descriptor (Ljdk/incubator/foreign/MemoryLayout;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/MemorySegment; +-method name ofAddress descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/CLinker$VaList; +-method name copy descriptor ()Ljdk/incubator/foreign/CLinker$VaList; +method name empty descriptor ()Ljdk/incubator/foreign/VaList; flags 9 +method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;)I flags 1 +method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;)J flags 1 +method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;)D flags 1 +method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;)Ljdk/incubator/foreign/MemoryAddress; flags 1 +method name nextVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/SegmentAllocator;)Ljdk/incubator/foreign/MemorySegment; flags 1 +method name ofAddress descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; flags 9 +method name copy descriptor ()Ljdk/incubator/foreign/VaList; flags 1 + +class name jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder +header extends java/lang/Object implements jdk/incubator/foreign/VaList$Builder nestHost jdk/internal/foreign/abi/x64/sysv/SysVVaList flags 21 +innerclass innerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder outerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList innerClassName Builder flags 9 +innerclass innerClass jdk/incubator/foreign/MemoryLayout$PathElement outerClass jdk/incubator/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfAddress outerClass jdk/incubator/foreign/ValueLayout innerClassName OfAddress flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfDouble outerClass jdk/incubator/foreign/ValueLayout innerClassName OfDouble flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfLong outerClass jdk/incubator/foreign/ValueLayout innerClassName OfLong flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfInt outerClass jdk/incubator/foreign/ValueLayout innerClassName OfInt flags 19 +innerclass innerClass jdk/incubator/foreign/VaList$Builder outerClass jdk/incubator/foreign/VaList innerClassName Builder flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name vargFromInt descriptor (Ljdk/incubator/foreign/ValueLayout;I)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; +-method name vargFromLong descriptor (Ljdk/incubator/foreign/ValueLayout;J)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; +-method name vargFromDouble descriptor (Ljdk/incubator/foreign/ValueLayout;D)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; +-method name vargFromAddress descriptor (Ljdk/incubator/foreign/ValueLayout;Ljdk/incubator/foreign/Addressable;)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; +-method name vargFromSegment descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; +-method name build descriptor ()Ljdk/incubator/foreign/CLinker$VaList; +-method name vargFromSegment descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/incubator/foreign/CLinker$VaList$Builder; +-method name vargFromAddress descriptor (Ljdk/incubator/foreign/ValueLayout;Ljdk/incubator/foreign/Addressable;)Ljdk/incubator/foreign/CLinker$VaList$Builder; +-method name vargFromDouble descriptor (Ljdk/incubator/foreign/ValueLayout;D)Ljdk/incubator/foreign/CLinker$VaList$Builder; +-method name vargFromLong descriptor (Ljdk/incubator/foreign/ValueLayout;J)Ljdk/incubator/foreign/CLinker$VaList$Builder; +-method name vargFromInt descriptor (Ljdk/incubator/foreign/ValueLayout;I)Ljdk/incubator/foreign/CLinker$VaList$Builder; +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;I)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; flags 1 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;J)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; flags 1 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;D)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; flags 1 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;Ljdk/incubator/foreign/Addressable;)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; flags 1 +method name addVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; flags 1 +method name build descriptor ()Ljdk/incubator/foreign/VaList; flags 1 +method name addVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/incubator/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;Ljdk/incubator/foreign/Addressable;)Ljdk/incubator/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;D)Ljdk/incubator/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;J)Ljdk/incubator/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;I)Ljdk/incubator/foreign/VaList$Builder; flags 1041 + +class name jdk/internal/foreign/abi/x64/sysv/SysVx64Linker +header extends java/lang/Object implements jdk/incubator/foreign/CLinker flags 31 +innerclass innerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder outerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList innerClassName Builder flags 9 +innerclass innerClass jdk/incubator/foreign/VaList$Builder outerClass jdk/incubator/foreign/VaList innerClassName Builder flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +field name MAX_INTEGER_ARGUMENT_REGISTERS descriptor I constantValue 6 flags 19 +field name MAX_INTEGER_RETURN_REGISTERS descriptor I constantValue 2 flags 19 +field name MAX_VECTOR_ARGUMENT_REGISTERS descriptor I constantValue 8 flags 19 +field name MAX_VECTOR_RETURN_REGISTERS descriptor I constantValue 2 flags 19 +field name MAX_X87_RETURN_REGISTERS descriptor I constantValue 2 flags 19 +method name descriptor ()V flags 1 +method name getInstance descriptor ()Ljdk/internal/foreign/abi/x64/sysv/SysVx64Linker; flags 9 +method name newVaList descriptor (Ljava/util/function/Consumer;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; flags 9 signature (Ljava/util/function/Consumer;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; +method name downcallHandle descriptor (Ljdk/incubator/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; flags 11 +method name upcallStub descriptor (Ljava/lang/invoke/MethodHandle;Ljdk/incubator/foreign/FunctionDescriptor;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/NativeSymbol; flags 11 +method name newVaListOfAddress descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; flags 9 +method name emptyVaList descriptor ()Ljdk/incubator/foreign/VaList; flags 9 + +class name jdk/internal/foreign/abi/x64/windows/WinVaList +header extends java/lang/Object implements jdk/incubator/foreign/VaList,jdk/internal/foreign/Scoped nestMembers jdk/internal/foreign/abi/x64/windows/WinVaList$Builder flags 21 +innerclass innerClass jdk/incubator/foreign/MemoryLayout$PathElement outerClass jdk/incubator/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass jdk/internal/foreign/abi/x64/windows/WinVaList$Builder outerClass jdk/internal/foreign/abi/x64/windows/WinVaList innerClassName Builder flags 9 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfAddress outerClass jdk/incubator/foreign/ValueLayout innerClassName OfAddress flags 19 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 9 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfInt outerClass jdk/incubator/foreign/ValueLayout innerClassName OfInt flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfLong outerClass jdk/incubator/foreign/ValueLayout innerClassName OfLong flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfDouble outerClass jdk/incubator/foreign/ValueLayout innerClassName OfDouble flags 19 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name empty descriptor ()Ljdk/incubator/foreign/CLinker$VaList; +-method name vargAsInt descriptor (Ljdk/incubator/foreign/MemoryLayout;)I +-method name vargAsLong descriptor (Ljdk/incubator/foreign/MemoryLayout;)J +-method name vargAsDouble descriptor (Ljdk/incubator/foreign/MemoryLayout;)D +-method name vargAsAddress descriptor (Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/MemoryAddress; +-method name vargAsSegment descriptor (Ljdk/incubator/foreign/MemoryLayout;Ljdk/incubator/foreign/SegmentAllocator;)Ljdk/incubator/foreign/MemorySegment; +-method name vargAsSegment descriptor (Ljdk/incubator/foreign/MemoryLayout;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/MemorySegment; +-method name copy descriptor ()Ljdk/incubator/foreign/CLinker$VaList; +method name empty descriptor ()Ljdk/incubator/foreign/VaList; flags 19 +method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;)I flags 1 +method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;)J flags 1 +method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;)D flags 1 +method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;)Ljdk/incubator/foreign/MemoryAddress; flags 1 +method name nextVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/SegmentAllocator;)Ljdk/incubator/foreign/MemorySegment; flags 1 +method name copy descriptor ()Ljdk/incubator/foreign/VaList; flags 1 + +class name jdk/internal/foreign/abi/x64/windows/WinVaList$Builder +header extends java/lang/Object implements jdk/incubator/foreign/VaList$Builder nestHost jdk/internal/foreign/abi/x64/windows/WinVaList flags 21 +innerclass innerClass jdk/internal/foreign/abi/x64/windows/WinVaList$Builder outerClass jdk/internal/foreign/abi/x64/windows/WinVaList innerClassName Builder flags 9 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfAddress outerClass jdk/incubator/foreign/ValueLayout innerClassName OfAddress flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfDouble outerClass jdk/incubator/foreign/ValueLayout innerClassName OfDouble flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfLong outerClass jdk/incubator/foreign/ValueLayout innerClassName OfLong flags 19 +innerclass innerClass jdk/incubator/foreign/ValueLayout$OfInt outerClass jdk/incubator/foreign/ValueLayout innerClassName OfInt flags 19 +innerclass innerClass jdk/incubator/foreign/VaList$Builder outerClass jdk/incubator/foreign/VaList innerClassName Builder flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name vargFromInt descriptor (Ljdk/incubator/foreign/ValueLayout;I)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; +-method name vargFromLong descriptor (Ljdk/incubator/foreign/ValueLayout;J)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; +-method name vargFromDouble descriptor (Ljdk/incubator/foreign/ValueLayout;D)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; +-method name vargFromAddress descriptor (Ljdk/incubator/foreign/ValueLayout;Ljdk/incubator/foreign/Addressable;)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; +-method name vargFromSegment descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; +-method name build descriptor ()Ljdk/incubator/foreign/CLinker$VaList; +-method name vargFromSegment descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/incubator/foreign/CLinker$VaList$Builder; +-method name vargFromAddress descriptor (Ljdk/incubator/foreign/ValueLayout;Ljdk/incubator/foreign/Addressable;)Ljdk/incubator/foreign/CLinker$VaList$Builder; +-method name vargFromDouble descriptor (Ljdk/incubator/foreign/ValueLayout;D)Ljdk/incubator/foreign/CLinker$VaList$Builder; +-method name vargFromLong descriptor (Ljdk/incubator/foreign/ValueLayout;J)Ljdk/incubator/foreign/CLinker$VaList$Builder; +-method name vargFromInt descriptor (Ljdk/incubator/foreign/ValueLayout;I)Ljdk/incubator/foreign/CLinker$VaList$Builder; +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;I)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; flags 1 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;J)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; flags 1 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;D)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; flags 1 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;Ljdk/incubator/foreign/Addressable;)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; flags 1 +method name addVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; flags 1 +method name build descriptor ()Ljdk/incubator/foreign/VaList; flags 1 +method name addVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/incubator/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;Ljdk/incubator/foreign/Addressable;)Ljdk/incubator/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;D)Ljdk/incubator/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;J)Ljdk/incubator/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;I)Ljdk/incubator/foreign/VaList$Builder; flags 1041 + +class name jdk/internal/foreign/abi/x64/windows/Windowsx64Linker +header extends java/lang/Object implements jdk/incubator/foreign/CLinker flags 31 +innerclass innerClass jdk/internal/foreign/abi/x64/windows/WinVaList$Builder outerClass jdk/internal/foreign/abi/x64/windows/WinVaList innerClassName Builder flags 9 +innerclass innerClass jdk/incubator/foreign/VaList$Builder outerClass jdk/incubator/foreign/VaList innerClassName Builder flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +field name MAX_INTEGER_ARGUMENT_REGISTERS descriptor I constantValue 4 flags 19 +field name MAX_INTEGER_RETURN_REGISTERS descriptor I constantValue 1 flags 19 +field name MAX_VECTOR_ARGUMENT_REGISTERS descriptor I constantValue 4 flags 19 +field name MAX_VECTOR_RETURN_REGISTERS descriptor I constantValue 1 flags 19 +field name MAX_REGISTER_ARGUMENTS descriptor I constantValue 4 flags 19 +field name MAX_REGISTER_RETURNS descriptor I constantValue 1 flags 19 +method name descriptor ()V flags 1 +method name getInstance descriptor ()Ljdk/internal/foreign/abi/x64/windows/Windowsx64Linker; flags 9 +method name newVaList descriptor (Ljava/util/function/Consumer;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; flags 9 signature (Ljava/util/function/Consumer;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; +method name downcallHandle descriptor (Ljdk/incubator/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; flags 11 +method name upcallStub descriptor (Ljava/lang/invoke/MethodHandle;Ljdk/incubator/foreign/FunctionDescriptor;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/NativeSymbol; flags 11 +method name newVaListOfAddress descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; flags 9 +method name emptyVaList descriptor ()Ljdk/incubator/foreign/VaList; flags 9 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-J.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-J.sym.txt index 37398f0f6f57f..9180f04c442a1 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-J.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-J.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -36,6 +36,8 @@ -class name jdk/incubator/foreign/FunctionDescriptor +-class name jdk/incubator/foreign/FunctionDescriptor$VariadicFunction + -class name jdk/incubator/foreign/GroupLayout -class name jdk/incubator/foreign/MemoryAddress @@ -50,6 +52,8 @@ -class name jdk/incubator/foreign/NativeSymbol +-class name jdk/incubator/foreign/PaddingLayout + -class name jdk/incubator/foreign/ResourceScope -class name jdk/incubator/foreign/SegmentAllocator @@ -82,3 +86,673 @@ -class name jdk/incubator/foreign/ValueLayout$OfShort +class name jdk/internal/foreign/AbstractMemorySegmentImpl +header extends java/lang/Object implements java/lang/foreign/MemorySegment,java/lang/foreign/SegmentAllocator,jdk/internal/foreign/Scoped,java/util/function/BiFunction flags 421 signature Ljava/lang/Object;Ljava/lang/foreign/MemorySegment;Ljava/lang/foreign/SegmentAllocator;Ljdk/internal/foreign/Scoped;Ljava/util/function/BiFunction;Ljava/lang/RuntimeException;>; +innerclass innerClass java/lang/foreign/ValueLayout$OfByte outerClass java/lang/foreign/ValueLayout innerClassName OfByte flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfShort outerClass java/lang/foreign/ValueLayout innerClassName OfShort flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfChar outerClass java/lang/foreign/ValueLayout innerClassName OfChar flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfFloat outerClass java/lang/foreign/ValueLayout innerClassName OfFloat flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 19 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name spliterator descriptor (Ljdk/incubator/foreign/MemoryLayout;)Ljava/util/Spliterator; +-method name elements descriptor (Ljdk/incubator/foreign/MemoryLayout;)Ljava/util/stream/Stream; +-method name fill descriptor (B)Ljdk/incubator/foreign/MemorySegment; +-method name mismatch descriptor (Ljdk/incubator/foreign/MemorySegment;)J +-method name isAlive descriptor ()Z +-method name ownerThread descriptor ()Ljava/lang/Thread; +-method name isSmall descriptor ()Z +-method name checkAccess descriptor (JJZ)V +-method name unsafeGetOffset descriptor ()J +-method name unsafeGetBase descriptor ()Ljava/lang/Object; +-method name scope descriptor ()Ljdk/internal/foreign/ResourceScopeImpl; +-method name ofBuffer descriptor (Ljava/nio/ByteBuffer;)Ljdk/internal/foreign/AbstractMemorySegmentImpl; +-method name scope descriptor ()Ljdk/internal/misc/ScopedMemoryAccess$Scope; +-method name asReadOnly descriptor ()Ljdk/incubator/foreign/MemorySegment; +-method name asSlice descriptor (J)Ljdk/incubator/foreign/MemorySegment; +-method name asSlice descriptor (JJ)Ljdk/incubator/foreign/MemorySegment; +-method name scope descriptor ()Ljdk/incubator/foreign/ResourceScope; +-method name allocate descriptor (JJ)Ljdk/incubator/foreign/MemorySegment; +-method name address descriptor ()Ljdk/incubator/foreign/MemoryAddress; +-method name asOverlappingSlice descriptor (Ljdk/incubator/foreign/MemorySegment;)Ljdk/incubator/foreign/MemorySegment; +-method name segmentOffset descriptor (Ljdk/incubator/foreign/MemorySegment;)J +-method name toArray descriptor (Ljdk/incubator/foreign/ValueLayout$OfByte;)[B +-method name toArray descriptor (Ljdk/incubator/foreign/ValueLayout$OfShort;)[S +-method name toArray descriptor (Ljdk/incubator/foreign/ValueLayout$OfChar;)[C +-method name toArray descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;)[I +-method name toArray descriptor (Ljdk/incubator/foreign/ValueLayout$OfFloat;)[F +-method name toArray descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;)[J +-method name toArray descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;)[D +-method name isAlignedForElement descriptor (JLjdk/incubator/foreign/MemoryLayout;)Z +method name spliterator descriptor (Ljava/lang/foreign/MemoryLayout;)Ljava/util/Spliterator; flags 1 signature (Ljava/lang/foreign/MemoryLayout;)Ljava/util/Spliterator; +method name elements descriptor (Ljava/lang/foreign/MemoryLayout;)Ljava/util/stream/Stream; flags 1 signature (Ljava/lang/foreign/MemoryLayout;)Ljava/util/stream/Stream; +method name fill descriptor (B)Ljava/lang/foreign/MemorySegment; flags 11 +method name allocate descriptor (JJ)Ljava/lang/foreign/MemorySegment; flags 1 +method name mismatch descriptor (Ljava/lang/foreign/MemorySegment;)J flags 1 +method name address descriptor ()Ljava/lang/foreign/MemoryAddress; flags 1 +method name asOverlappingSlice descriptor (Ljava/lang/foreign/MemorySegment;)Ljava/util/Optional; flags 11 signature (Ljava/lang/foreign/MemorySegment;)Ljava/util/Optional; +method name segmentOffset descriptor (Ljava/lang/foreign/MemorySegment;)J flags 11 +method name toArray descriptor (Ljava/lang/foreign/ValueLayout$OfByte;)[B flags 11 +method name toArray descriptor (Ljava/lang/foreign/ValueLayout$OfShort;)[S flags 11 +method name toArray descriptor (Ljava/lang/foreign/ValueLayout$OfChar;)[C flags 11 +method name toArray descriptor (Ljava/lang/foreign/ValueLayout$OfInt;)[I flags 11 +method name toArray descriptor (Ljava/lang/foreign/ValueLayout$OfFloat;)[F flags 11 +method name toArray descriptor (Ljava/lang/foreign/ValueLayout$OfLong;)[J flags 11 +method name toArray descriptor (Ljava/lang/foreign/ValueLayout$OfDouble;)[D flags 11 +method name checkAccess descriptor (JJZ)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name checkValidState descriptor ()V flags 1 +method name unsafeGetOffset descriptor ()J flags 401 +method name unsafeGetBase descriptor ()Ljava/lang/Object; flags 401 +method name maxAlignMask descriptor ()J flags 401 +method name isAlignedForElement descriptor (JLjava/lang/foreign/MemoryLayout;)Z flags 11 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name apply descriptor (Ljava/lang/String;Ljava/util/List;)Ljava/lang/RuntimeException; flags 1 signature (Ljava/lang/String;Ljava/util/List;)Ljava/lang/RuntimeException; +method name session descriptor ()Ljava/lang/foreign/MemorySession; flags 1 +method name equals descriptor (Ljava/lang/Object;)Z flags 1 +method name hashCode descriptor ()I flags 1 +method name ofBuffer descriptor (Ljava/nio/Buffer;)Ljdk/internal/foreign/AbstractMemorySegmentImpl; flags 9 +method name asReadOnly descriptor ()Ljava/lang/foreign/MemorySegment; flags 1041 +method name asSlice descriptor (J)Ljava/lang/foreign/MemorySegment; flags 1041 +method name asSlice descriptor (JJ)Ljava/lang/foreign/MemorySegment; flags 1041 +method name apply descriptor (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; flags 1041 + +class name jdk/internal/foreign/LayoutPath +-method name layout descriptor ()Ljdk/incubator/foreign/MemoryLayout; +-method name map descriptor (Ljava/util/function/UnaryOperator;)Ljdk/incubator/foreign/MemoryLayout; +-method name rootPath descriptor (Ljdk/incubator/foreign/MemoryLayout;Ljava/util/function/ToLongFunction;)Ljdk/internal/foreign/LayoutPath; +method name layout descriptor ()Ljava/lang/foreign/MemoryLayout; flags 1 +method name rootPath descriptor (Ljava/lang/foreign/MemoryLayout;)Ljdk/internal/foreign/LayoutPath; flags 9 + +class name jdk/internal/foreign/LayoutPath$PathElementImpl +header extends java/lang/Object implements java/lang/foreign/MemoryLayout$PathElement,java/util/function/UnaryOperator nestHost jdk/internal/foreign/LayoutPath flags 31 signature Ljava/lang/Object;Ljava/lang/foreign/MemoryLayout$PathElement;Ljava/util/function/UnaryOperator; +innerclass innerClass jdk/internal/foreign/LayoutPath$PathElementImpl outerClass jdk/internal/foreign/LayoutPath innerClassName PathElementImpl flags 19 +innerclass innerClass java/lang/foreign/MemoryLayout$PathElement outerClass java/lang/foreign/MemoryLayout innerClassName PathElement flags 609 + +class name jdk/internal/foreign/MemoryAddressImpl +header extends java/lang/Object implements java/lang/foreign/MemoryAddress,jdk/internal/foreign/Scoped flags 31 +innerclass innerClass java/lang/foreign/ValueLayout$OfByte outerClass java/lang/foreign/ValueLayout innerClassName OfByte flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfBoolean outerClass java/lang/foreign/ValueLayout innerClassName OfBoolean flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfChar outerClass java/lang/foreign/ValueLayout innerClassName OfChar flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfShort outerClass java/lang/foreign/ValueLayout innerClassName OfShort flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfFloat outerClass java/lang/foreign/ValueLayout innerClassName OfFloat flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 19 +-method name scope descriptor ()Ljdk/incubator/foreign/ResourceScope; +-method name addOffset descriptor (J)Ljdk/incubator/foreign/MemoryAddress; +-method name ofLongUnchecked descriptor (J)Ljdk/incubator/foreign/MemorySegment; +-method name ofLongUnchecked descriptor (JJLjdk/internal/foreign/ResourceScopeImpl;)Ljdk/incubator/foreign/MemorySegment; +-method name ofLongUnchecked descriptor (JJ)Ljdk/incubator/foreign/MemorySegment; +-method name address descriptor ()Ljdk/incubator/foreign/MemoryAddress; +-method name get descriptor (Ljdk/incubator/foreign/ValueLayout$OfByte;J)B +-method name set descriptor (Ljdk/incubator/foreign/ValueLayout$OfByte;JB)V +-method name get descriptor (Ljdk/incubator/foreign/ValueLayout$OfBoolean;J)Z +-method name set descriptor (Ljdk/incubator/foreign/ValueLayout$OfBoolean;JZ)V +-method name get descriptor (Ljdk/incubator/foreign/ValueLayout$OfChar;J)C +-method name set descriptor (Ljdk/incubator/foreign/ValueLayout$OfChar;JC)V +-method name get descriptor (Ljdk/incubator/foreign/ValueLayout$OfShort;J)S +-method name set descriptor (Ljdk/incubator/foreign/ValueLayout$OfShort;JS)V +-method name get descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;J)I +-method name set descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;JI)V +-method name get descriptor (Ljdk/incubator/foreign/ValueLayout$OfFloat;J)F +-method name set descriptor (Ljdk/incubator/foreign/ValueLayout$OfFloat;JF)V +-method name get descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;J)J +-method name set descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;JJ)V +-method name get descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;J)D +-method name set descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;JD)V +-method name get descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;J)Ljdk/incubator/foreign/MemoryAddress; +-method name set descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;JLjdk/incubator/foreign/Addressable;)V +-method name getAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfChar;J)C +-method name setAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfChar;JC)V +-method name getAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfShort;J)S +-method name setAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfShort;JS)V +-method name getAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;J)I +-method name setAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;JI)V +-method name getAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfFloat;J)F +-method name setAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfFloat;JF)V +-method name getAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;J)J +-method name setAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;JJ)V +-method name getAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;J)D +-method name setAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;JD)V +-method name getAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;J)Ljdk/incubator/foreign/MemoryAddress; +-method name setAtIndex descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;JLjdk/incubator/foreign/Addressable;)V +method name addOffset descriptor (J)Ljava/lang/foreign/MemoryAddress; flags 1 +method name address descriptor ()Ljava/lang/foreign/MemoryAddress; flags 11 +method name ofLongUnchecked descriptor (J)Ljava/lang/foreign/MemorySegment; flags 9 +method name ofLongUnchecked descriptor (JJLjava/lang/foreign/MemorySession;)Ljava/lang/foreign/MemorySegment; flags 9 +method name ofLongUnchecked descriptor (JJ)Ljava/lang/foreign/MemorySegment; flags 9 +method name session descriptor ()Ljdk/internal/foreign/MemorySessionImpl; flags 1 +method name get descriptor (Ljava/lang/foreign/ValueLayout$OfByte;J)B flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name set descriptor (Ljava/lang/foreign/ValueLayout$OfByte;JB)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name get descriptor (Ljava/lang/foreign/ValueLayout$OfBoolean;J)Z flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name set descriptor (Ljava/lang/foreign/ValueLayout$OfBoolean;JZ)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name get descriptor (Ljava/lang/foreign/ValueLayout$OfChar;J)C flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name set descriptor (Ljava/lang/foreign/ValueLayout$OfChar;JC)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name get descriptor (Ljava/lang/foreign/ValueLayout$OfShort;J)S flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name set descriptor (Ljava/lang/foreign/ValueLayout$OfShort;JS)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name get descriptor (Ljava/lang/foreign/ValueLayout$OfInt;J)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name set descriptor (Ljava/lang/foreign/ValueLayout$OfInt;JI)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name get descriptor (Ljava/lang/foreign/ValueLayout$OfFloat;J)F flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name set descriptor (Ljava/lang/foreign/ValueLayout$OfFloat;JF)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name get descriptor (Ljava/lang/foreign/ValueLayout$OfLong;J)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name set descriptor (Ljava/lang/foreign/ValueLayout$OfLong;JJ)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name get descriptor (Ljava/lang/foreign/ValueLayout$OfDouble;J)D flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name set descriptor (Ljava/lang/foreign/ValueLayout$OfDouble;JD)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name get descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;J)Ljava/lang/foreign/MemoryAddress; flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name set descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;JLjava/lang/foreign/Addressable;)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name getAtIndex descriptor (Ljava/lang/foreign/ValueLayout$OfChar;J)C flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name setAtIndex descriptor (Ljava/lang/foreign/ValueLayout$OfChar;JC)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name getAtIndex descriptor (Ljava/lang/foreign/ValueLayout$OfShort;J)S flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name setAtIndex descriptor (Ljava/lang/foreign/ValueLayout$OfShort;JS)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name getAtIndex descriptor (Ljava/lang/foreign/ValueLayout$OfInt;J)I flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name setAtIndex descriptor (Ljava/lang/foreign/ValueLayout$OfInt;JI)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name getAtIndex descriptor (Ljava/lang/foreign/ValueLayout$OfFloat;J)F flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name setAtIndex descriptor (Ljava/lang/foreign/ValueLayout$OfFloat;JF)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name getAtIndex descriptor (Ljava/lang/foreign/ValueLayout$OfLong;J)J flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name setAtIndex descriptor (Ljava/lang/foreign/ValueLayout$OfLong;JJ)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name getAtIndex descriptor (Ljava/lang/foreign/ValueLayout$OfDouble;J)D flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name setAtIndex descriptor (Ljava/lang/foreign/ValueLayout$OfDouble;JD)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name getAtIndex descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;J)Ljava/lang/foreign/MemoryAddress; flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name setAtIndex descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;JLjava/lang/foreign/Addressable;)V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline;@Ljdk/internal/reflect/CallerSensitive; +method name session descriptor ()Ljava/lang/foreign/MemorySession; flags 1041 + +class name jdk/internal/foreign/MemorySessionImpl +header extends java/lang/Object implements java/lang/foreign/MemorySession,java/lang/foreign/SegmentAllocator nestMembers jdk/internal/foreign/MemorySessionImpl$ResourceList,jdk/internal/foreign/MemorySessionImpl$ResourceList$ResourceCleanup,jdk/internal/foreign/MemorySessionImpl$NonCloseableView flags 421 +innerclass innerClass jdk/internal/foreign/MemorySessionImpl$ResourceList outerClass jdk/internal/foreign/MemorySessionImpl innerClassName ResourceList flags 409 +innerclass innerClass jdk/internal/foreign/MemorySessionImpl$ResourceList$ResourceCleanup outerClass jdk/internal/foreign/MemorySessionImpl$ResourceList innerClassName ResourceCleanup flags 409 +innerclass innerClass java/lang/ref/Cleaner$Cleanable outerClass java/lang/ref/Cleaner innerClassName Cleanable flags 609 +innerclass innerClass jdk/internal/foreign/MemorySessionImpl$NonCloseableView outerClass jdk/internal/foreign/MemorySessionImpl innerClassName NonCloseableView flags 19 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +field name GLOBAL descriptor Ljdk/internal/foreign/MemorySessionImpl; flags 19 +method name addCloseAction descriptor (Ljava/lang/Runnable;)V flags 1 +method name addOrCleanupIfFail descriptor (Ljdk/internal/foreign/MemorySessionImpl$ResourceList$ResourceCleanup;)V flags 1 +method name descriptor (Ljava/lang/Thread;Ljdk/internal/foreign/MemorySessionImpl$ResourceList;Ljava/lang/ref/Cleaner;)V flags 4 +method name createConfined descriptor (Ljava/lang/Thread;Ljava/lang/ref/Cleaner;)Ljava/lang/foreign/MemorySession; flags 9 +method name createShared descriptor (Ljava/lang/ref/Cleaner;)Ljava/lang/foreign/MemorySession; flags 9 +method name createImplicit descriptor ()Ljdk/internal/foreign/MemorySessionImpl; flags 9 +method name allocate descriptor (JJ)Ljava/lang/foreign/MemorySegment; flags 1 +method name release0 descriptor ()V flags 401 +method name acquire0 descriptor ()V flags 401 +method name equals descriptor (Ljava/lang/Object;)Z flags 11 +method name hashCode descriptor ()I flags 11 +method name whileAlive descriptor (Ljava/lang/Runnable;)V flags 1 +method name ownerThread descriptor ()Ljava/lang/Thread; flags 11 +method name isAlive descriptor ()Z flags 1 +method name asNonCloseable descriptor ()Ljava/lang/foreign/MemorySession; flags 1 +method name toSessionImpl descriptor (Ljava/lang/foreign/MemorySession;)Ljdk/internal/foreign/MemorySessionImpl; flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name checkValidStateRaw descriptor ()V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name checkValidState descriptor ()V flags 1 +method name clone descriptor ()Ljava/lang/Object; thrownTypes java/lang/CloneNotSupportedException flags 4 +method name isCloseable descriptor ()Z flags 1 +method name close descriptor ()V flags 1 +method name heapSession descriptor (Ljava/lang/Object;)Ljdk/internal/foreign/MemorySessionImpl; flags 9 + +class name jdk/internal/foreign/MemorySessionImpl$NonCloseableView +header extends java/lang/Object implements java/lang/foreign/MemorySession nestHost jdk/internal/foreign/MemorySessionImpl flags 31 +innerclass innerClass jdk/internal/foreign/MemorySessionImpl$NonCloseableView outerClass jdk/internal/foreign/MemorySessionImpl innerClassName NonCloseableView flags 19 +method name descriptor (Ljdk/internal/foreign/MemorySessionImpl;)V flags 1 +method name isAlive descriptor ()Z flags 1 +method name isCloseable descriptor ()Z flags 1 +method name ownerThread descriptor ()Ljava/lang/Thread; flags 1 +method name equals descriptor (Ljava/lang/Object;)Z flags 1 +method name hashCode descriptor ()I flags 1 +method name whileAlive descriptor (Ljava/lang/Runnable;)V flags 1 +method name asNonCloseable descriptor ()Ljava/lang/foreign/MemorySession; flags 1 +method name addCloseAction descriptor (Ljava/lang/Runnable;)V flags 1 +method name close descriptor ()V flags 1 + +class name jdk/internal/foreign/MemorySessionImpl$ResourceList +header extends java/lang/Object implements java/lang/Runnable nestHost jdk/internal/foreign/MemorySessionImpl flags 421 +innerclass innerClass jdk/internal/foreign/MemorySessionImpl$ResourceList outerClass jdk/internal/foreign/MemorySessionImpl innerClassName ResourceList flags 409 +innerclass innerClass jdk/internal/foreign/MemorySessionImpl$ResourceList$ResourceCleanup outerClass jdk/internal/foreign/MemorySessionImpl$ResourceList innerClassName ResourceCleanup flags 409 +method name descriptor ()V flags 1 +method name run descriptor ()V flags 11 + +class name jdk/internal/foreign/MemorySessionImpl$ResourceList$ResourceCleanup +header extends java/lang/Object nestHost jdk/internal/foreign/MemorySessionImpl flags 421 +innerclass innerClass jdk/internal/foreign/MemorySessionImpl$ResourceList outerClass jdk/internal/foreign/MemorySessionImpl innerClassName ResourceList flags 409 +innerclass innerClass jdk/internal/foreign/MemorySessionImpl$ResourceList$ResourceCleanup outerClass jdk/internal/foreign/MemorySessionImpl$ResourceList innerClassName ResourceCleanup flags 409 +method name descriptor ()V flags 1 +method name cleanup descriptor ()V flags 401 + +-class name jdk/internal/foreign/NativeSymbolImpl + +-class name jdk/internal/foreign/ResourceScopeImpl + +-class name jdk/internal/foreign/ResourceScopeImpl$ResourceList + +-class name jdk/internal/foreign/ResourceScopeImpl$ResourceList$ResourceCleanup + +class name jdk/internal/foreign/Scoped +-method name scope descriptor ()Ljdk/incubator/foreign/ResourceScope; +method name sessionImpl descriptor ()Ljdk/internal/foreign/MemorySessionImpl; flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name session descriptor ()Ljava/lang/foreign/MemorySession; flags 401 + +class name jdk/internal/foreign/abi/AbstractLinker +header extends java/lang/Object implements java/lang/foreign/Linker sealed true permittedSubclasses jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64Linker,jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64Linker,jdk/internal/foreign/abi/x64/sysv/SysVx64Linker,jdk/internal/foreign/abi/x64/windows/Windowsx64Linker flags 421 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name descriptor ()V flags 1 +method name downcallHandle descriptor (Ljava/lang/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; flags 1 +method name arrangeDowncall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; flags 404 +method name upcallStub descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/MemorySegment; flags 1 +method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/MemorySegment; flags 404 +method name defaultLookup descriptor ()Ljdk/internal/foreign/SystemLookup; flags 1 +method name defaultLookup descriptor ()Ljava/lang/foreign/SymbolLookup; flags 1041 + +class name jdk/internal/foreign/abi/SharedUtils +header extends java/lang/Object nestMembers jdk/internal/foreign/abi/SharedUtils$EmptyVaList flags 21 +innerclass innerClass java/lang/foreign/ValueLayout$OfByte outerClass java/lang/foreign/ValueLayout innerClassName OfByte flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfFloat outerClass java/lang/foreign/ValueLayout innerClassName OfFloat flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfShort outerClass java/lang/foreign/ValueLayout innerClassName OfShort flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfChar outerClass java/lang/foreign/ValueLayout innerClassName OfChar flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfBoolean outerClass java/lang/foreign/ValueLayout innerClassName OfBoolean flags 19 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 9 +innerclass innerClass java/lang/foreign/VaList$Builder outerClass java/lang/foreign/VaList innerClassName Builder flags 609 +-field name THROWING_ALLOCATOR descriptor Ljdk/incubator/foreign/SegmentAllocator; +-method name align descriptor (Ljdk/incubator/foreign/MemoryLayout;ZJ)J +-method name alignment descriptor (Ljdk/incubator/foreign/MemoryLayout;Z)J +-method name adaptDowncallForIMR descriptor (Ljava/lang/invoke/MethodHandle;Ljdk/incubator/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; +-method name getSystemLinker descriptor ()Ljdk/incubator/foreign/CLinker; +-method name toJavaStringInternal descriptor (Ljdk/incubator/foreign/MemorySegment;J)Ljava/lang/String; +-method name allocateMemoryInternal descriptor (J)Ljdk/incubator/foreign/MemoryAddress; +-method name freeMemoryInternal descriptor (Ljdk/incubator/foreign/MemoryAddress;)V +-method name isTrivial descriptor (Ljdk/incubator/foreign/FunctionDescriptor;)Z +-method name acquire descriptor ([Ljdk/internal/foreign/Scoped;)V +-method name release descriptor ([Ljdk/internal/foreign/Scoped;)V +-method name wrapDowncall descriptor (Ljava/lang/invoke/MethodHandle;Ljdk/incubator/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; +-method name checkSymbol descriptor (Ljdk/incubator/foreign/NativeSymbol;)V +-method name checkAddress descriptor (Ljdk/incubator/foreign/MemoryAddress;)V +-method name newVaList descriptor (Ljava/util/function/Consumer;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; +-method name newVaListOfAddress descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; +-method name emptyVaList descriptor ()Ljdk/incubator/foreign/VaList; +-method name isVarargsIndex descriptor (Ljdk/incubator/foreign/FunctionDescriptor;I)Z +-method name inferMethodType descriptor (Ljdk/incubator/foreign/FunctionDescriptor;Z)Ljava/lang/invoke/MethodType; +field name THROWING_ALLOCATOR descriptor Ljava/lang/foreign/SegmentAllocator; flags 19 +field name JAVA_SHORT_UNALIGNED descriptor Ljava/lang/foreign/ValueLayout$OfShort; flags 19 +field name JAVA_CHAR_UNALIGNED descriptor Ljava/lang/foreign/ValueLayout$OfChar; flags 19 +field name JAVA_INT_UNALIGNED descriptor Ljava/lang/foreign/ValueLayout$OfInt; flags 19 +field name JAVA_LONG_UNALIGNED descriptor Ljava/lang/foreign/ValueLayout$OfLong; flags 19 +field name JAVA_FLOAT_UNALIGNED descriptor Ljava/lang/foreign/ValueLayout$OfFloat; flags 19 +field name JAVA_DOUBLE_UNALIGNED descriptor Ljava/lang/foreign/ValueLayout$OfDouble; flags 19 +method name align descriptor (Ljava/lang/foreign/MemoryLayout;ZJ)J flags 9 +method name alignment descriptor (Ljava/lang/foreign/MemoryLayout;Z)J flags 9 +method name adaptDowncallForIMR descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; flags 9 +method name getSystemLinker descriptor ()Ljava/lang/foreign/Linker; flags 9 +method name toJavaStringInternal descriptor (Ljava/lang/foreign/MemorySegment;J)Ljava/lang/String; flags 9 +method name maybeInsertAllocator descriptor (Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle; flags 9 +method name checkSymbol descriptor (Ljava/lang/foreign/Addressable;)V flags 9 +method name checkAddress descriptor (Ljava/lang/foreign/MemoryAddress;)V flags 9 +method name newVaList descriptor (Ljava/util/function/Consumer;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; flags 9 signature (Ljava/util/function/Consumer;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; +method name newVaListOfAddress descriptor (Ljava/lang/foreign/MemoryAddress;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; flags 9 +method name emptyVaList descriptor ()Ljava/lang/foreign/VaList; flags 9 +method name isVarargsIndex descriptor (Ljava/lang/foreign/FunctionDescriptor;I)Z flags 9 +method name newVaListNSEE descriptor (Ljava/lang/foreign/MemoryLayout;)Ljava/util/NoSuchElementException; flags 9 +method name inferMethodType descriptor (Ljava/lang/foreign/FunctionDescriptor;Z)Ljava/lang/invoke/MethodType; flags 9 + +class name jdk/internal/foreign/abi/SharedUtils$EmptyVaList +header extends java/lang/Object implements java/lang/foreign/VaList,jdk/internal/foreign/Scoped nestHost jdk/internal/foreign/abi/SharedUtils flags 21 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 9 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 19 +-method name descriptor (Ljdk/incubator/foreign/MemoryAddress;)V +-method name skip descriptor ([Ljdk/incubator/foreign/MemoryLayout;)V +-method name scope descriptor ()Ljdk/incubator/foreign/ResourceScope; +-method name address descriptor ()Ljdk/incubator/foreign/MemoryAddress; +-method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;)I +-method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;)J +-method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;)D +-method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;)Ljdk/incubator/foreign/MemoryAddress; +-method name nextVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/SegmentAllocator;)Ljdk/incubator/foreign/MemorySegment; +-method name copy descriptor ()Ljdk/incubator/foreign/VaList; +method name descriptor (Ljava/lang/foreign/MemoryAddress;)V flags 1 +method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfInt;)I flags 1 +method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfLong;)J flags 1 +method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfDouble;)D flags 1 +method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;)Ljava/lang/foreign/MemoryAddress; flags 1 +method name nextVarg descriptor (Ljava/lang/foreign/GroupLayout;Ljava/lang/foreign/SegmentAllocator;)Ljava/lang/foreign/MemorySegment; flags 1 +method name skip descriptor ([Ljava/lang/foreign/MemoryLayout;)V flags 81 +method name session descriptor ()Ljava/lang/foreign/MemorySession; flags 1 +method name copy descriptor ()Ljava/lang/foreign/VaList; flags 1 +method name address descriptor ()Ljava/lang/foreign/MemoryAddress; flags 1 + +class name jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64Linker +header extends jdk/internal/foreign/abi/AbstractLinker flags 31 +innerclass innerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList innerClassName Builder flags 9 +innerclass innerClass java/lang/foreign/VaList$Builder outerClass java/lang/foreign/VaList innerClassName Builder flags 609 +-method name downcallHandle descriptor (Ljdk/incubator/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; +-method name upcallStub descriptor (Ljava/lang/invoke/MethodHandle;Ljdk/incubator/foreign/FunctionDescriptor;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/NativeSymbol; +-method name newVaList descriptor (Ljava/util/function/Consumer;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; +-method name newVaListOfAddress descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; +-method name emptyVaList descriptor ()Ljdk/incubator/foreign/VaList; +method name arrangeDowncall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; flags 4 +method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/MemorySegment; flags 4 +method name newVaList descriptor (Ljava/util/function/Consumer;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; flags 9 signature (Ljava/util/function/Consumer;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; +method name newVaListOfAddress descriptor (Ljava/lang/foreign/MemoryAddress;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; flags 9 +method name emptyVaList descriptor ()Ljava/lang/foreign/VaList; flags 9 + +class name jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList +header extends java/lang/Object implements java/lang/foreign/VaList,jdk/internal/foreign/Scoped nestMembers jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder flags 21 +innerclass innerClass java/lang/foreign/MemoryLayout$PathElement outerClass java/lang/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 19 +innerclass innerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList innerClassName Builder flags 9 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 19 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 9 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 19 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name skip descriptor ([Ljdk/incubator/foreign/MemoryLayout;)V +-method name scope descriptor ()Ljdk/incubator/foreign/ResourceScope; +-method name address descriptor ()Ljdk/incubator/foreign/MemoryAddress; +-method name empty descriptor ()Ljdk/incubator/foreign/VaList; +-method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;)I +-method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;)J +-method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;)D +-method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;)Ljdk/incubator/foreign/MemoryAddress; +-method name nextVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/SegmentAllocator;)Ljdk/incubator/foreign/MemorySegment; +-method name ofAddress descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; +-method name copy descriptor ()Ljdk/incubator/foreign/VaList; +method name empty descriptor ()Ljava/lang/foreign/VaList; flags 9 +method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfInt;)I flags 1 +method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfLong;)J flags 1 +method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfDouble;)D flags 1 +method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;)Ljava/lang/foreign/MemoryAddress; flags 1 +method name nextVarg descriptor (Ljava/lang/foreign/GroupLayout;Ljava/lang/foreign/SegmentAllocator;)Ljava/lang/foreign/MemorySegment; flags 1 +method name skip descriptor ([Ljava/lang/foreign/MemoryLayout;)V flags 81 +method name ofAddress descriptor (Ljava/lang/foreign/MemoryAddress;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; flags 9 +method name session descriptor ()Ljava/lang/foreign/MemorySession; flags 1 +method name copy descriptor ()Ljava/lang/foreign/VaList; flags 1 +method name address descriptor ()Ljava/lang/foreign/MemoryAddress; flags 1 + +class name jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder +header extends java/lang/Object implements java/lang/foreign/VaList$Builder nestHost jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList flags 21 +innerclass innerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList innerClassName Builder flags 9 +innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 19 +innerclass innerClass java/lang/foreign/MemoryLayout$PathElement outerClass java/lang/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 19 +innerclass innerClass java/lang/foreign/VaList$Builder outerClass java/lang/foreign/VaList innerClassName Builder flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;I)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;J)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;D)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;Ljdk/incubator/foreign/Addressable;)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; +-method name build descriptor ()Ljdk/incubator/foreign/VaList; +-method name addVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/incubator/foreign/VaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;Ljdk/incubator/foreign/Addressable;)Ljdk/incubator/foreign/VaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;D)Ljdk/incubator/foreign/VaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;J)Ljdk/incubator/foreign/VaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;I)Ljdk/incubator/foreign/VaList$Builder; +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfInt;I)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; flags 1 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfLong;J)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; flags 1 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfDouble;D)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; flags 1 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/Addressable;)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; flags 1 +method name addVarg descriptor (Ljava/lang/foreign/GroupLayout;Ljava/lang/foreign/MemorySegment;)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; flags 1 +method name build descriptor ()Ljava/lang/foreign/VaList; flags 1 +method name addVarg descriptor (Ljava/lang/foreign/GroupLayout;Ljava/lang/foreign/MemorySegment;)Ljava/lang/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/Addressable;)Ljava/lang/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfDouble;D)Ljava/lang/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfLong;J)Ljava/lang/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfInt;I)Ljava/lang/foreign/VaList$Builder; flags 1041 + +class name jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64Linker +header extends jdk/internal/foreign/abi/AbstractLinker flags 31 +innerclass innerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList innerClassName Builder flags 9 +innerclass innerClass java/lang/foreign/VaList$Builder outerClass java/lang/foreign/VaList innerClassName Builder flags 609 +-method name downcallHandle descriptor (Ljdk/incubator/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; +-method name upcallStub descriptor (Ljava/lang/invoke/MethodHandle;Ljdk/incubator/foreign/FunctionDescriptor;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/NativeSymbol; +-method name newVaList descriptor (Ljava/util/function/Consumer;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; +-method name newVaListOfAddress descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; +-method name emptyVaList descriptor ()Ljdk/incubator/foreign/VaList; +method name arrangeDowncall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; flags 4 +method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/MemorySegment; flags 4 +method name newVaList descriptor (Ljava/util/function/Consumer;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; flags 9 signature (Ljava/util/function/Consumer;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; +method name newVaListOfAddress descriptor (Ljava/lang/foreign/MemoryAddress;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; flags 9 +method name emptyVaList descriptor ()Ljava/lang/foreign/VaList; flags 9 + +class name jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList +header extends java/lang/Object implements java/lang/foreign/VaList,jdk/internal/foreign/Scoped nestMembers jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder flags 21 +innerclass innerClass java/lang/foreign/MemoryLayout$PathElement outerClass java/lang/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList innerClassName Builder flags 9 +innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 19 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 9 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 19 +-field name CARRIER descriptor Ljava/lang/Class; +-method name skip descriptor ([Ljdk/incubator/foreign/MemoryLayout;)V +-method name scope descriptor ()Ljdk/incubator/foreign/ResourceScope; +-method name address descriptor ()Ljdk/incubator/foreign/MemoryAddress; +-method name empty descriptor ()Ljdk/incubator/foreign/VaList; +-method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;)I +-method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;)J +-method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;)D +-method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;)Ljdk/incubator/foreign/MemoryAddress; +-method name nextVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/SegmentAllocator;)Ljdk/incubator/foreign/MemorySegment; +-method name copy descriptor ()Ljdk/incubator/foreign/VaList; +method name empty descriptor ()Ljava/lang/foreign/VaList; flags 19 +method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfInt;)I flags 1 +method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfLong;)J flags 1 +method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfDouble;)D flags 1 +method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;)Ljava/lang/foreign/MemoryAddress; flags 1 +method name nextVarg descriptor (Ljava/lang/foreign/GroupLayout;Ljava/lang/foreign/SegmentAllocator;)Ljava/lang/foreign/MemorySegment; flags 1 +method name skip descriptor ([Ljava/lang/foreign/MemoryLayout;)V flags 81 +method name session descriptor ()Ljava/lang/foreign/MemorySession; flags 1 +method name copy descriptor ()Ljava/lang/foreign/VaList; flags 1 +method name address descriptor ()Ljava/lang/foreign/MemoryAddress; flags 1 + +class name jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder +header extends java/lang/Object implements java/lang/foreign/VaList$Builder nestHost jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList flags 21 +innerclass innerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList innerClassName Builder flags 9 +innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 19 +innerclass innerClass java/lang/foreign/VaList$Builder outerClass java/lang/foreign/VaList innerClassName Builder flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name descriptor (Ljdk/incubator/foreign/ResourceScope;)V +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;I)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;J)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;D)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;Ljdk/incubator/foreign/Addressable;)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; +-method name build descriptor ()Ljdk/incubator/foreign/VaList; +-method name addVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/incubator/foreign/VaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;Ljdk/incubator/foreign/Addressable;)Ljdk/incubator/foreign/VaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;D)Ljdk/incubator/foreign/VaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;J)Ljdk/incubator/foreign/VaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;I)Ljdk/incubator/foreign/VaList$Builder; +method name descriptor (Ljava/lang/foreign/MemorySession;)V flags 1 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfInt;I)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; flags 1 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfLong;J)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; flags 1 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfDouble;D)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; flags 1 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/Addressable;)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; flags 1 +method name addVarg descriptor (Ljava/lang/foreign/GroupLayout;Ljava/lang/foreign/MemorySegment;)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; flags 1 +method name build descriptor ()Ljava/lang/foreign/VaList; flags 1 +method name addVarg descriptor (Ljava/lang/foreign/GroupLayout;Ljava/lang/foreign/MemorySegment;)Ljava/lang/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/Addressable;)Ljava/lang/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfDouble;D)Ljava/lang/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfLong;J)Ljava/lang/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfInt;I)Ljava/lang/foreign/VaList$Builder; flags 1041 + +class name jdk/internal/foreign/abi/x64/sysv/SysVVaList +header extends java/lang/Object implements java/lang/foreign/VaList,jdk/internal/foreign/Scoped nestMembers jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder flags 21 +innerclass innerClass java/lang/foreign/MemoryLayout$PathElement outerClass java/lang/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder outerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList innerClassName Builder flags 9 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 19 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 9 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 19 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name skip descriptor ([Ljdk/incubator/foreign/MemoryLayout;)V +-method name scope descriptor ()Ljdk/incubator/foreign/ResourceScope; +-method name address descriptor ()Ljdk/incubator/foreign/MemoryAddress; +-method name empty descriptor ()Ljdk/incubator/foreign/VaList; +-method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;)I +-method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;)J +-method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;)D +-method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;)Ljdk/incubator/foreign/MemoryAddress; +-method name nextVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/SegmentAllocator;)Ljdk/incubator/foreign/MemorySegment; +-method name ofAddress descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; +-method name copy descriptor ()Ljdk/incubator/foreign/VaList; +method name empty descriptor ()Ljava/lang/foreign/VaList; flags 9 +method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfInt;)I flags 1 +method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfLong;)J flags 1 +method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfDouble;)D flags 1 +method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;)Ljava/lang/foreign/MemoryAddress; flags 1 +method name nextVarg descriptor (Ljava/lang/foreign/GroupLayout;Ljava/lang/foreign/SegmentAllocator;)Ljava/lang/foreign/MemorySegment; flags 1 +method name skip descriptor ([Ljava/lang/foreign/MemoryLayout;)V flags 81 +method name ofAddress descriptor (Ljava/lang/foreign/MemoryAddress;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; flags 9 +method name session descriptor ()Ljava/lang/foreign/MemorySession; flags 1 +method name copy descriptor ()Ljava/lang/foreign/VaList; flags 1 +method name address descriptor ()Ljava/lang/foreign/MemoryAddress; flags 1 + +class name jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder +header extends java/lang/Object implements java/lang/foreign/VaList$Builder nestHost jdk/internal/foreign/abi/x64/sysv/SysVVaList flags 21 +innerclass innerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder outerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList innerClassName Builder flags 9 +innerclass innerClass java/lang/foreign/MemoryLayout$PathElement outerClass java/lang/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 19 +innerclass innerClass java/lang/foreign/VaList$Builder outerClass java/lang/foreign/VaList innerClassName Builder flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name descriptor (Ljdk/incubator/foreign/ResourceScope;)V +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;I)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;J)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;D)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;Ljdk/incubator/foreign/Addressable;)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; +-method name build descriptor ()Ljdk/incubator/foreign/VaList; +-method name addVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/incubator/foreign/VaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;Ljdk/incubator/foreign/Addressable;)Ljdk/incubator/foreign/VaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;D)Ljdk/incubator/foreign/VaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;J)Ljdk/incubator/foreign/VaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;I)Ljdk/incubator/foreign/VaList$Builder; +method name descriptor (Ljava/lang/foreign/MemorySession;)V flags 1 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfInt;I)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; flags 1 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfLong;J)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; flags 1 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfDouble;D)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; flags 1 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/Addressable;)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; flags 1 +method name addVarg descriptor (Ljava/lang/foreign/GroupLayout;Ljava/lang/foreign/MemorySegment;)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; flags 1 +method name build descriptor ()Ljava/lang/foreign/VaList; flags 1 +method name addVarg descriptor (Ljava/lang/foreign/GroupLayout;Ljava/lang/foreign/MemorySegment;)Ljava/lang/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/Addressable;)Ljava/lang/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfDouble;D)Ljava/lang/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfLong;J)Ljava/lang/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfInt;I)Ljava/lang/foreign/VaList$Builder; flags 1041 + +class name jdk/internal/foreign/abi/x64/sysv/SysVx64Linker +header extends jdk/internal/foreign/abi/AbstractLinker flags 31 +innerclass innerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder outerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList innerClassName Builder flags 9 +innerclass innerClass java/lang/foreign/VaList$Builder outerClass java/lang/foreign/VaList innerClassName Builder flags 609 +-field name MAX_INTEGER_ARGUMENT_REGISTERS descriptor I +-field name MAX_INTEGER_RETURN_REGISTERS descriptor I +-field name MAX_VECTOR_ARGUMENT_REGISTERS descriptor I +-field name MAX_VECTOR_RETURN_REGISTERS descriptor I +-field name MAX_X87_RETURN_REGISTERS descriptor I +-method name newVaList descriptor (Ljava/util/function/Consumer;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; +-method name downcallHandle descriptor (Ljdk/incubator/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; +-method name upcallStub descriptor (Ljava/lang/invoke/MethodHandle;Ljdk/incubator/foreign/FunctionDescriptor;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/NativeSymbol; +-method name newVaListOfAddress descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; +-method name emptyVaList descriptor ()Ljdk/incubator/foreign/VaList; +method name arrangeDowncall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; flags 4 +method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/MemorySegment; flags 4 +method name newVaList descriptor (Ljava/util/function/Consumer;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; flags 9 signature (Ljava/util/function/Consumer;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; +method name newVaListOfAddress descriptor (Ljava/lang/foreign/MemoryAddress;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; flags 9 +method name emptyVaList descriptor ()Ljava/lang/foreign/VaList; flags 9 + +class name jdk/internal/foreign/abi/x64/windows/WinVaList +header extends java/lang/Object implements java/lang/foreign/VaList,jdk/internal/foreign/Scoped nestMembers jdk/internal/foreign/abi/x64/windows/WinVaList$Builder flags 21 +innerclass innerClass java/lang/foreign/MemoryLayout$PathElement outerClass java/lang/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass jdk/internal/foreign/abi/x64/windows/WinVaList$Builder outerClass jdk/internal/foreign/abi/x64/windows/WinVaList innerClassName Builder flags 9 +innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 19 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 9 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 19 +-field name CARRIER descriptor Ljava/lang/Class; +-method name skip descriptor ([Ljdk/incubator/foreign/MemoryLayout;)V +-method name scope descriptor ()Ljdk/incubator/foreign/ResourceScope; +-method name address descriptor ()Ljdk/incubator/foreign/MemoryAddress; +-method name empty descriptor ()Ljdk/incubator/foreign/VaList; +-method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;)I +-method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;)J +-method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;)D +-method name nextVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;)Ljdk/incubator/foreign/MemoryAddress; +-method name nextVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/SegmentAllocator;)Ljdk/incubator/foreign/MemorySegment; +-method name copy descriptor ()Ljdk/incubator/foreign/VaList; +method name empty descriptor ()Ljava/lang/foreign/VaList; flags 19 +method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfInt;)I flags 1 +method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfLong;)J flags 1 +method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfDouble;)D flags 1 +method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;)Ljava/lang/foreign/MemoryAddress; flags 1 +method name nextVarg descriptor (Ljava/lang/foreign/GroupLayout;Ljava/lang/foreign/SegmentAllocator;)Ljava/lang/foreign/MemorySegment; flags 1 +method name skip descriptor ([Ljava/lang/foreign/MemoryLayout;)V flags 81 +method name session descriptor ()Ljava/lang/foreign/MemorySession; flags 1 +method name copy descriptor ()Ljava/lang/foreign/VaList; flags 1 +method name address descriptor ()Ljava/lang/foreign/MemoryAddress; flags 1 + +class name jdk/internal/foreign/abi/x64/windows/WinVaList$Builder +header extends java/lang/Object implements java/lang/foreign/VaList$Builder nestHost jdk/internal/foreign/abi/x64/windows/WinVaList flags 21 +innerclass innerClass jdk/internal/foreign/abi/x64/windows/WinVaList$Builder outerClass jdk/internal/foreign/abi/x64/windows/WinVaList innerClassName Builder flags 9 +innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 19 +innerclass innerClass java/lang/foreign/VaList$Builder outerClass java/lang/foreign/VaList innerClassName Builder flags 609 +-method name descriptor (Ljdk/incubator/foreign/ResourceScope;)V +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;I)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;J)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;D)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;Ljdk/incubator/foreign/Addressable;)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; +-method name build descriptor ()Ljdk/incubator/foreign/VaList; +-method name addVarg descriptor (Ljdk/incubator/foreign/GroupLayout;Ljdk/incubator/foreign/MemorySegment;)Ljdk/incubator/foreign/VaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfAddress;Ljdk/incubator/foreign/Addressable;)Ljdk/incubator/foreign/VaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfDouble;D)Ljdk/incubator/foreign/VaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfLong;J)Ljdk/incubator/foreign/VaList$Builder; +-method name addVarg descriptor (Ljdk/incubator/foreign/ValueLayout$OfInt;I)Ljdk/incubator/foreign/VaList$Builder; +method name descriptor (Ljava/lang/foreign/MemorySession;)V flags 1 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfInt;I)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; flags 1 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfLong;J)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; flags 1 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfDouble;D)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; flags 1 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/Addressable;)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; flags 1 +method name addVarg descriptor (Ljava/lang/foreign/GroupLayout;Ljava/lang/foreign/MemorySegment;)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; flags 1 +method name build descriptor ()Ljava/lang/foreign/VaList; flags 1 +method name addVarg descriptor (Ljava/lang/foreign/GroupLayout;Ljava/lang/foreign/MemorySegment;)Ljava/lang/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/Addressable;)Ljava/lang/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfDouble;D)Ljava/lang/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfLong;J)Ljava/lang/foreign/VaList$Builder; flags 1041 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfInt;I)Ljava/lang/foreign/VaList$Builder; flags 1041 + +class name jdk/internal/foreign/abi/x64/windows/Windowsx64Linker +header extends jdk/internal/foreign/abi/AbstractLinker flags 31 +innerclass innerClass jdk/internal/foreign/abi/x64/windows/WinVaList$Builder outerClass jdk/internal/foreign/abi/x64/windows/WinVaList innerClassName Builder flags 9 +innerclass innerClass java/lang/foreign/VaList$Builder outerClass java/lang/foreign/VaList innerClassName Builder flags 609 +-field name MAX_INTEGER_ARGUMENT_REGISTERS descriptor I +-field name MAX_INTEGER_RETURN_REGISTERS descriptor I +-field name MAX_VECTOR_ARGUMENT_REGISTERS descriptor I +-field name MAX_VECTOR_RETURN_REGISTERS descriptor I +-field name MAX_REGISTER_ARGUMENTS descriptor I +-field name MAX_REGISTER_RETURNS descriptor I +-method name newVaList descriptor (Ljava/util/function/Consumer;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; +-method name downcallHandle descriptor (Ljdk/incubator/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; +-method name upcallStub descriptor (Ljava/lang/invoke/MethodHandle;Ljdk/incubator/foreign/FunctionDescriptor;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/NativeSymbol; +-method name newVaListOfAddress descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/ResourceScope;)Ljdk/incubator/foreign/VaList; +-method name emptyVaList descriptor ()Ljdk/incubator/foreign/VaList; +method name arrangeDowncall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; flags 4 +method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/MemorySegment; flags 4 +method name newVaList descriptor (Ljava/util/function/Consumer;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; flags 9 signature (Ljava/util/function/Consumer;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; +method name newVaListOfAddress descriptor (Ljava/lang/foreign/MemoryAddress;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; flags 9 +method name emptyVaList descriptor ()Ljava/lang/foreign/VaList; flags 9 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-K.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-K.sym.txt new file mode 100644 index 0000000000000..fb8268293daff --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-K.sym.txt @@ -0,0 +1,542 @@ +# +# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. +# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +class name jdk/internal/foreign/AbstractMemorySegmentImpl +header extends java/lang/Object implements java/lang/foreign/MemorySegment,java/lang/foreign/SegmentAllocator,java/util/function/BiFunction sealed true permittedSubclasses jdk/internal/foreign/HeapMemorySegmentImpl,jdk/internal/foreign/NativeMemorySegmentImpl flags 421 signature Ljava/lang/Object;Ljava/lang/foreign/MemorySegment;Ljava/lang/foreign/SegmentAllocator;Ljava/util/function/BiFunction;Ljava/lang/RuntimeException;>; +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfShort outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfShort flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfChar outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfChar flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfInt outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfInt flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfFloat outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfFloat flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfLong outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfLong flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfDouble outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfDouble flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfByte outerClass java/lang/foreign/ValueLayout innerClassName OfByte flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfShort outerClass java/lang/foreign/ValueLayout innerClassName OfShort flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfChar outerClass java/lang/foreign/ValueLayout innerClassName OfChar flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfFloat outerClass java/lang/foreign/ValueLayout innerClassName OfFloat flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name id descriptor ()I +-method name mismatch descriptor (Ljava/lang/foreign/MemorySegment;)J +-method name address descriptor ()Ljava/lang/foreign/MemoryAddress; +-method name session descriptor ()Ljava/lang/foreign/MemorySession; +method name vectorizedMismatchLargeForBytes descriptor (Ljdk/internal/foreign/MemorySessionImpl;Ljdk/internal/foreign/MemorySessionImpl;Ljava/lang/Object;JLjava/lang/Object;JJ)J flags 9 +method name scope descriptor ()Ljava/lang/foreign/SegmentScope; flags 1 +method name sessionImpl descriptor ()Ljdk/internal/foreign/MemorySessionImpl; flags 11 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name copy descriptor (Ljava/lang/foreign/MemorySegment;Ljava/lang/foreign/ValueLayout;JLjava/lang/foreign/MemorySegment;Ljava/lang/foreign/ValueLayout;JJ)V flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name copy descriptor (Ljava/lang/foreign/MemorySegment;Ljava/lang/foreign/ValueLayout;JLjava/lang/Object;II)V flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name copy descriptor (Ljava/lang/Object;ILjava/lang/foreign/MemorySegment;Ljava/lang/foreign/ValueLayout;JI)V flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name mismatch descriptor (Ljava/lang/foreign/MemorySegment;JJLjava/lang/foreign/MemorySegment;JJ)J flags 9 + +class name jdk/internal/foreign/ConfinedSession +header extends jdk/internal/foreign/MemorySessionImpl flags 30 +innerclass innerClass jdk/internal/foreign/MemorySessionImpl$ResourceList outerClass jdk/internal/foreign/MemorySessionImpl innerClassName ResourceList flags 409 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name descriptor (Ljava/lang/Thread;)V flags 1 +method name acquire0 descriptor ()V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name release0 descriptor ()V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; + +class name jdk/internal/foreign/FunctionDescriptorImpl +header extends java/lang/Object implements java/lang/foreign/FunctionDescriptor flags 31 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name returnLayout descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name argumentLayouts descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List; +method name appendArgumentLayouts descriptor ([Ljava/lang/foreign/MemoryLayout;)Ljdk/internal/foreign/FunctionDescriptorImpl; flags 81 +method name insertArgumentLayouts descriptor (I[Ljava/lang/foreign/MemoryLayout;)Ljdk/internal/foreign/FunctionDescriptorImpl; flags 81 +method name changeReturnLayout descriptor (Ljava/lang/foreign/MemoryLayout;)Ljdk/internal/foreign/FunctionDescriptorImpl; flags 1 +method name dropReturnLayout descriptor ()Ljdk/internal/foreign/FunctionDescriptorImpl; flags 1 +method name toMethodType descriptor ()Ljava/lang/invoke/MethodType; flags 1 +method name toString descriptor ()Ljava/lang/String; flags 1 +method name equals descriptor (Ljava/lang/Object;)Z flags 1 +method name hashCode descriptor ()I flags 1 +method name of descriptor (Ljava/lang/foreign/MemoryLayout;Ljava/util/List;)Ljava/lang/foreign/FunctionDescriptor; flags 9 signature (Ljava/lang/foreign/MemoryLayout;Ljava/util/List;)Ljava/lang/foreign/FunctionDescriptor; +method name ofVoid descriptor (Ljava/util/List;)Ljava/lang/foreign/FunctionDescriptor; flags 9 signature (Ljava/util/List;)Ljava/lang/foreign/FunctionDescriptor; +method name dropReturnLayout descriptor ()Ljava/lang/foreign/FunctionDescriptor; flags 1041 +method name changeReturnLayout descriptor (Ljava/lang/foreign/MemoryLayout;)Ljava/lang/foreign/FunctionDescriptor; flags 1041 +method name insertArgumentLayouts descriptor (I[Ljava/lang/foreign/MemoryLayout;)Ljava/lang/foreign/FunctionDescriptor; flags 1041 +method name appendArgumentLayouts descriptor ([Ljava/lang/foreign/MemoryLayout;)Ljava/lang/foreign/FunctionDescriptor; flags 1041 + +class name jdk/internal/foreign/GlobalSession +header extends jdk/internal/foreign/MemorySessionImpl flags 30 +innerclass innerClass jdk/internal/foreign/MemorySessionImpl$ResourceList outerClass jdk/internal/foreign/MemorySessionImpl innerClassName ResourceList flags 409 +innerclass innerClass jdk/internal/foreign/MemorySessionImpl$ResourceList$ResourceCleanup outerClass jdk/internal/foreign/MemorySessionImpl$ResourceList innerClassName ResourceCleanup flags 409 +method name descriptor (Ljava/lang/Object;)V flags 1 +method name release0 descriptor ()V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name isCloseable descriptor ()Z flags 1 +method name acquire0 descriptor ()V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name justClose descriptor ()V flags 1 + +class name jdk/internal/foreign/HeapMemorySegmentImpl +header extends jdk/internal/foreign/AbstractMemorySegmentImpl nestMembers jdk/internal/foreign/HeapMemorySegmentImpl$OfDouble,jdk/internal/foreign/HeapMemorySegmentImpl$OfFloat,jdk/internal/foreign/HeapMemorySegmentImpl$OfLong,jdk/internal/foreign/HeapMemorySegmentImpl$OfInt,jdk/internal/foreign/HeapMemorySegmentImpl$OfShort,jdk/internal/foreign/HeapMemorySegmentImpl$OfChar,jdk/internal/foreign/HeapMemorySegmentImpl$OfByte sealed true permittedSubclasses jdk/internal/foreign/HeapMemorySegmentImpl$OfByte,jdk/internal/foreign/HeapMemorySegmentImpl$OfChar,jdk/internal/foreign/HeapMemorySegmentImpl$OfShort,jdk/internal/foreign/HeapMemorySegmentImpl$OfInt,jdk/internal/foreign/HeapMemorySegmentImpl$OfLong,jdk/internal/foreign/HeapMemorySegmentImpl$OfFloat,jdk/internal/foreign/HeapMemorySegmentImpl$OfDouble flags 421 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfDouble outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfDouble flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfFloat outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfFloat flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfLong outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfLong flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfInt outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfInt flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfShort outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfShort flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfChar outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfChar flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 +method name array descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name unsafeGetOffset descriptor ()J flags 1 + +class name jdk/internal/foreign/HeapMemorySegmentImpl$OfByte +header extends jdk/internal/foreign/HeapMemorySegmentImpl nestHost jdk/internal/foreign/HeapMemorySegmentImpl flags 31 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 +method name unsafeGetBase descriptor ()[B flags 1 +method name fromArray descriptor ([B)Ljava/lang/foreign/MemorySegment; flags 9 +method name maxAlignMask descriptor ()J flags 1 +method name address descriptor ()J flags 1 +method name unsafeGetBase descriptor ()Ljava/lang/Object; flags 1041 + +class name jdk/internal/foreign/HeapMemorySegmentImpl$OfChar +header extends jdk/internal/foreign/HeapMemorySegmentImpl nestHost jdk/internal/foreign/HeapMemorySegmentImpl flags 31 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfChar outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfChar flags 19 +method name unsafeGetBase descriptor ()[C flags 1 +method name fromArray descriptor ([C)Ljava/lang/foreign/MemorySegment; flags 9 +method name maxAlignMask descriptor ()J flags 1 +method name address descriptor ()J flags 1 +method name unsafeGetBase descriptor ()Ljava/lang/Object; flags 1041 + +class name jdk/internal/foreign/HeapMemorySegmentImpl$OfDouble +header extends jdk/internal/foreign/HeapMemorySegmentImpl nestHost jdk/internal/foreign/HeapMemorySegmentImpl flags 31 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfDouble outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfDouble flags 19 +method name unsafeGetBase descriptor ()[D flags 1 +method name fromArray descriptor ([D)Ljava/lang/foreign/MemorySegment; flags 9 +method name maxAlignMask descriptor ()J flags 1 +method name address descriptor ()J flags 1 +method name unsafeGetBase descriptor ()Ljava/lang/Object; flags 1041 + +class name jdk/internal/foreign/HeapMemorySegmentImpl$OfFloat +header extends jdk/internal/foreign/HeapMemorySegmentImpl nestHost jdk/internal/foreign/HeapMemorySegmentImpl flags 31 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfFloat outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfFloat flags 19 +method name unsafeGetBase descriptor ()[F flags 1 +method name fromArray descriptor ([F)Ljava/lang/foreign/MemorySegment; flags 9 +method name maxAlignMask descriptor ()J flags 1 +method name address descriptor ()J flags 1 +method name unsafeGetBase descriptor ()Ljava/lang/Object; flags 1041 + +class name jdk/internal/foreign/HeapMemorySegmentImpl$OfInt +header extends jdk/internal/foreign/HeapMemorySegmentImpl nestHost jdk/internal/foreign/HeapMemorySegmentImpl flags 31 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfInt outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfInt flags 19 +method name unsafeGetBase descriptor ()[I flags 1 +method name fromArray descriptor ([I)Ljava/lang/foreign/MemorySegment; flags 9 +method name maxAlignMask descriptor ()J flags 1 +method name address descriptor ()J flags 1 +method name unsafeGetBase descriptor ()Ljava/lang/Object; flags 1041 + +class name jdk/internal/foreign/HeapMemorySegmentImpl$OfLong +header extends jdk/internal/foreign/HeapMemorySegmentImpl nestHost jdk/internal/foreign/HeapMemorySegmentImpl flags 31 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfLong outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfLong flags 19 +method name unsafeGetBase descriptor ()[J flags 1 +method name fromArray descriptor ([J)Ljava/lang/foreign/MemorySegment; flags 9 +method name maxAlignMask descriptor ()J flags 1 +method name address descriptor ()J flags 1 +method name unsafeGetBase descriptor ()Ljava/lang/Object; flags 1041 + +class name jdk/internal/foreign/HeapMemorySegmentImpl$OfShort +header extends jdk/internal/foreign/HeapMemorySegmentImpl nestHost jdk/internal/foreign/HeapMemorySegmentImpl flags 31 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfShort outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfShort flags 19 +method name unsafeGetBase descriptor ()[S flags 1 +method name fromArray descriptor ([S)Ljava/lang/foreign/MemorySegment; flags 9 +method name maxAlignMask descriptor ()J flags 1 +method name address descriptor ()J flags 1 +method name unsafeGetBase descriptor ()Ljava/lang/Object; flags 1041 + +class name jdk/internal/foreign/ImplicitSession +header extends jdk/internal/foreign/SharedSession flags 30 +innerclass innerClass jdk/internal/foreign/MemorySessionImpl$ResourceList outerClass jdk/internal/foreign/MemorySessionImpl innerClassName ResourceList flags 409 +innerclass innerClass java/lang/ref/Cleaner$Cleanable outerClass java/lang/ref/Cleaner innerClassName Cleanable flags 609 +method name descriptor (Ljava/lang/ref/Cleaner;)V flags 1 +method name release0 descriptor ()V flags 1 +method name acquire0 descriptor ()V flags 1 +method name isCloseable descriptor ()Z flags 1 +method name justClose descriptor ()V flags 1 + +class name jdk/internal/foreign/MappedMemorySegmentImpl +header extends jdk/internal/foreign/NativeMemorySegmentImpl nestMembers jdk/internal/foreign/MappedMemorySegmentImpl$EmptyMappedMemorySegmentImpl sealed true permittedSubclasses jdk/internal/foreign/MappedMemorySegmentImpl$EmptyMappedMemorySegmentImpl flags 21 +innerclass innerClass jdk/internal/foreign/MappedMemorySegmentImpl$EmptyMappedMemorySegmentImpl outerClass jdk/internal/foreign/MappedMemorySegmentImpl innerClassName EmptyMappedMemorySegmentImpl flags 19 +method name descriptor (JLjdk/internal/access/foreign/UnmapperProxy;JZLjava/lang/foreign/SegmentScope;)V flags 1 +method name asSlice descriptor (JJ)Ljdk/internal/foreign/MappedMemorySegmentImpl; flags 1 +method name isMapped descriptor ()Z flags 1 +method name segment descriptor ()Ljava/lang/foreign/MemorySegment; flags 1 +method name load descriptor ()V flags 1 +method name unload descriptor ()V flags 1 +method name isLoaded descriptor ()Z flags 1 +method name force descriptor ()V flags 1 +method name asSlice descriptor (JJ)Ljdk/internal/foreign/AbstractMemorySegmentImpl; flags 1041 +method name asSlice descriptor (JJ)Ljava/lang/foreign/MemorySegment; flags 1041 + +class name jdk/internal/foreign/MappedMemorySegmentImpl$EmptyMappedMemorySegmentImpl +header extends jdk/internal/foreign/MappedMemorySegmentImpl nestHost jdk/internal/foreign/MappedMemorySegmentImpl flags 31 +innerclass innerClass jdk/internal/foreign/MappedMemorySegmentImpl$EmptyMappedMemorySegmentImpl outerClass jdk/internal/foreign/MappedMemorySegmentImpl innerClassName EmptyMappedMemorySegmentImpl flags 19 +method name descriptor (ZLjdk/internal/foreign/MemorySessionImpl;)V flags 1 +method name load descriptor ()V flags 1 +method name unload descriptor ()V flags 1 +method name isLoaded descriptor ()Z flags 1 +method name force descriptor ()V flags 1 +method name asSlice descriptor (JJ)Ljdk/internal/foreign/AbstractMemorySegmentImpl; flags 1041 +method name asSlice descriptor (JJ)Ljava/lang/foreign/MemorySegment; flags 1041 + +-class name jdk/internal/foreign/MemoryAddressImpl + +class name jdk/internal/foreign/MemorySessionImpl +header extends java/lang/Object implements java/lang/foreign/SegmentScope,java/lang/foreign/SegmentAllocator nestMembers jdk/internal/foreign/MemorySessionImpl$ResourceList,jdk/internal/foreign/MemorySessionImpl$ResourceList$ResourceCleanup sealed true permittedSubclasses jdk/internal/foreign/ConfinedSession,jdk/internal/foreign/GlobalSession,jdk/internal/foreign/SharedSession flags 421 +innerclass innerClass jdk/internal/foreign/MemorySessionImpl$ResourceList outerClass jdk/internal/foreign/MemorySessionImpl innerClassName ResourceList flags 409 +innerclass innerClass jdk/internal/foreign/MemorySessionImpl$ResourceList$ResourceCleanup outerClass jdk/internal/foreign/MemorySessionImpl$ResourceList innerClassName ResourceCleanup flags 409 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name descriptor (Ljava/lang/Thread;Ljdk/internal/foreign/MemorySessionImpl$ResourceList;Ljava/lang/ref/Cleaner;)V +-method name createConfined descriptor (Ljava/lang/Thread;Ljava/lang/ref/Cleaner;)Ljava/lang/foreign/MemorySession; +-method name createShared descriptor (Ljava/lang/ref/Cleaner;)Ljava/lang/foreign/MemorySession; +-method name createImplicit descriptor ()Ljdk/internal/foreign/MemorySessionImpl; +-method name equals descriptor (Ljava/lang/Object;)Z +-method name hashCode descriptor ()I +-method name asNonCloseable descriptor ()Ljava/lang/foreign/MemorySession; +-method name toSessionImpl descriptor (Ljava/lang/foreign/MemorySession;)Ljdk/internal/foreign/MemorySessionImpl; +method name asArena descriptor ()Ljava/lang/foreign/Arena; flags 1 +method name descriptor (Ljava/lang/Thread;Ljdk/internal/foreign/MemorySessionImpl$ResourceList;)V flags 4 +method name createConfined descriptor (Ljava/lang/Thread;)Ljdk/internal/foreign/MemorySessionImpl; flags 9 +method name createShared descriptor ()Ljdk/internal/foreign/MemorySessionImpl; flags 9 +method name createImplicit descriptor (Ljava/lang/ref/Cleaner;)Ljdk/internal/foreign/MemorySessionImpl; flags 9 +method name sameOwnerThread descriptor (Ljava/lang/foreign/SegmentScope;Ljava/lang/foreign/SegmentScope;)Z flags 9 +method name isAccessibleBy descriptor (Ljava/lang/Thread;)Z flags 11 + +-class name jdk/internal/foreign/MemorySessionImpl$NonCloseableView + +class name jdk/internal/foreign/NativeMemorySegmentImpl +header extends jdk/internal/foreign/AbstractMemorySegmentImpl sealed true permittedSubclasses jdk/internal/foreign/MappedMemorySegmentImpl flags 21 +innerclass innerClass jdk/internal/foreign/MemorySessionImpl$ResourceList outerClass jdk/internal/foreign/MemorySessionImpl innerClassName ResourceList flags 409 +innerclass innerClass jdk/internal/foreign/MemorySessionImpl$ResourceList$ResourceCleanup outerClass jdk/internal/foreign/MemorySessionImpl$ResourceList innerClassName ResourceCleanup flags 409 +method name address descriptor ()J flags 1 +method name array descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name isNative descriptor ()Z flags 1 +method name unsafeGetOffset descriptor ()J flags 1 +method name unsafeGetBase descriptor ()Ljava/lang/Object; flags 1 +method name maxAlignMask descriptor ()J flags 1 +method name makeNativeSegment descriptor (JJLjava/lang/foreign/SegmentScope;)Ljava/lang/foreign/MemorySegment; flags 9 +method name makeNativeSegmentUnchecked descriptor (JJLjava/lang/foreign/SegmentScope;Ljava/lang/Runnable;)Ljava/lang/foreign/MemorySegment; flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name makeNativeSegmentUnchecked descriptor (JJLjava/lang/foreign/SegmentScope;)Ljava/lang/foreign/MemorySegment; flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name makeNativeSegmentUnchecked descriptor (JJ)Ljava/lang/foreign/MemorySegment; flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; + +-class name jdk/internal/foreign/Scoped + +class name jdk/internal/foreign/SharedSession +header extends jdk/internal/foreign/MemorySessionImpl sealed true permittedSubclasses jdk/internal/foreign/ImplicitSession flags 20 +innerclass innerClass jdk/internal/foreign/MemorySessionImpl$ResourceList outerClass jdk/internal/foreign/MemorySessionImpl innerClassName ResourceList flags 409 +method name acquire0 descriptor ()V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name release0 descriptor ()V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; + +class name jdk/internal/foreign/abi/AbstractLinker +header extends java/lang/Object implements java/lang/foreign/Linker sealed true permittedSubclasses jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64Linker,jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64Linker,jdk/internal/foreign/abi/x64/sysv/SysVx64Linker,jdk/internal/foreign/abi/x64/windows/Windowsx64Linker flags 421 +innerclass innerClass java/lang/foreign/Linker$Option outerClass java/lang/foreign/Linker innerClassName Option flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name downcallHandle descriptor (Ljava/lang/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; +-method name arrangeDowncall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; +-method name upcallStub descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/MemorySegment; +-method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/MemorySegment; +method name downcallHandle descriptor (Ljava/lang/foreign/FunctionDescriptor;[Ljava/lang/foreign/Linker$Option;)Ljava/lang/invoke/MethodHandle; flags 81 +method name arrangeDowncall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljdk/internal/foreign/abi/LinkerOptions;)Ljava/lang/invoke/MethodHandle; flags 404 +method name upcallStub descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/MemorySegment; flags 1 +method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/MemorySegment; flags 404 + +class name jdk/internal/foreign/abi/LinkerOptions +header extends java/lang/Object nestMembers jdk/internal/foreign/abi/LinkerOptions$CaptureCallStateImpl,jdk/internal/foreign/abi/LinkerOptions$FirstVariadicArg,jdk/internal/foreign/abi/LinkerOptions$LinkerOptionImpl flags 21 +innerclass innerClass java/lang/foreign/Linker$Option outerClass java/lang/foreign/Linker innerClassName Option flags 609 +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$LinkerOptionImpl outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName LinkerOptionImpl flags 609 +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$FirstVariadicArg outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName FirstVariadicArg flags 19 +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$CaptureCallStateImpl outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName CaptureCallStateImpl flags 19 +method name forDowncall descriptor (Ljava/lang/foreign/FunctionDescriptor;[Ljava/lang/foreign/Linker$Option;)Ljdk/internal/foreign/abi/LinkerOptions; flags 89 +method name empty descriptor ()Ljdk/internal/foreign/abi/LinkerOptions; flags 9 +method name isVarargsIndex descriptor (I)Z flags 1 +method name hasCapturedCallState descriptor ()Z flags 1 +method name capturedCallState descriptor ()Ljava/util/stream/Stream; flags 1 signature ()Ljava/util/stream/Stream; +method name equals descriptor (Ljava/lang/Object;)Z flags 1 +method name hashCode descriptor ()I flags 1 + +class name jdk/internal/foreign/abi/LinkerOptions$CaptureCallStateImpl +header extends java/lang/Record implements jdk/internal/foreign/abi/LinkerOptions$LinkerOptionImpl,java/lang/foreign/Linker$Option$CaptureCallState nestHost jdk/internal/foreign/abi/LinkerOptions record true flags 31 +recordcomponent name saved descriptor Ljava/util/Set; signature Ljava/util/Set; +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$CaptureCallStateImpl outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName CaptureCallStateImpl flags 19 +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$LinkerOptionImpl outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName LinkerOptionImpl flags 609 +innerclass innerClass java/lang/foreign/Linker$Option outerClass java/lang/foreign/Linker innerClassName Option flags 609 +innerclass innerClass java/lang/foreign/Linker$Option$CaptureCallState outerClass java/lang/foreign/Linker$Option innerClassName CaptureCallState flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name descriptor (Ljava/util/Set;)V flags 1 signature (Ljava/util/Set;)V methodParameters 0:saved +method name validateForDowncall descriptor (Ljava/lang/foreign/FunctionDescriptor;)V flags 1 +method name layout descriptor ()Ljava/lang/foreign/StructLayout; flags 1 +method name toString descriptor ()Ljava/lang/String; flags 11 +method name hashCode descriptor ()I flags 11 +method name equals descriptor (Ljava/lang/Object;)Z flags 11 +method name saved descriptor ()Ljava/util/Set; flags 1 signature ()Ljava/util/Set; + +class name jdk/internal/foreign/abi/LinkerOptions$FirstVariadicArg +header extends java/lang/Record implements jdk/internal/foreign/abi/LinkerOptions$LinkerOptionImpl nestHost jdk/internal/foreign/abi/LinkerOptions record true flags 31 +recordcomponent name index descriptor I +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$FirstVariadicArg outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName FirstVariadicArg flags 19 +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$LinkerOptionImpl outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName LinkerOptionImpl flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name descriptor (I)V flags 1 methodParameters 0:index +method name validateForDowncall descriptor (Ljava/lang/foreign/FunctionDescriptor;)V flags 1 +method name toString descriptor ()Ljava/lang/String; flags 11 +method name hashCode descriptor ()I flags 11 +method name equals descriptor (Ljava/lang/Object;)Z flags 11 +method name index descriptor ()I flags 1 + +class name jdk/internal/foreign/abi/LinkerOptions$LinkerOptionImpl +header extends java/lang/Object implements java/lang/foreign/Linker$Option nestHost jdk/internal/foreign/abi/LinkerOptions sealed true permittedSubclasses jdk/internal/foreign/abi/LinkerOptions$FirstVariadicArg,jdk/internal/foreign/abi/LinkerOptions$CaptureCallStateImpl flags 601 +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$LinkerOptionImpl outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName LinkerOptionImpl flags 609 +innerclass innerClass java/lang/foreign/Linker$Option outerClass java/lang/foreign/Linker innerClassName Option flags 609 +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$FirstVariadicArg outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName FirstVariadicArg flags 19 +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$CaptureCallStateImpl outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName CaptureCallStateImpl flags 19 +method name validateForDowncall descriptor (Ljava/lang/foreign/FunctionDescriptor;)V flags 1 + +class name jdk/internal/foreign/abi/SharedUtils +header extends java/lang/Object nestMembers jdk/internal/foreign/abi/SharedUtils$EmptyVaList flags 31 +innerclass innerClass java/lang/foreign/ValueLayout$OfByte outerClass java/lang/foreign/ValueLayout innerClassName OfByte flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfFloat outerClass java/lang/foreign/ValueLayout innerClassName OfFloat flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfShort outerClass java/lang/foreign/ValueLayout innerClassName OfShort flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfChar outerClass java/lang/foreign/ValueLayout innerClassName OfChar flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfBoolean outerClass java/lang/foreign/ValueLayout innerClassName OfBoolean flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 19 +innerclass innerClass java/lang/foreign/VaList$Builder outerClass java/lang/foreign/VaList innerClassName Builder flags 609 +-field name JAVA_SHORT_UNALIGNED descriptor Ljava/lang/foreign/ValueLayout$OfShort; +-field name JAVA_CHAR_UNALIGNED descriptor Ljava/lang/foreign/ValueLayout$OfChar; +-field name JAVA_INT_UNALIGNED descriptor Ljava/lang/foreign/ValueLayout$OfInt; +-field name JAVA_LONG_UNALIGNED descriptor Ljava/lang/foreign/ValueLayout$OfLong; +-field name JAVA_FLOAT_UNALIGNED descriptor Ljava/lang/foreign/ValueLayout$OfFloat; +-field name JAVA_DOUBLE_UNALIGNED descriptor Ljava/lang/foreign/ValueLayout$OfDouble; +-method name descriptor ()V +-method name align descriptor (Ljava/lang/foreign/MemoryLayout;ZJ)J +-method name alignment descriptor (Ljava/lang/foreign/MemoryLayout;Z)J +-method name adaptDowncallForIMR descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; +-method name maybeInsertAllocator descriptor (Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle; +-method name checkSymbol descriptor (Ljava/lang/foreign/Addressable;)V +-method name checkAddress descriptor (Ljava/lang/foreign/MemoryAddress;)V +-method name newVaList descriptor (Ljava/util/function/Consumer;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; +-method name newVaListOfAddress descriptor (Ljava/lang/foreign/MemoryAddress;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; +-method name isVarargsIndex descriptor (Ljava/lang/foreign/FunctionDescriptor;I)Z +-method name inferMethodType descriptor (Ljava/lang/foreign/FunctionDescriptor;Z)Ljava/lang/invoke/MethodType; +method name adaptDowncallForIMR descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/foreign/FunctionDescriptor;Ljdk/internal/foreign/abi/CallingSequence;)Ljava/lang/invoke/MethodHandle; flags 9 +method name unboxSegment descriptor (Ljava/lang/foreign/MemorySegment;)J flags 9 +method name maybeInsertAllocator descriptor (Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle; flags 9 +method name checkSymbol descriptor (Ljava/lang/foreign/MemorySegment;)V flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name newVaList descriptor (Ljava/util/function/Consumer;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; flags 9 signature (Ljava/util/function/Consumer;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; +method name newVaListOfAddress descriptor (JLjava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; flags 9 + +class name jdk/internal/foreign/abi/SharedUtils$EmptyVaList +header extends java/lang/Object implements java/lang/foreign/VaList nestHost jdk/internal/foreign/abi/SharedUtils flags 31 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 609 +-method name descriptor (Ljava/lang/foreign/MemoryAddress;)V +-method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;)Ljava/lang/foreign/MemoryAddress; +-method name session descriptor ()Ljava/lang/foreign/MemorySession; +-method name address descriptor ()Ljava/lang/foreign/MemoryAddress; +method name descriptor (Ljava/lang/foreign/MemorySegment;)V flags 1 +method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;)Ljava/lang/foreign/MemorySegment; flags 1 +method name segment descriptor ()Ljava/lang/foreign/MemorySegment; flags 1 + +class name jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64Linker +-method name descriptor ()V +-method name arrangeDowncall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; +-method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/MemorySegment; +-method name newVaList descriptor (Ljava/util/function/Consumer;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; +-method name newVaListOfAddress descriptor (Ljava/lang/foreign/MemoryAddress;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; +method name arrangeDowncall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljdk/internal/foreign/abi/LinkerOptions;)Ljava/lang/invoke/MethodHandle; flags 4 +method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/MemorySegment; flags 4 +method name newVaList descriptor (Ljava/util/function/Consumer;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; flags 9 signature (Ljava/util/function/Consumer;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; +method name newVaListOfAddress descriptor (JLjava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; flags 9 + +class name jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList +header extends java/lang/Object implements java/lang/foreign/VaList nestMembers jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder flags 21 +innerclass innerClass java/lang/foreign/MemoryLayout$PathElement outerClass java/lang/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 609 +innerclass innerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList innerClassName Builder flags 9 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 609 +-method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;)Ljava/lang/foreign/MemoryAddress; +-method name ofAddress descriptor (Ljava/lang/foreign/MemoryAddress;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; +-method name session descriptor ()Ljava/lang/foreign/MemorySession; +-method name address descriptor ()Ljava/lang/foreign/MemoryAddress; +method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;)Ljava/lang/foreign/MemorySegment; flags 1 +method name ofAddress descriptor (JLjava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; flags 9 +method name segment descriptor ()Ljava/lang/foreign/MemorySegment; flags 1 + +class name jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder +header extends java/lang/Object implements java/lang/foreign/VaList$Builder nestHost jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList flags 21 +innerclass innerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList innerClassName Builder flags 9 +innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 609 +innerclass innerClass java/lang/foreign/MemoryLayout$PathElement outerClass java/lang/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 +innerclass innerClass java/lang/foreign/VaList$Builder outerClass java/lang/foreign/VaList innerClassName Builder flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/Addressable;)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; +-method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/Addressable;)Ljava/lang/foreign/VaList$Builder; +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/MemorySegment;)Ljdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder; flags 1 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/MemorySegment;)Ljava/lang/foreign/VaList$Builder; flags 1041 + +class name jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64Linker +-method name descriptor ()V +-method name arrangeDowncall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; +-method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/MemorySegment; +-method name newVaList descriptor (Ljava/util/function/Consumer;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; +-method name newVaListOfAddress descriptor (Ljava/lang/foreign/MemoryAddress;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; +method name arrangeDowncall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljdk/internal/foreign/abi/LinkerOptions;)Ljava/lang/invoke/MethodHandle; flags 4 +method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/MemorySegment; flags 4 +method name newVaList descriptor (Ljava/util/function/Consumer;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; flags 9 signature (Ljava/util/function/Consumer;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; +method name newVaListOfAddress descriptor (JLjava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; flags 9 + +class name jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList +header extends java/lang/Object implements java/lang/foreign/VaList nestMembers jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder flags 21 +innerclass innerClass java/lang/foreign/MemoryLayout$PathElement outerClass java/lang/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList innerClassName Builder flags 9 +innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 609 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 609 +-method name empty descriptor ()Ljava/lang/foreign/VaList; +-method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;)Ljava/lang/foreign/MemoryAddress; +-method name session descriptor ()Ljava/lang/foreign/MemorySession; +-method name address descriptor ()Ljava/lang/foreign/MemoryAddress; +method name empty descriptor ()Ljava/lang/foreign/VaList; flags 9 +method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;)Ljava/lang/foreign/MemorySegment; flags 1 +method name segment descriptor ()Ljava/lang/foreign/MemorySegment; flags 1 + +class name jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder +header extends java/lang/Object implements java/lang/foreign/VaList$Builder nestHost jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList flags 21 +innerclass innerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder outerClass jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList innerClassName Builder flags 9 +innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 +innerclass innerClass java/lang/foreign/VaList$Builder outerClass java/lang/foreign/VaList innerClassName Builder flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name descriptor (Ljava/lang/foreign/MemorySession;)V +-method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/Addressable;)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; +-method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/Addressable;)Ljava/lang/foreign/VaList$Builder; +method name descriptor (Ljava/lang/foreign/SegmentScope;)V flags 1 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/MemorySegment;)Ljdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder; flags 1 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/MemorySegment;)Ljava/lang/foreign/VaList$Builder; flags 1041 + +class name jdk/internal/foreign/abi/x64/sysv/SysVVaList +header extends java/lang/Object implements java/lang/foreign/VaList nestMembers jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder flags 21 +innerclass innerClass java/lang/foreign/MemoryLayout$PathElement outerClass java/lang/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder outerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList innerClassName Builder flags 9 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 609 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 609 +-method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;)Ljava/lang/foreign/MemoryAddress; +-method name ofAddress descriptor (Ljava/lang/foreign/MemoryAddress;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; +-method name session descriptor ()Ljava/lang/foreign/MemorySession; +-method name address descriptor ()Ljava/lang/foreign/MemoryAddress; +method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;)Ljava/lang/foreign/MemorySegment; flags 1 +method name ofAddress descriptor (JLjava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; flags 9 +method name segment descriptor ()Ljava/lang/foreign/MemorySegment; flags 1 + +class name jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder +header extends java/lang/Object implements java/lang/foreign/VaList$Builder nestHost jdk/internal/foreign/abi/x64/sysv/SysVVaList flags 21 +innerclass innerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder outerClass jdk/internal/foreign/abi/x64/sysv/SysVVaList innerClassName Builder flags 9 +innerclass innerClass java/lang/foreign/MemoryLayout$PathElement outerClass java/lang/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 +innerclass innerClass java/lang/foreign/VaList$Builder outerClass java/lang/foreign/VaList innerClassName Builder flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name descriptor (Ljava/lang/foreign/MemorySession;)V +-method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/Addressable;)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; +-method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/Addressable;)Ljava/lang/foreign/VaList$Builder; +method name descriptor (Ljava/lang/foreign/SegmentScope;)V flags 1 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/MemorySegment;)Ljdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder; flags 1 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/MemorySegment;)Ljava/lang/foreign/VaList$Builder; flags 1041 + +class name jdk/internal/foreign/abi/x64/sysv/SysVx64Linker +-method name descriptor ()V +-method name arrangeDowncall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; +-method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/MemorySegment; +-method name newVaList descriptor (Ljava/util/function/Consumer;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; +-method name newVaListOfAddress descriptor (Ljava/lang/foreign/MemoryAddress;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; +method name arrangeDowncall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljdk/internal/foreign/abi/LinkerOptions;)Ljava/lang/invoke/MethodHandle; flags 4 +method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/MemorySegment; flags 4 +method name newVaList descriptor (Ljava/util/function/Consumer;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; flags 9 signature (Ljava/util/function/Consumer;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; +method name newVaListOfAddress descriptor (JLjava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; flags 9 + +class name jdk/internal/foreign/abi/x64/windows/WinVaList +header extends java/lang/Object implements java/lang/foreign/VaList nestMembers jdk/internal/foreign/abi/x64/windows/WinVaList$Builder flags 21 +innerclass innerClass java/lang/foreign/MemoryLayout$PathElement outerClass java/lang/foreign/MemoryLayout innerClassName PathElement flags 609 +innerclass innerClass jdk/internal/foreign/abi/x64/windows/WinVaList$Builder outerClass jdk/internal/foreign/abi/x64/windows/WinVaList innerClassName Builder flags 9 +innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 609 +innerclass innerClass jdk/internal/foreign/abi/SharedUtils$EmptyVaList outerClass jdk/internal/foreign/abi/SharedUtils innerClassName EmptyVaList flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 609 +-method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;)Ljava/lang/foreign/MemoryAddress; +-method name session descriptor ()Ljava/lang/foreign/MemorySession; +-method name address descriptor ()Ljava/lang/foreign/MemoryAddress; +method name nextVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;)Ljava/lang/foreign/MemorySegment; flags 1 +method name segment descriptor ()Ljava/lang/foreign/MemorySegment; flags 1 + +class name jdk/internal/foreign/abi/x64/windows/WinVaList$Builder +header extends java/lang/Object implements java/lang/foreign/VaList$Builder nestHost jdk/internal/foreign/abi/x64/windows/WinVaList flags 21 +innerclass innerClass jdk/internal/foreign/abi/x64/windows/WinVaList$Builder outerClass jdk/internal/foreign/abi/x64/windows/WinVaList innerClassName Builder flags 9 +innerclass innerClass java/lang/foreign/ValueLayout$OfAddress outerClass java/lang/foreign/ValueLayout innerClassName OfAddress flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 +innerclass innerClass java/lang/foreign/VaList$Builder outerClass java/lang/foreign/VaList innerClassName Builder flags 609 +-method name descriptor (Ljava/lang/foreign/MemorySession;)V +-method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/Addressable;)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; +-method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/Addressable;)Ljava/lang/foreign/VaList$Builder; +method name descriptor (Ljava/lang/foreign/SegmentScope;)V flags 1 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/MemorySegment;)Ljdk/internal/foreign/abi/x64/windows/WinVaList$Builder; flags 1 +method name addVarg descriptor (Ljava/lang/foreign/ValueLayout$OfAddress;Ljava/lang/foreign/MemorySegment;)Ljava/lang/foreign/VaList$Builder; flags 1041 + +class name jdk/internal/foreign/abi/x64/windows/Windowsx64Linker +-method name descriptor ()V +-method name arrangeDowncall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle; +-method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/MemorySegment; +-method name newVaList descriptor (Ljava/util/function/Consumer;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; +-method name newVaListOfAddress descriptor (Ljava/lang/foreign/MemoryAddress;Ljava/lang/foreign/MemorySession;)Ljava/lang/foreign/VaList; +method name arrangeDowncall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljdk/internal/foreign/abi/LinkerOptions;)Ljava/lang/invoke/MethodHandle; flags 4 +method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/MemorySegment; flags 4 +method name newVaList descriptor (Ljava/util/function/Consumer;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; flags 9 signature (Ljava/util/function/Consumer;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; +method name newVaListOfAddress descriptor (JLjava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; flags 9 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-L.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-L.sym.txt new file mode 100644 index 0000000000000..f01223bf48330 --- /dev/null +++ b/src/jdk.compiler/share/data/symbols/jdk.incubator.foreign-L.sym.txt @@ -0,0 +1,237 @@ +# +# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. +# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### +# ########################################################## +# +class name jdk/internal/foreign/AbstractMemorySegmentImpl +header extends java/lang/Object implements java/lang/foreign/MemorySegment,java/lang/foreign/SegmentAllocator,java/util/function/BiFunction sealed true permittedSubclasses jdk/internal/foreign/HeapMemorySegmentImpl,jdk/internal/foreign/NativeMemorySegmentImpl flags 421 signature Ljava/lang/Object;Ljava/lang/foreign/MemorySegment;Ljava/lang/foreign/SegmentAllocator;Ljava/util/function/BiFunction;Ljava/lang/RuntimeException;>; +innerclass innerClass java/lang/foreign/MemorySegment$Scope outerClass java/lang/foreign/MemorySegment innerClassName Scope flags 609 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfShort outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfShort flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfChar outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfChar flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfInt outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfInt flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfFloat outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfFloat flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfLong outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfLong flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfDouble outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfDouble flags 19 +innerclass innerClass java/lang/foreign/ValueLayout$OfByte outerClass java/lang/foreign/ValueLayout innerClassName OfByte flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfShort outerClass java/lang/foreign/ValueLayout innerClassName OfShort flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfChar outerClass java/lang/foreign/ValueLayout innerClassName OfChar flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfFloat outerClass java/lang/foreign/ValueLayout innerClassName OfFloat flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name scope descriptor ()Ljava/lang/foreign/SegmentScope; +method name asSlice descriptor (JJJ)Ljava/lang/foreign/MemorySegment; flags 1 +method name reinterpret descriptor (JLjava/lang/foreign/Arena;Ljava/util/function/Consumer;)Ljava/lang/foreign/MemorySegment; flags 11 signature (JLjava/lang/foreign/Arena;Ljava/util/function/Consumer;)Ljava/lang/foreign/MemorySegment; runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; +method name reinterpret descriptor (J)Ljava/lang/foreign/MemorySegment; flags 11 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; +method name reinterpret descriptor (Ljava/lang/foreign/Arena;Ljava/util/function/Consumer;)Ljava/lang/foreign/MemorySegment; flags 11 signature (Ljava/lang/foreign/Arena;Ljava/util/function/Consumer;)Ljava/lang/foreign/MemorySegment; runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; +method name reinterpretInternal descriptor (Ljava/lang/Class;JLjava/lang/foreign/MemorySegment$Scope;Ljava/util/function/Consumer;)Ljava/lang/foreign/MemorySegment; flags 1 signature (Ljava/lang/Class<*>;JLjava/lang/foreign/MemorySegment$Scope;Ljava/util/function/Consumer;)Ljava/lang/foreign/MemorySegment; +method name isAlignedForElement descriptor (JJ)Z flags 11 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name scope descriptor ()Ljava/lang/foreign/MemorySegment$Scope; flags 1 +method name isAccessibleBy descriptor (Ljava/lang/Thread;)Z flags 1 + +class name jdk/internal/foreign/HeapMemorySegmentImpl +header extends jdk/internal/foreign/AbstractMemorySegmentImpl nestMembers jdk/internal/foreign/HeapMemorySegmentImpl$OfDouble,jdk/internal/foreign/HeapMemorySegmentImpl$OfFloat,jdk/internal/foreign/HeapMemorySegmentImpl$OfLong,jdk/internal/foreign/HeapMemorySegmentImpl$OfInt,jdk/internal/foreign/HeapMemorySegmentImpl$OfShort,jdk/internal/foreign/HeapMemorySegmentImpl$OfChar,jdk/internal/foreign/HeapMemorySegmentImpl$OfByte sealed true permittedSubclasses jdk/internal/foreign/HeapMemorySegmentImpl$OfByte,jdk/internal/foreign/HeapMemorySegmentImpl$OfChar,jdk/internal/foreign/HeapMemorySegmentImpl$OfShort,jdk/internal/foreign/HeapMemorySegmentImpl$OfInt,jdk/internal/foreign/HeapMemorySegmentImpl$OfLong,jdk/internal/foreign/HeapMemorySegmentImpl$OfFloat,jdk/internal/foreign/HeapMemorySegmentImpl$OfDouble flags 421 +innerclass innerClass java/lang/foreign/ValueLayout$OfByte outerClass java/lang/foreign/ValueLayout innerClassName OfByte flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfShort outerClass java/lang/foreign/ValueLayout innerClassName OfShort flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfDouble outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfDouble flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfFloat outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfFloat flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfLong outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfLong flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfInt outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfInt flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfShort outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfShort flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfChar outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfChar flags 19 +innerclass innerClass jdk/internal/foreign/HeapMemorySegmentImpl$OfByte outerClass jdk/internal/foreign/HeapMemorySegmentImpl innerClassName OfByte flags 19 +-method name array descriptor ()Ljava/util/Optional; +method name heapBase descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; + +class name jdk/internal/foreign/LayoutPath +header extends java/lang/Object nestMembers jdk/internal/foreign/LayoutPath$PathElementImpl flags 21 +innerclass innerClass java/lang/invoke/VarHandle$AccessMode outerClass java/lang/invoke/VarHandle innerClassName AccessMode flags 4019 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +innerclass innerClass jdk/internal/foreign/LayoutPath$PathElementImpl outerClass jdk/internal/foreign/LayoutPath innerClassName PathElementImpl flags 19 +method name groupElement descriptor (J)Ljdk/internal/foreign/LayoutPath; flags 1 +method name derefElement descriptor ()Ljdk/internal/foreign/LayoutPath; flags 1 +method name dereferenceHandle descriptor (Z)Ljava/lang/invoke/VarHandle; flags 1 + +class name jdk/internal/foreign/MappedMemorySegmentImpl +header extends jdk/internal/foreign/NativeMemorySegmentImpl flags 31 +-method name descriptor (JLjdk/internal/access/foreign/UnmapperProxy;JZLjava/lang/foreign/SegmentScope;)V +-method name segment descriptor ()Ljava/lang/foreign/MemorySegment; +method name descriptor (JLjdk/internal/access/foreign/UnmapperProxy;JZLjdk/internal/foreign/MemorySessionImpl;)V flags 1 + +-class name jdk/internal/foreign/MappedMemorySegmentImpl$EmptyMappedMemorySegmentImpl + +class name jdk/internal/foreign/MemorySessionImpl +header extends java/lang/Object implements java/lang/foreign/MemorySegment$Scope nestMembers jdk/internal/foreign/MemorySessionImpl$ResourceList,jdk/internal/foreign/MemorySessionImpl$ResourceList$ResourceCleanup sealed true permittedSubclasses jdk/internal/foreign/ConfinedSession,jdk/internal/foreign/GlobalSession,jdk/internal/foreign/SharedSession flags 421 +innerclass innerClass java/lang/foreign/MemorySegment$Scope outerClass java/lang/foreign/MemorySegment innerClassName Scope flags 609 +innerclass innerClass jdk/internal/foreign/MemorySessionImpl$ResourceList outerClass jdk/internal/foreign/MemorySessionImpl innerClassName ResourceList flags 409 +innerclass innerClass jdk/internal/foreign/MemorySessionImpl$ResourceList$ResourceCleanup outerClass jdk/internal/foreign/MemorySessionImpl$ResourceList innerClassName ResourceCleanup flags 409 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name sameOwnerThread descriptor (Ljava/lang/foreign/SegmentScope;Ljava/lang/foreign/SegmentScope;)Z +method name toMemorySession descriptor (Ljava/lang/foreign/Arena;)Ljdk/internal/foreign/MemorySessionImpl; flags 19 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name isCloseableBy descriptor (Ljava/lang/Thread;)Z flags 11 +method name checkValidState descriptor (Ljava/lang/foreign/MemorySegment;)V flags 19 + +class name jdk/internal/foreign/NativeMemorySegmentImpl +-method name array descriptor ()Ljava/util/Optional; +-method name makeNativeSegment descriptor (JJLjava/lang/foreign/SegmentScope;)Ljava/lang/foreign/MemorySegment; +-method name makeNativeSegmentUnchecked descriptor (JJLjava/lang/foreign/SegmentScope;Ljava/lang/Runnable;)Ljava/lang/foreign/MemorySegment; +-method name makeNativeSegmentUnchecked descriptor (JJLjava/lang/foreign/SegmentScope;)Ljava/lang/foreign/MemorySegment; +method name descriptor ()V flags 1 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name heapBase descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; +method name makeNativeSegment descriptor (JJLjdk/internal/foreign/MemorySessionImpl;)Ljava/lang/foreign/MemorySegment; flags 9 +method name makeNativeSegmentUnchecked descriptor (JJLjdk/internal/foreign/MemorySessionImpl;Ljava/lang/Runnable;)Ljava/lang/foreign/MemorySegment; flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; +method name makeNativeSegmentUnchecked descriptor (JJLjdk/internal/foreign/MemorySessionImpl;)Ljava/lang/foreign/MemorySegment; flags 9 runtimeAnnotations @Ljdk/internal/vm/annotation/ForceInline; + +class name jdk/internal/foreign/abi/AbstractLinker +header extends java/lang/Object implements java/lang/foreign/Linker sealed true permittedSubclasses jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64Linker,jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64Linker,jdk/internal/foreign/abi/x64/sysv/SysVx64Linker,jdk/internal/foreign/abi/aarch64/windows/WindowsAArch64Linker,jdk/internal/foreign/abi/x64/windows/Windowsx64Linker,jdk/internal/foreign/abi/ppc64/linux/LinuxPPC64leLinker,jdk/internal/foreign/abi/riscv64/linux/LinuxRISCV64Linker,jdk/internal/foreign/abi/fallback/FallbackLinker flags 421 +innerclass innerClass java/lang/foreign/Linker$Option outerClass java/lang/foreign/Linker innerClassName Option flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfBoolean outerClass java/lang/foreign/ValueLayout innerClassName OfBoolean flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfByte outerClass java/lang/foreign/ValueLayout innerClassName OfByte flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfChar outerClass java/lang/foreign/ValueLayout innerClassName OfChar flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfShort outerClass java/lang/foreign/ValueLayout innerClassName OfShort flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfFloat outerClass java/lang/foreign/ValueLayout innerClassName OfFloat flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfInt outerClass java/lang/foreign/ValueLayout innerClassName OfInt flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfLong outerClass java/lang/foreign/ValueLayout innerClassName OfLong flags 609 +innerclass innerClass java/lang/foreign/ValueLayout$OfDouble outerClass java/lang/foreign/ValueLayout innerClassName OfDouble flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +-method name downcallHandle descriptor (Ljava/lang/foreign/FunctionDescriptor;[Ljava/lang/foreign/Linker$Option;)Ljava/lang/invoke/MethodHandle; +-method name upcallStub descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/MemorySegment; +-method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/MemorySegment; +method name downcallHandle descriptor (Ljava/lang/foreign/MemorySegment;Ljava/lang/foreign/FunctionDescriptor;[Ljava/lang/foreign/Linker$Option;)Ljava/lang/invoke/MethodHandle; flags 91 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; +method name downcallHandle descriptor (Ljava/lang/foreign/FunctionDescriptor;[Ljava/lang/foreign/Linker$Option;)Ljava/lang/invoke/MethodHandle; flags 91 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; +method name upcallStub descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/Arena;[Ljava/lang/foreign/Linker$Option;)Ljava/lang/foreign/MemorySegment; flags 91 runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive; +method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljdk/internal/foreign/abi/LinkerOptions;)Ljdk/internal/foreign/abi/AbstractLinker$UpcallStubFactory; flags 404 +method name linkerByteOrder descriptor ()Ljava/nio/ByteOrder; flags 404 + +class name jdk/internal/foreign/abi/LinkerOptions +header extends java/lang/Object nestMembers jdk/internal/foreign/abi/LinkerOptions$IsTrivial,jdk/internal/foreign/abi/LinkerOptions$CaptureCallState,jdk/internal/foreign/abi/LinkerOptions$FirstVariadicArg,jdk/internal/foreign/abi/LinkerOptions$LinkerOptionImpl flags 21 +innerclass innerClass java/lang/foreign/Linker$Option outerClass java/lang/foreign/Linker innerClassName Option flags 609 +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$LinkerOptionImpl outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName LinkerOptionImpl flags 609 +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$FirstVariadicArg outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName FirstVariadicArg flags 19 +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$CaptureCallState outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName CaptureCallState flags 19 +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$IsTrivial outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName IsTrivial flags 19 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name forUpcall descriptor (Ljava/lang/foreign/FunctionDescriptor;[Ljava/lang/foreign/Linker$Option;)Ljdk/internal/foreign/abi/LinkerOptions; flags 9 +method name isVariadicFunction descriptor ()Z flags 1 +method name firstVariadicArgIndex descriptor ()I flags 1 +method name isTrivial descriptor ()Z flags 1 + +class name jdk/internal/foreign/abi/LinkerOptions$CaptureCallState +header extends java/lang/Record implements jdk/internal/foreign/abi/LinkerOptions$LinkerOptionImpl nestHost jdk/internal/foreign/abi/LinkerOptions record true flags 31 +recordcomponent name saved descriptor Ljava/util/Set; signature Ljava/util/Set; +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$CaptureCallState outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName CaptureCallState flags 19 +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$LinkerOptionImpl outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName LinkerOptionImpl flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +method name descriptor (Ljava/util/Set;)V flags 1 signature (Ljava/util/Set;)V methodParameters 0:saved +method name validateForDowncall descriptor (Ljava/lang/foreign/FunctionDescriptor;)V flags 1 +method name toString descriptor ()Ljava/lang/String; flags 11 +method name hashCode descriptor ()I flags 11 +method name equals descriptor (Ljava/lang/Object;)Z flags 11 +method name saved descriptor ()Ljava/util/Set; flags 1 signature ()Ljava/util/Set; + +-class name jdk/internal/foreign/abi/LinkerOptions$CaptureCallStateImpl + +class name jdk/internal/foreign/abi/LinkerOptions$IsTrivial +header extends java/lang/Record implements jdk/internal/foreign/abi/LinkerOptions$LinkerOptionImpl nestHost jdk/internal/foreign/abi/LinkerOptions record true flags 31 +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$IsTrivial outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName IsTrivial flags 19 +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$LinkerOptionImpl outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName LinkerOptionImpl flags 609 +innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 +field name INSTANCE descriptor Ljdk/internal/foreign/abi/LinkerOptions$IsTrivial; flags 9 +method name descriptor ()V flags 1 +method name validateForDowncall descriptor (Ljava/lang/foreign/FunctionDescriptor;)V flags 1 +method name toString descriptor ()Ljava/lang/String; flags 11 +method name hashCode descriptor ()I flags 11 +method name equals descriptor (Ljava/lang/Object;)Z flags 11 + +class name jdk/internal/foreign/abi/LinkerOptions$LinkerOptionImpl +header extends java/lang/Object implements java/lang/foreign/Linker$Option nestHost jdk/internal/foreign/abi/LinkerOptions sealed true permittedSubclasses jdk/internal/foreign/abi/LinkerOptions$CaptureCallState,jdk/internal/foreign/abi/LinkerOptions$FirstVariadicArg,jdk/internal/foreign/abi/LinkerOptions$IsTrivial flags 601 +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$LinkerOptionImpl outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName LinkerOptionImpl flags 609 +innerclass innerClass java/lang/foreign/Linker$Option outerClass java/lang/foreign/Linker innerClassName Option flags 609 +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$CaptureCallState outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName CaptureCallState flags 19 +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$FirstVariadicArg outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName FirstVariadicArg flags 19 +innerclass innerClass jdk/internal/foreign/abi/LinkerOptions$IsTrivial outerClass jdk/internal/foreign/abi/LinkerOptions innerClassName IsTrivial flags 19 +method name validateForUpcall descriptor (Ljava/lang/foreign/FunctionDescriptor;)V flags 1 + +-class name jdk/internal/foreign/abi/SharedUtils + +-class name jdk/internal/foreign/abi/SharedUtils$EmptyVaList + +class name jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64Linker +header extends jdk/internal/foreign/abi/AbstractLinker flags 31 +-method name emptyVaList descriptor ()Ljava/lang/foreign/VaList; +-method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/MemorySegment; +-method name newVaList descriptor (Ljava/util/function/Consumer;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; +-method name newVaListOfAddress descriptor (JLjava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; +method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljdk/internal/foreign/abi/LinkerOptions;)Ljdk/internal/foreign/abi/AbstractLinker$UpcallStubFactory; flags 4 +method name linkerByteOrder descriptor ()Ljava/nio/ByteOrder; flags 4 + +-class name jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList + +-class name jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList$Builder + +class name jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64Linker +header extends jdk/internal/foreign/abi/AbstractLinker flags 31 +-method name emptyVaList descriptor ()Ljava/lang/foreign/VaList; +-method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/MemorySegment; +-method name newVaList descriptor (Ljava/util/function/Consumer;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; +-method name newVaListOfAddress descriptor (JLjava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; +method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljdk/internal/foreign/abi/LinkerOptions;)Ljdk/internal/foreign/abi/AbstractLinker$UpcallStubFactory; flags 4 +method name linkerByteOrder descriptor ()Ljava/nio/ByteOrder; flags 4 + +-class name jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList + +-class name jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList$Builder + +-class name jdk/internal/foreign/abi/x64/sysv/SysVVaList + +-class name jdk/internal/foreign/abi/x64/sysv/SysVVaList$Builder + +class name jdk/internal/foreign/abi/x64/sysv/SysVx64Linker +header extends jdk/internal/foreign/abi/AbstractLinker flags 31 +-method name emptyVaList descriptor ()Ljava/lang/foreign/VaList; +-method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/MemorySegment; +-method name newVaList descriptor (Ljava/util/function/Consumer;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; +-method name newVaListOfAddress descriptor (JLjava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; +method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljdk/internal/foreign/abi/LinkerOptions;)Ljdk/internal/foreign/abi/AbstractLinker$UpcallStubFactory; flags 4 +method name linkerByteOrder descriptor ()Ljava/nio/ByteOrder; flags 4 + +-class name jdk/internal/foreign/abi/x64/windows/WinVaList + +-class name jdk/internal/foreign/abi/x64/windows/WinVaList$Builder + +class name jdk/internal/foreign/abi/x64/windows/Windowsx64Linker +header extends jdk/internal/foreign/abi/AbstractLinker flags 31 +-method name emptyVaList descriptor ()Ljava/lang/foreign/VaList; +-method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/MemorySegment; +-method name newVaList descriptor (Ljava/util/function/Consumer;Ljava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; +-method name newVaListOfAddress descriptor (JLjava/lang/foreign/SegmentScope;)Ljava/lang/foreign/VaList; +method name arrangeUpcall descriptor (Ljava/lang/invoke/MethodType;Ljava/lang/foreign/FunctionDescriptor;Ljdk/internal/foreign/abi/LinkerOptions;)Ljdk/internal/foreign/abi/AbstractLinker$UpcallStubFactory; flags 4 +method name linkerByteOrder descriptor ()Ljava/nio/ByteOrder; flags 4 + diff --git a/src/jdk.compiler/share/data/symbols/jdk.jartool-H.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jartool-H.sym.txt deleted file mode 100644 index 9133449be101c..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.jartool-H.sym.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name jdk/security/jarsigner/JarSignerException -header extends java/lang/RuntimeException flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.jartool-I.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jartool-I.sym.txt deleted file mode 100644 index 9133449be101c..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.jartool-I.sym.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name jdk/security/jarsigner/JarSignerException -header extends java/lang/RuntimeException flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.jartool-J.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jartool-J.sym.txt deleted file mode 100644 index 20e7574ba6ec4..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.jartool-J.sym.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name jdk/security/jarsigner/JarSignerException -header extends java/lang/RuntimeException flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.jartool-K.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jartool-K.sym.txt index 4ae64921cf642..bf5c5e5c09777 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.jartool-K.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.jartool-K.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -29,6 +29,3 @@ module name jdk.jartool header exports com/sun/jarsigner,jdk/security/jarsigner requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;jdk.internal.opt\u0020;flags\u0020;0 provides interface\u0020;java/util/spi/ToolProvider\u0020;impls\u0020;sun/tools/jar/JarToolProvider target linux-amd64 flags 8000 -class name jdk/security/jarsigner/JarSignerException -header extends java/lang/RuntimeException flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.jartool-L.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jartool-L.sym.txt index 155329e026064..2c6d093e1667c 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.jartool-L.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.jartool-L.sym.txt @@ -33,6 +33,3 @@ header exports jdk/security/jarsigner requires name\u0020;java.base\u0020;flags\ -class name com/sun/jarsigner/ContentSignerParameters -class name jdk/security/jarsigner/JarSignerException -header extends java/lang/RuntimeException flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.javadoc-H.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.javadoc-H.sym.txt index d7d4a4c3779c2..37cebb12cfe79 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.javadoc-H.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.javadoc-H.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # 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,15 +27,11 @@ # ########################################################## # class name jdk/javadoc/doclet/Reporter -header extends java/lang/Object flags 601 -innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019 method name print descriptor (Ljavax/tools/Diagnostic$Kind;Ljavax/tools/FileObject;IIILjava/lang/String;)V flags 1 method name getStandardWriter descriptor ()Ljava/io/PrintWriter; flags 1 method name getDiagnosticWriter descriptor ()Ljava/io/PrintWriter; flags 1 class name jdk/javadoc/doclet/StandardDoclet -header extends java/lang/Object implements jdk/javadoc/doclet/Doclet flags 21 -innerclass innerClass jdk/javadoc/doclet/Doclet$Option outerClass jdk/javadoc/doclet/Doclet innerClassName Option flags 609 method name getLocale descriptor ()Ljava/util/Locale; flags 1 method name getReporter descriptor ()Ljdk/javadoc/doclet/Reporter; flags 1 diff --git a/src/jdk.compiler/share/data/symbols/jdk.javadoc-I.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.javadoc-I.sym.txt index 8c4ff94e5eb2f..c0a34db5935e1 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.javadoc-I.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.javadoc-I.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # 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,11 +27,5 @@ # ########################################################## # class name jdk/javadoc/doclet/Reporter -header extends java/lang/Object flags 601 -innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019 method name print descriptor (Ljavax/tools/Diagnostic$Kind;Lcom/sun/source/util/DocTreePath;IIILjava/lang/String;)V flags 1 -class name jdk/javadoc/doclet/StandardDoclet -header extends java/lang/Object implements jdk/javadoc/doclet/Doclet flags 21 -innerclass innerClass jdk/javadoc/doclet/Doclet$Option outerClass jdk/javadoc/doclet/Doclet innerClassName Option flags 609 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.javadoc-J.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.javadoc-J.sym.txt deleted file mode 100644 index 8fdfd448540ee..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.javadoc-J.sym.txt +++ /dev/null @@ -1,36 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name jdk/javadoc/doclet/Reporter -header extends java/lang/Object flags 601 -innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019 - -class name jdk/javadoc/doclet/StandardDoclet -header extends java/lang/Object implements jdk/javadoc/doclet/Doclet flags 21 -innerclass innerClass jdk/javadoc/doclet/Doclet$Option outerClass jdk/javadoc/doclet/Doclet innerClassName Option flags 609 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.javadoc-K.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.javadoc-K.sym.txt deleted file mode 100644 index 8fdfd448540ee..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.javadoc-K.sym.txt +++ /dev/null @@ -1,36 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name jdk/javadoc/doclet/Reporter -header extends java/lang/Object flags 601 -innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019 - -class name jdk/javadoc/doclet/StandardDoclet -header extends java/lang/Object implements jdk/javadoc/doclet/Doclet flags 21 -innerclass innerClass jdk/javadoc/doclet/Doclet$Option outerClass jdk/javadoc/doclet/Doclet innerClassName Option flags 609 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.javadoc-L.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.javadoc-L.sym.txt index 89e757614c057..e1e139059bf4c 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.javadoc-L.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.javadoc-L.sym.txt @@ -29,11 +29,3 @@ module name jdk.javadoc header exports jdk/javadoc/doclet requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.xml\u0020;flags\u0020;0,name\u0020;java.compiler\u0020;flags\u0020;20,name\u0020;jdk.compiler\u0020;flags\u0020;20,name\u0020;jdk.internal.opt\u0020;flags\u0020;0 provides interface\u0020;java/util/spi/ToolProvider\u0020;impls\u0020;jdk/javadoc/internal/tool/JavadocToolProvider,interface\u0020;javax/tools/DocumentationTool\u0020;impls\u0020;jdk/javadoc/internal/api/JavadocTool,interface\u0020;javax/tools/Tool\u0020;impls\u0020;jdk/javadoc/internal/api/JavadocTool,interface\u0020;com/sun/tools/doclint/DocLint\u0020;impls\u0020;jdk/javadoc/internal/doclint/DocLint target linux-amd64 flags 8000 -class name jdk/javadoc/doclet/Reporter -header extends java/lang/Object flags 601 -innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019 - -class name jdk/javadoc/doclet/StandardDoclet -header extends java/lang/Object implements jdk/javadoc/doclet/Doclet flags 21 -innerclass innerClass jdk/javadoc/doclet/Doclet$Option outerClass jdk/javadoc/doclet/Doclet innerClassName Option flags 609 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.jconsole-H.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jconsole-H.sym.txt deleted file mode 100644 index 79977a63ab930..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.jconsole-H.sym.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/tools/jconsole/JConsolePlugin -header extends java/lang/Object flags 421 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.jconsole-I.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jconsole-I.sym.txt deleted file mode 100644 index 79977a63ab930..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.jconsole-I.sym.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/tools/jconsole/JConsolePlugin -header extends java/lang/Object flags 421 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.jconsole-J.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jconsole-J.sym.txt deleted file mode 100644 index 3bb0dfa82c5cd..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.jconsole-J.sym.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/tools/jconsole/JConsolePlugin -header extends java/lang/Object flags 421 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.jconsole-K.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jconsole-K.sym.txt deleted file mode 100644 index 3bb0dfa82c5cd..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.jconsole-K.sym.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/tools/jconsole/JConsolePlugin -header extends java/lang/Object flags 421 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.jconsole-L.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jconsole-L.sym.txt deleted file mode 100644 index cffd5a87334c2..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.jconsole-L.sym.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/tools/jconsole/JConsolePlugin -header extends java/lang/Object flags 421 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.jdi-H.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jdi-H.sym.txt deleted file mode 100644 index 55fc5be41abd4..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.jdi-H.sym.txt +++ /dev/null @@ -1,395 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/jdi/AbsentInformationException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/Accessible -header extends java/lang/Object flags 601 - -class name com/sun/jdi/ArrayReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/ArrayType -header extends java/lang/Object implements com/sun/jdi/ReferenceType flags 601 - -class name com/sun/jdi/BooleanType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/BooleanValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue flags 601 - -class name com/sun/jdi/Bootstrap -header extends java/lang/Object flags 21 - -class name com/sun/jdi/ByteType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/ByteValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/CharType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/CharValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/ClassLoaderReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/ClassNotLoadedException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/ClassNotPreparedException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/ClassObjectReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/ClassType -header extends java/lang/Object implements com/sun/jdi/ReferenceType flags 601 - -class name com/sun/jdi/DoubleType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/DoubleValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/Field -header extends java/lang/Object implements com/sun/jdi/TypeComponent,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/TypeComponent;Ljava/lang/Comparable; - -class name com/sun/jdi/FloatType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/FloatValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/IncompatibleThreadStateException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/InconsistentDebugInfoException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/IntegerType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/IntegerValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/InterfaceType -header extends java/lang/Object implements com/sun/jdi/ReferenceType flags 601 - -class name com/sun/jdi/InternalException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/InvalidCodeIndexException -header extends java/lang/RuntimeException flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated; - -class name com/sun/jdi/InvalidLineNumberException -header extends java/lang/RuntimeException flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated; - -class name com/sun/jdi/InvalidModuleException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/InvalidStackFrameException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/InvalidTypeException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/InvocationException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/JDIPermission -header extends java/security/BasicPermission flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/jdi/LocalVariable -header extends java/lang/Object implements com/sun/jdi/Mirror,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/Mirror;Ljava/lang/Comparable; - -class name com/sun/jdi/Locatable -header extends java/lang/Object flags 601 - -class name com/sun/jdi/Location -header extends java/lang/Object implements com/sun/jdi/Mirror,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/Mirror;Ljava/lang/Comparable; - -class name com/sun/jdi/LongType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/LongValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/Method -header extends java/lang/Object implements com/sun/jdi/TypeComponent,com/sun/jdi/Locatable,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/TypeComponent;Lcom/sun/jdi/Locatable;Ljava/lang/Comparable; - -class name com/sun/jdi/Mirror -header extends java/lang/Object flags 601 - -class name com/sun/jdi/ModuleReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/MonitorInfo -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/NativeMethodException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/ObjectCollectedException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/ObjectReference -header extends java/lang/Object implements com/sun/jdi/Value flags 601 - -class name com/sun/jdi/PathSearchingVirtualMachine -header extends java/lang/Object implements com/sun/jdi/VirtualMachine flags 601 - -class name com/sun/jdi/PrimitiveType -header extends java/lang/Object implements com/sun/jdi/Type flags 601 - -class name com/sun/jdi/PrimitiveValue -header extends java/lang/Object implements com/sun/jdi/Value flags 601 - -class name com/sun/jdi/ReferenceType -header extends java/lang/Object implements com/sun/jdi/Type,java/lang/Comparable,com/sun/jdi/Accessible flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/Type;Ljava/lang/Comparable;Lcom/sun/jdi/Accessible; - -class name com/sun/jdi/ShortType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/ShortValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/StackFrame -header extends java/lang/Object implements com/sun/jdi/Mirror,com/sun/jdi/Locatable flags 601 - -class name com/sun/jdi/StringReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/ThreadGroupReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/ThreadReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/Type -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/TypeComponent -header extends java/lang/Object implements com/sun/jdi/Mirror,com/sun/jdi/Accessible flags 601 - -class name com/sun/jdi/VMCannotBeModifiedException -header extends java/lang/UnsupportedOperationException flags 21 - -class name com/sun/jdi/VMDisconnectedException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/VMMismatchException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/VMOutOfMemoryException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/Value -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/VirtualMachine -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/VirtualMachineManager -header extends java/lang/Object flags 601 - -class name com/sun/jdi/VoidType -header extends java/lang/Object implements com/sun/jdi/Type flags 601 - -class name com/sun/jdi/VoidValue -header extends java/lang/Object implements com/sun/jdi/Value flags 601 - -class name com/sun/jdi/connect/AttachingConnector -header extends java/lang/Object implements com/sun/jdi/connect/Connector flags 601 -innerclass innerClass com/sun/jdi/connect/Connector$Argument outerClass com/sun/jdi/connect/Connector innerClassName Argument flags 609 - -class name com/sun/jdi/connect/IllegalConnectorArgumentsException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/connect/LaunchingConnector -header extends java/lang/Object implements com/sun/jdi/connect/Connector flags 601 -innerclass innerClass com/sun/jdi/connect/Connector$Argument outerClass com/sun/jdi/connect/Connector innerClassName Argument flags 609 - -class name com/sun/jdi/connect/ListeningConnector -header extends java/lang/Object implements com/sun/jdi/connect/Connector flags 601 -innerclass innerClass com/sun/jdi/connect/Connector$Argument outerClass com/sun/jdi/connect/Connector innerClassName Argument flags 609 - -class name com/sun/jdi/connect/Transport -header extends java/lang/Object flags 601 - -class name com/sun/jdi/connect/TransportTimeoutException -header extends java/io/IOException flags 21 - -class name com/sun/jdi/connect/VMStartException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/connect/spi/ClosedConnectionException -header extends java/io/IOException flags 21 - -class name com/sun/jdi/connect/spi/Connection -header extends java/lang/Object flags 421 - -class name com/sun/jdi/event/AccessWatchpointEvent -header extends java/lang/Object implements com/sun/jdi/event/WatchpointEvent flags 601 - -class name com/sun/jdi/event/BreakpointEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/ClassPrepareEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/ClassUnloadEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/Event -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/event/EventIterator -header extends java/lang/Object implements java/util/Iterator flags 601 signature Ljava/lang/Object;Ljava/util/Iterator; - -class name com/sun/jdi/event/EventQueue -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/event/EventSet -header extends java/lang/Object implements com/sun/jdi/Mirror,java/util/Set flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/Mirror;Ljava/util/Set; - -class name com/sun/jdi/event/ExceptionEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/LocatableEvent -header extends java/lang/Object implements com/sun/jdi/event/Event,com/sun/jdi/Locatable flags 601 - -class name com/sun/jdi/event/MethodEntryEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/MethodExitEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/ModificationWatchpointEvent -header extends java/lang/Object implements com/sun/jdi/event/WatchpointEvent flags 601 - -class name com/sun/jdi/event/MonitorContendedEnterEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/MonitorContendedEnteredEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/MonitorWaitEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/MonitorWaitedEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/StepEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/ThreadDeathEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/ThreadStartEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/VMDeathEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/VMDisconnectEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/VMStartEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/WatchpointEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/request/AccessWatchpointRequest -header extends java/lang/Object implements com/sun/jdi/request/WatchpointRequest flags 601 - -class name com/sun/jdi/request/BreakpointRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest,com/sun/jdi/Locatable flags 601 - -class name com/sun/jdi/request/ClassPrepareRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/ClassUnloadRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/DuplicateRequestException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/request/EventRequest -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/request/EventRequestManager -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/request/ExceptionRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/InvalidRequestStateException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/request/MethodEntryRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/MethodExitRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/ModificationWatchpointRequest -header extends java/lang/Object implements com/sun/jdi/request/WatchpointRequest flags 601 - -class name com/sun/jdi/request/MonitorContendedEnterRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/MonitorContendedEnteredRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/MonitorWaitRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/MonitorWaitedRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/StepRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/ThreadDeathRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/ThreadStartRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/VMDeathRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/WatchpointRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.jdi-I.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jdi-I.sym.txt deleted file mode 100644 index 55fc5be41abd4..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.jdi-I.sym.txt +++ /dev/null @@ -1,395 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/jdi/AbsentInformationException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/Accessible -header extends java/lang/Object flags 601 - -class name com/sun/jdi/ArrayReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/ArrayType -header extends java/lang/Object implements com/sun/jdi/ReferenceType flags 601 - -class name com/sun/jdi/BooleanType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/BooleanValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue flags 601 - -class name com/sun/jdi/Bootstrap -header extends java/lang/Object flags 21 - -class name com/sun/jdi/ByteType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/ByteValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/CharType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/CharValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/ClassLoaderReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/ClassNotLoadedException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/ClassNotPreparedException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/ClassObjectReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/ClassType -header extends java/lang/Object implements com/sun/jdi/ReferenceType flags 601 - -class name com/sun/jdi/DoubleType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/DoubleValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/Field -header extends java/lang/Object implements com/sun/jdi/TypeComponent,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/TypeComponent;Ljava/lang/Comparable; - -class name com/sun/jdi/FloatType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/FloatValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/IncompatibleThreadStateException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/InconsistentDebugInfoException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/IntegerType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/IntegerValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/InterfaceType -header extends java/lang/Object implements com/sun/jdi/ReferenceType flags 601 - -class name com/sun/jdi/InternalException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/InvalidCodeIndexException -header extends java/lang/RuntimeException flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated; - -class name com/sun/jdi/InvalidLineNumberException -header extends java/lang/RuntimeException flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated; - -class name com/sun/jdi/InvalidModuleException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/InvalidStackFrameException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/InvalidTypeException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/InvocationException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/JDIPermission -header extends java/security/BasicPermission flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/jdi/LocalVariable -header extends java/lang/Object implements com/sun/jdi/Mirror,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/Mirror;Ljava/lang/Comparable; - -class name com/sun/jdi/Locatable -header extends java/lang/Object flags 601 - -class name com/sun/jdi/Location -header extends java/lang/Object implements com/sun/jdi/Mirror,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/Mirror;Ljava/lang/Comparable; - -class name com/sun/jdi/LongType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/LongValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/Method -header extends java/lang/Object implements com/sun/jdi/TypeComponent,com/sun/jdi/Locatable,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/TypeComponent;Lcom/sun/jdi/Locatable;Ljava/lang/Comparable; - -class name com/sun/jdi/Mirror -header extends java/lang/Object flags 601 - -class name com/sun/jdi/ModuleReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/MonitorInfo -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/NativeMethodException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/ObjectCollectedException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/ObjectReference -header extends java/lang/Object implements com/sun/jdi/Value flags 601 - -class name com/sun/jdi/PathSearchingVirtualMachine -header extends java/lang/Object implements com/sun/jdi/VirtualMachine flags 601 - -class name com/sun/jdi/PrimitiveType -header extends java/lang/Object implements com/sun/jdi/Type flags 601 - -class name com/sun/jdi/PrimitiveValue -header extends java/lang/Object implements com/sun/jdi/Value flags 601 - -class name com/sun/jdi/ReferenceType -header extends java/lang/Object implements com/sun/jdi/Type,java/lang/Comparable,com/sun/jdi/Accessible flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/Type;Ljava/lang/Comparable;Lcom/sun/jdi/Accessible; - -class name com/sun/jdi/ShortType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/ShortValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/StackFrame -header extends java/lang/Object implements com/sun/jdi/Mirror,com/sun/jdi/Locatable flags 601 - -class name com/sun/jdi/StringReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/ThreadGroupReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/ThreadReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/Type -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/TypeComponent -header extends java/lang/Object implements com/sun/jdi/Mirror,com/sun/jdi/Accessible flags 601 - -class name com/sun/jdi/VMCannotBeModifiedException -header extends java/lang/UnsupportedOperationException flags 21 - -class name com/sun/jdi/VMDisconnectedException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/VMMismatchException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/VMOutOfMemoryException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/Value -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/VirtualMachine -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/VirtualMachineManager -header extends java/lang/Object flags 601 - -class name com/sun/jdi/VoidType -header extends java/lang/Object implements com/sun/jdi/Type flags 601 - -class name com/sun/jdi/VoidValue -header extends java/lang/Object implements com/sun/jdi/Value flags 601 - -class name com/sun/jdi/connect/AttachingConnector -header extends java/lang/Object implements com/sun/jdi/connect/Connector flags 601 -innerclass innerClass com/sun/jdi/connect/Connector$Argument outerClass com/sun/jdi/connect/Connector innerClassName Argument flags 609 - -class name com/sun/jdi/connect/IllegalConnectorArgumentsException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/connect/LaunchingConnector -header extends java/lang/Object implements com/sun/jdi/connect/Connector flags 601 -innerclass innerClass com/sun/jdi/connect/Connector$Argument outerClass com/sun/jdi/connect/Connector innerClassName Argument flags 609 - -class name com/sun/jdi/connect/ListeningConnector -header extends java/lang/Object implements com/sun/jdi/connect/Connector flags 601 -innerclass innerClass com/sun/jdi/connect/Connector$Argument outerClass com/sun/jdi/connect/Connector innerClassName Argument flags 609 - -class name com/sun/jdi/connect/Transport -header extends java/lang/Object flags 601 - -class name com/sun/jdi/connect/TransportTimeoutException -header extends java/io/IOException flags 21 - -class name com/sun/jdi/connect/VMStartException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/connect/spi/ClosedConnectionException -header extends java/io/IOException flags 21 - -class name com/sun/jdi/connect/spi/Connection -header extends java/lang/Object flags 421 - -class name com/sun/jdi/event/AccessWatchpointEvent -header extends java/lang/Object implements com/sun/jdi/event/WatchpointEvent flags 601 - -class name com/sun/jdi/event/BreakpointEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/ClassPrepareEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/ClassUnloadEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/Event -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/event/EventIterator -header extends java/lang/Object implements java/util/Iterator flags 601 signature Ljava/lang/Object;Ljava/util/Iterator; - -class name com/sun/jdi/event/EventQueue -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/event/EventSet -header extends java/lang/Object implements com/sun/jdi/Mirror,java/util/Set flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/Mirror;Ljava/util/Set; - -class name com/sun/jdi/event/ExceptionEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/LocatableEvent -header extends java/lang/Object implements com/sun/jdi/event/Event,com/sun/jdi/Locatable flags 601 - -class name com/sun/jdi/event/MethodEntryEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/MethodExitEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/ModificationWatchpointEvent -header extends java/lang/Object implements com/sun/jdi/event/WatchpointEvent flags 601 - -class name com/sun/jdi/event/MonitorContendedEnterEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/MonitorContendedEnteredEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/MonitorWaitEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/MonitorWaitedEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/StepEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/ThreadDeathEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/ThreadStartEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/VMDeathEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/VMDisconnectEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/VMStartEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/WatchpointEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/request/AccessWatchpointRequest -header extends java/lang/Object implements com/sun/jdi/request/WatchpointRequest flags 601 - -class name com/sun/jdi/request/BreakpointRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest,com/sun/jdi/Locatable flags 601 - -class name com/sun/jdi/request/ClassPrepareRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/ClassUnloadRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/DuplicateRequestException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/request/EventRequest -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/request/EventRequestManager -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/request/ExceptionRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/InvalidRequestStateException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/request/MethodEntryRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/MethodExitRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/ModificationWatchpointRequest -header extends java/lang/Object implements com/sun/jdi/request/WatchpointRequest flags 601 - -class name com/sun/jdi/request/MonitorContendedEnterRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/MonitorContendedEnteredRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/MonitorWaitRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/MonitorWaitedRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/StepRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/ThreadDeathRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/ThreadStartRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/VMDeathRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/WatchpointRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.jdi-J.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jdi-J.sym.txt index 90b445e21a351..2b0df6c1fcaa8 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.jdi-J.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.jdi-J.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,378 +26,20 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name com/sun/jdi/AbsentInformationException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/Accessible -header extends java/lang/Object flags 601 - -class name com/sun/jdi/ArrayReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/ArrayType -header extends java/lang/Object implements com/sun/jdi/ReferenceType flags 601 - -class name com/sun/jdi/BooleanType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/BooleanValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue flags 601 - -class name com/sun/jdi/Bootstrap -header extends java/lang/Object flags 21 - -class name com/sun/jdi/ByteType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/ByteValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/CharType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/CharValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/ClassLoaderReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/ClassNotLoadedException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/ClassNotPreparedException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/ClassObjectReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/ClassType -header extends java/lang/Object implements com/sun/jdi/ReferenceType flags 601 - -class name com/sun/jdi/DoubleType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/DoubleValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/Field -header extends java/lang/Object implements com/sun/jdi/TypeComponent,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/TypeComponent;Ljava/lang/Comparable; - -class name com/sun/jdi/FloatType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/FloatValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/IncompatibleThreadStateException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/InconsistentDebugInfoException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/IntegerType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/IntegerValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/InterfaceType -header extends java/lang/Object implements com/sun/jdi/ReferenceType flags 601 - -class name com/sun/jdi/InternalException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/InvalidCodeIndexException -header extends java/lang/RuntimeException flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated; - -class name com/sun/jdi/InvalidLineNumberException -header extends java/lang/RuntimeException flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated; - -class name com/sun/jdi/InvalidModuleException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/InvalidStackFrameException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/InvalidTypeException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/InvocationException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/JDIPermission -header extends java/security/BasicPermission flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/jdi/LocalVariable -header extends java/lang/Object implements com/sun/jdi/Mirror,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/Mirror;Ljava/lang/Comparable; - -class name com/sun/jdi/Locatable -header extends java/lang/Object flags 601 - -class name com/sun/jdi/Location -header extends java/lang/Object implements com/sun/jdi/Mirror,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/Mirror;Ljava/lang/Comparable; - -class name com/sun/jdi/LongType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/LongValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/Method -header extends java/lang/Object implements com/sun/jdi/TypeComponent,com/sun/jdi/Locatable,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/TypeComponent;Lcom/sun/jdi/Locatable;Ljava/lang/Comparable; - -class name com/sun/jdi/Mirror -header extends java/lang/Object flags 601 - -class name com/sun/jdi/ModuleReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/MonitorInfo -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - class name com/sun/jdi/NativeMethodException header extends com/sun/jdi/OpaqueFrameException flags 21 -class name com/sun/jdi/ObjectCollectedException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/ObjectReference -header extends java/lang/Object implements com/sun/jdi/Value flags 601 - class name com/sun/jdi/OpaqueFrameException -header extends java/lang/RuntimeException sealed true flags 21 +header extends java/lang/RuntimeException sealed true permittedSubclasses com/sun/jdi/NativeMethodException flags 21 method name descriptor ()V flags 1 method name descriptor (Ljava/lang/String;)V flags 1 -class name com/sun/jdi/PathSearchingVirtualMachine -header extends java/lang/Object implements com/sun/jdi/VirtualMachine flags 601 - -class name com/sun/jdi/PrimitiveType -header extends java/lang/Object implements com/sun/jdi/Type flags 601 - -class name com/sun/jdi/PrimitiveValue -header extends java/lang/Object implements com/sun/jdi/Value flags 601 - -class name com/sun/jdi/ReferenceType -header extends java/lang/Object implements com/sun/jdi/Type,java/lang/Comparable,com/sun/jdi/Accessible flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/Type;Ljava/lang/Comparable;Lcom/sun/jdi/Accessible; - -class name com/sun/jdi/ShortType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/ShortValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/StackFrame -header extends java/lang/Object implements com/sun/jdi/Mirror,com/sun/jdi/Locatable flags 601 - -class name com/sun/jdi/StringReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/ThreadGroupReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - class name com/sun/jdi/ThreadReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 method name isVirtual descriptor ()Z flags 1 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;VIRTUAL_THREADS;,reflective=Ztrue) -class name com/sun/jdi/Type -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/TypeComponent -header extends java/lang/Object implements com/sun/jdi/Mirror,com/sun/jdi/Accessible flags 601 - -class name com/sun/jdi/VMCannotBeModifiedException -header extends java/lang/UnsupportedOperationException flags 21 - -class name com/sun/jdi/VMDisconnectedException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/VMMismatchException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/VMOutOfMemoryException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/Value -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/VirtualMachine -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/VirtualMachineManager -header extends java/lang/Object flags 601 - -class name com/sun/jdi/VoidType -header extends java/lang/Object implements com/sun/jdi/Type flags 601 - -class name com/sun/jdi/VoidValue -header extends java/lang/Object implements com/sun/jdi/Value flags 601 - -class name com/sun/jdi/connect/AttachingConnector -header extends java/lang/Object implements com/sun/jdi/connect/Connector flags 601 -innerclass innerClass com/sun/jdi/connect/Connector$Argument outerClass com/sun/jdi/connect/Connector innerClassName Argument flags 609 - -class name com/sun/jdi/connect/IllegalConnectorArgumentsException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/connect/LaunchingConnector -header extends java/lang/Object implements com/sun/jdi/connect/Connector flags 601 -innerclass innerClass com/sun/jdi/connect/Connector$Argument outerClass com/sun/jdi/connect/Connector innerClassName Argument flags 609 - -class name com/sun/jdi/connect/ListeningConnector -header extends java/lang/Object implements com/sun/jdi/connect/Connector flags 601 -innerclass innerClass com/sun/jdi/connect/Connector$Argument outerClass com/sun/jdi/connect/Connector innerClassName Argument flags 609 - -class name com/sun/jdi/connect/Transport -header extends java/lang/Object flags 601 - -class name com/sun/jdi/connect/TransportTimeoutException -header extends java/io/IOException flags 21 - -class name com/sun/jdi/connect/VMStartException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/connect/spi/ClosedConnectionException -header extends java/io/IOException flags 21 - -class name com/sun/jdi/connect/spi/Connection -header extends java/lang/Object flags 421 - -class name com/sun/jdi/event/AccessWatchpointEvent -header extends java/lang/Object implements com/sun/jdi/event/WatchpointEvent flags 601 - -class name com/sun/jdi/event/BreakpointEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/ClassPrepareEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/ClassUnloadEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/Event -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/event/EventIterator -header extends java/lang/Object implements java/util/Iterator flags 601 signature Ljava/lang/Object;Ljava/util/Iterator; - -class name com/sun/jdi/event/EventQueue -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/event/EventSet -header extends java/lang/Object implements com/sun/jdi/Mirror,java/util/Set flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/Mirror;Ljava/util/Set; - -class name com/sun/jdi/event/ExceptionEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/LocatableEvent -header extends java/lang/Object implements com/sun/jdi/event/Event,com/sun/jdi/Locatable flags 601 - -class name com/sun/jdi/event/MethodEntryEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/MethodExitEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/ModificationWatchpointEvent -header extends java/lang/Object implements com/sun/jdi/event/WatchpointEvent flags 601 - -class name com/sun/jdi/event/MonitorContendedEnterEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/MonitorContendedEnteredEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/MonitorWaitEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/MonitorWaitedEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/StepEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/ThreadDeathEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/ThreadStartEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/VMDeathEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/VMDisconnectEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/VMStartEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/WatchpointEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/request/AccessWatchpointRequest -header extends java/lang/Object implements com/sun/jdi/request/WatchpointRequest flags 601 - -class name com/sun/jdi/request/BreakpointRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest,com/sun/jdi/Locatable flags 601 - -class name com/sun/jdi/request/ClassPrepareRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/ClassUnloadRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/DuplicateRequestException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/request/EventRequest -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/request/EventRequestManager -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/request/ExceptionRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/InvalidRequestStateException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/request/MethodEntryRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/MethodExitRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/ModificationWatchpointRequest -header extends java/lang/Object implements com/sun/jdi/request/WatchpointRequest flags 601 - -class name com/sun/jdi/request/MonitorContendedEnterRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/MonitorContendedEnteredRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/MonitorWaitRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/MonitorWaitedRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/StepRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - class name com/sun/jdi/request/ThreadDeathRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 method name addPlatformThreadsOnlyFilter descriptor ()V flags 1 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;VIRTUAL_THREADS;,reflective=Ztrue) class name com/sun/jdi/request/ThreadStartRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 method name addPlatformThreadsOnlyFilter descriptor ()V flags 1 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;VIRTUAL_THREADS;,reflective=Ztrue) -class name com/sun/jdi/request/VMDeathRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/WatchpointRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.jdi-K.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jdi-K.sym.txt deleted file mode 100644 index 0f1be41e51db8..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.jdi-K.sym.txt +++ /dev/null @@ -1,395 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/jdi/AbsentInformationException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/Accessible -header extends java/lang/Object flags 601 - -class name com/sun/jdi/ArrayReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/ArrayType -header extends java/lang/Object implements com/sun/jdi/ReferenceType flags 601 - -class name com/sun/jdi/BooleanType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/BooleanValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue flags 601 - -class name com/sun/jdi/Bootstrap -header extends java/lang/Object flags 21 - -class name com/sun/jdi/ByteType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/ByteValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/CharType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/CharValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/ClassLoaderReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/ClassNotLoadedException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/ClassNotPreparedException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/ClassObjectReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/ClassType -header extends java/lang/Object implements com/sun/jdi/ReferenceType flags 601 - -class name com/sun/jdi/DoubleType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/DoubleValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/Field -header extends java/lang/Object implements com/sun/jdi/TypeComponent,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/TypeComponent;Ljava/lang/Comparable; - -class name com/sun/jdi/FloatType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/FloatValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/IncompatibleThreadStateException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/InconsistentDebugInfoException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/IntegerType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/IntegerValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/InterfaceType -header extends java/lang/Object implements com/sun/jdi/ReferenceType flags 601 - -class name com/sun/jdi/InternalException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/InvalidCodeIndexException -header extends java/lang/RuntimeException flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated; - -class name com/sun/jdi/InvalidLineNumberException -header extends java/lang/RuntimeException flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated; - -class name com/sun/jdi/InvalidModuleException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/InvalidStackFrameException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/InvalidTypeException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/InvocationException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/JDIPermission -header extends java/security/BasicPermission flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/jdi/LocalVariable -header extends java/lang/Object implements com/sun/jdi/Mirror,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/Mirror;Ljava/lang/Comparable; - -class name com/sun/jdi/Locatable -header extends java/lang/Object flags 601 - -class name com/sun/jdi/Location -header extends java/lang/Object implements com/sun/jdi/Mirror,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/Mirror;Ljava/lang/Comparable; - -class name com/sun/jdi/LongType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/LongValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/Method -header extends java/lang/Object implements com/sun/jdi/TypeComponent,com/sun/jdi/Locatable,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/TypeComponent;Lcom/sun/jdi/Locatable;Ljava/lang/Comparable; - -class name com/sun/jdi/Mirror -header extends java/lang/Object flags 601 - -class name com/sun/jdi/ModuleReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/MonitorInfo -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/ObjectCollectedException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/ObjectReference -header extends java/lang/Object implements com/sun/jdi/Value flags 601 - -class name com/sun/jdi/OpaqueFrameException -header extends java/lang/RuntimeException sealed true flags 21 - -class name com/sun/jdi/PathSearchingVirtualMachine -header extends java/lang/Object implements com/sun/jdi/VirtualMachine flags 601 - -class name com/sun/jdi/PrimitiveType -header extends java/lang/Object implements com/sun/jdi/Type flags 601 - -class name com/sun/jdi/PrimitiveValue -header extends java/lang/Object implements com/sun/jdi/Value flags 601 - -class name com/sun/jdi/ReferenceType -header extends java/lang/Object implements com/sun/jdi/Type,java/lang/Comparable,com/sun/jdi/Accessible flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/Type;Ljava/lang/Comparable;Lcom/sun/jdi/Accessible; - -class name com/sun/jdi/ShortType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/ShortValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/StackFrame -header extends java/lang/Object implements com/sun/jdi/Mirror,com/sun/jdi/Locatable flags 601 - -class name com/sun/jdi/StringReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/ThreadGroupReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/ThreadReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/Type -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/TypeComponent -header extends java/lang/Object implements com/sun/jdi/Mirror,com/sun/jdi/Accessible flags 601 - -class name com/sun/jdi/VMCannotBeModifiedException -header extends java/lang/UnsupportedOperationException flags 21 - -class name com/sun/jdi/VMDisconnectedException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/VMMismatchException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/VMOutOfMemoryException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/Value -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/VirtualMachine -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/VirtualMachineManager -header extends java/lang/Object flags 601 - -class name com/sun/jdi/VoidType -header extends java/lang/Object implements com/sun/jdi/Type flags 601 - -class name com/sun/jdi/VoidValue -header extends java/lang/Object implements com/sun/jdi/Value flags 601 - -class name com/sun/jdi/connect/AttachingConnector -header extends java/lang/Object implements com/sun/jdi/connect/Connector flags 601 -innerclass innerClass com/sun/jdi/connect/Connector$Argument outerClass com/sun/jdi/connect/Connector innerClassName Argument flags 609 - -class name com/sun/jdi/connect/IllegalConnectorArgumentsException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/connect/LaunchingConnector -header extends java/lang/Object implements com/sun/jdi/connect/Connector flags 601 -innerclass innerClass com/sun/jdi/connect/Connector$Argument outerClass com/sun/jdi/connect/Connector innerClassName Argument flags 609 - -class name com/sun/jdi/connect/ListeningConnector -header extends java/lang/Object implements com/sun/jdi/connect/Connector flags 601 -innerclass innerClass com/sun/jdi/connect/Connector$Argument outerClass com/sun/jdi/connect/Connector innerClassName Argument flags 609 - -class name com/sun/jdi/connect/Transport -header extends java/lang/Object flags 601 - -class name com/sun/jdi/connect/TransportTimeoutException -header extends java/io/IOException flags 21 - -class name com/sun/jdi/connect/VMStartException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/connect/spi/ClosedConnectionException -header extends java/io/IOException flags 21 - -class name com/sun/jdi/connect/spi/Connection -header extends java/lang/Object flags 421 - -class name com/sun/jdi/event/AccessWatchpointEvent -header extends java/lang/Object implements com/sun/jdi/event/WatchpointEvent flags 601 - -class name com/sun/jdi/event/BreakpointEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/ClassPrepareEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/ClassUnloadEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/Event -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/event/EventIterator -header extends java/lang/Object implements java/util/Iterator flags 601 signature Ljava/lang/Object;Ljava/util/Iterator; - -class name com/sun/jdi/event/EventQueue -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/event/EventSet -header extends java/lang/Object implements com/sun/jdi/Mirror,java/util/Set flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/Mirror;Ljava/util/Set; - -class name com/sun/jdi/event/ExceptionEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/LocatableEvent -header extends java/lang/Object implements com/sun/jdi/event/Event,com/sun/jdi/Locatable flags 601 - -class name com/sun/jdi/event/MethodEntryEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/MethodExitEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/ModificationWatchpointEvent -header extends java/lang/Object implements com/sun/jdi/event/WatchpointEvent flags 601 - -class name com/sun/jdi/event/MonitorContendedEnterEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/MonitorContendedEnteredEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/MonitorWaitEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/MonitorWaitedEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/StepEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/ThreadDeathEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/ThreadStartEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/VMDeathEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/VMDisconnectEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/VMStartEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/WatchpointEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/request/AccessWatchpointRequest -header extends java/lang/Object implements com/sun/jdi/request/WatchpointRequest flags 601 - -class name com/sun/jdi/request/BreakpointRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest,com/sun/jdi/Locatable flags 601 - -class name com/sun/jdi/request/ClassPrepareRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/ClassUnloadRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/DuplicateRequestException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/request/EventRequest -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/request/EventRequestManager -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/request/ExceptionRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/InvalidRequestStateException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/request/MethodEntryRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/MethodExitRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/ModificationWatchpointRequest -header extends java/lang/Object implements com/sun/jdi/request/WatchpointRequest flags 601 - -class name com/sun/jdi/request/MonitorContendedEnterRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/MonitorContendedEnteredRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/MonitorWaitRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/MonitorWaitedRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/StepRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/ThreadDeathRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/ThreadStartRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/VMDeathRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/WatchpointRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.jdi-L.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jdi-L.sym.txt index 3119be374c605..c725a521e0e1b 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.jdi-L.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.jdi-L.sym.txt @@ -26,376 +26,15 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name com/sun/jdi/AbsentInformationException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/Accessible -header extends java/lang/Object flags 601 - -class name com/sun/jdi/ArrayReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/ArrayType -header extends java/lang/Object implements com/sun/jdi/ReferenceType flags 601 - -class name com/sun/jdi/BooleanType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/BooleanValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue flags 601 - -class name com/sun/jdi/Bootstrap -header extends java/lang/Object flags 21 - -class name com/sun/jdi/ByteType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/ByteValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/CharType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/CharValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/ClassLoaderReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/ClassNotLoadedException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/ClassNotPreparedException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/ClassObjectReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/ClassType -header extends java/lang/Object implements com/sun/jdi/ReferenceType flags 601 - -class name com/sun/jdi/DoubleType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/DoubleValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/Field -header extends java/lang/Object implements com/sun/jdi/TypeComponent,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/TypeComponent;Ljava/lang/Comparable; - -class name com/sun/jdi/FloatType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/FloatValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/IncompatibleThreadStateException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/InconsistentDebugInfoException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/IntegerType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/IntegerValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/InterfaceType -header extends java/lang/Object implements com/sun/jdi/ReferenceType flags 601 - -class name com/sun/jdi/InternalException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/InvalidCodeIndexException -header extends java/lang/RuntimeException flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated; - -class name com/sun/jdi/InvalidLineNumberException -header extends java/lang/RuntimeException flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated; - -class name com/sun/jdi/InvalidModuleException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/InvalidStackFrameException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/InvalidTypeException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/InvocationException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/JDIPermission -header extends java/security/BasicPermission flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/jdi/LocalVariable -header extends java/lang/Object implements com/sun/jdi/Mirror,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/Mirror;Ljava/lang/Comparable; - -class name com/sun/jdi/Locatable -header extends java/lang/Object flags 601 - -class name com/sun/jdi/Location -header extends java/lang/Object implements com/sun/jdi/Mirror,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/Mirror;Ljava/lang/Comparable; - -class name com/sun/jdi/LongType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/LongValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/Method -header extends java/lang/Object implements com/sun/jdi/TypeComponent,com/sun/jdi/Locatable,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/TypeComponent;Lcom/sun/jdi/Locatable;Ljava/lang/Comparable; - -class name com/sun/jdi/Mirror -header extends java/lang/Object flags 601 - -class name com/sun/jdi/ModuleReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/MonitorInfo -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/ObjectCollectedException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/ObjectReference -header extends java/lang/Object implements com/sun/jdi/Value flags 601 - -class name com/sun/jdi/OpaqueFrameException -header extends java/lang/RuntimeException sealed true flags 21 - -class name com/sun/jdi/PathSearchingVirtualMachine -header extends java/lang/Object implements com/sun/jdi/VirtualMachine flags 601 - -class name com/sun/jdi/PrimitiveType -header extends java/lang/Object implements com/sun/jdi/Type flags 601 - -class name com/sun/jdi/PrimitiveValue -header extends java/lang/Object implements com/sun/jdi/Value flags 601 - -class name com/sun/jdi/ReferenceType -header extends java/lang/Object implements com/sun/jdi/Type,java/lang/Comparable,com/sun/jdi/Accessible flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/Type;Ljava/lang/Comparable;Lcom/sun/jdi/Accessible; - -class name com/sun/jdi/ShortType -header extends java/lang/Object implements com/sun/jdi/PrimitiveType flags 601 - -class name com/sun/jdi/ShortValue -header extends java/lang/Object implements com/sun/jdi/PrimitiveValue,java/lang/Comparable flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/PrimitiveValue;Ljava/lang/Comparable; - -class name com/sun/jdi/StackFrame -header extends java/lang/Object implements com/sun/jdi/Mirror,com/sun/jdi/Locatable flags 601 - -class name com/sun/jdi/StringReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - -class name com/sun/jdi/ThreadGroupReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 - class name com/sun/jdi/ThreadReference -header extends java/lang/Object implements com/sun/jdi/ObjectReference flags 601 -method name isVirtual descriptor ()Z method name isVirtual descriptor ()Z flags 1 -class name com/sun/jdi/Type -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/TypeComponent -header extends java/lang/Object implements com/sun/jdi/Mirror,com/sun/jdi/Accessible flags 601 - -class name com/sun/jdi/VMCannotBeModifiedException -header extends java/lang/UnsupportedOperationException flags 21 - -class name com/sun/jdi/VMDisconnectedException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/VMMismatchException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/VMOutOfMemoryException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/Value -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/VirtualMachine -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/VirtualMachineManager -header extends java/lang/Object flags 601 - -class name com/sun/jdi/VoidType -header extends java/lang/Object implements com/sun/jdi/Type flags 601 - -class name com/sun/jdi/VoidValue -header extends java/lang/Object implements com/sun/jdi/Value flags 601 - -class name com/sun/jdi/connect/AttachingConnector -header extends java/lang/Object implements com/sun/jdi/connect/Connector flags 601 -innerclass innerClass com/sun/jdi/connect/Connector$Argument outerClass com/sun/jdi/connect/Connector innerClassName Argument flags 609 - -class name com/sun/jdi/connect/IllegalConnectorArgumentsException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/connect/LaunchingConnector -header extends java/lang/Object implements com/sun/jdi/connect/Connector flags 601 -innerclass innerClass com/sun/jdi/connect/Connector$Argument outerClass com/sun/jdi/connect/Connector innerClassName Argument flags 609 - -class name com/sun/jdi/connect/ListeningConnector -header extends java/lang/Object implements com/sun/jdi/connect/Connector flags 601 -innerclass innerClass com/sun/jdi/connect/Connector$Argument outerClass com/sun/jdi/connect/Connector innerClassName Argument flags 609 - -class name com/sun/jdi/connect/Transport -header extends java/lang/Object flags 601 - -class name com/sun/jdi/connect/TransportTimeoutException -header extends java/io/IOException flags 21 - -class name com/sun/jdi/connect/VMStartException -header extends java/lang/Exception flags 21 - -class name com/sun/jdi/connect/spi/ClosedConnectionException -header extends java/io/IOException flags 21 - -class name com/sun/jdi/connect/spi/Connection -header extends java/lang/Object flags 421 - -class name com/sun/jdi/event/AccessWatchpointEvent -header extends java/lang/Object implements com/sun/jdi/event/WatchpointEvent flags 601 - -class name com/sun/jdi/event/BreakpointEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/ClassPrepareEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/ClassUnloadEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/Event -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/event/EventIterator -header extends java/lang/Object implements java/util/Iterator flags 601 signature Ljava/lang/Object;Ljava/util/Iterator; - -class name com/sun/jdi/event/EventQueue -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/event/EventSet -header extends java/lang/Object implements com/sun/jdi/Mirror,java/util/Set flags 601 signature Ljava/lang/Object;Lcom/sun/jdi/Mirror;Ljava/util/Set; - -class name com/sun/jdi/event/ExceptionEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/LocatableEvent -header extends java/lang/Object implements com/sun/jdi/event/Event,com/sun/jdi/Locatable flags 601 - -class name com/sun/jdi/event/MethodEntryEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/MethodExitEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/ModificationWatchpointEvent -header extends java/lang/Object implements com/sun/jdi/event/WatchpointEvent flags 601 - -class name com/sun/jdi/event/MonitorContendedEnterEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/MonitorContendedEnteredEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/MonitorWaitEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/MonitorWaitedEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/StepEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/event/ThreadDeathEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/ThreadStartEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/VMDeathEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/VMDisconnectEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/VMStartEvent -header extends java/lang/Object implements com/sun/jdi/event/Event flags 601 - -class name com/sun/jdi/event/WatchpointEvent -header extends java/lang/Object implements com/sun/jdi/event/LocatableEvent flags 601 - -class name com/sun/jdi/request/AccessWatchpointRequest -header extends java/lang/Object implements com/sun/jdi/request/WatchpointRequest flags 601 - -class name com/sun/jdi/request/BreakpointRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest,com/sun/jdi/Locatable flags 601 - -class name com/sun/jdi/request/ClassPrepareRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/ClassUnloadRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/DuplicateRequestException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/request/EventRequest -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/request/EventRequestManager -header extends java/lang/Object implements com/sun/jdi/Mirror flags 601 - -class name com/sun/jdi/request/ExceptionRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/InvalidRequestStateException -header extends java/lang/RuntimeException flags 21 - -class name com/sun/jdi/request/MethodEntryRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/MethodExitRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/ModificationWatchpointRequest -header extends java/lang/Object implements com/sun/jdi/request/WatchpointRequest flags 601 - -class name com/sun/jdi/request/MonitorContendedEnterRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/MonitorContendedEnteredRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/MonitorWaitRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/MonitorWaitedRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/StepRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - class name com/sun/jdi/request/ThreadDeathRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 -method name addPlatformThreadsOnlyFilter descriptor ()V method name addPlatformThreadsOnlyFilter descriptor ()V flags 1 class name com/sun/jdi/request/ThreadStartRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 -method name addPlatformThreadsOnlyFilter descriptor ()V method name addPlatformThreadsOnlyFilter descriptor ()V flags 1 -class name com/sun/jdi/request/VMDeathRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - -class name com/sun/jdi/request/WatchpointRequest -header extends java/lang/Object implements com/sun/jdi/request/EventRequest flags 601 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.jfr-J.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jfr-J.sym.txt index da33c0fb4a0e7..9dded5e1feb8c 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.jfr-J.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.jfr-J.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -27,7 +27,7 @@ # ########################################################## # class name jdk/jfr/consumer/RecordedObject -header extends java/lang/Object sealed true flags 21 +header extends java/lang/Object sealed true permittedSubclasses jdk/jfr/consumer/RecordedEvent,jdk/jfr/consumer/RecordedClassLoader,jdk/jfr/consumer/RecordedClass,jdk/jfr/consumer/RecordedMethod,jdk/jfr/consumer/RecordedStackTrace,jdk/jfr/consumer/RecordedFrame,jdk/jfr/consumer/RecordedThread,jdk/jfr/consumer/RecordedThreadGroup flags 21 class name jdk/jfr/consumer/RecordedThread method name isVirtual descriptor ()Z flags 1 classAnnotations @Ljdk/internal/javac/PreviewFeature;(feature=eLjdk/internal/javac/PreviewFeature$Feature;VIRTUAL_THREADS;,reflective=Ztrue) diff --git a/src/jdk.compiler/share/data/symbols/jdk.jfr-K.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jfr-K.sym.txt index b40804b4f21cc..740adfcd7763c 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.jfr-K.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.jfr-K.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,9 +26,6 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name jdk/jfr/consumer/RecordedObject -header extends java/lang/Object sealed true flags 21 - class name jdk/jfr/consumer/RecordingStream method name stop descriptor ()Z flags 1 diff --git a/src/jdk.compiler/share/data/symbols/jdk.jfr-L.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jfr-L.sym.txt index cba53075819d4..d432353f2a96c 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.jfr-L.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.jfr-L.sym.txt @@ -26,9 +26,6 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name jdk/jfr/consumer/RecordedObject -header extends java/lang/Object sealed true flags 21 - class name jdk/jfr/consumer/RecordedThread -method name isVirtual descriptor ()Z method name isVirtual descriptor ()Z flags 1 diff --git a/src/jdk.compiler/share/data/symbols/jdk.jshell-H.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jshell-H.sym.txt index caa744f84ba79..fc7f19d74eacb 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.jshell-H.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.jshell-H.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,88 +26,10 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name jdk/jshell/DeclarationSnippet -header extends jdk/jshell/PersistentSnippet flags 421 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/jshell/Diag -header extends java/lang/Object flags 421 - -class name jdk/jshell/EvalException -header extends jdk/jshell/JShellException flags 21 - -class name jdk/jshell/ExpressionSnippet -header extends jdk/jshell/Snippet flags 21 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/ImportSnippet -header extends jdk/jshell/PersistentSnippet flags 21 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/JShellException -header extends java/lang/Exception flags 21 - -class name jdk/jshell/MethodSnippet -header extends jdk/jshell/DeclarationSnippet flags 21 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/PersistentSnippet -header extends jdk/jshell/Snippet flags 421 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - class name jdk/jshell/Snippet$SubKind -field name RECORD_SUBKIND descriptor Ljdk/jshell/Snippet$SubKind; field name RECORD_SUBKIND descriptor Ljdk/jshell/Snippet$SubKind; flags 4019 -class name jdk/jshell/SnippetEvent -header extends java/lang/Object flags 21 -innerclass innerClass jdk/jshell/Snippet$Status outerClass jdk/jshell/Snippet innerClassName Status flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/jshell/StatementSnippet -header extends jdk/jshell/Snippet flags 21 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/TypeDeclSnippet -header extends jdk/jshell/DeclarationSnippet flags 21 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/execution/FailOverExecutionControlProvider -header extends java/lang/Object implements jdk/jshell/spi/ExecutionControlProvider flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/jshell/execution/JdiDefaultExecutionControl -header extends jdk/jshell/execution/JdiExecutionControl flags 21 -innerclass innerClass jdk/jshell/spi/ExecutionControl$InternalException outerClass jdk/jshell/spi/ExecutionControl innerClassName InternalException flags 9 -innerclass innerClass jdk/jshell/spi/ExecutionControl$EngineTerminationException outerClass jdk/jshell/spi/ExecutionControl innerClassName EngineTerminationException flags 9 -innerclass innerClass jdk/jshell/spi/ExecutionControl$RunException outerClass jdk/jshell/spi/ExecutionControl innerClassName RunException flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/jshell/execution/JdiExecutionControlProvider -header extends java/lang/Object implements jdk/jshell/spi/ExecutionControlProvider flags 21 - -class name jdk/jshell/execution/LoaderDelegate -header extends java/lang/Object flags 601 -innerclass innerClass jdk/jshell/spi/ExecutionControl$ClassBytecodes outerClass jdk/jshell/spi/ExecutionControl innerClassName ClassBytecodes flags 19 -innerclass innerClass jdk/jshell/spi/ExecutionControl$ClassInstallException outerClass jdk/jshell/spi/ExecutionControl innerClassName ClassInstallException flags 9 -innerclass innerClass jdk/jshell/spi/ExecutionControl$NotImplementedException outerClass jdk/jshell/spi/ExecutionControl innerClassName NotImplementedException flags 9 -innerclass innerClass jdk/jshell/spi/ExecutionControl$EngineTerminationException outerClass jdk/jshell/spi/ExecutionControl innerClassName EngineTerminationException flags 9 -innerclass innerClass jdk/jshell/spi/ExecutionControl$InternalException outerClass jdk/jshell/spi/ExecutionControl innerClassName InternalException flags 9 - -class name jdk/jshell/execution/LocalExecutionControlProvider -header extends java/lang/Object implements jdk/jshell/spi/ExecutionControlProvider flags 21 - -class name jdk/jshell/spi/ExecutionControlProvider -header extends java/lang/Object flags 601 - -class name jdk/jshell/spi/ExecutionEnv -header extends java/lang/Object flags 601 - -class name jdk/jshell/spi/SPIResolutionException -header extends java/lang/RuntimeException flags 21 - class name jdk/jshell/tool/JavaShellToolBuilder -header extends java/lang/Object flags 601 method name interactiveTerminal descriptor (Z)Ljdk/jshell/tool/JavaShellToolBuilder; flags 1 diff --git a/src/jdk.compiler/share/data/symbols/jdk.jshell-I.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jshell-I.sym.txt deleted file mode 100644 index 349690280cb72..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.jshell-I.sym.txt +++ /dev/null @@ -1,108 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name jdk/jshell/DeclarationSnippet -header extends jdk/jshell/PersistentSnippet flags 421 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/jshell/Diag -header extends java/lang/Object flags 421 - -class name jdk/jshell/EvalException -header extends jdk/jshell/JShellException flags 21 - -class name jdk/jshell/ExpressionSnippet -header extends jdk/jshell/Snippet flags 21 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/ImportSnippet -header extends jdk/jshell/PersistentSnippet flags 21 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/JShellException -header extends java/lang/Exception flags 21 - -class name jdk/jshell/MethodSnippet -header extends jdk/jshell/DeclarationSnippet flags 21 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/PersistentSnippet -header extends jdk/jshell/Snippet flags 421 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/SnippetEvent -header extends java/lang/Object flags 21 -innerclass innerClass jdk/jshell/Snippet$Status outerClass jdk/jshell/Snippet innerClassName Status flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/jshell/StatementSnippet -header extends jdk/jshell/Snippet flags 21 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/TypeDeclSnippet -header extends jdk/jshell/DeclarationSnippet flags 21 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/execution/FailOverExecutionControlProvider -header extends java/lang/Object implements jdk/jshell/spi/ExecutionControlProvider flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/jshell/execution/JdiDefaultExecutionControl -header extends jdk/jshell/execution/JdiExecutionControl flags 21 -innerclass innerClass jdk/jshell/spi/ExecutionControl$InternalException outerClass jdk/jshell/spi/ExecutionControl innerClassName InternalException flags 9 -innerclass innerClass jdk/jshell/spi/ExecutionControl$EngineTerminationException outerClass jdk/jshell/spi/ExecutionControl innerClassName EngineTerminationException flags 9 -innerclass innerClass jdk/jshell/spi/ExecutionControl$RunException outerClass jdk/jshell/spi/ExecutionControl innerClassName RunException flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/jshell/execution/JdiExecutionControlProvider -header extends java/lang/Object implements jdk/jshell/spi/ExecutionControlProvider flags 21 - -class name jdk/jshell/execution/LoaderDelegate -header extends java/lang/Object flags 601 -innerclass innerClass jdk/jshell/spi/ExecutionControl$ClassBytecodes outerClass jdk/jshell/spi/ExecutionControl innerClassName ClassBytecodes flags 19 -innerclass innerClass jdk/jshell/spi/ExecutionControl$ClassInstallException outerClass jdk/jshell/spi/ExecutionControl innerClassName ClassInstallException flags 9 -innerclass innerClass jdk/jshell/spi/ExecutionControl$NotImplementedException outerClass jdk/jshell/spi/ExecutionControl innerClassName NotImplementedException flags 9 -innerclass innerClass jdk/jshell/spi/ExecutionControl$EngineTerminationException outerClass jdk/jshell/spi/ExecutionControl innerClassName EngineTerminationException flags 9 -innerclass innerClass jdk/jshell/spi/ExecutionControl$InternalException outerClass jdk/jshell/spi/ExecutionControl innerClassName InternalException flags 9 - -class name jdk/jshell/execution/LocalExecutionControlProvider -header extends java/lang/Object implements jdk/jshell/spi/ExecutionControlProvider flags 21 - -class name jdk/jshell/spi/ExecutionControlProvider -header extends java/lang/Object flags 601 - -class name jdk/jshell/spi/ExecutionEnv -header extends java/lang/Object flags 601 - -class name jdk/jshell/spi/SPIResolutionException -header extends java/lang/RuntimeException flags 21 - -class name jdk/jshell/tool/JavaShellToolBuilder -header extends java/lang/Object flags 601 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.jshell-J.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jshell-J.sym.txt index 38fcec2d0147f..3fa4519a58868 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.jshell-J.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.jshell-J.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,41 +26,6 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name jdk/jshell/DeclarationSnippet -header extends jdk/jshell/PersistentSnippet flags 421 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/jshell/Diag -header extends java/lang/Object flags 421 - -class name jdk/jshell/EvalException -header extends jdk/jshell/JShellException flags 21 - -class name jdk/jshell/ExpressionSnippet -header extends jdk/jshell/Snippet flags 21 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/ImportSnippet -header extends jdk/jshell/PersistentSnippet flags 21 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/JShellException -header extends java/lang/Exception flags 21 - -class name jdk/jshell/MethodSnippet -header extends jdk/jshell/DeclarationSnippet flags 21 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/PersistentSnippet -header extends jdk/jshell/Snippet flags 421 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/SnippetEvent -header extends java/lang/Object flags 21 -innerclass innerClass jdk/jshell/Snippet$Status outerClass jdk/jshell/Snippet innerClassName Status flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - class name jdk/jshell/SourceCodeAnalysis header extends java/lang/Object nestMembers jdk/jshell/SourceCodeAnalysis$Attribute,jdk/jshell/SourceCodeAnalysis$Highlight,jdk/jshell/SourceCodeAnalysis$SnippetWrapper,jdk/jshell/SourceCodeAnalysis$QualifiedNames,jdk/jshell/SourceCodeAnalysis$Documentation,jdk/jshell/SourceCodeAnalysis$Suggestion,jdk/jshell/SourceCodeAnalysis$Completeness,jdk/jshell/SourceCodeAnalysis$CompletionInfo flags 421 innerclass innerClass jdk/jshell/SourceCodeAnalysis$Attribute outerClass jdk/jshell/SourceCodeAnalysis innerClassName Attribute flags 4019 @@ -98,48 +63,3 @@ method name start descriptor ()I flags 1 method name end descriptor ()I flags 1 method name attributes descriptor ()Ljava/util/Set; flags 1 signature ()Ljava/util/Set; -class name jdk/jshell/StatementSnippet -header extends jdk/jshell/Snippet flags 21 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/TypeDeclSnippet -header extends jdk/jshell/DeclarationSnippet flags 21 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/execution/FailOverExecutionControlProvider -header extends java/lang/Object implements jdk/jshell/spi/ExecutionControlProvider flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/jshell/execution/JdiDefaultExecutionControl -header extends jdk/jshell/execution/JdiExecutionControl flags 21 -innerclass innerClass jdk/jshell/spi/ExecutionControl$InternalException outerClass jdk/jshell/spi/ExecutionControl innerClassName InternalException flags 9 -innerclass innerClass jdk/jshell/spi/ExecutionControl$EngineTerminationException outerClass jdk/jshell/spi/ExecutionControl innerClassName EngineTerminationException flags 9 -innerclass innerClass jdk/jshell/spi/ExecutionControl$RunException outerClass jdk/jshell/spi/ExecutionControl innerClassName RunException flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/jshell/execution/JdiExecutionControlProvider -header extends java/lang/Object implements jdk/jshell/spi/ExecutionControlProvider flags 21 - -class name jdk/jshell/execution/LoaderDelegate -header extends java/lang/Object flags 601 -innerclass innerClass jdk/jshell/spi/ExecutionControl$ClassBytecodes outerClass jdk/jshell/spi/ExecutionControl innerClassName ClassBytecodes flags 19 -innerclass innerClass jdk/jshell/spi/ExecutionControl$ClassInstallException outerClass jdk/jshell/spi/ExecutionControl innerClassName ClassInstallException flags 9 -innerclass innerClass jdk/jshell/spi/ExecutionControl$NotImplementedException outerClass jdk/jshell/spi/ExecutionControl innerClassName NotImplementedException flags 9 -innerclass innerClass jdk/jshell/spi/ExecutionControl$EngineTerminationException outerClass jdk/jshell/spi/ExecutionControl innerClassName EngineTerminationException flags 9 -innerclass innerClass jdk/jshell/spi/ExecutionControl$InternalException outerClass jdk/jshell/spi/ExecutionControl innerClassName InternalException flags 9 - -class name jdk/jshell/execution/LocalExecutionControlProvider -header extends java/lang/Object implements jdk/jshell/spi/ExecutionControlProvider flags 21 - -class name jdk/jshell/spi/ExecutionControlProvider -header extends java/lang/Object flags 601 - -class name jdk/jshell/spi/ExecutionEnv -header extends java/lang/Object flags 601 - -class name jdk/jshell/spi/SPIResolutionException -header extends java/lang/RuntimeException flags 21 - -class name jdk/jshell/tool/JavaShellToolBuilder -header extends java/lang/Object flags 601 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.jshell-K.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jshell-K.sym.txt index 71fc8bbf6eb9f..f263d7d15ea71 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.jshell-K.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.jshell-K.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,49 +26,6 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name jdk/jshell/DeclarationSnippet -header extends jdk/jshell/PersistentSnippet flags 421 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/jshell/Diag -header extends java/lang/Object flags 421 - -class name jdk/jshell/EvalException -header extends jdk/jshell/JShellException flags 21 - -class name jdk/jshell/ExpressionSnippet -header extends jdk/jshell/Snippet flags 21 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/ImportSnippet -header extends jdk/jshell/PersistentSnippet flags 21 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/JShellException -header extends java/lang/Exception flags 21 - -class name jdk/jshell/MethodSnippet -header extends jdk/jshell/DeclarationSnippet flags 21 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/PersistentSnippet -header extends jdk/jshell/Snippet flags 421 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/SnippetEvent -header extends java/lang/Object flags 21 -innerclass innerClass jdk/jshell/Snippet$Status outerClass jdk/jshell/Snippet innerClassName Status flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/jshell/StatementSnippet -header extends jdk/jshell/Snippet flags 21 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/TypeDeclSnippet -header extends jdk/jshell/DeclarationSnippet flags 21 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - class name jdk/jshell/execution/DirectExecutionControl header extends java/lang/Object implements jdk/jshell/spi/ExecutionControl flags 21 innerclass innerClass jdk/jshell/spi/ExecutionControl$ClassBytecodes outerClass jdk/jshell/spi/ExecutionControl innerClassName ClassBytecodes flags 19 @@ -84,28 +41,6 @@ innerclass innerClass jdk/jshell/spi/ExecutionControl$ClassInstallException oute innerclass innerClass jdk/jshell/spi/ExecutionControl$ExecutionControlException outerClass jdk/jshell/spi/ExecutionControl innerClassName ExecutionControlException flags 409 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name jdk/jshell/execution/FailOverExecutionControlProvider -header extends java/lang/Object implements jdk/jshell/spi/ExecutionControlProvider flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/jshell/execution/JdiDefaultExecutionControl -header extends jdk/jshell/execution/JdiExecutionControl flags 21 -innerclass innerClass jdk/jshell/spi/ExecutionControl$InternalException outerClass jdk/jshell/spi/ExecutionControl innerClassName InternalException flags 9 -innerclass innerClass jdk/jshell/spi/ExecutionControl$EngineTerminationException outerClass jdk/jshell/spi/ExecutionControl innerClassName EngineTerminationException flags 9 -innerclass innerClass jdk/jshell/spi/ExecutionControl$RunException outerClass jdk/jshell/spi/ExecutionControl innerClassName RunException flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/jshell/execution/JdiExecutionControlProvider -header extends java/lang/Object implements jdk/jshell/spi/ExecutionControlProvider flags 21 - -class name jdk/jshell/execution/LoaderDelegate -header extends java/lang/Object flags 601 -innerclass innerClass jdk/jshell/spi/ExecutionControl$ClassBytecodes outerClass jdk/jshell/spi/ExecutionControl innerClassName ClassBytecodes flags 19 -innerclass innerClass jdk/jshell/spi/ExecutionControl$ClassInstallException outerClass jdk/jshell/spi/ExecutionControl innerClassName ClassInstallException flags 9 -innerclass innerClass jdk/jshell/spi/ExecutionControl$NotImplementedException outerClass jdk/jshell/spi/ExecutionControl innerClassName NotImplementedException flags 9 -innerclass innerClass jdk/jshell/spi/ExecutionControl$EngineTerminationException outerClass jdk/jshell/spi/ExecutionControl innerClassName EngineTerminationException flags 9 -innerclass innerClass jdk/jshell/spi/ExecutionControl$InternalException outerClass jdk/jshell/spi/ExecutionControl innerClassName InternalException flags 9 - class name jdk/jshell/execution/LocalExecutionControl header extends jdk/jshell/execution/DirectExecutionControl flags 21 innerclass innerClass jdk/jshell/spi/ExecutionControl$ClassBytecodes outerClass jdk/jshell/spi/ExecutionControl innerClassName ClassBytecodes flags 19 @@ -118,18 +53,3 @@ innerclass innerClass jdk/jshell/spi/ExecutionControl$EngineTerminationException innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 method name load descriptor ([Ljdk/jshell/spi/ExecutionControl$ClassBytecodes;)V thrownTypes jdk/jshell/spi/ExecutionControl$ClassInstallException,jdk/jshell/spi/ExecutionControl$NotImplementedException,jdk/jshell/spi/ExecutionControl$EngineTerminationException flags 1 -class name jdk/jshell/execution/LocalExecutionControlProvider -header extends java/lang/Object implements jdk/jshell/spi/ExecutionControlProvider flags 21 - -class name jdk/jshell/spi/ExecutionControlProvider -header extends java/lang/Object flags 601 - -class name jdk/jshell/spi/ExecutionEnv -header extends java/lang/Object flags 601 - -class name jdk/jshell/spi/SPIResolutionException -header extends java/lang/RuntimeException flags 21 - -class name jdk/jshell/tool/JavaShellToolBuilder -header extends java/lang/Object flags 601 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.jshell-L.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jshell-L.sym.txt index 0c21138e1368a..07fdeab4b6ec1 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.jshell-L.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.jshell-L.sym.txt @@ -29,25 +29,6 @@ module name jdk.jshell header exports jdk/jshell,jdk/jshell/execution,jdk/jshell/spi,jdk/jshell/tool requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;java.logging\u0020;flags\u0020;0,name\u0020;jdk.compiler\u0020;flags\u0020;0,name\u0020;jdk.internal.ed\u0020;flags\u0020;0,name\u0020;jdk.internal.le\u0020;flags\u0020;0,name\u0020;jdk.internal.opt\u0020;flags\u0020;0,name\u0020;java.compiler\u0020;flags\u0020;20,name\u0020;java.prefs\u0020;flags\u0020;20,name\u0020;jdk.jdi\u0020;flags\u0020;20 uses jdk/jshell/spi/ExecutionControlProvider,jdk/internal/editor/spi/BuildInEditorProvider provides interface\u0020;javax/tools/Tool\u0020;impls\u0020;jdk/internal/jshell/tool/JShellToolProvider,interface\u0020;jdk/jshell/spi/ExecutionControlProvider\u0020;impls\u0020;jdk/jshell/execution/JdiExecutionControlProvider\u005C;u002C;jdk/jshell/execution/LocalExecutionControlProvider\u005C;u002C;jdk/jshell/execution/FailOverExecutionControlProvider,interface\u0020;jdk/internal/io/JdkConsoleProvider\u0020;impls\u0020;jdk/jshell/execution/impl/ConsoleImpl$ConsoleProviderImpl target linux-amd64 flags 8000 -class name jdk/jshell/DeclarationSnippet -header extends jdk/jshell/PersistentSnippet flags 421 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/jshell/Diag -header extends java/lang/Object flags 421 - -class name jdk/jshell/EvalException -header extends jdk/jshell/JShellException flags 21 - -class name jdk/jshell/ExpressionSnippet -header extends jdk/jshell/Snippet flags 21 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/ImportSnippet -header extends jdk/jshell/PersistentSnippet flags 21 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - class name jdk/jshell/JShell$Builder method name console descriptor (Ljdk/jshell/JShellConsole;)Ljdk/jshell/JShell$Builder; flags 1 @@ -60,65 +41,6 @@ method name readPassword descriptor (Ljava/lang/String;)[C thrownTypes java/io/I method name flush descriptor ()V flags 401 method name charset descriptor ()Ljava/nio/charset/Charset; flags 401 -class name jdk/jshell/JShellException -header extends java/lang/Exception flags 21 - -class name jdk/jshell/MethodSnippet -header extends jdk/jshell/DeclarationSnippet flags 21 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/PersistentSnippet -header extends jdk/jshell/Snippet flags 421 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/SnippetEvent -header extends java/lang/Object flags 21 -innerclass innerClass jdk/jshell/Snippet$Status outerClass jdk/jshell/Snippet innerClassName Status flags 4019 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/jshell/StatementSnippet -header extends jdk/jshell/Snippet flags 21 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/TypeDeclSnippet -header extends jdk/jshell/DeclarationSnippet flags 21 -innerclass innerClass jdk/jshell/Snippet$SubKind outerClass jdk/jshell/Snippet innerClassName SubKind flags 4019 - -class name jdk/jshell/execution/FailOverExecutionControlProvider -header extends java/lang/Object implements jdk/jshell/spi/ExecutionControlProvider flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/jshell/execution/JdiDefaultExecutionControl -header extends jdk/jshell/execution/JdiExecutionControl flags 21 -innerclass innerClass jdk/jshell/spi/ExecutionControl$InternalException outerClass jdk/jshell/spi/ExecutionControl innerClassName InternalException flags 9 -innerclass innerClass jdk/jshell/spi/ExecutionControl$EngineTerminationException outerClass jdk/jshell/spi/ExecutionControl innerClassName EngineTerminationException flags 9 -innerclass innerClass jdk/jshell/spi/ExecutionControl$RunException outerClass jdk/jshell/spi/ExecutionControl innerClassName RunException flags 409 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name jdk/jshell/execution/JdiExecutionControlProvider -header extends java/lang/Object implements jdk/jshell/spi/ExecutionControlProvider flags 21 - -class name jdk/jshell/execution/LoaderDelegate -header extends java/lang/Object flags 601 -innerclass innerClass jdk/jshell/spi/ExecutionControl$ClassBytecodes outerClass jdk/jshell/spi/ExecutionControl innerClassName ClassBytecodes flags 19 -innerclass innerClass jdk/jshell/spi/ExecutionControl$ClassInstallException outerClass jdk/jshell/spi/ExecutionControl innerClassName ClassInstallException flags 9 -innerclass innerClass jdk/jshell/spi/ExecutionControl$NotImplementedException outerClass jdk/jshell/spi/ExecutionControl innerClassName NotImplementedException flags 9 -innerclass innerClass jdk/jshell/spi/ExecutionControl$EngineTerminationException outerClass jdk/jshell/spi/ExecutionControl innerClassName EngineTerminationException flags 9 -innerclass innerClass jdk/jshell/spi/ExecutionControl$InternalException outerClass jdk/jshell/spi/ExecutionControl innerClassName InternalException flags 9 - -class name jdk/jshell/execution/LocalExecutionControlProvider -header extends java/lang/Object implements jdk/jshell/spi/ExecutionControlProvider flags 21 - -class name jdk/jshell/spi/ExecutionControlProvider -header extends java/lang/Object flags 601 - class name jdk/jshell/spi/ExecutionEnv -header extends java/lang/Object flags 601 method name console descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional; -class name jdk/jshell/spi/SPIResolutionException -header extends java/lang/RuntimeException flags 21 - -class name jdk/jshell/tool/JavaShellToolBuilder -header extends java/lang/Object flags 601 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.jsobject-H.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jsobject-H.sym.txt deleted file mode 100644 index a955e4bfe9412..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.jsobject-H.sym.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name netscape/javascript/JSException -header extends java/lang/RuntimeException flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.jsobject-I.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jsobject-I.sym.txt deleted file mode 100644 index a955e4bfe9412..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.jsobject-I.sym.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name netscape/javascript/JSException -header extends java/lang/RuntimeException flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.jsobject-J.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jsobject-J.sym.txt deleted file mode 100644 index 314bea0bf72d3..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.jsobject-J.sym.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name netscape/javascript/JSException -header extends java/lang/RuntimeException flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.jsobject-K.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jsobject-K.sym.txt deleted file mode 100644 index 314bea0bf72d3..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.jsobject-K.sym.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name netscape/javascript/JSException -header extends java/lang/RuntimeException flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.jsobject-L.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.jsobject-L.sym.txt deleted file mode 100644 index 1f0b535680871..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.jsobject-L.sym.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name netscape/javascript/JSException -header extends java/lang/RuntimeException flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.management-H.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.management-H.sym.txt deleted file mode 100644 index a6b7d08c1b4d2..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.management-H.sym.txt +++ /dev/null @@ -1,49 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/management/GarbageCollectionNotificationInfo -header extends java/lang/Object implements javax/management/openmbean/CompositeDataView flags 21 - -class name com/sun/management/GarbageCollectorMXBean -header extends java/lang/Object implements java/lang/management/GarbageCollectorMXBean flags 601 - -class name com/sun/management/GcInfo -header extends java/lang/Object implements javax/management/openmbean/CompositeData,javax/management/openmbean/CompositeDataView flags 21 - -class name com/sun/management/HotSpotDiagnosticMXBean -header extends java/lang/Object implements java/lang/management/PlatformManagedObject flags 601 - -class name com/sun/management/OperatingSystemMXBean -header extends java/lang/Object implements java/lang/management/OperatingSystemMXBean flags 601 - -class name com/sun/management/ThreadMXBean -header extends java/lang/Object implements java/lang/management/ThreadMXBean flags 601 - -class name com/sun/management/UnixOperatingSystemMXBean -header extends java/lang/Object implements com/sun/management/OperatingSystemMXBean flags 601 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.management-I.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.management-I.sym.txt deleted file mode 100644 index a6b7d08c1b4d2..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.management-I.sym.txt +++ /dev/null @@ -1,49 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/management/GarbageCollectionNotificationInfo -header extends java/lang/Object implements javax/management/openmbean/CompositeDataView flags 21 - -class name com/sun/management/GarbageCollectorMXBean -header extends java/lang/Object implements java/lang/management/GarbageCollectorMXBean flags 601 - -class name com/sun/management/GcInfo -header extends java/lang/Object implements javax/management/openmbean/CompositeData,javax/management/openmbean/CompositeDataView flags 21 - -class name com/sun/management/HotSpotDiagnosticMXBean -header extends java/lang/Object implements java/lang/management/PlatformManagedObject flags 601 - -class name com/sun/management/OperatingSystemMXBean -header extends java/lang/Object implements java/lang/management/OperatingSystemMXBean flags 601 - -class name com/sun/management/ThreadMXBean -header extends java/lang/Object implements java/lang/management/ThreadMXBean flags 601 - -class name com/sun/management/UnixOperatingSystemMXBean -header extends java/lang/Object implements com/sun/management/OperatingSystemMXBean flags 601 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.management-J.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.management-J.sym.txt index 3ade9f0e2bc31..dd3c67bb117c6 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.management-J.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.management-J.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,15 +26,6 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name com/sun/management/GarbageCollectionNotificationInfo -header extends java/lang/Object implements javax/management/openmbean/CompositeDataView flags 21 - -class name com/sun/management/GarbageCollectorMXBean -header extends java/lang/Object implements java/lang/management/GarbageCollectorMXBean flags 601 - -class name com/sun/management/GcInfo -header extends java/lang/Object implements javax/management/openmbean/CompositeData,javax/management/openmbean/CompositeDataView flags 21 - class name com/sun/management/HotSpotDiagnosticMXBean header extends java/lang/Object implements java/lang/management/PlatformManagedObject nestMembers com/sun/management/HotSpotDiagnosticMXBean$ThreadDumpFormat flags 601 innerclass innerClass com/sun/management/HotSpotDiagnosticMXBean$ThreadDumpFormat outerClass com/sun/management/HotSpotDiagnosticMXBean innerClassName ThreadDumpFormat flags 4019 @@ -48,12 +39,3 @@ field name JSON descriptor Lcom/sun/management/HotSpotDiagnosticMXBean$ThreadDum method name values descriptor ()[Lcom/sun/management/HotSpotDiagnosticMXBean$ThreadDumpFormat; flags 9 method name valueOf descriptor (Ljava/lang/String;)Lcom/sun/management/HotSpotDiagnosticMXBean$ThreadDumpFormat; flags 9 -class name com/sun/management/OperatingSystemMXBean -header extends java/lang/Object implements java/lang/management/OperatingSystemMXBean flags 601 - -class name com/sun/management/ThreadMXBean -header extends java/lang/Object implements java/lang/management/ThreadMXBean flags 601 - -class name com/sun/management/UnixOperatingSystemMXBean -header extends java/lang/Object implements com/sun/management/OperatingSystemMXBean flags 601 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.management-K.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.management-K.sym.txt deleted file mode 100644 index 582c8b3e2b8ce..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.management-K.sym.txt +++ /dev/null @@ -1,46 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/management/GarbageCollectionNotificationInfo -header extends java/lang/Object implements javax/management/openmbean/CompositeDataView flags 21 - -class name com/sun/management/GarbageCollectorMXBean -header extends java/lang/Object implements java/lang/management/GarbageCollectorMXBean flags 601 - -class name com/sun/management/GcInfo -header extends java/lang/Object implements javax/management/openmbean/CompositeData,javax/management/openmbean/CompositeDataView flags 21 - -class name com/sun/management/OperatingSystemMXBean -header extends java/lang/Object implements java/lang/management/OperatingSystemMXBean flags 601 - -class name com/sun/management/ThreadMXBean -header extends java/lang/Object implements java/lang/management/ThreadMXBean flags 601 - -class name com/sun/management/UnixOperatingSystemMXBean -header extends java/lang/Object implements com/sun/management/OperatingSystemMXBean flags 601 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.management-L.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.management-L.sym.txt index 6826c01a63efa..4dbcae2b1a096 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.management-L.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.management-L.sym.txt @@ -26,15 +26,6 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name com/sun/management/GarbageCollectionNotificationInfo -header extends java/lang/Object implements javax/management/openmbean/CompositeDataView flags 21 - -class name com/sun/management/GarbageCollectorMXBean -header extends java/lang/Object implements java/lang/management/GarbageCollectorMXBean flags 601 - -class name com/sun/management/GcInfo -header extends java/lang/Object implements javax/management/openmbean/CompositeData,javax/management/openmbean/CompositeDataView flags 21 - class name com/sun/management/HotSpotDiagnosticMXBean -method name dumpThreads descriptor (Ljava/lang/String;Lcom/sun/management/HotSpotDiagnosticMXBean$ThreadDumpFormat;)V method name dumpThreads descriptor (Ljava/lang/String;Lcom/sun/management/HotSpotDiagnosticMXBean$ThreadDumpFormat;)V thrownTypes java/io/IOException flags 1 @@ -43,13 +34,6 @@ class name com/sun/management/HotSpotDiagnosticMXBean$ThreadDumpFormat header extends java/lang/Enum nestHost com/sun/management/HotSpotDiagnosticMXBean flags 4031 signature Ljava/lang/Enum; innerclass innerClass com/sun/management/HotSpotDiagnosticMXBean$ThreadDumpFormat outerClass com/sun/management/HotSpotDiagnosticMXBean innerClassName ThreadDumpFormat flags 4019 -class name com/sun/management/OperatingSystemMXBean -header extends java/lang/Object implements java/lang/management/OperatingSystemMXBean flags 601 - class name com/sun/management/ThreadMXBean -header extends java/lang/Object implements java/lang/management/ThreadMXBean flags 601 method name getTotalThreadAllocatedBytes descriptor ()J flags 1 -class name com/sun/management/UnixOperatingSystemMXBean -header extends java/lang/Object implements com/sun/management/OperatingSystemMXBean flags 601 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.net-H.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.net-H.sym.txt deleted file mode 100644 index 51aada714d6b3..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.net-H.sym.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name jdk/net/NetworkPermission -header extends java/security/BasicPermission flags 31 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.net-I.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.net-I.sym.txt deleted file mode 100644 index 51aada714d6b3..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.net-I.sym.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name jdk/net/NetworkPermission -header extends java/security/BasicPermission flags 31 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.net-J.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.net-J.sym.txt index 4527d7854ca8a..aadb0e7deb10a 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.net-J.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.net-J.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -29,6 +29,3 @@ class name jdk/net/ExtendedSocketOptions field name IP_DONTFRAGMENT descriptor Ljava/net/SocketOption; flags 19 signature Ljava/net/SocketOption; -class name jdk/net/NetworkPermission -header extends java/security/BasicPermission flags 31 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.net-K.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.net-K.sym.txt deleted file mode 100644 index ce0ac598b1bae..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.net-K.sym.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name jdk/net/NetworkPermission -header extends java/security/BasicPermission flags 31 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.net-L.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.net-L.sym.txt deleted file mode 100644 index aff3db7bd8da1..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.net-L.sym.txt +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name jdk/net/NetworkPermission -header extends java/security/BasicPermission flags 31 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.sctp-H.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.sctp-H.sym.txt deleted file mode 100644 index 1694db9490daa..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.sctp-H.sym.txt +++ /dev/null @@ -1,73 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/nio/sctp/AbstractNotificationHandler -header extends java/lang/Object implements com/sun/nio/sctp/NotificationHandler flags 21 signature Ljava/lang/Object;Lcom/sun/nio/sctp/NotificationHandler; - -class name com/sun/nio/sctp/Association -header extends java/lang/Object flags 21 - -class name com/sun/nio/sctp/HandlerResult -header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum; - -class name com/sun/nio/sctp/IllegalReceiveException -header extends java/lang/IllegalStateException flags 21 - -class name com/sun/nio/sctp/IllegalUnbindException -header extends java/lang/IllegalStateException flags 21 - -class name com/sun/nio/sctp/InvalidStreamException -header extends java/lang/IllegalArgumentException flags 21 - -class name com/sun/nio/sctp/MessageInfo -header extends java/lang/Object flags 421 - -class name com/sun/nio/sctp/Notification -header extends java/lang/Object flags 601 - -class name com/sun/nio/sctp/NotificationHandler -header extends java/lang/Object flags 601 signature Ljava/lang/Object; - -class name com/sun/nio/sctp/SctpChannel -header extends java/nio/channels/spi/AbstractSelectableChannel flags 421 - -class name com/sun/nio/sctp/SctpMultiChannel -header extends java/nio/channels/spi/AbstractSelectableChannel flags 421 - -class name com/sun/nio/sctp/SctpServerChannel -header extends java/nio/channels/spi/AbstractSelectableChannel flags 421 - -class name com/sun/nio/sctp/SctpSocketOption -header extends java/lang/Object implements java/net/SocketOption flags 601 signature Ljava/lang/Object;Ljava/net/SocketOption; - -class name com/sun/nio/sctp/SendFailedNotification -header extends java/lang/Object implements com/sun/nio/sctp/Notification flags 421 - -class name com/sun/nio/sctp/ShutdownNotification -header extends java/lang/Object implements com/sun/nio/sctp/Notification flags 421 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.sctp-I.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.sctp-I.sym.txt deleted file mode 100644 index 1694db9490daa..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.sctp-I.sym.txt +++ /dev/null @@ -1,73 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/nio/sctp/AbstractNotificationHandler -header extends java/lang/Object implements com/sun/nio/sctp/NotificationHandler flags 21 signature Ljava/lang/Object;Lcom/sun/nio/sctp/NotificationHandler; - -class name com/sun/nio/sctp/Association -header extends java/lang/Object flags 21 - -class name com/sun/nio/sctp/HandlerResult -header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum; - -class name com/sun/nio/sctp/IllegalReceiveException -header extends java/lang/IllegalStateException flags 21 - -class name com/sun/nio/sctp/IllegalUnbindException -header extends java/lang/IllegalStateException flags 21 - -class name com/sun/nio/sctp/InvalidStreamException -header extends java/lang/IllegalArgumentException flags 21 - -class name com/sun/nio/sctp/MessageInfo -header extends java/lang/Object flags 421 - -class name com/sun/nio/sctp/Notification -header extends java/lang/Object flags 601 - -class name com/sun/nio/sctp/NotificationHandler -header extends java/lang/Object flags 601 signature Ljava/lang/Object; - -class name com/sun/nio/sctp/SctpChannel -header extends java/nio/channels/spi/AbstractSelectableChannel flags 421 - -class name com/sun/nio/sctp/SctpMultiChannel -header extends java/nio/channels/spi/AbstractSelectableChannel flags 421 - -class name com/sun/nio/sctp/SctpServerChannel -header extends java/nio/channels/spi/AbstractSelectableChannel flags 421 - -class name com/sun/nio/sctp/SctpSocketOption -header extends java/lang/Object implements java/net/SocketOption flags 601 signature Ljava/lang/Object;Ljava/net/SocketOption; - -class name com/sun/nio/sctp/SendFailedNotification -header extends java/lang/Object implements com/sun/nio/sctp/Notification flags 421 - -class name com/sun/nio/sctp/ShutdownNotification -header extends java/lang/Object implements com/sun/nio/sctp/Notification flags 421 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.sctp-J.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.sctp-J.sym.txt deleted file mode 100644 index 62cac0259cd20..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.sctp-J.sym.txt +++ /dev/null @@ -1,73 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/nio/sctp/AbstractNotificationHandler -header extends java/lang/Object implements com/sun/nio/sctp/NotificationHandler flags 21 signature Ljava/lang/Object;Lcom/sun/nio/sctp/NotificationHandler; - -class name com/sun/nio/sctp/Association -header extends java/lang/Object flags 21 - -class name com/sun/nio/sctp/HandlerResult -header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum; - -class name com/sun/nio/sctp/IllegalReceiveException -header extends java/lang/IllegalStateException flags 21 - -class name com/sun/nio/sctp/IllegalUnbindException -header extends java/lang/IllegalStateException flags 21 - -class name com/sun/nio/sctp/InvalidStreamException -header extends java/lang/IllegalArgumentException flags 21 - -class name com/sun/nio/sctp/MessageInfo -header extends java/lang/Object flags 421 - -class name com/sun/nio/sctp/Notification -header extends java/lang/Object flags 601 - -class name com/sun/nio/sctp/NotificationHandler -header extends java/lang/Object flags 601 signature Ljava/lang/Object; - -class name com/sun/nio/sctp/SctpChannel -header extends java/nio/channels/spi/AbstractSelectableChannel flags 421 - -class name com/sun/nio/sctp/SctpMultiChannel -header extends java/nio/channels/spi/AbstractSelectableChannel flags 421 - -class name com/sun/nio/sctp/SctpServerChannel -header extends java/nio/channels/spi/AbstractSelectableChannel flags 421 - -class name com/sun/nio/sctp/SctpSocketOption -header extends java/lang/Object implements java/net/SocketOption flags 601 signature Ljava/lang/Object;Ljava/net/SocketOption; - -class name com/sun/nio/sctp/SendFailedNotification -header extends java/lang/Object implements com/sun/nio/sctp/Notification flags 421 - -class name com/sun/nio/sctp/ShutdownNotification -header extends java/lang/Object implements com/sun/nio/sctp/Notification flags 421 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.sctp-K.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.sctp-K.sym.txt deleted file mode 100644 index 62cac0259cd20..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.sctp-K.sym.txt +++ /dev/null @@ -1,73 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/nio/sctp/AbstractNotificationHandler -header extends java/lang/Object implements com/sun/nio/sctp/NotificationHandler flags 21 signature Ljava/lang/Object;Lcom/sun/nio/sctp/NotificationHandler; - -class name com/sun/nio/sctp/Association -header extends java/lang/Object flags 21 - -class name com/sun/nio/sctp/HandlerResult -header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum; - -class name com/sun/nio/sctp/IllegalReceiveException -header extends java/lang/IllegalStateException flags 21 - -class name com/sun/nio/sctp/IllegalUnbindException -header extends java/lang/IllegalStateException flags 21 - -class name com/sun/nio/sctp/InvalidStreamException -header extends java/lang/IllegalArgumentException flags 21 - -class name com/sun/nio/sctp/MessageInfo -header extends java/lang/Object flags 421 - -class name com/sun/nio/sctp/Notification -header extends java/lang/Object flags 601 - -class name com/sun/nio/sctp/NotificationHandler -header extends java/lang/Object flags 601 signature Ljava/lang/Object; - -class name com/sun/nio/sctp/SctpChannel -header extends java/nio/channels/spi/AbstractSelectableChannel flags 421 - -class name com/sun/nio/sctp/SctpMultiChannel -header extends java/nio/channels/spi/AbstractSelectableChannel flags 421 - -class name com/sun/nio/sctp/SctpServerChannel -header extends java/nio/channels/spi/AbstractSelectableChannel flags 421 - -class name com/sun/nio/sctp/SctpSocketOption -header extends java/lang/Object implements java/net/SocketOption flags 601 signature Ljava/lang/Object;Ljava/net/SocketOption; - -class name com/sun/nio/sctp/SendFailedNotification -header extends java/lang/Object implements com/sun/nio/sctp/Notification flags 421 - -class name com/sun/nio/sctp/ShutdownNotification -header extends java/lang/Object implements com/sun/nio/sctp/Notification flags 421 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.sctp-L.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.sctp-L.sym.txt index 6c5ca633b9bb5..5fbb36093f74d 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.sctp-L.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.sctp-L.sym.txt @@ -26,45 +26,6 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name com/sun/nio/sctp/AbstractNotificationHandler -header extends java/lang/Object implements com/sun/nio/sctp/NotificationHandler flags 21 signature Ljava/lang/Object;Lcom/sun/nio/sctp/NotificationHandler; - -class name com/sun/nio/sctp/Association -header extends java/lang/Object flags 21 - -class name com/sun/nio/sctp/HandlerResult -header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum; - -class name com/sun/nio/sctp/IllegalReceiveException -header extends java/lang/IllegalStateException flags 21 - -class name com/sun/nio/sctp/IllegalUnbindException -header extends java/lang/IllegalStateException flags 21 - -class name com/sun/nio/sctp/InvalidStreamException -header extends java/lang/IllegalArgumentException flags 21 - -class name com/sun/nio/sctp/MessageInfo -header extends java/lang/Object flags 421 - -class name com/sun/nio/sctp/Notification -header extends java/lang/Object flags 601 - -class name com/sun/nio/sctp/NotificationHandler -header extends java/lang/Object flags 601 signature Ljava/lang/Object; - -class name com/sun/nio/sctp/SctpChannel -header extends java/nio/channels/spi/AbstractSelectableChannel flags 421 - -class name com/sun/nio/sctp/SctpMultiChannel -header extends java/nio/channels/spi/AbstractSelectableChannel flags 421 - -class name com/sun/nio/sctp/SctpServerChannel -header extends java/nio/channels/spi/AbstractSelectableChannel flags 421 - -class name com/sun/nio/sctp/SctpSocketOption -header extends java/lang/Object implements java/net/SocketOption flags 601 signature Ljava/lang/Object;Ljava/net/SocketOption; - class name com/sun/nio/sctp/SctpStandardSocketOptions header extends java/lang/Object nestMembers com/sun/nio/sctp/SctpStandardSocketOptions$InitMaxStreams flags 31 innerclass innerClass com/sun/nio/sctp/SctpStandardSocketOptions$InitMaxStreams outerClass com/sun/nio/sctp/SctpStandardSocketOptions innerClassName InitMaxStreams flags 9 @@ -74,9 +35,3 @@ header extends java/lang/Object nestHost com/sun/nio/sctp/SctpStandardSocketOpti innerclass innerClass com/sun/nio/sctp/SctpStandardSocketOptions$InitMaxStreams outerClass com/sun/nio/sctp/SctpStandardSocketOptions innerClassName InitMaxStreams flags 9 innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 -class name com/sun/nio/sctp/SendFailedNotification -header extends java/lang/Object implements com/sun/nio/sctp/Notification flags 421 - -class name com/sun/nio/sctp/ShutdownNotification -header extends java/lang/Object implements com/sun/nio/sctp/Notification flags 421 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.security.auth-H.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.security.auth-H.sym.txt deleted file mode 100644 index a144d3775a4e5..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.security.auth-H.sym.txt +++ /dev/null @@ -1,106 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/security/auth/LdapPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 31 - -class name com/sun/security/auth/NTDomainPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/NTNumericCredential -header extends java/lang/Object flags 21 - -class name com/sun/security/auth/NTSid -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/NTSidDomainPrincipal -header extends com/sun/security/auth/NTSid flags 21 - -class name com/sun/security/auth/NTSidGroupPrincipal -header extends com/sun/security/auth/NTSid flags 21 - -class name com/sun/security/auth/NTSidPrimaryGroupPrincipal -header extends com/sun/security/auth/NTSid flags 21 - -class name com/sun/security/auth/NTSidUserPrincipal -header extends com/sun/security/auth/NTSid flags 21 - -class name com/sun/security/auth/NTUserPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/PrincipalComparator -header extends java/lang/Object flags 601 - -class name com/sun/security/auth/UnixNumericGroupPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/UnixNumericUserPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/UnixPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/UserPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 31 - -class name com/sun/security/auth/callback/TextCallbackHandler -header extends java/lang/Object implements javax/security/auth/callback/CallbackHandler flags 21 - -class name com/sun/security/auth/login/ConfigFile -header extends javax/security/auth/login/Configuration flags 21 - -class name com/sun/security/auth/module/JndiLoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/KeyStoreLoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/Krb5LoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/LdapLoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/NTLoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/NTSystem -header extends java/lang/Object flags 21 - -class name com/sun/security/auth/module/UnixLoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/UnixSystem -header extends java/lang/Object flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.security.auth-I.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.security.auth-I.sym.txt deleted file mode 100644 index a144d3775a4e5..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.security.auth-I.sym.txt +++ /dev/null @@ -1,106 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/security/auth/LdapPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 31 - -class name com/sun/security/auth/NTDomainPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/NTNumericCredential -header extends java/lang/Object flags 21 - -class name com/sun/security/auth/NTSid -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/NTSidDomainPrincipal -header extends com/sun/security/auth/NTSid flags 21 - -class name com/sun/security/auth/NTSidGroupPrincipal -header extends com/sun/security/auth/NTSid flags 21 - -class name com/sun/security/auth/NTSidPrimaryGroupPrincipal -header extends com/sun/security/auth/NTSid flags 21 - -class name com/sun/security/auth/NTSidUserPrincipal -header extends com/sun/security/auth/NTSid flags 21 - -class name com/sun/security/auth/NTUserPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/PrincipalComparator -header extends java/lang/Object flags 601 - -class name com/sun/security/auth/UnixNumericGroupPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/UnixNumericUserPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/UnixPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/UserPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 31 - -class name com/sun/security/auth/callback/TextCallbackHandler -header extends java/lang/Object implements javax/security/auth/callback/CallbackHandler flags 21 - -class name com/sun/security/auth/login/ConfigFile -header extends javax/security/auth/login/Configuration flags 21 - -class name com/sun/security/auth/module/JndiLoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/KeyStoreLoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/Krb5LoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/LdapLoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/NTLoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/NTSystem -header extends java/lang/Object flags 21 - -class name com/sun/security/auth/module/UnixLoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/UnixSystem -header extends java/lang/Object flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.security.auth-J.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.security.auth-J.sym.txt deleted file mode 100644 index 7fca7055334e9..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.security.auth-J.sym.txt +++ /dev/null @@ -1,106 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/security/auth/LdapPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 31 - -class name com/sun/security/auth/NTDomainPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/NTNumericCredential -header extends java/lang/Object flags 21 - -class name com/sun/security/auth/NTSid -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/NTSidDomainPrincipal -header extends com/sun/security/auth/NTSid flags 21 - -class name com/sun/security/auth/NTSidGroupPrincipal -header extends com/sun/security/auth/NTSid flags 21 - -class name com/sun/security/auth/NTSidPrimaryGroupPrincipal -header extends com/sun/security/auth/NTSid flags 21 - -class name com/sun/security/auth/NTSidUserPrincipal -header extends com/sun/security/auth/NTSid flags 21 - -class name com/sun/security/auth/NTUserPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/PrincipalComparator -header extends java/lang/Object flags 601 - -class name com/sun/security/auth/UnixNumericGroupPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/UnixNumericUserPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/UnixPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/UserPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 31 - -class name com/sun/security/auth/callback/TextCallbackHandler -header extends java/lang/Object implements javax/security/auth/callback/CallbackHandler flags 21 - -class name com/sun/security/auth/login/ConfigFile -header extends javax/security/auth/login/Configuration flags 21 - -class name com/sun/security/auth/module/JndiLoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/KeyStoreLoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/Krb5LoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/LdapLoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/NTLoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/NTSystem -header extends java/lang/Object flags 21 - -class name com/sun/security/auth/module/UnixLoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/UnixSystem -header extends java/lang/Object flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.security.auth-K.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.security.auth-K.sym.txt deleted file mode 100644 index 7fca7055334e9..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.security.auth-K.sym.txt +++ /dev/null @@ -1,106 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/security/auth/LdapPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 31 - -class name com/sun/security/auth/NTDomainPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/NTNumericCredential -header extends java/lang/Object flags 21 - -class name com/sun/security/auth/NTSid -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/NTSidDomainPrincipal -header extends com/sun/security/auth/NTSid flags 21 - -class name com/sun/security/auth/NTSidGroupPrincipal -header extends com/sun/security/auth/NTSid flags 21 - -class name com/sun/security/auth/NTSidPrimaryGroupPrincipal -header extends com/sun/security/auth/NTSid flags 21 - -class name com/sun/security/auth/NTSidUserPrincipal -header extends com/sun/security/auth/NTSid flags 21 - -class name com/sun/security/auth/NTUserPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/PrincipalComparator -header extends java/lang/Object flags 601 - -class name com/sun/security/auth/UnixNumericGroupPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/UnixNumericUserPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/UnixPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/UserPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 31 - -class name com/sun/security/auth/callback/TextCallbackHandler -header extends java/lang/Object implements javax/security/auth/callback/CallbackHandler flags 21 - -class name com/sun/security/auth/login/ConfigFile -header extends javax/security/auth/login/Configuration flags 21 - -class name com/sun/security/auth/module/JndiLoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/KeyStoreLoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/Krb5LoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/LdapLoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/NTLoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/NTSystem -header extends java/lang/Object flags 21 - -class name com/sun/security/auth/module/UnixLoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/UnixSystem -header extends java/lang/Object flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.security.auth-L.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.security.auth-L.sym.txt deleted file mode 100644 index 7489f7382525d..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.security.auth-L.sym.txt +++ /dev/null @@ -1,106 +0,0 @@ -# -# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/security/auth/LdapPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 31 - -class name com/sun/security/auth/NTDomainPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/NTNumericCredential -header extends java/lang/Object flags 21 - -class name com/sun/security/auth/NTSid -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/NTSidDomainPrincipal -header extends com/sun/security/auth/NTSid flags 21 - -class name com/sun/security/auth/NTSidGroupPrincipal -header extends com/sun/security/auth/NTSid flags 21 - -class name com/sun/security/auth/NTSidPrimaryGroupPrincipal -header extends com/sun/security/auth/NTSid flags 21 - -class name com/sun/security/auth/NTSidUserPrincipal -header extends com/sun/security/auth/NTSid flags 21 - -class name com/sun/security/auth/NTUserPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/PrincipalComparator -header extends java/lang/Object flags 601 - -class name com/sun/security/auth/UnixNumericGroupPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/UnixNumericUserPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/UnixPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 21 - -class name com/sun/security/auth/UserPrincipal -header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 31 - -class name com/sun/security/auth/callback/TextCallbackHandler -header extends java/lang/Object implements javax/security/auth/callback/CallbackHandler flags 21 - -class name com/sun/security/auth/login/ConfigFile -header extends javax/security/auth/login/Configuration flags 21 - -class name com/sun/security/auth/module/JndiLoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/KeyStoreLoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/Krb5LoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/LdapLoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/NTLoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/NTSystem -header extends java/lang/Object flags 21 - -class name com/sun/security/auth/module/UnixLoginModule -header extends java/lang/Object implements javax/security/auth/spi/LoginModule flags 21 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/auth/module/UnixSystem -header extends java/lang/Object flags 21 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.security.jgss-H.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.security.jgss-H.sym.txt index 80dca993bdabe..aee1861225469 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.security.jgss-H.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.security.jgss-H.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,23 +26,6 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name com/sun/security/jgss/AuthorizationDataEntry -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/jgss/ExtendedGSSContext -header extends java/lang/Object implements org/ietf/jgss/GSSContext flags 601 - -class name com/sun/security/jgss/ExtendedGSSCredential -header extends java/lang/Object implements org/ietf/jgss/GSSCredential flags 601 - class name com/sun/security/jgss/GSSUtil -header extends java/lang/Object flags 21 -method name descriptor ()V -class name com/sun/security/jgss/InquireSecContextPermission -header extends java/security/BasicPermission flags 31 - -class name com/sun/security/jgss/InquireType -header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum; - diff --git a/src/jdk.compiler/share/data/symbols/jdk.security.jgss-I.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.security.jgss-I.sym.txt deleted file mode 100644 index a3fd927f93f80..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.security.jgss-I.sym.txt +++ /dev/null @@ -1,47 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/security/jgss/AuthorizationDataEntry -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/jgss/ExtendedGSSContext -header extends java/lang/Object implements org/ietf/jgss/GSSContext flags 601 - -class name com/sun/security/jgss/ExtendedGSSCredential -header extends java/lang/Object implements org/ietf/jgss/GSSCredential flags 601 - -class name com/sun/security/jgss/GSSUtil -header extends java/lang/Object flags 21 - -class name com/sun/security/jgss/InquireSecContextPermission -header extends java/security/BasicPermission flags 31 - -class name com/sun/security/jgss/InquireType -header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum; - diff --git a/src/jdk.compiler/share/data/symbols/jdk.security.jgss-J.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.security.jgss-J.sym.txt deleted file mode 100644 index eef803edf5398..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.security.jgss-J.sym.txt +++ /dev/null @@ -1,47 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/security/jgss/AuthorizationDataEntry -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/jgss/ExtendedGSSContext -header extends java/lang/Object implements org/ietf/jgss/GSSContext flags 601 - -class name com/sun/security/jgss/ExtendedGSSCredential -header extends java/lang/Object implements org/ietf/jgss/GSSCredential flags 601 - -class name com/sun/security/jgss/GSSUtil -header extends java/lang/Object flags 21 - -class name com/sun/security/jgss/InquireSecContextPermission -header extends java/security/BasicPermission flags 31 - -class name com/sun/security/jgss/InquireType -header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum; - diff --git a/src/jdk.compiler/share/data/symbols/jdk.security.jgss-K.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.security.jgss-K.sym.txt deleted file mode 100644 index eef803edf5398..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.security.jgss-K.sym.txt +++ /dev/null @@ -1,47 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/security/jgss/AuthorizationDataEntry -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/jgss/ExtendedGSSContext -header extends java/lang/Object implements org/ietf/jgss/GSSContext flags 601 - -class name com/sun/security/jgss/ExtendedGSSCredential -header extends java/lang/Object implements org/ietf/jgss/GSSCredential flags 601 - -class name com/sun/security/jgss/GSSUtil -header extends java/lang/Object flags 21 - -class name com/sun/security/jgss/InquireSecContextPermission -header extends java/security/BasicPermission flags 31 - -class name com/sun/security/jgss/InquireType -header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum; - diff --git a/src/jdk.compiler/share/data/symbols/jdk.security.jgss-L.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.security.jgss-L.sym.txt deleted file mode 100644 index 3f449eec3097e..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.security.jgss-L.sym.txt +++ /dev/null @@ -1,47 +0,0 @@ -# -# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/security/jgss/AuthorizationDataEntry -header extends java/lang/Object flags 31 -innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19 - -class name com/sun/security/jgss/ExtendedGSSContext -header extends java/lang/Object implements org/ietf/jgss/GSSContext flags 601 - -class name com/sun/security/jgss/ExtendedGSSCredential -header extends java/lang/Object implements org/ietf/jgss/GSSCredential flags 601 - -class name com/sun/security/jgss/GSSUtil -header extends java/lang/Object flags 21 - -class name com/sun/security/jgss/InquireSecContextPermission -header extends java/security/BasicPermission flags 31 - -class name com/sun/security/jgss/InquireType -header extends java/lang/Enum flags 4031 signature Ljava/lang/Enum; - diff --git a/src/jdk.compiler/share/data/symbols/jdk.unsupported-H.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.unsupported-H.sym.txt index c38eb27ec3691..6e4e061dc96ac 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.unsupported-H.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.unsupported-H.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,26 +26,6 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name com/sun/nio/file/ExtendedCopyOption -header extends java/lang/Enum implements java/nio/file/CopyOption flags 4031 signature Ljava/lang/Enum;Ljava/nio/file/CopyOption; classAnnotations @Lsun/Proprietary+Annotation; - -class name com/sun/nio/file/ExtendedOpenOption -header extends java/lang/Enum implements java/nio/file/OpenOption flags 4031 signature Ljava/lang/Enum;Ljava/nio/file/OpenOption; classAnnotations @Lsun/Proprietary+Annotation; - -class name com/sun/nio/file/ExtendedWatchEventModifier -header extends java/lang/Enum implements java/nio/file/WatchEvent$Modifier flags 4031 signature Ljava/lang/Enum;Ljava/nio/file/WatchEvent$Modifier; classAnnotations @Lsun/Proprietary+Annotation; -innerclass innerClass java/nio/file/WatchEvent$Modifier outerClass java/nio/file/WatchEvent innerClassName Modifier flags 609 - -class name com/sun/nio/file/SensitivityWatchEventModifier -header extends java/lang/Enum implements java/nio/file/WatchEvent$Modifier flags 4031 signature Ljava/lang/Enum;Ljava/nio/file/WatchEvent$Modifier; classAnnotations @Lsun/Proprietary+Annotation; -innerclass innerClass java/nio/file/WatchEvent$Modifier outerClass java/nio/file/WatchEvent innerClassName Modifier flags 609 - -class name sun/misc/SignalHandler -header extends java/lang/Object flags 601 classAnnotations @Lsun/Proprietary+Annotation; - class name sun/misc/Unsafe -method name defineAnonymousClass descriptor (Ljava/lang/Class;[B[Ljava/lang/Object;)Ljava/lang/Class; -class name sun/reflect/ReflectionFactory -header extends java/lang/Object flags 21 classAnnotations @Lsun/Proprietary+Annotation; - diff --git a/src/jdk.compiler/share/data/symbols/jdk.unsupported-I.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.unsupported-I.sym.txt index db2342c25e259..9e6df3550e581 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.unsupported-I.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.unsupported-I.sym.txt @@ -1,5 +1,5 @@ # -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,23 +26,6 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name com/sun/nio/file/ExtendedCopyOption -header extends java/lang/Enum implements java/nio/file/CopyOption flags 4031 signature Ljava/lang/Enum;Ljava/nio/file/CopyOption; classAnnotations @Lsun/Proprietary+Annotation; - -class name com/sun/nio/file/ExtendedOpenOption -header extends java/lang/Enum implements java/nio/file/OpenOption flags 4031 signature Ljava/lang/Enum;Ljava/nio/file/OpenOption; classAnnotations @Lsun/Proprietary+Annotation; - -class name com/sun/nio/file/ExtendedWatchEventModifier -header extends java/lang/Enum implements java/nio/file/WatchEvent$Modifier flags 4031 signature Ljava/lang/Enum;Ljava/nio/file/WatchEvent$Modifier; classAnnotations @Lsun/Proprietary+Annotation; -innerclass innerClass java/nio/file/WatchEvent$Modifier outerClass java/nio/file/WatchEvent innerClassName Modifier flags 609 - -class name com/sun/nio/file/SensitivityWatchEventModifier -header extends java/lang/Enum implements java/nio/file/WatchEvent$Modifier flags 4031 signature Ljava/lang/Enum;Ljava/nio/file/WatchEvent$Modifier; classAnnotations @Lsun/Proprietary+Annotation; -innerclass innerClass java/nio/file/WatchEvent$Modifier outerClass java/nio/file/WatchEvent innerClassName Modifier flags 609 - -class name sun/misc/SignalHandler -header extends java/lang/Object flags 601 classAnnotations @Lsun/Proprietary+Annotation; - class name sun/misc/Unsafe -method name objectFieldOffset descriptor (Ljava/lang/reflect/Field;)J -method name staticFieldOffset descriptor (Ljava/lang/reflect/Field;)J @@ -51,6 +34,3 @@ method name objectFieldOffset descriptor (Ljava/lang/reflect/Field;)J flags 1 de method name staticFieldOffset descriptor (Ljava/lang/reflect/Field;)J flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="18")@Ljdk/internal/vm/annotation/ForceInline; method name staticFieldBase descriptor (Ljava/lang/reflect/Field;)Ljava/lang/Object; flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="18")@Ljdk/internal/vm/annotation/ForceInline; -class name sun/reflect/ReflectionFactory -header extends java/lang/Object flags 21 classAnnotations @Lsun/Proprietary+Annotation; - diff --git a/src/jdk.compiler/share/data/symbols/jdk.unsupported-J.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.unsupported-J.sym.txt deleted file mode 100644 index fc08e61ed1209..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.unsupported-J.sym.txt +++ /dev/null @@ -1,48 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/nio/file/ExtendedCopyOption -header extends java/lang/Enum implements java/nio/file/CopyOption flags 4031 signature Ljava/lang/Enum;Ljava/nio/file/CopyOption; classAnnotations @Lsun/Proprietary+Annotation; - -class name com/sun/nio/file/ExtendedOpenOption -header extends java/lang/Enum implements java/nio/file/OpenOption flags 4031 signature Ljava/lang/Enum;Ljava/nio/file/OpenOption; classAnnotations @Lsun/Proprietary+Annotation; - -class name com/sun/nio/file/ExtendedWatchEventModifier -header extends java/lang/Enum implements java/nio/file/WatchEvent$Modifier flags 4031 signature Ljava/lang/Enum;Ljava/nio/file/WatchEvent$Modifier; classAnnotations @Lsun/Proprietary+Annotation; -innerclass innerClass java/nio/file/WatchEvent$Modifier outerClass java/nio/file/WatchEvent innerClassName Modifier flags 609 - -class name com/sun/nio/file/SensitivityWatchEventModifier -header extends java/lang/Enum implements java/nio/file/WatchEvent$Modifier flags 4031 signature Ljava/lang/Enum;Ljava/nio/file/WatchEvent$Modifier; classAnnotations @Lsun/Proprietary+Annotation; -innerclass innerClass java/nio/file/WatchEvent$Modifier outerClass java/nio/file/WatchEvent innerClassName Modifier flags 609 - -class name sun/misc/SignalHandler -header extends java/lang/Object flags 601 classAnnotations @Lsun/Proprietary+Annotation; - -class name sun/reflect/ReflectionFactory -header extends java/lang/Object flags 21 classAnnotations @Lsun/Proprietary+Annotation; - diff --git a/src/jdk.compiler/share/data/symbols/jdk.unsupported-K.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.unsupported-K.sym.txt deleted file mode 100644 index fc08e61ed1209..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.unsupported-K.sym.txt +++ /dev/null @@ -1,48 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name com/sun/nio/file/ExtendedCopyOption -header extends java/lang/Enum implements java/nio/file/CopyOption flags 4031 signature Ljava/lang/Enum;Ljava/nio/file/CopyOption; classAnnotations @Lsun/Proprietary+Annotation; - -class name com/sun/nio/file/ExtendedOpenOption -header extends java/lang/Enum implements java/nio/file/OpenOption flags 4031 signature Ljava/lang/Enum;Ljava/nio/file/OpenOption; classAnnotations @Lsun/Proprietary+Annotation; - -class name com/sun/nio/file/ExtendedWatchEventModifier -header extends java/lang/Enum implements java/nio/file/WatchEvent$Modifier flags 4031 signature Ljava/lang/Enum;Ljava/nio/file/WatchEvent$Modifier; classAnnotations @Lsun/Proprietary+Annotation; -innerclass innerClass java/nio/file/WatchEvent$Modifier outerClass java/nio/file/WatchEvent innerClassName Modifier flags 609 - -class name com/sun/nio/file/SensitivityWatchEventModifier -header extends java/lang/Enum implements java/nio/file/WatchEvent$Modifier flags 4031 signature Ljava/lang/Enum;Ljava/nio/file/WatchEvent$Modifier; classAnnotations @Lsun/Proprietary+Annotation; -innerclass innerClass java/nio/file/WatchEvent$Modifier outerClass java/nio/file/WatchEvent innerClassName Modifier flags 609 - -class name sun/misc/SignalHandler -header extends java/lang/Object flags 601 classAnnotations @Lsun/Proprietary+Annotation; - -class name sun/reflect/ReflectionFactory -header extends java/lang/Object flags 21 classAnnotations @Lsun/Proprietary+Annotation; - diff --git a/src/jdk.compiler/share/data/symbols/jdk.unsupported-L.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.unsupported-L.sym.txt index 6f71e2e9431d6..cb152004b4ba8 100644 --- a/src/jdk.compiler/share/data/symbols/jdk.unsupported-L.sym.txt +++ b/src/jdk.compiler/share/data/symbols/jdk.unsupported-L.sym.txt @@ -26,23 +26,7 @@ # ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### # ########################################################## # -class name com/sun/nio/file/ExtendedCopyOption -header extends java/lang/Enum implements java/nio/file/CopyOption flags 4031 signature Ljava/lang/Enum;Ljava/nio/file/CopyOption; classAnnotations @Lsun/Proprietary+Annotation; - -class name com/sun/nio/file/ExtendedOpenOption -header extends java/lang/Enum implements java/nio/file/OpenOption flags 4031 signature Ljava/lang/Enum;Ljava/nio/file/OpenOption; classAnnotations @Lsun/Proprietary+Annotation; - -class name com/sun/nio/file/ExtendedWatchEventModifier -header extends java/lang/Enum implements java/nio/file/WatchEvent$Modifier flags 4031 signature Ljava/lang/Enum;Ljava/nio/file/WatchEvent$Modifier; classAnnotations @Lsun/Proprietary+Annotation; -innerclass innerClass java/nio/file/WatchEvent$Modifier outerClass java/nio/file/WatchEvent innerClassName Modifier flags 609 - class name com/sun/nio/file/SensitivityWatchEventModifier header extends java/lang/Enum implements java/nio/file/WatchEvent$Modifier flags 4031 deprecated true signature Ljava/lang/Enum;Ljava/nio/file/WatchEvent$Modifier; classAnnotations @Lsun/Proprietary+Annotation; runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="21") innerclass innerClass java/nio/file/WatchEvent$Modifier outerClass java/nio/file/WatchEvent innerClassName Modifier flags 609 -class name sun/misc/SignalHandler -header extends java/lang/Object flags 601 classAnnotations @Lsun/Proprietary+Annotation; - -class name sun/reflect/ReflectionFactory -header extends java/lang/Object flags 21 classAnnotations @Lsun/Proprietary+Annotation; - diff --git a/src/jdk.compiler/share/data/symbols/jdk.xml.dom-H.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.xml.dom-H.sym.txt deleted file mode 100644 index 24fc874981772..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.xml.dom-H.sym.txt +++ /dev/null @@ -1,295 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name org/w3c/dom/css/CSS2Properties -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/CSSCharsetRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSFontFaceRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSImportRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSMediaRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSPageRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSPrimitiveValue -header extends java/lang/Object implements org/w3c/dom/css/CSSValue flags 601 - -class name org/w3c/dom/css/CSSRule -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/CSSRuleList -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/CSSStyleDeclaration -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/CSSStyleRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSStyleSheet -header extends java/lang/Object implements org/w3c/dom/stylesheets/StyleSheet flags 601 - -class name org/w3c/dom/css/CSSUnknownRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSValue -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/CSSValueList -header extends java/lang/Object implements org/w3c/dom/css/CSSValue flags 601 - -class name org/w3c/dom/css/Counter -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/DOMImplementationCSS -header extends java/lang/Object implements org/w3c/dom/DOMImplementation flags 601 - -class name org/w3c/dom/css/DocumentCSS -header extends java/lang/Object implements org/w3c/dom/stylesheets/DocumentStyle flags 601 - -class name org/w3c/dom/css/ElementCSSInlineStyle -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/RGBColor -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/Rect -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/ViewCSS -header extends java/lang/Object implements org/w3c/dom/views/AbstractView flags 601 - -class name org/w3c/dom/html/HTMLAnchorElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLAppletElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLAreaElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLBRElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLBaseElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLBaseFontElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLBodyElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLButtonElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLCollection -header extends java/lang/Object flags 601 - -class name org/w3c/dom/html/HTMLDListElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLDOMImplementation -header extends java/lang/Object implements org/w3c/dom/DOMImplementation flags 601 - -class name org/w3c/dom/html/HTMLDirectoryElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLDivElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLDocument -header extends java/lang/Object implements org/w3c/dom/Document flags 601 - -class name org/w3c/dom/html/HTMLElement -header extends java/lang/Object implements org/w3c/dom/Element flags 601 - -class name org/w3c/dom/html/HTMLFieldSetElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLFontElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLFormElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLFrameElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLFrameSetElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLHRElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLHeadElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLHeadingElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLHtmlElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLIFrameElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLImageElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLInputElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLIsIndexElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLLIElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLLabelElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLLegendElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLLinkElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLMapElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLMenuElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLMetaElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLModElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLOListElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLObjectElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLOptGroupElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLOptionElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLParagraphElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLParamElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLPreElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLQuoteElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLScriptElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLSelectElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLStyleElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableCaptionElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableCellElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableColElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableRowElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableSectionElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTextAreaElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTitleElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLUListElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/stylesheets/DocumentStyle -header extends java/lang/Object flags 601 - -class name org/w3c/dom/stylesheets/LinkStyle -header extends java/lang/Object flags 601 - -class name org/w3c/dom/stylesheets/MediaList -header extends java/lang/Object flags 601 - -class name org/w3c/dom/stylesheets/StyleSheet -header extends java/lang/Object flags 601 - -class name org/w3c/dom/stylesheets/StyleSheetList -header extends java/lang/Object flags 601 - -class name org/w3c/dom/xpath/XPathEvaluator -header extends java/lang/Object flags 601 - -class name org/w3c/dom/xpath/XPathException -header extends java/lang/RuntimeException flags 21 - -class name org/w3c/dom/xpath/XPathExpression -header extends java/lang/Object flags 601 - -class name org/w3c/dom/xpath/XPathNSResolver -header extends java/lang/Object flags 601 - -class name org/w3c/dom/xpath/XPathNamespace -header extends java/lang/Object implements org/w3c/dom/Node flags 601 - -class name org/w3c/dom/xpath/XPathResult -header extends java/lang/Object flags 601 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.xml.dom-I.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.xml.dom-I.sym.txt deleted file mode 100644 index 24fc874981772..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.xml.dom-I.sym.txt +++ /dev/null @@ -1,295 +0,0 @@ -# -# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name org/w3c/dom/css/CSS2Properties -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/CSSCharsetRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSFontFaceRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSImportRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSMediaRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSPageRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSPrimitiveValue -header extends java/lang/Object implements org/w3c/dom/css/CSSValue flags 601 - -class name org/w3c/dom/css/CSSRule -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/CSSRuleList -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/CSSStyleDeclaration -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/CSSStyleRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSStyleSheet -header extends java/lang/Object implements org/w3c/dom/stylesheets/StyleSheet flags 601 - -class name org/w3c/dom/css/CSSUnknownRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSValue -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/CSSValueList -header extends java/lang/Object implements org/w3c/dom/css/CSSValue flags 601 - -class name org/w3c/dom/css/Counter -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/DOMImplementationCSS -header extends java/lang/Object implements org/w3c/dom/DOMImplementation flags 601 - -class name org/w3c/dom/css/DocumentCSS -header extends java/lang/Object implements org/w3c/dom/stylesheets/DocumentStyle flags 601 - -class name org/w3c/dom/css/ElementCSSInlineStyle -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/RGBColor -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/Rect -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/ViewCSS -header extends java/lang/Object implements org/w3c/dom/views/AbstractView flags 601 - -class name org/w3c/dom/html/HTMLAnchorElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLAppletElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLAreaElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLBRElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLBaseElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLBaseFontElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLBodyElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLButtonElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLCollection -header extends java/lang/Object flags 601 - -class name org/w3c/dom/html/HTMLDListElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLDOMImplementation -header extends java/lang/Object implements org/w3c/dom/DOMImplementation flags 601 - -class name org/w3c/dom/html/HTMLDirectoryElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLDivElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLDocument -header extends java/lang/Object implements org/w3c/dom/Document flags 601 - -class name org/w3c/dom/html/HTMLElement -header extends java/lang/Object implements org/w3c/dom/Element flags 601 - -class name org/w3c/dom/html/HTMLFieldSetElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLFontElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLFormElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLFrameElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLFrameSetElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLHRElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLHeadElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLHeadingElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLHtmlElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLIFrameElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLImageElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLInputElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLIsIndexElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLLIElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLLabelElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLLegendElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLLinkElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLMapElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLMenuElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLMetaElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLModElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLOListElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLObjectElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLOptGroupElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLOptionElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLParagraphElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLParamElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLPreElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLQuoteElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLScriptElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLSelectElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLStyleElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableCaptionElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableCellElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableColElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableRowElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableSectionElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTextAreaElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTitleElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLUListElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/stylesheets/DocumentStyle -header extends java/lang/Object flags 601 - -class name org/w3c/dom/stylesheets/LinkStyle -header extends java/lang/Object flags 601 - -class name org/w3c/dom/stylesheets/MediaList -header extends java/lang/Object flags 601 - -class name org/w3c/dom/stylesheets/StyleSheet -header extends java/lang/Object flags 601 - -class name org/w3c/dom/stylesheets/StyleSheetList -header extends java/lang/Object flags 601 - -class name org/w3c/dom/xpath/XPathEvaluator -header extends java/lang/Object flags 601 - -class name org/w3c/dom/xpath/XPathException -header extends java/lang/RuntimeException flags 21 - -class name org/w3c/dom/xpath/XPathExpression -header extends java/lang/Object flags 601 - -class name org/w3c/dom/xpath/XPathNSResolver -header extends java/lang/Object flags 601 - -class name org/w3c/dom/xpath/XPathNamespace -header extends java/lang/Object implements org/w3c/dom/Node flags 601 - -class name org/w3c/dom/xpath/XPathResult -header extends java/lang/Object flags 601 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.xml.dom-J.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.xml.dom-J.sym.txt deleted file mode 100644 index 66599facd5e3c..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.xml.dom-J.sym.txt +++ /dev/null @@ -1,295 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name org/w3c/dom/css/CSS2Properties -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/CSSCharsetRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSFontFaceRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSImportRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSMediaRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSPageRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSPrimitiveValue -header extends java/lang/Object implements org/w3c/dom/css/CSSValue flags 601 - -class name org/w3c/dom/css/CSSRule -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/CSSRuleList -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/CSSStyleDeclaration -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/CSSStyleRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSStyleSheet -header extends java/lang/Object implements org/w3c/dom/stylesheets/StyleSheet flags 601 - -class name org/w3c/dom/css/CSSUnknownRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSValue -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/CSSValueList -header extends java/lang/Object implements org/w3c/dom/css/CSSValue flags 601 - -class name org/w3c/dom/css/Counter -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/DOMImplementationCSS -header extends java/lang/Object implements org/w3c/dom/DOMImplementation flags 601 - -class name org/w3c/dom/css/DocumentCSS -header extends java/lang/Object implements org/w3c/dom/stylesheets/DocumentStyle flags 601 - -class name org/w3c/dom/css/ElementCSSInlineStyle -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/RGBColor -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/Rect -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/ViewCSS -header extends java/lang/Object implements org/w3c/dom/views/AbstractView flags 601 - -class name org/w3c/dom/html/HTMLAnchorElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLAppletElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLAreaElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLBRElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLBaseElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLBaseFontElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLBodyElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLButtonElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLCollection -header extends java/lang/Object flags 601 - -class name org/w3c/dom/html/HTMLDListElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLDOMImplementation -header extends java/lang/Object implements org/w3c/dom/DOMImplementation flags 601 - -class name org/w3c/dom/html/HTMLDirectoryElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLDivElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLDocument -header extends java/lang/Object implements org/w3c/dom/Document flags 601 - -class name org/w3c/dom/html/HTMLElement -header extends java/lang/Object implements org/w3c/dom/Element flags 601 - -class name org/w3c/dom/html/HTMLFieldSetElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLFontElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLFormElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLFrameElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLFrameSetElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLHRElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLHeadElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLHeadingElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLHtmlElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLIFrameElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLImageElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLInputElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLIsIndexElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLLIElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLLabelElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLLegendElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLLinkElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLMapElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLMenuElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLMetaElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLModElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLOListElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLObjectElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLOptGroupElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLOptionElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLParagraphElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLParamElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLPreElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLQuoteElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLScriptElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLSelectElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLStyleElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableCaptionElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableCellElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableColElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableRowElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableSectionElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTextAreaElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTitleElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLUListElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/stylesheets/DocumentStyle -header extends java/lang/Object flags 601 - -class name org/w3c/dom/stylesheets/LinkStyle -header extends java/lang/Object flags 601 - -class name org/w3c/dom/stylesheets/MediaList -header extends java/lang/Object flags 601 - -class name org/w3c/dom/stylesheets/StyleSheet -header extends java/lang/Object flags 601 - -class name org/w3c/dom/stylesheets/StyleSheetList -header extends java/lang/Object flags 601 - -class name org/w3c/dom/xpath/XPathEvaluator -header extends java/lang/Object flags 601 - -class name org/w3c/dom/xpath/XPathException -header extends java/lang/RuntimeException flags 21 - -class name org/w3c/dom/xpath/XPathExpression -header extends java/lang/Object flags 601 - -class name org/w3c/dom/xpath/XPathNSResolver -header extends java/lang/Object flags 601 - -class name org/w3c/dom/xpath/XPathNamespace -header extends java/lang/Object implements org/w3c/dom/Node flags 601 - -class name org/w3c/dom/xpath/XPathResult -header extends java/lang/Object flags 601 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.xml.dom-K.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.xml.dom-K.sym.txt deleted file mode 100644 index 66599facd5e3c..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.xml.dom-K.sym.txt +++ /dev/null @@ -1,295 +0,0 @@ -# -# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name org/w3c/dom/css/CSS2Properties -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/CSSCharsetRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSFontFaceRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSImportRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSMediaRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSPageRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSPrimitiveValue -header extends java/lang/Object implements org/w3c/dom/css/CSSValue flags 601 - -class name org/w3c/dom/css/CSSRule -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/CSSRuleList -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/CSSStyleDeclaration -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/CSSStyleRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSStyleSheet -header extends java/lang/Object implements org/w3c/dom/stylesheets/StyleSheet flags 601 - -class name org/w3c/dom/css/CSSUnknownRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSValue -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/CSSValueList -header extends java/lang/Object implements org/w3c/dom/css/CSSValue flags 601 - -class name org/w3c/dom/css/Counter -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/DOMImplementationCSS -header extends java/lang/Object implements org/w3c/dom/DOMImplementation flags 601 - -class name org/w3c/dom/css/DocumentCSS -header extends java/lang/Object implements org/w3c/dom/stylesheets/DocumentStyle flags 601 - -class name org/w3c/dom/css/ElementCSSInlineStyle -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/RGBColor -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/Rect -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/ViewCSS -header extends java/lang/Object implements org/w3c/dom/views/AbstractView flags 601 - -class name org/w3c/dom/html/HTMLAnchorElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLAppletElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLAreaElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLBRElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLBaseElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLBaseFontElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLBodyElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLButtonElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLCollection -header extends java/lang/Object flags 601 - -class name org/w3c/dom/html/HTMLDListElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLDOMImplementation -header extends java/lang/Object implements org/w3c/dom/DOMImplementation flags 601 - -class name org/w3c/dom/html/HTMLDirectoryElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLDivElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLDocument -header extends java/lang/Object implements org/w3c/dom/Document flags 601 - -class name org/w3c/dom/html/HTMLElement -header extends java/lang/Object implements org/w3c/dom/Element flags 601 - -class name org/w3c/dom/html/HTMLFieldSetElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLFontElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLFormElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLFrameElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLFrameSetElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLHRElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLHeadElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLHeadingElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLHtmlElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLIFrameElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLImageElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLInputElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLIsIndexElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLLIElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLLabelElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLLegendElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLLinkElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLMapElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLMenuElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLMetaElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLModElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLOListElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLObjectElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLOptGroupElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLOptionElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLParagraphElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLParamElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLPreElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLQuoteElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLScriptElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLSelectElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLStyleElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableCaptionElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableCellElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableColElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableRowElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableSectionElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTextAreaElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTitleElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLUListElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/stylesheets/DocumentStyle -header extends java/lang/Object flags 601 - -class name org/w3c/dom/stylesheets/LinkStyle -header extends java/lang/Object flags 601 - -class name org/w3c/dom/stylesheets/MediaList -header extends java/lang/Object flags 601 - -class name org/w3c/dom/stylesheets/StyleSheet -header extends java/lang/Object flags 601 - -class name org/w3c/dom/stylesheets/StyleSheetList -header extends java/lang/Object flags 601 - -class name org/w3c/dom/xpath/XPathEvaluator -header extends java/lang/Object flags 601 - -class name org/w3c/dom/xpath/XPathException -header extends java/lang/RuntimeException flags 21 - -class name org/w3c/dom/xpath/XPathExpression -header extends java/lang/Object flags 601 - -class name org/w3c/dom/xpath/XPathNSResolver -header extends java/lang/Object flags 601 - -class name org/w3c/dom/xpath/XPathNamespace -header extends java/lang/Object implements org/w3c/dom/Node flags 601 - -class name org/w3c/dom/xpath/XPathResult -header extends java/lang/Object flags 601 - diff --git a/src/jdk.compiler/share/data/symbols/jdk.xml.dom-L.sym.txt b/src/jdk.compiler/share/data/symbols/jdk.xml.dom-L.sym.txt deleted file mode 100644 index f99f344cc5867..0000000000000 --- a/src/jdk.compiler/share/data/symbols/jdk.xml.dom-L.sym.txt +++ /dev/null @@ -1,295 +0,0 @@ -# -# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. -# 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 FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ### -# ########################################################## -# -class name org/w3c/dom/css/CSS2Properties -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/CSSCharsetRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSFontFaceRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSImportRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSMediaRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSPageRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSPrimitiveValue -header extends java/lang/Object implements org/w3c/dom/css/CSSValue flags 601 - -class name org/w3c/dom/css/CSSRule -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/CSSRuleList -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/CSSStyleDeclaration -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/CSSStyleRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSStyleSheet -header extends java/lang/Object implements org/w3c/dom/stylesheets/StyleSheet flags 601 - -class name org/w3c/dom/css/CSSUnknownRule -header extends java/lang/Object implements org/w3c/dom/css/CSSRule flags 601 - -class name org/w3c/dom/css/CSSValue -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/CSSValueList -header extends java/lang/Object implements org/w3c/dom/css/CSSValue flags 601 - -class name org/w3c/dom/css/Counter -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/DOMImplementationCSS -header extends java/lang/Object implements org/w3c/dom/DOMImplementation flags 601 - -class name org/w3c/dom/css/DocumentCSS -header extends java/lang/Object implements org/w3c/dom/stylesheets/DocumentStyle flags 601 - -class name org/w3c/dom/css/ElementCSSInlineStyle -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/RGBColor -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/Rect -header extends java/lang/Object flags 601 - -class name org/w3c/dom/css/ViewCSS -header extends java/lang/Object implements org/w3c/dom/views/AbstractView flags 601 - -class name org/w3c/dom/html/HTMLAnchorElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLAppletElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLAreaElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLBRElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLBaseElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLBaseFontElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLBodyElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLButtonElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLCollection -header extends java/lang/Object flags 601 - -class name org/w3c/dom/html/HTMLDListElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLDOMImplementation -header extends java/lang/Object implements org/w3c/dom/DOMImplementation flags 601 - -class name org/w3c/dom/html/HTMLDirectoryElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLDivElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLDocument -header extends java/lang/Object implements org/w3c/dom/Document flags 601 - -class name org/w3c/dom/html/HTMLElement -header extends java/lang/Object implements org/w3c/dom/Element flags 601 - -class name org/w3c/dom/html/HTMLFieldSetElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLFontElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLFormElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLFrameElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLFrameSetElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLHRElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLHeadElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLHeadingElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLHtmlElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLIFrameElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLImageElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLInputElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLIsIndexElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLLIElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLLabelElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLLegendElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLLinkElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLMapElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLMenuElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLMetaElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLModElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLOListElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLObjectElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLOptGroupElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLOptionElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLParagraphElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLParamElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLPreElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLQuoteElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLScriptElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLSelectElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLStyleElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableCaptionElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableCellElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableColElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableRowElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTableSectionElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTextAreaElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLTitleElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/html/HTMLUListElement -header extends java/lang/Object implements org/w3c/dom/html/HTMLElement flags 601 - -class name org/w3c/dom/stylesheets/DocumentStyle -header extends java/lang/Object flags 601 - -class name org/w3c/dom/stylesheets/LinkStyle -header extends java/lang/Object flags 601 - -class name org/w3c/dom/stylesheets/MediaList -header extends java/lang/Object flags 601 - -class name org/w3c/dom/stylesheets/StyleSheet -header extends java/lang/Object flags 601 - -class name org/w3c/dom/stylesheets/StyleSheetList -header extends java/lang/Object flags 601 - -class name org/w3c/dom/xpath/XPathEvaluator -header extends java/lang/Object flags 601 - -class name org/w3c/dom/xpath/XPathException -header extends java/lang/RuntimeException flags 21 - -class name org/w3c/dom/xpath/XPathExpression -header extends java/lang/Object flags 601 - -class name org/w3c/dom/xpath/XPathNSResolver -header extends java/lang/Object flags 601 - -class name org/w3c/dom/xpath/XPathNamespace -header extends java/lang/Object implements org/w3c/dom/Node flags 601 - -class name org/w3c/dom/xpath/XPathResult -header extends java/lang/Object flags 601 - diff --git a/src/jdk.compiler/share/data/symbols/symbols b/src/jdk.compiler/share/data/symbols/symbols index a1821a947733b..d1a65b3bd8aab 100644 --- a/src/jdk.compiler/share/data/symbols/symbols +++ b/src/jdk.compiler/share/data/symbols/symbols @@ -39,8 +39,8 @@ platform version D base C files java.base-D.sym.txt:java.compiler-D.sym.txt:java platform version E base D files java.base-E.sym.txt:java.compiler-E.sym.txt:java.desktop-E.sym.txt:java.xml-E.sym.txt:jdk.compiler-E.sym.txt:jdk.httpserver-E.sym.txt:jdk.incubator.foreign-E.sym.txt:jdk.incubator.jpackage-E.sym.txt:jdk.jfr-E.sym.txt:jdk.jlink-E.sym.txt:jdk.jshell-E.sym.txt:jdk.jsobject-E.sym.txt:jdk.management-E.sym.txt:jdk.net-E.sym.txt:jdk.pack-E.sym.txt platform version F base E files java.base-F.sym.txt:java.compiler-F.sym.txt:java.desktop-F.sym.txt:java.management.rmi-F.sym.txt:java.naming-F.sym.txt:java.rmi-F.sym.txt:java.xml-F.sym.txt:jdk.compiler-F.sym.txt:jdk.incubator.foreign-F.sym.txt:jdk.jartool-F.sym.txt:jdk.javadoc-F.sym.txt:jdk.jdi-F.sym.txt:jdk.net-F.sym.txt:jdk.nio.mapmode-F.sym.txt:jdk.rmic-F.sym.txt:jdk.scripting.nashorn-F.sym.txt:jdk.unsupported-F.sym.txt platform version G base F files java.base-G.sym.txt:java.compiler-G.sym.txt:java.datatransfer-G.sym.txt:java.desktop-G.sym.txt:java.instrument-G.sym.txt:java.logging-G.sym.txt:java.management-G.sym.txt:java.management.rmi-G.sym.txt:java.naming-G.sym.txt:java.net.http-G.sym.txt:java.rmi-G.sym.txt:java.scripting-G.sym.txt:java.security.jgss-G.sym.txt:java.security.sasl-G.sym.txt:java.smartcardio-G.sym.txt:java.sql-G.sym.txt:java.sql.rowset-G.sym.txt:java.xml-G.sym.txt:java.xml.crypto-G.sym.txt:jdk.accessibility-G.sym.txt:jdk.attach-G.sym.txt:jdk.compiler-G.sym.txt:jdk.dynalink-G.sym.txt:jdk.httpserver-G.sym.txt:jdk.incubator.foreign-G.sym.txt:jdk.incubator.jpackage-G.sym.txt:jdk.incubator.vector-G.sym.txt:jdk.jartool-G.sym.txt:jdk.javadoc-G.sym.txt:jdk.jconsole-G.sym.txt:jdk.jdi-G.sym.txt:jdk.jfr-G.sym.txt:jdk.jpackage-G.sym.txt:jdk.jshell-G.sym.txt:jdk.jsobject-G.sym.txt:jdk.management-G.sym.txt:jdk.management.jfr-G.sym.txt:jdk.net-G.sym.txt:jdk.sctp-G.sym.txt:jdk.security.auth-G.sym.txt:jdk.security.jgss-G.sym.txt:jdk.unsupported-G.sym.txt:jdk.xml.dom-G.sym.txt -platform version H base G files java.base-H.sym.txt:java.compiler-H.sym.txt:java.datatransfer-H.sym.txt:java.desktop-H.sym.txt:java.instrument-H.sym.txt:java.logging-H.sym.txt:java.management-H.sym.txt:java.management.rmi-H.sym.txt:java.naming-H.sym.txt:java.rmi-H.sym.txt:java.scripting-H.sym.txt:java.security.jgss-H.sym.txt:java.security.sasl-H.sym.txt:java.smartcardio-H.sym.txt:java.sql-H.sym.txt:java.sql.rowset-H.sym.txt:java.xml-H.sym.txt:java.xml.crypto-H.sym.txt:jdk.accessibility-H.sym.txt:jdk.attach-H.sym.txt:jdk.compiler-H.sym.txt:jdk.dynalink-H.sym.txt:jdk.httpserver-H.sym.txt:jdk.incubator.foreign-H.sym.txt:jdk.incubator.vector-H.sym.txt:jdk.jartool-H.sym.txt:jdk.javadoc-H.sym.txt:jdk.jconsole-H.sym.txt:jdk.jdi-H.sym.txt:jdk.jfr-H.sym.txt:jdk.jshell-H.sym.txt:jdk.jsobject-H.sym.txt:jdk.management-H.sym.txt:jdk.management.jfr-H.sym.txt:jdk.net-H.sym.txt:jdk.sctp-H.sym.txt:jdk.security.auth-H.sym.txt:jdk.security.jgss-H.sym.txt:jdk.unsupported-H.sym.txt:jdk.xml.dom-H.sym.txt -platform version I base H files java.base-I.sym.txt:java.compiler-I.sym.txt:java.datatransfer-I.sym.txt:java.desktop-I.sym.txt:java.instrument-I.sym.txt:java.logging-I.sym.txt:java.management-I.sym.txt:java.management.rmi-I.sym.txt:java.naming-I.sym.txt:java.net.http-I.sym.txt:java.rmi-I.sym.txt:java.scripting-I.sym.txt:java.security.jgss-I.sym.txt:java.security.sasl-I.sym.txt:java.smartcardio-I.sym.txt:java.sql-I.sym.txt:java.sql.rowset-I.sym.txt:java.xml-I.sym.txt:java.xml.crypto-I.sym.txt:jdk.accessibility-I.sym.txt:jdk.attach-I.sym.txt:jdk.compiler-I.sym.txt:jdk.dynalink-I.sym.txt:jdk.httpserver-I.sym.txt:jdk.incubator.foreign-I.sym.txt:jdk.incubator.vector-I.sym.txt:jdk.jartool-I.sym.txt:jdk.javadoc-I.sym.txt:jdk.jconsole-I.sym.txt:jdk.jdi-I.sym.txt:jdk.jlink-I.sym.txt:jdk.jshell-I.sym.txt:jdk.jsobject-I.sym.txt:jdk.management-I.sym.txt:jdk.management.jfr-I.sym.txt:jdk.net-I.sym.txt:jdk.sctp-I.sym.txt:jdk.security.auth-I.sym.txt:jdk.security.jgss-I.sym.txt:jdk.unsupported-I.sym.txt:jdk.xml.dom-I.sym.txt -platform version J base I files java.base-J.sym.txt:java.compiler-J.sym.txt:java.datatransfer-J.sym.txt:java.desktop-J.sym.txt:java.instrument-J.sym.txt:java.logging-J.sym.txt:java.management-J.sym.txt:java.management.rmi-J.sym.txt:java.naming-J.sym.txt:java.net.http-J.sym.txt:java.rmi-J.sym.txt:java.scripting-J.sym.txt:java.security.jgss-J.sym.txt:java.security.sasl-J.sym.txt:java.smartcardio-J.sym.txt:java.sql-J.sym.txt:java.sql.rowset-J.sym.txt:java.xml-J.sym.txt:java.xml.crypto-J.sym.txt:jdk.accessibility-J.sym.txt:jdk.attach-J.sym.txt:jdk.compiler-J.sym.txt:jdk.dynalink-J.sym.txt:jdk.httpserver-J.sym.txt:jdk.incubator.concurrent-J.sym.txt:jdk.incubator.foreign-J.sym.txt:jdk.incubator.vector-J.sym.txt:jdk.jartool-J.sym.txt:jdk.javadoc-J.sym.txt:jdk.jconsole-J.sym.txt:jdk.jdi-J.sym.txt:jdk.jfr-J.sym.txt:jdk.jshell-J.sym.txt:jdk.jsobject-J.sym.txt:jdk.management-J.sym.txt:jdk.management.agent-J.sym.txt:jdk.net-J.sym.txt:jdk.sctp-J.sym.txt:jdk.security.auth-J.sym.txt:jdk.security.jgss-J.sym.txt:jdk.unsupported-J.sym.txt:jdk.xml.dom-J.sym.txt -platform version K base J files java.base-K.sym.txt:java.compiler-K.sym.txt:java.datatransfer-K.sym.txt:java.desktop-K.sym.txt:java.instrument-K.sym.txt:java.logging-K.sym.txt:java.management-K.sym.txt:java.management.rmi-K.sym.txt:java.naming-K.sym.txt:java.rmi-K.sym.txt:java.scripting-K.sym.txt:java.security.jgss-K.sym.txt:java.security.sasl-K.sym.txt:java.smartcardio-K.sym.txt:java.sql-K.sym.txt:java.sql.rowset-K.sym.txt:java.xml-K.sym.txt:java.xml.crypto-K.sym.txt:jdk.accessibility-K.sym.txt:jdk.attach-K.sym.txt:jdk.compiler-K.sym.txt:jdk.dynalink-K.sym.txt:jdk.httpserver-K.sym.txt:jdk.incubator.concurrent-K.sym.txt:jdk.incubator.vector-K.sym.txt:jdk.jartool-K.sym.txt:jdk.javadoc-K.sym.txt:jdk.jconsole-K.sym.txt:jdk.jdi-K.sym.txt:jdk.jfr-K.sym.txt:jdk.jlink-K.sym.txt:jdk.jpackage-K.sym.txt:jdk.jshell-K.sym.txt:jdk.jsobject-K.sym.txt:jdk.management-K.sym.txt:jdk.management.jfr-K.sym.txt:jdk.net-K.sym.txt:jdk.sctp-K.sym.txt:jdk.security.auth-K.sym.txt:jdk.security.jgss-K.sym.txt:jdk.unsupported-K.sym.txt:jdk.xml.dom-K.sym.txt -platform version L base K files java.base-L.sym.txt:java.compiler-L.sym.txt:java.datatransfer-L.sym.txt:java.desktop-L.sym.txt:java.instrument-L.sym.txt:java.logging-L.sym.txt:java.management-L.sym.txt:java.management.rmi-L.sym.txt:java.naming-L.sym.txt:java.net.http-L.sym.txt:java.rmi-L.sym.txt:java.scripting-L.sym.txt:java.security.jgss-L.sym.txt:java.security.sasl-L.sym.txt:java.smartcardio-L.sym.txt:java.sql-L.sym.txt:java.sql.rowset-L.sym.txt:java.xml-L.sym.txt:java.xml.crypto-L.sym.txt:jdk.accessibility-L.sym.txt:jdk.attach-L.sym.txt:jdk.compiler-L.sym.txt:jdk.dynalink-L.sym.txt:jdk.httpserver-L.sym.txt:jdk.incubator.concurrent-L.sym.txt:jdk.incubator.vector-L.sym.txt:jdk.jartool-L.sym.txt:jdk.javadoc-L.sym.txt:jdk.jconsole-L.sym.txt:jdk.jdi-L.sym.txt:jdk.jfr-L.sym.txt:jdk.jshell-L.sym.txt:jdk.jsobject-L.sym.txt:jdk.management-L.sym.txt:jdk.net-L.sym.txt:jdk.sctp-L.sym.txt:jdk.security.auth-L.sym.txt:jdk.security.jgss-L.sym.txt:jdk.unsupported-L.sym.txt:jdk.xml.dom-L.sym.txt +platform version H base G files java.base-H.sym.txt:java.compiler-H.sym.txt:java.datatransfer-H.sym.txt:java.desktop-H.sym.txt:java.logging-H.sym.txt:java.management-H.sym.txt:java.naming-H.sym.txt:java.rmi-H.sym.txt:java.xml.crypto-H.sym.txt:jdk.compiler-H.sym.txt:jdk.httpserver-H.sym.txt:jdk.incubator.foreign-H.sym.txt:jdk.incubator.vector-H.sym.txt:jdk.javadoc-H.sym.txt:jdk.jfr-H.sym.txt:jdk.jshell-H.sym.txt:jdk.management.jfr-H.sym.txt:jdk.security.jgss-H.sym.txt:jdk.unsupported-H.sym.txt +platform version I base H files java.base-I.sym.txt:java.compiler-I.sym.txt:java.desktop-I.sym.txt:java.management-I.sym.txt:java.net.http-I.sym.txt:java.xml-I.sym.txt:jdk.accessibility-I.sym.txt:jdk.compiler-I.sym.txt:jdk.httpserver-I.sym.txt:jdk.incubator.foreign-I.sym.txt:jdk.incubator.vector-I.sym.txt:jdk.javadoc-I.sym.txt:jdk.jlink-I.sym.txt:jdk.management.jfr-I.sym.txt:jdk.unsupported-I.sym.txt +platform version J base I files java.base-J.sym.txt:java.compiler-J.sym.txt:java.desktop-J.sym.txt:java.management-J.sym.txt:java.net.http-J.sym.txt:jdk.compiler-J.sym.txt:jdk.incubator.concurrent-J.sym.txt:jdk.incubator.foreign-J.sym.txt:jdk.incubator.vector-J.sym.txt:jdk.jdi-J.sym.txt:jdk.jfr-J.sym.txt:jdk.jshell-J.sym.txt:jdk.management-J.sym.txt:jdk.management.agent-J.sym.txt:jdk.net-J.sym.txt +platform version K base J files java.base-K.sym.txt:java.compiler-K.sym.txt:java.desktop-K.sym.txt:java.management-K.sym.txt:java.naming-K.sym.txt:java.sql.rowset-K.sym.txt:jdk.compiler-K.sym.txt:jdk.incubator.concurrent-K.sym.txt:jdk.incubator.foreign-K.sym.txt:jdk.incubator.vector-K.sym.txt:jdk.jartool-K.sym.txt:jdk.jfr-K.sym.txt:jdk.jlink-K.sym.txt:jdk.jpackage-K.sym.txt:jdk.jshell-K.sym.txt:jdk.management.jfr-K.sym.txt +platform version L base K files java.base-L.sym.txt:java.compiler-L.sym.txt:java.desktop-L.sym.txt:java.logging-L.sym.txt:java.management-L.sym.txt:java.management.rmi-L.sym.txt:java.net.http-L.sym.txt:java.xml.crypto-L.sym.txt:jdk.compiler-L.sym.txt:jdk.incubator.concurrent-L.sym.txt:jdk.incubator.foreign-L.sym.txt:jdk.incubator.vector-L.sym.txt:jdk.jartool-L.sym.txt:jdk.javadoc-L.sym.txt:jdk.jdi-L.sym.txt:jdk.jfr-L.sym.txt:jdk.jshell-L.sym.txt:jdk.management-L.sym.txt:jdk.sctp-L.sym.txt:jdk.unsupported-L.sym.txt diff --git a/test/langtools/tools/javac/platform/CanHandleClassFilesTest.java b/test/langtools/tools/javac/platform/CanHandleClassFilesTest.java index 0a87f67bbe52f..a8d4747babb2d 100644 --- a/test/langtools/tools/javac/platform/CanHandleClassFilesTest.java +++ b/test/langtools/tools/javac/platform/CanHandleClassFilesTest.java @@ -110,9 +110,11 @@ protected Class findClass(String name) throws ClassNotFoundException { var main = createSymbolsClass.getMethod("main", String[].class); var symbols = targetDir.resolve("symbols"); var modules = targetDir.resolve("modules"); + var modulesList = targetDir.resolve("modules-list"); try (Writer w = Files.newBufferedWriter(symbols)) {} Files.createDirectories(modules); + try (Writer w = Files.newBufferedWriter(modulesList)) {} main.invoke(null, (Object) new String[] {"build-description-incremental", @@ -127,7 +129,8 @@ protected Class findClass(String name) throws ClassNotFoundException { Long.toString(System.currentTimeMillis() / 1000), "" + SourceVersion.latest().ordinal(), "", - modules.toAbsolutePath().toString()}); + modules.toAbsolutePath().toString(), + modulesList.toAbsolutePath().toString()}); } } diff --git a/test/langtools/tools/javac/platform/createsymbols/CreateSymbolsTestImpl.java b/test/langtools/tools/javac/platform/createsymbols/CreateSymbolsTestImpl.java index 17e9e1703abe7..5037561df109f 100644 --- a/test/langtools/tools/javac/platform/createsymbols/CreateSymbolsTestImpl.java +++ b/test/langtools/tools/javac/platform/createsymbols/CreateSymbolsTestImpl.java @@ -752,13 +752,15 @@ void doTestComplex(String printClass, new CreateSymbols().createBaseLine(versions, acceptAll, ctSym, new String[0]); Path symbolsDesc = ctSym.resolve("symbols"); Path modules = ctSym.resolve("modules"); + Path modulesList = ctSym.resolve("modules-list"); Files.createDirectories(modules); + try (Writer w = Files.newBufferedWriter(modulesList)) {} Path classesZip = output.resolve("classes.zip"); Path classesDir = output.resolve("classes"); - new CreateSymbols().createSymbols(null, symbolsDesc.toAbsolutePath().toString(), classesZip.toAbsolutePath().toString(), 0, "9", "", modules.toString()); + new CreateSymbols().createSymbols(null, symbolsDesc.toAbsolutePath().toString(), classesZip.toAbsolutePath().toString(), 0, "9", "", modules.toString(), modulesList.toString()); try (JarFile jf = new JarFile(classesZip.toFile())) { Enumeration en = jf.entries(); @@ -835,7 +837,7 @@ void doTestComplex(String printClass, void testExtendsInternalData1() throws Exception { doTestData(""" module name m - header exports api,nonapi[java.base] requires name\\u0020;java.base\\u0020;flags\\u0020;8000\\u0020;version\\u0020;0 flags 8000 + header exports api extraModulePackages nonapi requires name\\u0020;java.base\\u0020;flags\\u0020;8000\\u0020;version\\u0020;0 flags 8000 class name api/Ann header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 @@ -1038,15 +1040,12 @@ protected boolean includeEffectiveAccess(ClassList classes, ClassDescription cla }.createBaseLine(versions, acceptAll, descDest, new String[0]); Path symbolsDesc = descDest.resolve("symbols"); Path modules = descDest.resolve("modules"); + Path modulesList = descDest.resolve("modules-list"); Files.createDirectories(modules); + try (Writer w = Files.newBufferedWriter(modulesList)) {} - try { - new CreateSymbols().createSymbols(null, symbolsDesc.toAbsolutePath().toString(), classDest, 0, "8", "", modules.toString()); - } catch (Throwable t) { - t.printStackTrace(); - throw t; - } + new CreateSymbols().createSymbols(null, symbolsDesc.toAbsolutePath().toString(), classDest, 0, "8", "", modules.toString(), modulesList.toString()); } void compileAndPack(Path output, Path outputFile, String... code) throws Exception { diff --git a/test/langtools/tools/javac/sym/PrintCTSymContent.java b/test/langtools/tools/javac/sym/PrintCTSymContent.java new file mode 100644 index 0000000000000..164edcff3f0fb --- /dev/null +++ b/test/langtools/tools/javac/sym/PrintCTSymContent.java @@ -0,0 +1,117 @@ +/* + * Copyright (c) 2015, 2022, Oracle and/or its affiliates. All rights reserved. + * 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 8072480 8203814 + * @summary Check the platform classpath contains the correct elements. + * @library /tools/lib + * @modules jdk.compiler/com.sun.tools.javac.code + * jdk.compiler/com.sun.tools.javac.api + * jdk.compiler/com.sun.tools.javac.main + * jdk.compiler/com.sun.tools.javac.platform + * jdk.compiler/com.sun.tools.javac.processing + * jdk.compiler/com.sun.tools.javac.util + * @build toolbox.ToolBox PrintCTSymContent + * @run main PrintCTSymContent + */ + +import java.io.Writer; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.Arrays; +import java.util.List; +import javax.lang.model.element.Element; +import javax.lang.model.element.ModuleElement; +import javax.tools.JavaCompiler; +import javax.tools.ToolProvider; + +import com.sun.tools.javac.api.JavacTaskImpl; +import com.sun.tools.javac.processing.PrintingProcessor.PrintingElementVisitor; +import java.util.Comparator; +import javax.lang.model.element.ModuleElement.ExportsDirective; +import javax.lang.model.element.QualifiedNameable; +import javax.lang.model.util.ElementFilter; + +import toolbox.ToolBox; + + +/** + * Dump content of ct.sym for specified releases to a specified directory. + * + * Usage: adjust the `@run main PrintCTSymContent` tag to include the starting and + * ending versions, and a target directory where the API snapshot should be written: + * + * @run main PrintCTSymContent + * + * and run the test. + */ +public class PrintCTSymContent { + + public static void main(String... args) throws Exception { + if (args.length == 0) { + return ; //pass vacuously + } + new PrintCTSymContent().generateCtSymOutput(args); + } + + void generateCtSymOutput(String... args) throws Exception { + int startRelease = Integer.parseInt(args[0]); + int endRelease = Integer.parseInt(args[1]); + String directory = args[2]; + + for (int i = startRelease; i <= endRelease; i++) { + try (Writer content = Files.newBufferedWriter(Paths.get(directory, "ct-sym-content-" + i + ".txt"))) { + run(content, String.valueOf(i)); + } + } + } + + void run(Writer output, String version) throws Exception { + List options = Arrays.asList("--release", version, "-classpath", "", "--add-modules", "ALL-SYSTEM"); + List files = List.of(new ToolBox.JavaSource("Test", "")); + JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); + JavacTaskImpl task = (JavacTaskImpl) compiler.getTask(null, null, null, options, null, files); + + task.analyze(); + + PrintingElementVisitor target = new PrintingElementVisitor(output, task.getElements()); + Comparator sortByQualifiedName = (me1, me2) -> me1.getQualifiedName().toString().compareTo(me2.getQualifiedName().toString()); + List allModules = task.getElements().getAllModuleElements().stream().sorted(sortByQualifiedName).toList(); + + for (ModuleElement module : allModules) { + if (module.isUnnamed()) { + continue; + } + target.visit(module); + for (ExportsDirective ed : ElementFilter.exportsIn(module.getDirectives())) { + if (ed.getTargetModules() == null) { + for (Element c : ElementFilter.typesIn(ed.getPackage().getEnclosedElements()).stream().sorted(sortByQualifiedName).toList()) { + target.visit(c); + } + } + } + } + } + +} From b1cb37432a4b4a10ba68f468e4d988f2a935f198 Mon Sep 17 00:00:00 2001 From: Alexey Ivanov Date: Tue, 5 Dec 2023 17:40:55 +0000 Subject: [PATCH 089/143] 8320349: Simplify FileChooserSymLinkTest.java by using single-window testUI Reviewed-by: serb --- .../javax/swing/JFileChooser/FileChooserSymLinkTest.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/test/jdk/javax/swing/JFileChooser/FileChooserSymLinkTest.java b/test/jdk/javax/swing/JFileChooser/FileChooserSymLinkTest.java index 15ac95bc198d1..4736e73e61df9 100644 --- a/test/jdk/javax/swing/JFileChooser/FileChooserSymLinkTest.java +++ b/test/jdk/javax/swing/JFileChooser/FileChooserSymLinkTest.java @@ -22,14 +22,12 @@ */ import java.awt.BorderLayout; -import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.File; import java.util.Arrays; -import java.util.List; import javax.swing.JCheckBox; import javax.swing.JFileChooser; @@ -118,7 +116,7 @@ public static void main(String[] args) throws Exception { .awaitAndCheck(); } - private static List createTestUI() { + private static JFrame createTestUI() { frame = new JFrame("JFileChooser Symbolic Link test"); panel = new JPanel(new BorderLayout()); multiSelection = new JCheckBox("Enable Multi-Selection"); @@ -159,6 +157,6 @@ public void propertyChange(PropertyChangeEvent evt) { frame.add(panel, BorderLayout.NORTH); frame.add(jfc, BorderLayout.CENTER); frame.pack(); - return List.of(frame); + return frame; } } From db5613af89a2d4ab5a8998ad1d43384778974866 Mon Sep 17 00:00:00 2001 From: Alisen Chung Date: Tue, 5 Dec 2023 17:50:05 +0000 Subject: [PATCH 090/143] 8317288: [macos] java/awt/Window/Grab/GrabTest.java: Press on the outside area didn't cause ungrab Reviewed-by: honkar, azvegint --- test/jdk/java/awt/Window/Grab/GrabTest.java | 126 ++++++++++++-------- 1 file changed, 74 insertions(+), 52 deletions(-) diff --git a/test/jdk/java/awt/Window/Grab/GrabTest.java b/test/jdk/java/awt/Window/Grab/GrabTest.java index 5db28cb15b54b..b173477c164c5 100644 --- a/test/jdk/java/awt/Window/Grab/GrabTest.java +++ b/test/jdk/java/awt/Window/Grab/GrabTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2020, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2023, Oracle and/or its affiliates. All rights reserved. * 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,19 +22,34 @@ */ /* - @test - @key headful - @bug 7124430 - @summary Tests that SunToolkit.grab API works - @author anton.tarasov@oracle.com: area=awt.toolkit - @library ../../regtesthelpers - @modules java.desktop/sun.awt - @build Util - @run main GrabTest -*/ - -import java.awt.*; -import java.awt.event.*; + * @test + * @key headful + * @bug 7124430 + * @summary Tests that SunToolkit.grab API works + * @library ../../regtesthelpers + * @modules java.desktop/sun.awt + * @build Util + * @run main GrabTest + */ + + +import java.awt.AWTEvent; +import java.awt.Button; +import java.awt.Color; +import java.awt.FlowLayout; +import java.awt.Point; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.InputEvent; +import java.awt.event.MouseEvent; +import java.awt.Frame; +import java.awt.Robot; +import java.awt.Toolkit; +import java.awt.Window; +import java.awt.event.AWTEventListener; +import java.awt.event.MouseAdapter; + +import javax.swing.SwingUtilities; import test.java.awt.regtesthelpers.Util; public class GrabTest { @@ -56,9 +71,13 @@ public class GrabTest { static volatile boolean passed = true; - public static void main(String[] args) { + public static void main(String[] args) throws Exception { + + robot = new Robot(); + robot.setAutoDelay(100); - Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() { + SwingUtilities.invokeAndWait(() -> { + Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() { public void eventDispatched(AWTEvent e) { System.out.println(e); if (e instanceof sun.awt.UngrabEvent) { @@ -67,61 +86,56 @@ public void eventDispatched(AWTEvent e) { } }, sun.awt.SunToolkit.GRAB_EVENT_MASK); - f = new Frame("Frame"); - f.setBounds(0, 0, 300, 300); - f.addMouseListener(new MouseAdapter() { + f = new Frame("Frame"); + f.setBounds(0, 0, 300, 300); + f.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { System.out.println(e); framePressed = true; } }); - f1 = new Frame("OtherFrame"); - f1.setBounds(700, 100, 300, 300); + f1 = new Frame("OtherFrame"); + f1.setBounds(700, 100, 300, 300); - w = new Window(f); - w.setLayout(new FlowLayout()); - b = new Button("Press"); - b.addActionListener(new ActionListener() { + w = new Window(f); + w.setLayout(new FlowLayout()); + b = new Button("Press"); + b.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println(e); buttonPressed = true; } }); - w.add(b); - w.setBounds(400, 100, 300, 300); - w.setBackground(Color.blue); - w.addMouseListener(new MouseAdapter() { + w.add(b); + w.setBounds(400, 100, 300, 300); + w.setBackground(Color.blue); + w.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { System.out.println(e); windowPressed = true; } }); - f.setVisible(true); - w.setVisible(true); + f.setVisible(true); + w.setVisible(true); - frame = new Frame(); - window1 = new Window(frame); - window1.setSize(200, 200); - window1.setLocationRelativeTo(null); - window1.setBackground(Color.blue); + frame = new Frame(); + window1 = new Window(frame); + window1.setSize(200, 200); + window1.setLocationRelativeTo(null); + window1.setBackground(Color.blue); - window2 = new Window(window1); - window2.setSize(100, 100); - window2.setLocationRelativeTo(null); - window2.setBackground(Color.green); + window2 = new Window(window1); + window2.setSize(100, 100); + window2.setLocationRelativeTo(null); + window2.setBackground(Color.green); - tk = (sun.awt.SunToolkit)Toolkit.getDefaultToolkit(); - - try { - robot = new Robot(); - } catch (AWTException ex) { - throw new RuntimeException(ex); - } + tk = (sun.awt.SunToolkit)Toolkit.getDefaultToolkit(); + }); Util.waitForIdle(robot); - + robot.delay(500); test(); } @@ -131,6 +145,7 @@ public static void test() { // 1. Check that button press doesn't cause ungrab Util.clickOnComp(b, robot); Util.waitForIdle(robot); + checkAndThrow(buttonPressed, "Error: Button can not be pressed"); if (ungrabbed) { passed = false; @@ -151,6 +166,7 @@ public static void test() { // 3. Check that press on the frame causes ungrab, event must be dispatched Util.clickOnComp(f, robot); Util.waitForIdle(robot); + checkAndThrow(framePressed, "Error: Frame can't be pressed"); if (!ungrabbed) { passed = false; @@ -173,28 +189,33 @@ public static void test() { // 5. Check that press on the other frame's title causes ungrab f1.setVisible(true); Util.waitForIdle(robot); + robot.delay(500); + Util.clickOnTitle(f1, robot); + Util.waitForIdle(robot); + if (!ungrabbed) { passed = false; System.err.println("Failure: [5] Press inside of other Frame's title didn't cause ungrab"); } f.requestFocus(); // restore focus Util.waitForIdle(robot); + if (!f.hasFocus()) { System.err.println("Error: Frame can't be focused"); } ungrabbed = false; tk.grab(w); - // 6. Check that press on the outside area causes ungrab Point loc = f.getLocationOnScreen(); robot.mouseMove(loc.x + 100, loc.y + f.getSize().height + 10); Util.waitForIdle(robot); - robot.mousePress(InputEvent.BUTTON1_MASK); - robot.delay(50); - robot.mouseRelease(InputEvent.BUTTON1_MASK); + + robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); + robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); Util.waitForIdle(robot); + if (!ungrabbed) { passed = false; System.err.println("Failure: [6] Press on the outside area didn't cause ungrab"); @@ -218,6 +239,7 @@ public static void test() { window1.setVisible(true); window2.setVisible(true); Util.waitForIdle(robot); + robot.delay(500); tk.grab(window1); From 640d7f31b22adde0926521bea4d616b570c21f2e Mon Sep 17 00:00:00 2001 From: Archie Cobbs Date: Tue, 5 Dec 2023 17:57:43 +0000 Subject: [PATCH 091/143] 8314327: Issues with JShell when using "local" execution engine Reviewed-by: jlahoda --- .../execution/DefaultLoaderDelegate.java | 24 ++++ .../execution/LocalExecutionControl.java | 12 +- .../LocalExecutionControlProvider.java | 33 +++++- .../jshell/LocalExecutionClassPathTest.java | 59 ++++++++++ ...LocalExecutionContextLoaderParentTest.java | 104 ++++++++++++++++++ .../jdk/jshell/LocalExecutionTestSupport.java | 86 +++++++++++++++ 6 files changed, 316 insertions(+), 2 deletions(-) create mode 100644 test/langtools/jdk/jshell/LocalExecutionClassPathTest.java create mode 100644 test/langtools/jdk/jshell/LocalExecutionContextLoaderParentTest.java create mode 100644 test/langtools/jdk/jshell/LocalExecutionTestSupport.java diff --git a/src/jdk.jshell/share/classes/jdk/jshell/execution/DefaultLoaderDelegate.java b/src/jdk.jshell/share/classes/jdk/jshell/execution/DefaultLoaderDelegate.java index 27bf0b95ebec4..e9e2fa0cff553 100644 --- a/src/jdk.jshell/share/classes/jdk/jshell/execution/DefaultLoaderDelegate.java +++ b/src/jdk.jshell/share/classes/jdk/jshell/execution/DefaultLoaderDelegate.java @@ -73,6 +73,10 @@ private static class RemoteClassLoader extends URLClassLoader { super(new URL[0]); } + RemoteClassLoader(ClassLoader parent) { + super(new URL[0], parent); + } + private class ResourceURLStreamHandler extends URLStreamHandler { private final String name; @@ -216,11 +220,31 @@ private static class ClassFile { } } + /** + * Default constructor. + * + *

+ * The internal class loader will use the + * {@linkplain ClassLoader#getSystemClassLoader system class loader} as its parent loader. + */ public DefaultLoaderDelegate() { this.loader = new RemoteClassLoader(); Thread.currentThread().setContextClassLoader(loader); } + /** + * Creates an instance with the given parent class loader. + * + *

+ * The internal class loader will use the given parent class loader. + * + * @param parent parent class loader + */ + public DefaultLoaderDelegate(ClassLoader parent) { + this.loader = new RemoteClassLoader(parent); + Thread.currentThread().setContextClassLoader(loader); + } + @Override public void load(ClassBytecodes[] cbcs) throws ClassInstallException, EngineTerminationException { diff --git a/src/jdk.jshell/share/classes/jdk/jshell/execution/LocalExecutionControl.java b/src/jdk.jshell/share/classes/jdk/jshell/execution/LocalExecutionControl.java index 2ad0e9056f2e4..a89c91d3667e8 100644 --- a/src/jdk.jshell/share/classes/jdk/jshell/execution/LocalExecutionControl.java +++ b/src/jdk.jshell/share/classes/jdk/jshell/execution/LocalExecutionControl.java @@ -60,11 +60,21 @@ public LocalExecutionControl(LoaderDelegate loaderDelegate) { } /** - * Create an instance using the default class loading. + * Create an instance using the default class loading, which delegates to the system class loader. */ public LocalExecutionControl() { } + /** + * Create an instance using the default class loading, but delegating to the specified parent class loader. + * + * @param parent parent class loader + * @since 22 + */ + public LocalExecutionControl(ClassLoader parent) { + super(new DefaultLoaderDelegate(parent)); + } + @Override public void load(ClassBytecodes[] cbcs) throws ClassInstallException, NotImplementedException, EngineTerminationException { diff --git a/src/jdk.jshell/share/classes/jdk/jshell/execution/LocalExecutionControlProvider.java b/src/jdk.jshell/share/classes/jdk/jshell/execution/LocalExecutionControlProvider.java index cc3879c5c6dd8..53acec32ab0cb 100644 --- a/src/jdk.jshell/share/classes/jdk/jshell/execution/LocalExecutionControlProvider.java +++ b/src/jdk.jshell/share/classes/jdk/jshell/execution/LocalExecutionControlProvider.java @@ -25,6 +25,7 @@ package jdk.jshell.execution; +import java.util.List; import java.util.Map; import jdk.jshell.spi.ExecutionControl; import jdk.jshell.spi.ExecutionControlProvider; @@ -78,7 +79,37 @@ public Map defaultParameters() { */ @Override public ExecutionControl generate(ExecutionEnv env, Map parameters) { - return new LocalExecutionControl(); + + // Create ExecutionControl + ExecutionControl executionControl = createExecutionControl(env, parameters); + + // Apply any configured class path + List remoteOptions = env.extraRemoteVMOptions(); + int classPathIndex = remoteOptions.indexOf("--class-path") + 1; + if (classPathIndex > 0 && classPathIndex < remoteOptions.size()) { + try { + executionControl.addToClasspath(remoteOptions.get(classPathIndex)); + } catch (ExecutionControl.ExecutionControlException e) { + throw new RuntimeException("error configuring class path", e); + } + } + + // Done + return executionControl; } + /** + * Create a new {@link ExecutionControl} instance. + * + *

+ * This method is invoked by {@link #generate generate()}. + * + * @param env the {@code ExecutionEnv} for which the {@link ExecutionControl} should be created + * @param parameters the parameters that were passed to {@link #generate generate()} + * @return the newly created {@code ExecutionControl} + * @since 22 + */ + public ExecutionControl createExecutionControl(ExecutionEnv env, Map parameters) { + return new LocalExecutionControl(new DefaultLoaderDelegate()); + } } diff --git a/test/langtools/jdk/jshell/LocalExecutionClassPathTest.java b/test/langtools/jdk/jshell/LocalExecutionClassPathTest.java new file mode 100644 index 0000000000000..6511c9a17fb0a --- /dev/null +++ b/test/langtools/jdk/jshell/LocalExecutionClassPathTest.java @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 8314327 + * @summary Verify the "--class-path" flag works properly in local execution mode + * @library /tools/lib + * @modules + * jdk.compiler/com.sun.tools.javac.api + * jdk.compiler/com.sun.tools.javac.main + * @build toolbox.ToolBox toolbox.JavacTask LocalExecutionTestSupport + * @run testng/othervm LocalExecutionClassPathTest + */ + +import java.util.Locale; +import org.testng.annotations.Test; + +public class LocalExecutionClassPathTest extends LocalExecutionTestSupport { + + @Override + public void test(Locale locale, boolean defaultStartUp, String[] args, String startMsg, ReplTest... tests) { + + // Set local execution with context class loader + args = this.prependArgs(args, + "--execution", "local", + "--class-path", this.classesDir.toString()); + + // Verify MyClass can be found by both the compiler and the execution engine + super.test(locale, defaultStartUp, args, startMsg, tests); + } + + @Test + public void verifyMyClassFoundOnClassPath() { + test(new String[] { "--no-startup" }, + a -> assertCommand(a, "test.MyClass.class", "$1 ==> class test.MyClass") + ); + } +} diff --git a/test/langtools/jdk/jshell/LocalExecutionContextLoaderParentTest.java b/test/langtools/jdk/jshell/LocalExecutionContextLoaderParentTest.java new file mode 100644 index 0000000000000..e01ee879a8c82 --- /dev/null +++ b/test/langtools/jdk/jshell/LocalExecutionContextLoaderParentTest.java @@ -0,0 +1,104 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 8314327 + * @summary Verify function of LocalExecutionControlProvider createExecutionControl() method override + * @library /tools/lib + * @modules + * jdk.compiler/com.sun.tools.javac.api + * jdk.compiler/com.sun.tools.javac.main + * @build toolbox.ToolBox toolbox.JavacTask LocalExecutionTestSupport + * @run testng/othervm LocalExecutionContextLoaderParentTest + */ + +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLClassLoader; +import java.nio.file.Path; +import java.util.Arrays; +import java.util.Locale; +import java.util.Map; +import java.nio.file.Files; + +import jdk.jshell.execution.LocalExecutionControl; +import jdk.jshell.execution.LocalExecutionControlProvider; +import jdk.jshell.spi.ExecutionControl; +import jdk.jshell.spi.ExecutionControlProvider; +import jdk.jshell.spi.ExecutionEnv; + +import org.testng.annotations.Test; +import org.testng.annotations.BeforeTest; + +public class LocalExecutionContextLoaderParentTest extends LocalExecutionTestSupport { + + @BeforeTest + public void installParentTestProvider() throws IOException { + Path dir = createSubdir(classesDir, "META-INF/services"); + Files.write(dir.resolve(ExecutionControlProvider.class.getName()), + Arrays.asList(ParentTestExecutionControlProvider.class.getName())); + } + + @Override + public void test(Locale locale, boolean defaultStartUp, String[] args, String startMsg, ReplTest... tests) { + + // Make test.MyClass visible to the context class loader + final URL classesDirURL; + try { + classesDirURL = this.classesDir.toUri().toURL(); + } catch (MalformedURLException e) { + throw new RuntimeException(e); + } + Thread.currentThread().setContextClassLoader(new URLClassLoader(new URL[] { classesDirURL })); + + // Set local execution with context class loader as parent loader + args = this.prependArgs(args, "--execution", "parentTest"); + + // Verify the execution engine can find MyClass (we don't care whether the compiler can find it in this test) + super.test(locale, defaultStartUp, args, startMsg, tests); + } + + @Test + public void verifyMyClassFoundByExecutionEngine() { + test(new String[] { "--no-startup" }, + a -> assertCommand(a, "Class.forName(\"test.MyClass\").getField(\"FOO\").get(null)", "$1 ==> \"bar\"") + ); + } + +// ParentTestExecutionControlProvider + + public static class ParentTestExecutionControlProvider extends LocalExecutionControlProvider { + + @Override + public String name() { + return "parentTest"; + } + + @Override + public ExecutionControl createExecutionControl(ExecutionEnv env, Map parameters) { + return new LocalExecutionControl(Thread.currentThread().getContextClassLoader()); + } + } +} diff --git a/test/langtools/jdk/jshell/LocalExecutionTestSupport.java b/test/langtools/jdk/jshell/LocalExecutionTestSupport.java new file mode 100644 index 0000000000000..6c6e122dfa916 --- /dev/null +++ b/test/langtools/jdk/jshell/LocalExecutionTestSupport.java @@ -0,0 +1,86 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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.nio.file.Files; +import java.nio.file.Path; +import org.testng.annotations.BeforeTest; + +import toolbox.JavacTask; +import toolbox.TestRunner; +import toolbox.ToolBox; + +/* + * This class installs a class in a temporary diretory so we can test + * finding classes that are not visible to the system class loader. + */ +public class LocalExecutionTestSupport extends ReplToolTesting { + + public static final String MY_CLASS_SOURCE = """ + package test; + public class MyClass { + public static final String FOO = "bar"; + }"""; + + protected final ToolBox tb = new ToolBox(); + + protected Path baseDir; // base working directory + protected Path sourcesDir; // sources directory + protected Path classesDir; // classes directory + + // Install file "test/MyClass.class" in some temporary directory somewhere + @BeforeTest + public void installMyClass() throws IOException { + + // Create directories + baseDir = Files.createTempDirectory(getClass().getSimpleName()).toAbsolutePath(); + sourcesDir = createWorkSubdir("sources"); + classesDir = createWorkSubdir("classes"); + + // Create source file + tb.writeJavaFiles(sourcesDir, MY_CLASS_SOURCE); + + // Compile source file + new JavacTask(tb) + .outdir(classesDir) + .files(sourcesDir.resolve("test/MyClass.java")) + .run(); + } + + protected Path createWorkSubdir(String name) throws IOException { + return createSubdir(baseDir, name); + } + + protected Path createSubdir(Path base, String name) throws IOException { + Path dir = base.resolve(name); + Files.createDirectories(dir); + return dir; + } + + protected String[] prependArgs(String[] args, String... prepends) { + String[] newArgs = new String[prepends.length + args.length]; + System.arraycopy(prepends, 0, newArgs, 0, prepends.length); + System.arraycopy(args, 0, newArgs, prepends.length, args.length); + return newArgs; + } +} From fddc02e046e926af75661ce167d4531393438c7a Mon Sep 17 00:00:00 2001 From: Tom Rodriguez Date: Tue, 5 Dec 2023 18:12:54 +0000 Subject: [PATCH 092/143] 8321225: [JVMCI] HotSpotResolvedObjectTypeImpl.isLeafClass shouldn't create strong references Reviewed-by: thartmann, eosterlund, kvn --- .../jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java b/src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java index c1fedf77450e7..46e7280bbb7ca 100644 --- a/src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java +++ b/src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java @@ -265,7 +265,12 @@ private AssumptionResult concreteSubtype(HotSpotResolvedObject * @return true if the type is a leaf class */ private boolean isLeafClass() { - return compilerToVM().getResolvedJavaType(this, config().subklassOffset, false) == null; + // In general, compilerToVM().getResolvedJavaType should always be used to read a Klass* + // from HotSpot data structures but that has the side effect of creating a strong reference + // to the Class which we do not want since it can cause class unloading problems. Since + // this code is only checking for null vs non-null so it should be safe to perform this + // check directly. + return UNSAFE.getLong(this.getKlassPointer() + config().subklassOffset) == 0; } /** From d3df3eb5d7f5537ade917db7a36caba028f94111 Mon Sep 17 00:00:00 2001 From: Alexey Semenyuk Date: Tue, 5 Dec 2023 18:41:38 +0000 Subject: [PATCH 093/143] 8294699: Launcher causes lingering busy cursor Reviewed-by: almatvee --- .../native/applauncher/WinLauncher.cpp | 80 ++++++++++++++++++- 1 file changed, 78 insertions(+), 2 deletions(-) diff --git a/src/jdk.jpackage/windows/native/applauncher/WinLauncher.cpp b/src/jdk.jpackage/windows/native/applauncher/WinLauncher.cpp index 407cf00693b81..d9757bd081999 100644 --- a/src/jdk.jpackage/windows/native/applauncher/WinLauncher.cpp +++ b/src/jdk.jpackage/windows/native/applauncher/WinLauncher.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -150,6 +150,82 @@ void addCfgFileLookupDirForEnvVariable( } +class RunExecutorWithMsgLoop { +public: + static DWORD apply(const Executor& exec) { + RunExecutorWithMsgLoop instance(exec); + + UniqueHandle threadHandle = UniqueHandle(CreateThread(NULL, 0, worker, + static_cast(&instance), 0, NULL)); + if (threadHandle.get() == NULL) { + JP_THROW(SysError("CreateThread() failed", CreateThread)); + } + + MSG msg; + BOOL bRet; + while((bRet = GetMessage(&msg, instance.hwnd, 0, 0 )) != 0) { + if (bRet == -1) { + JP_THROW(SysError("GetMessage() failed", GetMessage)); + } else { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + } + + // Wait for worker thread to terminate to guarantee it will not linger + // around after the thread running a message loop terminates. + const DWORD res = ::WaitForSingleObject(threadHandle.get(), INFINITE); + if (WAIT_FAILED == res) { + JP_THROW(SysError("WaitForSingleObject() failed", + WaitForSingleObject)); + } + + LOG_TRACE(tstrings::any() + << "Executor worker thread terminated. Exit code=" + << instance.exitCode); + return instance.exitCode; + } + +private: + RunExecutorWithMsgLoop(const Executor& v): exec(v) { + exitCode = 1; + + // Message-only window. + hwnd = CreateWindowEx(0, _T("STATIC"), _T(""), 0, 0, 0, 0, 0, + HWND_MESSAGE, NULL, GetModuleHandle(NULL), NULL); + if (!hwnd) { + JP_THROW(SysError("CreateWindowEx() failed", CreateWindowEx)); + } + } + + static DWORD WINAPI worker(LPVOID param) { + static_cast(param)->run(); + return 0; + } + + void run() { + JP_TRY; + exitCode = static_cast(exec.execAndWaitForExit()); + JP_CATCH_ALL; + + JP_TRY; + if (!PostMessage(hwnd, WM_QUIT, 0, 0)) { + JP_THROW(SysError("PostMessage(WM_QUIT) failed", PostMessage)); + } + return; + JP_CATCH_ALL; + + // All went wrong, PostMessage() failed. Just terminate with error code. + exit(1); + } + +private: + const Executor& exec; + DWORD exitCode; + HWND hwnd; +}; + + void launchApp() { // [RT-31061] otherwise UI can be left in back of other windows. ::AllowSetForegroundWindow(ASFW_ANY); @@ -203,7 +279,7 @@ void launchApp() { exec.arg(arg); }); - DWORD exitCode = static_cast(exec.execAndWaitForExit()); + DWORD exitCode = RunExecutorWithMsgLoop::apply(exec); exit(exitCode); return; From acaf2c8dcfd5235f758af2fe3e308b72263113e4 Mon Sep 17 00:00:00 2001 From: Damon Nguyen Date: Tue, 5 Dec 2023 19:25:42 +0000 Subject: [PATCH 094/143] 8318590: JButton ignores margin when painting HTML text Reviewed-by: prr, azvegint, honkar --- .../classes/com/apple/laf/AquaButtonUI.java | 15 +- .../javax/swing/plaf/basic/BasicButtonUI.java | 17 +- .../swing/plaf/synth/SynthGraphicsUtils.java | 24 +-- .../HtmlButtonImageTest.java | 145 ------------------ 4 files changed, 16 insertions(+), 185 deletions(-) delete mode 100644 test/jdk/javax/swing/JButton/HtmlButtonImageTest/HtmlButtonImageTest.java diff --git a/src/java.desktop/macosx/classes/com/apple/laf/AquaButtonUI.java b/src/java.desktop/macosx/classes/com/apple/laf/AquaButtonUI.java index 8a86b86f80ee5..dab893252cfdb 100644 --- a/src/java.desktop/macosx/classes/com/apple/laf/AquaButtonUI.java +++ b/src/java.desktop/macosx/classes/com/apple/laf/AquaButtonUI.java @@ -338,20 +338,10 @@ public void paint(final Graphics g, final JComponent c) { } // performs icon and text rect calculations - final String text; - final Icon icon = b.getIcon(); - final View v = (View)c.getClientProperty(BasicHTML.propertyKey); - if (v != null && icon == null) { - // use zero insets for HTML without an icon - // since layout only handles text calculations - text = layoutAndGetText(g, b, aquaBorder, new Insets(0,0,0,0), - viewRect, iconRect, textRect); - } else { - text = layoutAndGetText(g, b, aquaBorder, i, viewRect, iconRect, textRect); - } + final String text = layoutAndGetText(g, b, aquaBorder, i, viewRect, iconRect, textRect); // Paint the Icon - if (icon != null) { + if (b.getIcon() != null) { paintIcon(g, b, iconRect); } @@ -360,6 +350,7 @@ public void paint(final Graphics g, final JComponent c) { } if (text != null && !text.isEmpty()) { + final View v = (View)c.getClientProperty(BasicHTML.propertyKey); if (v != null) { v.paint(g, textRect); } else { diff --git a/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicButtonUI.java b/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicButtonUI.java index a334fe4f39022..c7c036e859fa6 100644 --- a/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicButtonUI.java +++ b/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicButtonUI.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,8 +25,6 @@ package javax.swing.plaf.basic; -import sun.awt.AppContext; -import sun.swing.SwingUtilities2; import java.awt.AWTKeyStroke; import java.awt.Component; import java.awt.Dimension; @@ -61,6 +59,9 @@ import javax.swing.plaf.UIResource; import javax.swing.text.View; +import sun.awt.AppContext; +import sun.swing.SwingUtilities2; + /** * BasicButton implementation * @@ -598,15 +599,7 @@ public Component.BaselineResizeBehavior getBaselineResizeBehavior( private String layout(AbstractButton b, FontMetrics fm, int width, int height) { - Insets i; - - final View v = (View)b.getClientProperty(BasicHTML.propertyKey); - if (v != null) { - i = new Insets(0, 0, 0, 0); - } else { - i = b.getInsets(); - } - + Insets i = b.getInsets(); viewRect.x = i.left; viewRect.y = i.top; viewRect.width = width - (i.right + viewRect.x); diff --git a/src/java.desktop/share/classes/javax/swing/plaf/synth/SynthGraphicsUtils.java b/src/java.desktop/share/classes/javax/swing/plaf/synth/SynthGraphicsUtils.java index bea838684ccdb..95a9aed981a3d 100644 --- a/src/java.desktop/share/classes/javax/swing/plaf/synth/SynthGraphicsUtils.java +++ b/src/java.desktop/share/classes/javax/swing/plaf/synth/SynthGraphicsUtils.java @@ -24,8 +24,6 @@ */ package javax.swing.plaf.synth; -import sun.swing.MenuItemLayoutHelper; -import sun.swing.SwingUtilities2; import java.awt.Color; import java.awt.Component; import java.awt.Dimension; @@ -37,13 +35,15 @@ import javax.swing.ButtonModel; import javax.swing.Icon; -import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JMenuItem; import javax.swing.SwingUtilities; import javax.swing.plaf.basic.BasicHTML; import javax.swing.text.View; +import sun.swing.MenuItemLayoutHelper; +import sun.swing.SwingUtilities2; + /** * Wrapper for primitive graphics calls. * @@ -392,19 +392,10 @@ public void paintText(SynthContext ss, Graphics g, String text, FontMetrics fm = SwingUtilities2.getFontMetrics(c, g); Insets insets = SynthLookAndFeel.getPaintingInsets(ss, paintInsets); - final View v = (View)c.getClientProperty(BasicHTML.propertyKey); - - if (c instanceof JButton && v != null) { - paintViewR.x = 0; - paintViewR.y = 0; - paintViewR.width = c.getWidth(); - paintViewR.height = c.getHeight(); - } else { - paintViewR.x = insets.left; - paintViewR.y = insets.top; - paintViewR.width = c.getWidth() - (insets.left + insets.right); - paintViewR.height = c.getHeight() - (insets.top + insets.bottom); - } + paintViewR.x = insets.left; + paintViewR.y = insets.top; + paintViewR.width = c.getWidth() - (insets.left + insets.right); + paintViewR.height = c.getHeight() - (insets.top + insets.bottom); paintIconR.x = paintIconR.y = paintIconR.width = paintIconR.height = 0; paintTextR.x = paintTextR.y = paintTextR.width = paintTextR.height = 0; @@ -430,6 +421,7 @@ public void paintText(SynthContext ss, Graphics g, String text, } if (text != null) { + View v = (View) c.getClientProperty(BasicHTML.propertyKey); if (v != null) { v.paint(g, paintTextR); } else { diff --git a/test/jdk/javax/swing/JButton/HtmlButtonImageTest/HtmlButtonImageTest.java b/test/jdk/javax/swing/JButton/HtmlButtonImageTest/HtmlButtonImageTest.java deleted file mode 100644 index 105f2376ae994..0000000000000 --- a/test/jdk/javax/swing/JButton/HtmlButtonImageTest/HtmlButtonImageTest.java +++ /dev/null @@ -1,145 +0,0 @@ -/* - * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. - * 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 8015854 - * @summary Tests HTML image as JButton text for unwanted padding - * @run main HtmlButtonImageTest - */ - -import java.awt.Color; -import java.awt.Dimension; -import java.awt.Graphics2D; -import java.awt.image.BufferedImage; -import java.io.File; -import java.io.IOException; -import java.nio.file.Path; - -import javax.imageio.ImageIO; -import javax.swing.JButton; -import javax.swing.SwingUtilities; -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; - -import static java.awt.image.BufferedImage.TYPE_INT_ARGB; - -public final class HtmlButtonImageTest { - private static JButton button; - private static Path testDir; - private static BufferedImage image; - - private static final int BUTTON_HEIGHT = 37; - private static final int BUTTON_WIDTH = 37; - private static final int SQUARE_HEIGHT = 19; - private static final int SQUARE_WIDTH = 19; - private static final int centerX = BUTTON_WIDTH / 2; - private static final int centerY = BUTTON_HEIGHT / 2; - private static final int minX = centerX - (SQUARE_WIDTH / 2); - private static final int minY = centerY - (SQUARE_HEIGHT / 2); - private static final int maxX = centerX + (SQUARE_WIDTH / 2); - private static final int maxY = centerY + (SQUARE_HEIGHT / 2); - - private static boolean supportedLaf; - private static int failCount = 0; - private static String currentLaf = new String(); - private static StringBuffer failedLafs = new StringBuffer(); - - - public static void main(String[] args) throws Exception { - testDir = Path.of(System.getProperty("test.classes", ".")); - generateRedSquare(); - - for (UIManager.LookAndFeelInfo laf : UIManager.getInstalledLookAndFeels()) { - SwingUtilities.invokeAndWait(() -> setLookAndFeel(laf)); - if(supportedLaf) { - currentLaf = laf.getName(); - SwingUtilities.invokeAndWait(HtmlButtonImageTest::createButton); - SwingUtilities.invokeAndWait(HtmlButtonImageTest::paintButton); - - testImageCentering(image.getRGB(centerX, centerY), - image.getRGB(minX, minY), - image.getRGB(minX, maxY), - image.getRGB(maxX, minY), - image.getRGB(maxX, maxY)); - } - } - - if(!failedLafs.isEmpty()) { - if(failCount > 1) { - failedLafs.setLength(failedLafs.length() - 2); - } - throw new RuntimeException("HTML image not centered in button " + - "for these L&F's: " + failedLafs); - } - } - - private static void generateRedSquare() throws IOException { - BufferedImage bImg = new BufferedImage(SQUARE_WIDTH, SQUARE_HEIGHT, - TYPE_INT_ARGB); - Graphics2D cg = bImg.createGraphics(); - cg.setColor(Color.RED); - cg.fillRect(0, 0, SQUARE_WIDTH, SQUARE_HEIGHT); - ImageIO.write(bImg, "png", new File(testDir + "/red_square.png")); - } - - private static void createButton() { - button = new JButton(); - button.setSize(new Dimension(BUTTON_WIDTH, BUTTON_HEIGHT)); - button.setText(""); - } - - private static void paintButton() { - image = new BufferedImage(BUTTON_HEIGHT, BUTTON_WIDTH, TYPE_INT_ARGB); - Graphics2D graphics2D = image.createGraphics(); - button.paint(graphics2D); - graphics2D.dispose(); - } - - private static boolean checkRedColor(int rgb) { - return (rgb == Color.RED.getRGB()); - } - - private static void testImageCentering(int... colors) throws IOException { - for (int c : colors) { - if (!checkRedColor(c)) { - failCount++; - ImageIO.write(image, "png", new File(testDir + "/fail_image_" + - currentLaf.replaceAll("[^\\w\\s]","") + ".png")); - failedLafs.append(currentLaf + ", "); - break; - } - } - } - - private static void setLookAndFeel(UIManager.LookAndFeelInfo laf) { - try { - UIManager.setLookAndFeel(laf.getClassName()); - supportedLaf = true; - } catch (UnsupportedLookAndFeelException | ClassNotFoundException | - InstantiationException | IllegalAccessException e) { - supportedLaf = false; - } - } -} From b0d145097cdc61e4bab19393a125e63aa3bc29b9 Mon Sep 17 00:00:00 2001 From: Brian Burkhalter Date: Tue, 5 Dec 2023 19:41:12 +0000 Subject: [PATCH 095/143] 8321053: Use ByteArrayInputStream.buf directly when parameter of transferTo() is trusted Reviewed-by: alanb --- .../classes/java/io/ByteArrayInputStream.java | 17 +++- .../TransferToTrusted.java | 92 +++++++++++++++++++ 2 files changed, 108 insertions(+), 1 deletion(-) create mode 100644 test/jdk/java/io/ByteArrayInputStream/TransferToTrusted.java diff --git a/src/java.base/share/classes/java/io/ByteArrayInputStream.java b/src/java.base/share/classes/java/io/ByteArrayInputStream.java index e3e755361b6b6..3ef30ebb3ab16 100644 --- a/src/java.base/share/classes/java/io/ByteArrayInputStream.java +++ b/src/java.base/share/classes/java/io/ByteArrayInputStream.java @@ -207,10 +207,25 @@ public int readNBytes(byte[] b, int off, int len) { public synchronized long transferTo(OutputStream out) throws IOException { int len = count - pos; if (len > 0) { + // 'tmpbuf' is null if and only if 'out' is trusted + byte[] tmpbuf; + Class outClass = out.getClass(); + if (outClass == ByteArrayOutputStream.class || + outClass == FileOutputStream.class || + outClass == PipedOutputStream.class) + tmpbuf = null; + else + tmpbuf = new byte[Integer.min(len, MAX_TRANSFER_SIZE)]; + int nwritten = 0; while (nwritten < len) { int nbyte = Integer.min(len - nwritten, MAX_TRANSFER_SIZE); - out.write(buf, pos, nbyte); + // if 'out' is not trusted, transfer via a temporary buffer + if (tmpbuf != null) { + System.arraycopy(buf, pos, tmpbuf, 0, nbyte); + out.write(tmpbuf, 0, nbyte); + } else + out.write(buf, pos, nbyte); pos += nbyte; nwritten += nbyte; } diff --git a/test/jdk/java/io/ByteArrayInputStream/TransferToTrusted.java b/test/jdk/java/io/ByteArrayInputStream/TransferToTrusted.java new file mode 100644 index 0000000000000..24b2209e814f0 --- /dev/null +++ b/test/jdk/java/io/ByteArrayInputStream/TransferToTrusted.java @@ -0,0 +1,92 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 8321053 + * @summary Verify ByteArrayInputStream.buf is used directly by + * ByteArrayInputStream.transferTo only when its OutputStream + * parameter is trusted + * @key randomness + */ + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.util.Arrays; +import java.util.Objects; +import java.util.Random; + +public class TransferToTrusted { + private static final Random RND = new Random(System.nanoTime()); + + private static class UntrustedOutputStream extends OutputStream { + UntrustedOutputStream() { + super(); + } + + @Override + public void write(byte[] b, int off, int len) throws IOException { + Objects.checkFromIndexSize(off, len, b.length); + byte[] tmp = new byte[len]; + RND.nextBytes(tmp); + System.arraycopy(tmp, 0, b, off, len); + } + + @Override + public void write(int b) throws IOException { + write(new byte[] {(byte)b}); + } + } + + public static void main(String[] args) throws IOException { + byte[] buf = new byte[RND.nextInt(1025)]; + System.out.println("buf.length: " + buf.length); + RND.nextBytes(buf); + byte[] dup = Arrays.copyOf(buf, buf.length); + + ByteArrayInputStream bais = new ByteArrayInputStream(dup); + bais.mark(dup.length); + + OutputStream[] outputStreams = new OutputStream[] { + new ByteArrayOutputStream(), + new UntrustedOutputStream() + }; + + for (OutputStream out : outputStreams) { + System.err.println("out: " + out.getClass().getName()); + + bais.transferTo(out); + bais.reset(); + try { + if (!Arrays.equals(buf, bais.readAllBytes())) + throw new RuntimeException("Internal buffer was modified"); + } finally { + out.close(); + } + bais.reset(); + } + } +} From 9e570105c30a6e462d08931e2010cef9cd5a6031 Mon Sep 17 00:00:00 2001 From: Jonathan Joo Date: Tue, 5 Dec 2023 19:43:25 +0000 Subject: [PATCH 096/143] 8315149: Add hsperf counters for CPU time of internal GC threads Co-authored-by: Man Cao Co-authored-by: Stefan Johansson Reviewed-by: simonis, manc, sjohanss --- src/hotspot/share/gc/g1/g1CollectedHeap.cpp | 28 ++++ src/hotspot/share/gc/g1/g1CollectedHeap.hpp | 1 + src/hotspot/share/gc/g1/g1ConcurrentMark.cpp | 2 + .../share/gc/g1/g1ConcurrentMarkThread.cpp | 15 ++ .../share/gc/g1/g1ConcurrentMarkThread.hpp | 3 + .../share/gc/g1/g1ConcurrentRefineThread.cpp | 17 ++- .../share/gc/g1/g1ConcurrentRefineThread.hpp | 10 ++ src/hotspot/share/gc/g1/g1ServiceThread.cpp | 10 ++ src/hotspot/share/gc/g1/g1ServiceThread.hpp | 3 + .../gc/parallel/parallelScavengeHeap.cpp | 25 ++++ .../gc/parallel/parallelScavengeHeap.hpp | 2 + .../stringdedup/stringDedupProcessor.cpp | 6 + src/hotspot/share/memory/universe.cpp | 4 + src/hotspot/share/runtime/cpuTimeCounters.cpp | 131 ++++++++++++++++++ src/hotspot/share/runtime/cpuTimeCounters.hpp | 114 +++++++++++++++ src/hotspot/share/runtime/perfData.cpp | 3 + src/hotspot/share/runtime/perfData.hpp | 3 + src/hotspot/share/runtime/vmThread.cpp | 8 ++ test/jdk/sun/tools/jcmd/TestGcCounters.java | 65 +++++++++ 19 files changed, 445 insertions(+), 5 deletions(-) create mode 100644 src/hotspot/share/runtime/cpuTimeCounters.cpp create mode 100644 src/hotspot/share/runtime/cpuTimeCounters.hpp create mode 100644 test/jdk/sun/tools/jcmd/TestGcCounters.java diff --git a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp index d3b6de9364689..a6233fa3c2672 100644 --- a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp +++ b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp @@ -103,6 +103,7 @@ #include "oops/compressedOops.inline.hpp" #include "oops/oop.inline.hpp" #include "runtime/atomic.hpp" +#include "runtime/cpuTimeCounters.hpp" #include "runtime/handles.inline.hpp" #include "runtime/init.hpp" #include "runtime/java.hpp" @@ -1433,6 +1434,11 @@ jint G1CollectedHeap::initialize() { evac_failure_injector()->reset(); + CPUTimeCounters::create_counter(CPUTimeGroups::CPUTimeType::gc_parallel_workers); + CPUTimeCounters::create_counter(CPUTimeGroups::CPUTimeType::gc_conc_mark); + CPUTimeCounters::create_counter(CPUTimeGroups::CPUTimeType::gc_conc_refine); + CPUTimeCounters::create_counter(CPUTimeGroups::CPUTimeType::gc_service); + G1InitLogger::print(); return JNI_OK; @@ -2224,6 +2230,8 @@ void G1CollectedHeap::gc_epilogue(bool full) { _free_arena_memory_task->notify_new_stats(&_young_gen_card_set_stats, &_collection_set_candidates_card_set_stats); + + update_parallel_gc_threads_cpu_time(); } uint G1CollectedHeap::uncommit_regions(uint region_limit) { @@ -2308,6 +2316,26 @@ void G1CollectedHeap::verify_region_attr_remset_is_tracked() { } #endif +void G1CollectedHeap::update_parallel_gc_threads_cpu_time() { + assert(Thread::current()->is_VM_thread(), + "Must be called from VM thread to avoid races"); + if (!UsePerfData || !os::is_thread_cpu_time_supported()) { + return; + } + + // Ensure ThreadTotalCPUTimeClosure destructor is called before publishing gc + // time. + { + ThreadTotalCPUTimeClosure tttc(CPUTimeGroups::CPUTimeType::gc_parallel_workers); + // Currently parallel worker threads never terminate (JDK-8081682), so it is + // safe for VMThread to read their CPU times. However, if JDK-8087340 is + // resolved so they terminate, we should rethink if it is still safe. + workers()->threads_do(&tttc); + } + + CPUTimeCounters::publish_gc_total_cpu_time(); +} + void G1CollectedHeap::start_new_collection_set() { collection_set()->start_incremental_building(); diff --git a/src/hotspot/share/gc/g1/g1CollectedHeap.hpp b/src/hotspot/share/gc/g1/g1CollectedHeap.hpp index ffe9321be6dba..9ae55501066c7 100644 --- a/src/hotspot/share/gc/g1/g1CollectedHeap.hpp +++ b/src/hotspot/share/gc/g1/g1CollectedHeap.hpp @@ -264,6 +264,7 @@ class G1CollectedHeap : public CollectedHeap { void set_collection_set_candidates_stats(G1MonotonicArenaMemoryStats& stats); void set_young_gen_card_set_stats(const G1MonotonicArenaMemoryStats& stats); + void update_parallel_gc_threads_cpu_time(); private: G1HRPrinter _hr_printer; diff --git a/src/hotspot/share/gc/g1/g1ConcurrentMark.cpp b/src/hotspot/share/gc/g1/g1ConcurrentMark.cpp index d925f59a212d8..78e1bec34381a 100644 --- a/src/hotspot/share/gc/g1/g1ConcurrentMark.cpp +++ b/src/hotspot/share/gc/g1/g1ConcurrentMark.cpp @@ -1336,6 +1336,8 @@ void G1ConcurrentMark::remark() { _remark_weak_ref_times.add((now - mark_work_end) * 1000.0); _remark_times.add((now - start) * 1000.0); + _g1h->update_parallel_gc_threads_cpu_time(); + policy->record_concurrent_mark_remark_end(); } diff --git a/src/hotspot/share/gc/g1/g1ConcurrentMarkThread.cpp b/src/hotspot/share/gc/g1/g1ConcurrentMarkThread.cpp index a04cea5e87b57..37e76a73fe79c 100644 --- a/src/hotspot/share/gc/g1/g1ConcurrentMarkThread.cpp +++ b/src/hotspot/share/gc/g1/g1ConcurrentMarkThread.cpp @@ -39,6 +39,7 @@ #include "gc/shared/suspendibleThreadSet.hpp" #include "logging/log.hpp" #include "memory/resourceArea.hpp" +#include "runtime/cpuTimeCounters.hpp" #include "runtime/handles.inline.hpp" #include "runtime/vmThread.hpp" #include "utilities/debug.hpp" @@ -134,6 +135,8 @@ void G1ConcurrentMarkThread::run_service() { concurrent_cycle_end(_state == FullMark && !_cm->has_aborted()); _vtime_accum = (os::elapsedVTime() - _vtime_start); + + update_threads_cpu_time(); } _cm->root_regions()->cancel_scan(); } @@ -169,6 +172,7 @@ bool G1ConcurrentMarkThread::phase_clear_cld_claimed_marks() { bool G1ConcurrentMarkThread::phase_scan_root_regions() { G1ConcPhaseTimer p(_cm, "Concurrent Scan Root Regions"); _cm->scan_root_regions(); + update_threads_cpu_time(); return _cm->has_aborted(); } @@ -228,6 +232,7 @@ bool G1ConcurrentMarkThread::subphase_delay_to_keep_mmu_before_remark() { bool G1ConcurrentMarkThread::subphase_remark() { ConcurrentGCBreakpoints::at("BEFORE MARKING COMPLETED"); + update_threads_cpu_time(); VM_G1PauseRemark op; VMThread::execute(&op); return _cm->has_aborted(); @@ -237,6 +242,7 @@ bool G1ConcurrentMarkThread::phase_rebuild_and_scrub() { ConcurrentGCBreakpoints::at("AFTER REBUILD STARTED"); G1ConcPhaseTimer p(_cm, "Concurrent Rebuild Remembered Sets and Scrub Regions"); _cm->rebuild_and_scrub(); + update_threads_cpu_time(); return _cm->has_aborted(); } @@ -336,3 +342,12 @@ void G1ConcurrentMarkThread::concurrent_cycle_end(bool mark_cycle_completed) { _cm->concurrent_cycle_end(mark_cycle_completed); ConcurrentGCBreakpoints::notify_active_to_idle(); } + +void G1ConcurrentMarkThread::update_threads_cpu_time() { + if (!UsePerfData || !os::is_thread_cpu_time_supported()) { + return; + } + ThreadTotalCPUTimeClosure tttc(CPUTimeGroups::CPUTimeType::gc_conc_mark); + tttc.do_thread(this); + _cm->threads_do(&tttc); +} diff --git a/src/hotspot/share/gc/g1/g1ConcurrentMarkThread.hpp b/src/hotspot/share/gc/g1/g1ConcurrentMarkThread.hpp index 37b4573afc0be..55655ac2c14ca 100644 --- a/src/hotspot/share/gc/g1/g1ConcurrentMarkThread.hpp +++ b/src/hotspot/share/gc/g1/g1ConcurrentMarkThread.hpp @@ -108,6 +108,9 @@ class G1ConcurrentMarkThread: public ConcurrentGCThread { bool in_progress() const; bool in_undo_mark() const; + + // Update the perf data counter for concurrent mark. + void update_threads_cpu_time(); }; #endif // SHARE_GC_G1_G1CONCURRENTMARKTHREAD_HPP diff --git a/src/hotspot/share/gc/g1/g1ConcurrentRefineThread.cpp b/src/hotspot/share/gc/g1/g1ConcurrentRefineThread.cpp index 5278fc2861a00..ed69ac08d1bf0 100644 --- a/src/hotspot/share/gc/g1/g1ConcurrentRefineThread.cpp +++ b/src/hotspot/share/gc/g1/g1ConcurrentRefineThread.cpp @@ -30,6 +30,7 @@ #include "gc/g1/g1DirtyCardQueue.hpp" #include "gc/shared/suspendibleThreadSet.hpp" #include "logging/log.hpp" +#include "runtime/cpuTimeCounters.hpp" #include "runtime/mutexLocker.hpp" #include "runtime/os.hpp" #include "runtime/thread.hpp" @@ -74,11 +75,7 @@ void G1ConcurrentRefineThread::run_service() { } } report_inactive("Deactivated", _refinement_stats - active_stats_start); - if (os::supports_vtime()) { - _vtime_accum = (os::elapsedVTime() - _vtime_start); - } else { - _vtime_accum = 0.0; - } + track_usage(); } log_debug(gc, refine)("Stopping %d", _worker_id); @@ -137,6 +134,7 @@ class G1PrimaryConcurrentRefineThread final : public G1ConcurrentRefineThread { bool wait_for_completed_buffers() override; bool maybe_deactivate() override; void do_refinement_step() override; + void track_usage() override; public: G1PrimaryConcurrentRefineThread(G1ConcurrentRefine* cr) : @@ -182,6 +180,15 @@ void G1PrimaryConcurrentRefineThread::do_refinement_step() { } } +void G1PrimaryConcurrentRefineThread::track_usage() { + G1ConcurrentRefineThread::track_usage(); + // The primary thread is responsible for updating the CPU time for all workers. + if (UsePerfData && os::is_thread_cpu_time_supported()) { + ThreadTotalCPUTimeClosure tttc(CPUTimeGroups::CPUTimeType::gc_conc_refine); + cr()->threads_do(&tttc); + } +} + class G1SecondaryConcurrentRefineThread final : public G1ConcurrentRefineThread { bool wait_for_completed_buffers() override; void do_refinement_step() override; diff --git a/src/hotspot/share/gc/g1/g1ConcurrentRefineThread.hpp b/src/hotspot/share/gc/g1/g1ConcurrentRefineThread.hpp index 623bf05acc998..0711b61b194fb 100644 --- a/src/hotspot/share/gc/g1/g1ConcurrentRefineThread.hpp +++ b/src/hotspot/share/gc/g1/g1ConcurrentRefineThread.hpp @@ -71,6 +71,16 @@ class G1ConcurrentRefineThread: public ConcurrentGCThread { // precondition: this is the current thread. virtual void do_refinement_step() = 0; + // Update concurrent refine threads stats. + // If we are in Primary thread, we additionally update CPU time tracking. + virtual void track_usage() { + if (os::supports_vtime()) { + _vtime_accum = (os::elapsedVTime() - _vtime_start); + } else { + _vtime_accum = 0.0; + } + }; + // Helper for do_refinement_step implementations. Try to perform some // refinement work, limited by stop_at. Returns true if any refinement work // was performed, false if no work available per stop_at. diff --git a/src/hotspot/share/gc/g1/g1ServiceThread.cpp b/src/hotspot/share/gc/g1/g1ServiceThread.cpp index 8cda065f047c0..655220c349bbd 100644 --- a/src/hotspot/share/gc/g1/g1ServiceThread.cpp +++ b/src/hotspot/share/gc/g1/g1ServiceThread.cpp @@ -25,6 +25,7 @@ #include "precompiled.hpp" #include "gc/g1/g1ServiceThread.hpp" #include "logging/log.hpp" +#include "runtime/cpuTimeCounters.hpp" #include "runtime/mutexLocker.hpp" #include "runtime/timer.hpp" #include "runtime/os.hpp" @@ -130,6 +131,8 @@ void G1ServiceThread::run_task(G1ServiceTask* task) { task->execute(); + update_thread_cpu_time(); + log_debug(gc, task)("G1 Service Thread (%s) (run: %1.3fms) (cpu: %1.3fms)", task->name(), TimeHelper::counter_to_millis(os::elapsed_counter() - start), @@ -151,6 +154,13 @@ void G1ServiceThread::stop_service() { ml.notify(); } +void G1ServiceThread::update_thread_cpu_time() { + if (UsePerfData && os::is_thread_cpu_time_supported()) { + ThreadTotalCPUTimeClosure tttc(CPUTimeGroups::CPUTimeType::gc_service); + tttc.do_thread(this); + } +} + G1ServiceTask::G1ServiceTask(const char* name) : _time(), _name(name), diff --git a/src/hotspot/share/gc/g1/g1ServiceThread.hpp b/src/hotspot/share/gc/g1/g1ServiceThread.hpp index b51bf0baa9e40..cfa7abb6552c9 100644 --- a/src/hotspot/share/gc/g1/g1ServiceThread.hpp +++ b/src/hotspot/share/gc/g1/g1ServiceThread.hpp @@ -120,6 +120,9 @@ class G1ServiceThread: public ConcurrentGCThread { // to schedule a registered task to run after the given delay. void schedule(G1ServiceTask* task, jlong delay, bool notify); + // Update the perf data counter for service thread. + void update_thread_cpu_time(); + public: G1ServiceThread(); diff --git a/src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp b/src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp index 190e01d96740d..748a5658843b0 100644 --- a/src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp +++ b/src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp @@ -49,6 +49,7 @@ #include "memory/universe.hpp" #include "nmt/memTracker.hpp" #include "oops/oop.inline.hpp" +#include "runtime/cpuTimeCounters.hpp" #include "runtime/handles.inline.hpp" #include "runtime/java.hpp" #include "runtime/vmThread.hpp" @@ -127,6 +128,9 @@ jint ParallelScavengeHeap::initialize() { return JNI_ENOMEM; } + // Create CPU time counter + CPUTimeCounters::create_counter(CPUTimeGroups::CPUTimeType::gc_parallel_workers); + ParallelInitLogger::print(); return JNI_OK; @@ -192,6 +196,7 @@ void ParallelScavengeHeap::update_counters() { young_gen()->update_counters(); old_gen()->update_counters(); MetaspaceCounters::update_performance_counters(); + update_parallel_worker_threads_cpu_time(); } size_t ParallelScavengeHeap::capacity() const { @@ -884,3 +889,23 @@ void ParallelScavengeHeap::pin_object(JavaThread* thread, oop obj) { void ParallelScavengeHeap::unpin_object(JavaThread* thread, oop obj) { GCLocker::unlock_critical(thread); } + +void ParallelScavengeHeap::update_parallel_worker_threads_cpu_time() { + assert(Thread::current()->is_VM_thread(), + "Must be called from VM thread to avoid races"); + if (!UsePerfData || !os::is_thread_cpu_time_supported()) { + return; + } + + // Ensure ThreadTotalCPUTimeClosure destructor is called before publishing gc + // time. + { + ThreadTotalCPUTimeClosure tttc(CPUTimeGroups::CPUTimeType::gc_parallel_workers); + // Currently parallel worker threads in GCTaskManager never terminate, so it + // is safe for VMThread to read their CPU times. If upstream changes this + // behavior, we should rethink if it is still safe. + gc_threads_do(&tttc); + } + + CPUTimeCounters::publish_gc_total_cpu_time(); +} diff --git a/src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp b/src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp index abf87b0e01900..d30effd5e5bd4 100644 --- a/src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp +++ b/src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp @@ -101,6 +101,8 @@ class ParallelScavengeHeap : public CollectedHeap { // Allocate in oldgen and record the allocation with the size_policy. HeapWord* allocate_old_gen_and_record(size_t word_size); + void update_parallel_worker_threads_cpu_time(); + protected: HeapWord* allocate_new_tlab(size_t min_size, size_t requested_size, size_t* actual_size) override; diff --git a/src/hotspot/share/gc/shared/stringdedup/stringDedupProcessor.cpp b/src/hotspot/share/gc/shared/stringdedup/stringDedupProcessor.cpp index 163800e9abf97..23311a2868d02 100644 --- a/src/hotspot/share/gc/shared/stringdedup/stringDedupProcessor.cpp +++ b/src/hotspot/share/gc/shared/stringdedup/stringDedupProcessor.cpp @@ -38,6 +38,7 @@ #include "memory/iterator.hpp" #include "oops/access.inline.hpp" #include "runtime/atomic.hpp" +#include "runtime/cpuTimeCounters.hpp" #include "runtime/interfaceSupport.inline.hpp" #include "runtime/mutexLocker.hpp" #include "utilities/debug.hpp" @@ -64,6 +65,7 @@ StringDedup::Processor::Processor() : _thread(nullptr) {} void StringDedup::Processor::initialize() { _processor = new Processor(); + CPUTimeCounters::create_counter(CPUTimeGroups::CPUTimeType::conc_dedup); } void StringDedup::Processor::wait_for_requests() const { @@ -187,6 +189,10 @@ void StringDedup::Processor::run(JavaThread* thread) { cleanup_table(false /* grow_only */, StringDeduplicationResizeALot /* force */); _cur_stat.report_active_end(); log_statistics(); + if (UsePerfData && os::is_thread_cpu_time_supported()) { + ThreadTotalCPUTimeClosure tttc(CPUTimeGroups::CPUTimeType::conc_dedup); + tttc.do_thread(thread); + } } } diff --git a/src/hotspot/share/memory/universe.cpp b/src/hotspot/share/memory/universe.cpp index 21601a9303795..25ec68cf8fec5 100644 --- a/src/hotspot/share/memory/universe.cpp +++ b/src/hotspot/share/memory/universe.cpp @@ -68,6 +68,7 @@ #include "prims/resolvedMethodTable.hpp" #include "runtime/arguments.hpp" #include "runtime/atomic.hpp" +#include "runtime/cpuTimeCounters.hpp" #include "runtime/flags/jvmFlagLimit.hpp" #include "runtime/handles.inline.hpp" #include "runtime/init.hpp" @@ -781,6 +782,9 @@ jint universe_init() { GCLogPrecious::initialize(); + // Initialize CPUTimeCounters object, which must be done before creation of the heap. + CPUTimeCounters::initialize(); + #ifdef _LP64 MetaspaceShared::adjust_heap_sizes_for_dumping(); #endif // _LP64 diff --git a/src/hotspot/share/runtime/cpuTimeCounters.cpp b/src/hotspot/share/runtime/cpuTimeCounters.cpp new file mode 100644 index 0000000000000..8e96d04489193 --- /dev/null +++ b/src/hotspot/share/runtime/cpuTimeCounters.cpp @@ -0,0 +1,131 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2023 Google LLC. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + * + */ + +#include "precompiled.hpp" +#include "runtime/cpuTimeCounters.hpp" +#include "runtime/atomic.hpp" + +const char* CPUTimeGroups::to_string(CPUTimeType val) { + switch (val) { + case CPUTimeType::gc_total: + return "total_gc_cpu_time"; + case CPUTimeType::gc_parallel_workers: + return "gc_parallel_workers"; + case CPUTimeType::gc_conc_mark: + return "gc_conc_mark"; + case CPUTimeType::gc_conc_refine: + return "gc_conc_refine"; + case CPUTimeType::gc_service: + return "gc_service"; + case CPUTimeType::vm: + return "vm"; + case CPUTimeType::conc_dedup: + return "conc_dedup"; + default: + ShouldNotReachHere(); + return ""; + }; +} + +bool CPUTimeGroups::is_gc_counter(CPUTimeType val) { + switch (val) { + case CPUTimeType::gc_parallel_workers: + case CPUTimeType::gc_conc_mark: + case CPUTimeType::gc_conc_refine: + case CPUTimeType::gc_service: + return true; + default: + return false; + } + ShouldNotReachHere(); +} + +CPUTimeCounters* CPUTimeCounters::_instance = nullptr; + +CPUTimeCounters::CPUTimeCounters() : + _cpu_time_counters(), + _gc_total_cpu_time_diff(0) { +} + +void CPUTimeCounters::inc_gc_total_cpu_time(jlong diff) { + CPUTimeCounters* instance = CPUTimeCounters::get_instance(); + Atomic::add(&(instance->_gc_total_cpu_time_diff), diff); +} + +void CPUTimeCounters::publish_gc_total_cpu_time() { + CPUTimeCounters* instance = CPUTimeCounters::get_instance(); + // Ensure that we are only incrementing atomically by using Atomic::cmpxchg + // to set the value to zero after we obtain the new CPU time difference. + jlong old_value; + jlong fetched_value = Atomic::load(&(instance->_gc_total_cpu_time_diff)); + jlong new_value = 0; + do { + old_value = fetched_value; + fetched_value = Atomic::cmpxchg(&(instance->_gc_total_cpu_time_diff), old_value, new_value); + } while (old_value != fetched_value); + get_counter(CPUTimeGroups::CPUTimeType::gc_total)->inc(fetched_value); +} + +void CPUTimeCounters::create_counter(CounterNS ns, CPUTimeGroups::CPUTimeType name) { + if (UsePerfData && os::is_thread_cpu_time_supported()) { + EXCEPTION_MARK; + CPUTimeCounters* instance = CPUTimeCounters::get_instance(); + instance->_cpu_time_counters[static_cast(name)] = + PerfDataManager::create_counter(ns, CPUTimeGroups::to_string(name), + PerfData::U_Ticks, CHECK); + } +} + +void CPUTimeCounters::create_counter(CPUTimeGroups::CPUTimeType group) { + CPUTimeCounters::create_counter(SUN_THREADS_CPUTIME, group); +} + +PerfCounter* CPUTimeCounters::get_counter(CPUTimeGroups::CPUTimeType name) { + return CPUTimeCounters::get_instance()->_cpu_time_counters[static_cast(name)]; +} + +void CPUTimeCounters::update_counter(CPUTimeGroups::CPUTimeType name, jlong total) { + CPUTimeCounters* instance = CPUTimeCounters::get_instance(); + PerfCounter* counter = instance->get_counter(name); + jlong prev_value = counter->get_value(); + jlong net_cpu_time = total - prev_value; + counter->inc(net_cpu_time); + if (CPUTimeGroups::is_gc_counter(name)) { + instance->inc_gc_total_cpu_time(net_cpu_time); + } +} + +ThreadTotalCPUTimeClosure::~ThreadTotalCPUTimeClosure() { + CPUTimeCounters::update_counter(_name, _total); +} + +void ThreadTotalCPUTimeClosure::do_thread(Thread* thread) { + // The default code path (fast_thread_cpu_time()) asserts that + // pthread_getcpuclockid() and clock_gettime() must return 0. Thus caller + // must ensure the thread exists and has not terminated. + _total += os::thread_cpu_time(thread); +} + + diff --git a/src/hotspot/share/runtime/cpuTimeCounters.hpp b/src/hotspot/share/runtime/cpuTimeCounters.hpp new file mode 100644 index 0000000000000..3137caf43592e --- /dev/null +++ b/src/hotspot/share/runtime/cpuTimeCounters.hpp @@ -0,0 +1,114 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2023 Google LLC. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + * + */ + + +#ifndef SHARE_RUNTIME_CPUTIMECOUNTERS_HPP +#define SHARE_RUNTIME_CPUTIMECOUNTERS_HPP + + +#include "memory/iterator.hpp" +#include "runtime/os.hpp" +#include "runtime/perfData.hpp" +#include "runtime/perfDataTypes.hpp" + +class CPUTimeGroups : public AllStatic { +public: + enum class CPUTimeType { + gc_total, + gc_parallel_workers, + gc_conc_mark, + gc_conc_refine, + gc_service, + vm, + conc_dedup, + COUNT, + }; + + static const char* to_string(CPUTimeType val); + static bool is_gc_counter(CPUTimeType val); +}; + +class CPUTimeCounters: public CHeapObj { +private: + // CPUTimeCounters is a singleton instance. + CPUTimeCounters(); + NONCOPYABLE(CPUTimeCounters); + + static CPUTimeCounters* _instance; + + // An array of PerfCounters which correspond to the various counters we want + // to track. Indexed by the enum value `CPUTimeType`. + PerfCounter* _cpu_time_counters[static_cast(CPUTimeGroups::CPUTimeType::COUNT)]; + + // A long which atomically tracks how much CPU time has been spent doing GC + // since the last time we called `publish_total_cpu_time()`. + // It is incremented using Atomic::add() to prevent race conditions, and + // is added to the `gc_total` CPUTimeType at the end of GC. + volatile jlong _gc_total_cpu_time_diff; + + static void create_counter(CounterNS ns, CPUTimeGroups::CPUTimeType name); + + static CPUTimeCounters* get_instance() { + assert(_instance != nullptr, "no instance found"); + return _instance; + } + + static void inc_gc_total_cpu_time(jlong diff); + +public: + static void initialize() { + assert(_instance == nullptr, "we can only allocate one CPUTimeCounters object"); + if (UsePerfData && os::is_thread_cpu_time_supported()) { + _instance = new CPUTimeCounters(); + create_counter(SUN_THREADS, CPUTimeGroups::CPUTimeType::gc_total); + } + } + + static void create_counter(CPUTimeGroups::CPUTimeType name); + static PerfCounter* get_counter(CPUTimeGroups::CPUTimeType name); + static void update_counter(CPUTimeGroups::CPUTimeType name, jlong total); + + static void publish_gc_total_cpu_time(); +}; + +// Class to compute the total CPU time for a set of threads, then update an +// hsperfdata counter. +class ThreadTotalCPUTimeClosure: public ThreadClosure { + private: + jlong _total; + CPUTimeGroups::CPUTimeType _name; + + public: + ThreadTotalCPUTimeClosure(CPUTimeGroups::CPUTimeType name) + : _total(0), _name(name) { + assert(os::is_thread_cpu_time_supported(), "os must support cpu time"); + } + + ~ThreadTotalCPUTimeClosure(); + + virtual void do_thread(Thread* thread); +}; + +#endif // SHARE_RUNTIME_CPUTIMECOUNTERS_HPP diff --git a/src/hotspot/share/runtime/perfData.cpp b/src/hotspot/share/runtime/perfData.cpp index e2549a11f10ea..b195274dc016c 100644 --- a/src/hotspot/share/runtime/perfData.cpp +++ b/src/hotspot/share/runtime/perfData.cpp @@ -73,6 +73,9 @@ const char* PerfDataManager::_name_spaces[] = { "java.threads", // Threads System name spaces "com.sun.threads", "sun.threads", + "java.threads.cpu_time", //Thread CPU time name spaces + "com.sun.threads.cpu_time", + "sun.threads.cpu_time", "java.property", // Java Property name spaces "com.sun.property", "sun.property", diff --git a/src/hotspot/share/runtime/perfData.hpp b/src/hotspot/share/runtime/perfData.hpp index 968e0813bdbc3..103e2698d9b9e 100644 --- a/src/hotspot/share/runtime/perfData.hpp +++ b/src/hotspot/share/runtime/perfData.hpp @@ -61,6 +61,9 @@ enum CounterNS { JAVA_THREADS, // Threads System name spaces COM_THREADS, SUN_THREADS, + JAVA_THREADS_CPUTIME, // Thread CPU time name spaces + COM_THREADS_CPUTIME, + SUN_THREADS_CPUTIME, JAVA_PROPERTY, // Java Property name spaces COM_PROPERTY, SUN_PROPERTY, diff --git a/src/hotspot/share/runtime/vmThread.cpp b/src/hotspot/share/runtime/vmThread.cpp index 29d8610e6ee96..846bbffe1061f 100644 --- a/src/hotspot/share/runtime/vmThread.cpp +++ b/src/hotspot/share/runtime/vmThread.cpp @@ -35,6 +35,7 @@ #include "oops/oop.inline.hpp" #include "oops/verifyOopClosure.hpp" #include "runtime/atomic.hpp" +#include "runtime/cpuTimeCounters.hpp" #include "runtime/handles.inline.hpp" #include "runtime/interfaceSupport.inline.hpp" #include "runtime/javaThread.inline.hpp" @@ -136,6 +137,7 @@ void VMThread::create() { _perf_accumulated_vm_operation_time = PerfDataManager::create_counter(SUN_THREADS, "vmOperationTime", PerfData::U_Ticks, CHECK); + CPUTimeCounters::create_counter(CPUTimeGroups::CPUTimeType::vm); } } @@ -288,6 +290,12 @@ void VMThread::evaluate_operation(VM_Operation* op) { op->evaluate_at_safepoint() ? 0 : 1); } + if (UsePerfData && os::is_thread_cpu_time_supported()) { + assert(Thread::current() == this, "Must be called from VM thread"); + // Update vm_thread_cpu_time after each VM operation. + ThreadTotalCPUTimeClosure tttc(CPUTimeGroups::CPUTimeType::vm); + tttc.do_thread(this); + } } class HandshakeALotClosure : public HandshakeClosure { diff --git a/test/jdk/sun/tools/jcmd/TestGcCounters.java b/test/jdk/sun/tools/jcmd/TestGcCounters.java new file mode 100644 index 0000000000000..3beb476c60820 --- /dev/null +++ b/test/jdk/sun/tools/jcmd/TestGcCounters.java @@ -0,0 +1,65 @@ +/* + * Copyright 2023 Alphabet LLC. All Rights Reserved. + * 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 8315149 + * @summary Unit test to ensure CPU hsperf counters are published. + * @requires vm.gc.G1 + * + * @library /test/lib + * + * @run main/othervm -XX:+UsePerfData -XX:+UseStringDeduplication TestGcCounters + */ + +import static jdk.test.lib.Asserts.*; + +import jdk.test.lib.process.OutputAnalyzer; + +public class TestGcCounters { + + private static final String SUN_THREADS = "sun.threads"; + private static final String SUN_THREADS_CPUTIME = "sun.threads.cpu_time"; + + public static void main(String[] args) throws Exception { + testGcCpuCountersExist(); + } + + + /** + * jcmd -J-XX:+UsePerfData pid PerfCounter.print + */ + private static void testGcCpuCountersExist() throws Exception { + OutputAnalyzer output = JcmdBase.jcmd(new String[] {"PerfCounter.print"}); + + output.shouldHaveExitValue(0); + output.shouldContain(SUN_THREADS + ".total_gc_cpu_time"); + output.shouldContain(SUN_THREADS_CPUTIME + ".gc_conc_mark"); + output.shouldContain(SUN_THREADS_CPUTIME + ".gc_conc_refine"); + output.shouldContain(SUN_THREADS_CPUTIME + ".gc_service"); + output.shouldContain(SUN_THREADS_CPUTIME + ".gc_parallel_workers"); + output.shouldContain(SUN_THREADS_CPUTIME + ".vm"); + output.shouldContain(SUN_THREADS_CPUTIME + ".conc_dedup"); + } +} + From c8fa7581006183d0dabe902c40ab8d7304dfd002 Mon Sep 17 00:00:00 2001 From: David Holmes Date: Tue, 5 Dec 2023 21:48:31 +0000 Subject: [PATCH 097/143] 8320860: add-opens/add-exports require '=' in JAVA_TOOL_OPTIONS Reviewed-by: sspitsyn, alanb --- src/hotspot/share/prims/jvmti.xml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/hotspot/share/prims/jvmti.xml b/src/hotspot/share/prims/jvmti.xml index a34a6b34573c3..9954a6a27095a 100644 --- a/src/hotspot/share/prims/jvmti.xml +++ b/src/hotspot/share/prims/jvmti.xml @@ -742,7 +742,11 @@ Agent_OnUnload_L(JavaVM *vm)

  • The pair of quote marks is not included in the option.
  • JNI_CreateJavaVM (in the JNI Invocation API) will prepend these options to the options supplied - in its JavaVMInitArgs argument. Platforms may disable this feature in cases where security is + in its JavaVMInitArgs argument. Note that module related options must be expressed in their + "option=value" format (note the required '=' between "option" and "value") for JNI_CreateJavaVM + to process them correctly. +

    + Platforms may disable this feature in cases where security is a concern; for example, the Reference Implementation disables this feature on Unix systems when the effective user or group ID differs from the real ID. This feature is intended to support the initialization of tools -- specifically including the @@ -11035,7 +11039,7 @@ myInit() { vs ). An implementation is not required to support this function - when the current thread is a virtual thread, in which case + when the current thread is a virtual thread, in which case will be returned. On many platforms this call will be equivalent to: From 430564cf8882e9acf86a193eb76030c6254f798c Mon Sep 17 00:00:00 2001 From: Pavel Rappo Date: Tue, 5 Dec 2023 22:09:05 +0000 Subject: [PATCH 098/143] 8308715: Create a mechanism for Implicitly Declared Class javadoc Reviewed-by: jjg --- .../internal/doclets/toolkit/WorkArounds.java | 6 + .../jdk/javadoc/internal/doclint/Checker.java | 14 +- .../javadoc/internal/tool/ElementsTable.java | 11 +- src/jdk.javadoc/share/man/javadoc.1 | 15 +- .../TestImplicitlyDeclaredClasses.java | 199 ++++++++++++++++++ 5 files changed, 238 insertions(+), 7 deletions(-) create mode 100644 test/langtools/jdk/javadoc/doclet/testImplicitlyDeclaredClasses/TestImplicitlyDeclaredClasses.java diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java index 64fcec60b4958..3f4bd418b05e5 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java @@ -423,4 +423,10 @@ public boolean accessInternalAPI() { return Map.of(); } + /* + * If a similar query is ever added to javax.lang.model, use that instead. + */ + public static boolean isImplicitlyDeclaredClass(Element e) { + return e instanceof ClassSymbol c && c.isImplicit(); + } } diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Checker.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Checker.java index 871acd26ec3ab..7bc6336990330 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Checker.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Checker.java @@ -192,7 +192,8 @@ public Void scan(DocCommentTree tree, TreePath p) { if (isNormalClass(p.getParentPath())) { reportMissing("dc.default.constructor"); } - } else if (!isOverridingMethod && !isSynthetic() && !isAnonymous() && !isRecordComponentOrField()) { + } else if (!isOverridingMethod && !isSynthetic() && !isAnonymous() && !isRecordComponentOrField() + && !isImplicitlyDeclaredClass(env.currPath.getLeaf())) { reportMissing("dc.missing.comment"); } return null; @@ -1275,11 +1276,20 @@ private boolean isRecordComponentOrField() { private boolean isNormalClass(TreePath p) { return switch (p.getLeaf().getKind()) { case ENUM, RECORD -> false; - case CLASS -> true; + case CLASS -> !isImplicitlyDeclaredClass(p.getLeaf()); default -> throw new IllegalArgumentException(p.getLeaf().getKind().name()); }; } + /* + * If a similar query is ever added to com.sun.source.tree, use that instead. + */ + private boolean isImplicitlyDeclaredClass(Tree t) { + return t.getKind() == Tree.Kind.CLASS + && t instanceof com.sun.tools.javac.tree.JCTree.JCClassDecl classDecl + && (classDecl.mods.flags & com.sun.tools.javac.code.Flags.IMPLICIT_CLASS) != 0; + } + void markEnclosingTag(Flag flag) { TagStackItem top = tagStack.peek(); if (top != null) diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ElementsTable.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ElementsTable.java index b0a6b4dfdf44f..59e5b9ccc0499 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ElementsTable.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ElementsTable.java @@ -73,6 +73,7 @@ import com.sun.tools.javac.util.Names; import jdk.javadoc.doclet.DocletEnvironment; import jdk.javadoc.doclet.DocletEnvironment.ModuleMode; +import jdk.javadoc.internal.doclets.toolkit.WorkArounds; import static com.sun.tools.javac.code.Scope.LookupKind.NON_RECURSIVE; @@ -993,7 +994,7 @@ public boolean isSelected(Element e) { visibleElementVisitor = new SimpleElementVisitor14<>() { @Override public Boolean visitType(TypeElement e, Void p) { - if (!accessFilter.checkModifier(e)) { + if (!accessFilter.checkModifier(e) && !WorkArounds.isImplicitlyDeclaredClass(e)) { return false; // it is not allowed } Element encl = e.getEnclosingElement(); @@ -1012,7 +1013,13 @@ public Boolean visitType(TypeElement e, Void p) { @Override protected Boolean defaultAction(Element e, Void p) { - return accessFilter.checkModifier(e); + if (accessFilter.checkModifier(e)) { + return true; + } else { + return WorkArounds.isImplicitlyDeclaredClass(e.getEnclosingElement()) + && e.getKind() != ElementKind.CONSTRUCTOR /* nothing interesting in that ctor */ + && AccessLevel.of(e.getModifiers()).compareTo(AccessLevel.PACKAGE) >= 0; + } } @Override diff --git a/src/jdk.javadoc/share/man/javadoc.1 b/src/jdk.javadoc/share/man/javadoc.1 index 406c09b9efdaa..ad119c1dca3ee 100644 --- a/src/jdk.javadoc/share/man/javadoc.1 +++ b/src/jdk.javadoc/share/man/javadoc.1 @@ -84,9 +84,9 @@ options, package names, and source file names in any order. The \f[V]javadoc\f[R] tool parses the declarations and documentation comments in a set of Java source files and produces corresponding HTML pages that describe (by default) the public and protected classes, -nested and unnamed classes (but not anonymous inner classes), -interfaces, constructors, methods, and fields. -You can use the\f[V]javadoc\f[R] tool to generate the API documentation +nested and implicitly declared classes (but not anonymous inner +classes), interfaces, constructors, methods, and fields. +You can use the \f[V]javadoc\f[R] tool to generate the API documentation or the implementation documentation for a set of source files. .PP You can run the \f[V]javadoc\f[R] tool on entire packages, individual @@ -421,6 +421,15 @@ Prints version information. .TP \f[V]-Werror\f[R] Reports an error if any warnings occur. +.PP +Note that if a Java source file contains an implicitly declared class, +then that class and its public, protected, and package members will be +documented regardless of the options such as \f[V]--show-types\f[R], +\f[V]--show-members\f[R], \f[V]-private\f[R], \f[V]-protected\f[R], +\f[V]-package\f[R], and \f[V]-public\f[R]. +If \f[V]--show-members\f[R] is specified with value \f[V]private\f[R] or +if \f[V]-private\f[R] is used then all private members of an implicitly +declared class will be documented too. .SS Extra \f[V]javadoc\f[R] Options .PP \f[I]Note:\f[R] The additional options for \f[V]javadoc\f[R] are subject diff --git a/test/langtools/jdk/javadoc/doclet/testImplicitlyDeclaredClasses/TestImplicitlyDeclaredClasses.java b/test/langtools/jdk/javadoc/doclet/testImplicitlyDeclaredClasses/TestImplicitlyDeclaredClasses.java new file mode 100644 index 0000000000000..20cd55e07bcca --- /dev/null +++ b/test/langtools/jdk/javadoc/doclet/testImplicitlyDeclaredClasses/TestImplicitlyDeclaredClasses.java @@ -0,0 +1,199 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 8308715 + * @library /tools/lib ../../lib + * @modules jdk.compiler/com.sun.tools.javac.api + * jdk.compiler/com.sun.tools.javac.main + * jdk.javadoc/jdk.javadoc.internal.tool + * @build javadoc.tester.* toolbox.ToolBox toolbox.ModuleBuilder builder.ClassBuilder + * @run main/othervm TestImplicitlyDeclaredClasses + */ + +import java.io.IOException; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.EnumSet; +import java.util.List; +import java.util.regex.Pattern; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import javadoc.tester.JavadocTester; +import toolbox.ToolBox; + +public class TestImplicitlyDeclaredClasses extends JavadocTester { + + private final ToolBox tb = new ToolBox(); + + public static void main(String... args) throws Exception { + new TestImplicitlyDeclaredClasses().runTests(); + } + + @Test + public void test(Path base) throws IOException { + int i = 0; + for (Method main : mainMethods()) + for (Method otherMethod : otherMethods()) { + var methods = List.of(main, otherMethod); + var index = String.valueOf(i++); + var src = base.resolve(Path.of("src-" + index, "MyClass.java")); + tb.writeFile(src, methods.stream() + .map(Object::toString) + .collect(Collectors.joining("\n"))); + // TODO: remove preview-related options once "Implicitly Declared + // Classes and Instance Main Methods" has been standardized + javadoc("--enable-preview", "--source=22", + "-d", base.resolve("out-" + index).toString(), + src.toString()); + + checkExit(Exit.OK); + // there must be no warning on undocumented (default) constructor + checkOutput(Output.OUT, false, """ + warning: use of default constructor, which does not provide a comment"""); + // the (default) constructor must neither be linked nor mentioned + checkOutput("MyClass.html", false, "%3Cinit%3E"); + checkOutput("MyClass.html", false, "Constructor"); + // a method that is public, protected or declared with package + // access must either be documented or, if it doesn't have a + // comment, must be warned about + int nWarnedMethods = 0; + for (var m : methods) { + if (m.accessModifier.compareTo(Access.PACKAGE) >= 0) { + if (m.comment.isEmpty()) { + checkOutput(Output.OUT, true, "warning: no comment\n" + m); + nWarnedMethods++; + } else { + checkOutput("MyClass.html", true, + """ + %s""" + .formatted(m.returnValue), + """ + %s""" + .formatted(m.name)); + } + } + } + // there must be no warning on uncommented implicitly declared class + // + // Here's a non-obvious part. A warning message for an uncommented + // class is the same as that of a method. Moreover, since the class + // is implicit, its AST position is that of the first method. + // + // Put differently, if the class is uncommented, the warning about + // it is indistinguishable from that of the first method, if that + // method is uncommented. + // + // Here's how this check works: if an undocumented class warning + // is present, then the total count of undocumented element warnings + // is one greater than that of undocumented methods. + // + // Of course, it's possible, although seemingly unlikely, that + // this check passes, when it should fail: the warning for class + // is generated, but the warning for the first method is not. + // Numbers are equal, test passes. + checking("uncommented class warning"); + long all = Pattern.compile("warning: no comment") + .matcher(getOutput(Output.OUT)) + .results() + .count(); + if (all != nWarnedMethods) { + failed("%d/%d".formatted(all, nWarnedMethods)); + } else { + passed(""); + } + } + } + + private Iterable mainMethods() { + return generate( + List.of("/** main comment */", ""), + // adding PRIVATE will increase test output size and run time + EnumSet.of(Access.PUBLIC, Access.PROTECTED, Access.PACKAGE), + // adding final will increase test output size and run time + List.of("static", ""), + List.of("void"), + "main", + List.of("String[] args", "") + ); + } + + private Iterable otherMethods() { + return generate( + List.of("/** other comment */", ""), + // adding PROTECTED or PUBLIC will increase test output size and run time + EnumSet.of(Access.PACKAGE, Access.PRIVATE), + // adding final or static will increase test output size and run time + List.of(""), + List.of("void"), + "other", + List.of("")); + } + + private Iterable generate(Iterable comments, + Iterable accessModifiers, + Iterable otherModifiers, + Iterable returnValues, + String name, + Iterable args) { + var methods = new ArrayList(); + for (var comment : comments) + for (var accessModifier : accessModifiers) + for (var otherModifier : otherModifiers) + for (var returnValue : returnValues) + for (var arg : args) + methods.add(new Method(comment, accessModifier, + otherModifier, returnValue, name, arg)); + return methods; + } + + enum Access {PRIVATE, PACKAGE, PROTECTED, PUBLIC} + + record Method(String comment, + Access accessModifier, + String otherModifier, + String returnValue, + String name, + String arg) { + + @Override + public String toString() { + return Stream.of(comment, access(accessModifier), otherModifier, + returnValue, name + "(" + arg + ") { }") + .map(Object::toString) + .filter(s -> !s.isEmpty()) + .collect(Collectors.joining(" ")); + } + } + + private static String access(Access accessModifier) { + return switch (accessModifier) { + case PRIVATE -> "private"; + case PACKAGE -> ""; + case PROTECTED -> "protected"; + case PUBLIC -> "public"; + }; + } +} \ No newline at end of file From 905137d4065eb40bef6946bdc6bb688d6018a89d Mon Sep 17 00:00:00 2001 From: Serguei Spitsyn Date: Tue, 5 Dec 2023 23:41:49 +0000 Subject: [PATCH 099/143] 8321219: runtime/jni/FastGetField: assert(is_interpreted_frame()) failed: interpreted frame expected Reviewed-by: dcubed --- src/hotspot/share/prims/jvmtiThreadState.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/hotspot/share/prims/jvmtiThreadState.cpp b/src/hotspot/share/prims/jvmtiThreadState.cpp index 6882c02f95a05..c5ba2c030d060 100644 --- a/src/hotspot/share/prims/jvmtiThreadState.cpp +++ b/src/hotspot/share/prims/jvmtiThreadState.cpp @@ -557,7 +557,11 @@ JvmtiVTMSTransitionDisabler::VTMS_vthread_start(jobject vthread) { // If interp_only_mode has been enabled then we must eagerly create JvmtiThreadState // objects for globally enabled virtual thread filtered events. Otherwise, // it is an important optimization to create JvmtiThreadState objects lazily. - if (JvmtiThreadState::seen_interp_only_mode()) { + // This optimization is disabled when watchpoint capabilities are present. It is to + // work around a bug with virtual thread frames which can be not deoptimized in time. + if (JvmtiThreadState::seen_interp_only_mode() || + JvmtiExport::should_post_field_access() || + JvmtiExport::should_post_field_modification()){ JvmtiEventController::thread_started(thread); } if (JvmtiExport::should_post_vthread_start()) { From 3cd65ce2a492726cf1c30bf0c4bfaf0980323fab Mon Sep 17 00:00:00 2001 From: Sergey Bylokhov Date: Wed, 6 Dec 2023 00:19:28 +0000 Subject: [PATCH 100/143] 8321325: Remove unused Java_java_awt_MenuComponent_initIDs function Reviewed-by: prr, aivanov --- .../macosx/native/libawt_lwawt/awt/InitIDs.m | 5 --- .../share/classes/java/awt/MenuComponent.java | 16 +-------- .../libawt_xawt/awt/awt_MenuComponent.h | 36 ------------------- .../unix/native/libawt_xawt/xawt/XToolkit.c | 10 ------ .../native/libawt/windows/awt_MenuItem.cpp | 14 -------- .../native/libawt/windows/awt_MenuItem.h | 1 - 6 files changed, 1 insertion(+), 81 deletions(-) delete mode 100644 src/java.desktop/unix/native/libawt_xawt/awt/awt_MenuComponent.h diff --git a/src/java.desktop/macosx/native/libawt_lwawt/awt/InitIDs.m b/src/java.desktop/macosx/native/libawt_lwawt/awt/InitIDs.m index 38d453ff83535..289e63ba98c84 100644 --- a/src/java.desktop/macosx/native/libawt_lwawt/awt/InitIDs.m +++ b/src/java.desktop/macosx/native/libawt_lwawt/awt/InitIDs.m @@ -112,11 +112,6 @@ { } -JNIEXPORT void JNICALL Java_java_awt_MenuComponent_initIDs -(JNIEnv *env, jclass cls) -{ -} - JNIEXPORT void JNICALL Java_java_awt_MenuItem_initIDs (JNIEnv *env, jclass cls) { diff --git a/src/java.desktop/share/classes/java/awt/MenuComponent.java b/src/java.desktop/share/classes/java/awt/MenuComponent.java index a9b9be85564ec..b2bc22c2e934e 100644 --- a/src/java.desktop/share/classes/java/awt/MenuComponent.java +++ b/src/java.desktop/share/classes/java/awt/MenuComponent.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1995, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -59,14 +59,6 @@ */ public abstract class MenuComponent implements java.io.Serializable { - static { - /* ensure that the necessary native libraries are loaded */ - Toolkit.loadLibraries(); - if (!GraphicsEnvironment.isHeadless()) { - initIDs(); - } - } - transient volatile MenuComponentPeer peer; transient volatile MenuContainer parent; @@ -464,12 +456,6 @@ private void readObject(ObjectInputStream s) appContext = AppContext.getAppContext(); } - /** - * Initialize JNI field and method IDs. - */ - private static native void initIDs(); - - /* * --- Accessibility Support --- */ diff --git a/src/java.desktop/unix/native/libawt_xawt/awt/awt_MenuComponent.h b/src/java.desktop/unix/native/libawt_xawt/awt/awt_MenuComponent.h deleted file mode 100644 index 19dd1f590cb38..0000000000000 --- a/src/java.desktop/unix/native/libawt_xawt/awt/awt_MenuComponent.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 1998, 2020, Oracle and/or its affiliates. All rights reserved. - * 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. - */ - -#ifdef HEADLESS - #error This file should not be included in headless library -#endif - -#include "jni_util.h" - -struct MenuComponentIDs { - jfieldID font; - jfieldID appContext; - jmethodID getParent; -}; diff --git a/src/java.desktop/unix/native/libawt_xawt/xawt/XToolkit.c b/src/java.desktop/unix/native/libawt_xawt/xawt/XToolkit.c index 4e69c2a1c6636..abe3a1c54ce10 100644 --- a/src/java.desktop/unix/native/libawt_xawt/xawt/XToolkit.c +++ b/src/java.desktop/unix/native/libawt_xawt/xawt/XToolkit.c @@ -39,7 +39,6 @@ #include "awt_p.h" #include "awt_Component.h" -#include "awt_MenuComponent.h" #include "awt_util.h" #include "sun_awt_X11_XToolkit.h" @@ -72,8 +71,6 @@ static int tracing = 0; struct ComponentIDs componentIDs; -struct MenuComponentIDs menuComponentIDs; - extern Display* awt_init_Display(JNIEnv *env, jobject this); extern void freeNativeStringArray(char **array, jsize length); extern char** stringArrayToNative(JNIEnv *env, jobjectArray array, jsize * ret_length); @@ -236,13 +233,6 @@ Java_java_awt_Frame_initIDs } -JNIEXPORT void JNICALL -Java_java_awt_MenuComponent_initIDs(JNIEnv *env, jclass cls) -{ - menuComponentIDs.appContext = - (*env)->GetFieldID(env, cls, "appContext", "Lsun/awt/AppContext;"); -} - JNIEXPORT void JNICALL Java_java_awt_Cursor_initIDs(JNIEnv *env, jclass cls) { diff --git a/src/java.desktop/windows/native/libawt/windows/awt_MenuItem.cpp b/src/java.desktop/windows/native/libawt/windows/awt_MenuItem.cpp index 72f5a70a8e09a..ace140593f6ac 100644 --- a/src/java.desktop/windows/native/libawt/windows/awt_MenuItem.cpp +++ b/src/java.desktop/windows/native/libawt/windows/awt_MenuItem.cpp @@ -892,20 +892,6 @@ BOOL AwtMenuItem::IsSeparator() { return isSeparator; } -/************************************************************************ - * MenuComponent native methods - */ - -extern "C" { - -JNIEXPORT void JNICALL -Java_java_awt_MenuComponent_initIDs(JNIEnv *env, jclass cls) -{ -} - -} /* extern "C" */ - - /************************************************************************ * MenuItem native methods */ diff --git a/src/java.desktop/windows/native/libawt/windows/awt_MenuItem.h b/src/java.desktop/windows/native/libawt/windows/awt_MenuItem.h index 15c71357f7ff6..448c397c9b85b 100644 --- a/src/java.desktop/windows/native/libawt/windows/awt_MenuItem.h +++ b/src/java.desktop/windows/native/libawt/windows/awt_MenuItem.h @@ -33,7 +33,6 @@ #include #include #include -#include #include class AwtMenu; From 86b27b784e20f7cdadd241f7feedd024482baa8f Mon Sep 17 00:00:00 2001 From: Yi-Fan Tsai Date: Wed, 6 Dec 2023 02:34:26 +0000 Subject: [PATCH 101/143] 8317831: compiler/codecache/CheckLargePages.java fails on OL 8.8 with unexpected memory string Reviewed-by: eastigeevich, dholmes --- test/hotspot/jtreg/ProblemList.txt | 2 +- test/hotspot/jtreg/compiler/codecache/CheckLargePages.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/hotspot/jtreg/ProblemList.txt b/test/hotspot/jtreg/ProblemList.txt index 726c78528a3f7..01634e28062ba 100644 --- a/test/hotspot/jtreg/ProblemList.txt +++ b/test/hotspot/jtreg/ProblemList.txt @@ -72,7 +72,7 @@ compiler/vectorapi/VectorLogicalOpIdentityTest.java 8302459 linux-x64,windows-x6 compiler/jvmci/TestUncaughtErrorInCompileMethod.java 8309073 generic-all -compiler/codecache/CheckLargePages.java 8317831 linux-x64 +compiler/codecache/CheckLargePages.java 8319795 linux-x64 compiler/floatingpoint/TestSubnormalFloat.java 8317810 generic-i586 compiler/floatingpoint/TestSubnormalDouble.java 8317810 generic-i586 diff --git a/test/hotspot/jtreg/compiler/codecache/CheckLargePages.java b/test/hotspot/jtreg/compiler/codecache/CheckLargePages.java index 5e05a0fae57a1..5b6274681f799 100644 --- a/test/hotspot/jtreg/compiler/codecache/CheckLargePages.java +++ b/test/hotspot/jtreg/compiler/codecache/CheckLargePages.java @@ -62,7 +62,7 @@ public static void main(String[] args) throws Exception { out.shouldMatch("Code cache size too small for \\S* pages\\. Reverting to smaller page size \\((\\S*)\\)\\."); out.shouldHaveExitValue(0); // Parse page sizes to find next biggest page - String sizes = out.firstMatch("Usable page sizes:(.*)", 1); + String sizes = out.firstMatch("Usable page sizes:([^.]+)", 1); List sizeList = Arrays.stream(sizes.trim().split("\\s*,\\s*")).map(CheckLargePages::parseMemoryString).sorted().toList(); final int smallerPageSizeIndex = sizeList.indexOf(largePageSize) - 1; Asserts.assertGreaterThanOrEqual(smallerPageSizeIndex, 0); From aaaae3ee3cc966d05f6cf6fa81cecc122a8f9294 Mon Sep 17 00:00:00 2001 From: Vicente Romero Date: Wed, 6 Dec 2023 02:36:02 +0000 Subject: [PATCH 102/143] 8321207: javac is not accepting correct code Reviewed-by: jlahoda --- .../com/sun/tools/javac/comp/Flow.java | 7 +++- .../tools/javac/lambda/LambdaCapture08.java | 39 +++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 test/langtools/tools/javac/lambda/LambdaCapture08.java diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java index d07b3a41ccb7c..dc02b434af02e 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java @@ -490,7 +490,12 @@ protected void forEachInitializer(JCClassDecl classDef, boolean isStatic, Consum try { for (List defs = classDef.defs; defs.nonEmpty(); defs = defs.tail) { JCTree def = defs.head; - if (!def.hasTag(METHODDEF) && ((TreeInfo.flags(def) & STATIC) != 0) == isStatic) + /* we need to check for flags in the symbol too as there could be cases for which implicit flags are + * represented in the symbol but not in the tree modifiers as they were not originally in the source + * code + */ + boolean isDefStatic = ((TreeInfo.flags(def) | (TreeInfo.symbolFor(def) == null ? 0 : TreeInfo.symbolFor(def).flags_field)) & STATIC) != 0; + if (!def.hasTag(METHODDEF) && (isDefStatic == isStatic)) handler.accept(def); } } finally { diff --git a/test/langtools/tools/javac/lambda/LambdaCapture08.java b/test/langtools/tools/javac/lambda/LambdaCapture08.java new file mode 100644 index 0000000000000..8f5e03ec329c1 --- /dev/null +++ b/test/langtools/tools/javac/lambda/LambdaCapture08.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 8321207 + * @summary javac is not accepting correct code + * @compile LambdaCapture08.java + */ + +import java.util.function.*; + +interface LambdaCapture08 { + Object O = new Object() { + IntSupplier x(int m) { + return () -> m; + } + }; +} From 78d09584c9ade967e55865c9d3a8146ae01d208d Mon Sep 17 00:00:00 2001 From: Joe Wang Date: Wed, 6 Dec 2023 04:24:48 +0000 Subject: [PATCH 103/143] 8321406: Null IDs should be resolved as before catalogs are added Reviewed-by: naoto, iris, lancea --- .../xerces/internal/impl/XMLEntityManager.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java b/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java index 22de24ea8f058..6e5663bfa2c68 100644 --- a/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java +++ b/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java @@ -1038,7 +1038,8 @@ public StaxXMLInputSource resolveEntityAsPerStax(XMLResourceIdentifier resourceI } // Step 2: custom catalog if specified - if (staxInputSource == null && (fUseCatalog && fCatalogFile != null)) { + if ((publicId != null || literalSystemId != null) && + staxInputSource == null && (fUseCatalog && fCatalogFile != null)) { if (fCatalogResolver == null) { fCatalogFeatures = JdkXmlUtils.getCatalogFeatures(fDefer, fCatalogFile, fPrefer, fResolve); fCatalogResolver = CatalogManager.catalogResolver(fCatalogFeatures); @@ -1048,7 +1049,8 @@ public StaxXMLInputSource resolveEntityAsPerStax(XMLResourceIdentifier resourceI } // Step 3: use the default JDK Catalog Resolver if Step 2's resolve is continue - if (staxInputSource == null && JdkXmlUtils.isResolveContinue(fCatalogFeatures)) { + if ((publicId != null || literalSystemId != null) && + staxInputSource == null && JdkXmlUtils.isResolveContinue(fCatalogFeatures)) { initJdkCatalogResolver(); staxInputSource = resolveWithCatalogStAX(fDefCR, JdkCatalog.JDKCATALOG, publicId, literalSystemId); @@ -1056,10 +1058,12 @@ public StaxXMLInputSource resolveEntityAsPerStax(XMLResourceIdentifier resourceI // Step 4: default resolution if not resolved by a resolver and the RESOLVE // feature is set to 'continue' + // Note if both publicId and systemId are null, the resolution process continues as usual if (staxInputSource != null) { fISCreatedByResolver = true; - } else if (JdkXmlUtils.isResolveContinue(fCatalogFeatures) && - fSecurityManager.is(Limit.JDKCATALOG_RESOLVE, JdkConstants.CONTINUE)) { + } else if ((publicId == null && literalSystemId == null) || + (JdkXmlUtils.isResolveContinue(fCatalogFeatures) && + fSecurityManager.is(Limit.JDKCATALOG_RESOLVE, JdkConstants.CONTINUE))) { staxInputSource = new StaxXMLInputSource( new XMLInputSource(publicId, literalSystemId, baseSystemId, true), false); } @@ -1222,8 +1226,10 @@ public XMLInputSource resolveEntity(XMLResourceIdentifier resourceIdentifier) th // Step 4: default resolution if not resolved by a resolver and the RESOLVE // feature is set to 'continue' - if ((xmlInputSource == null) && JdkXmlUtils.isResolveContinue(fCatalogFeatures) && - fSecurityManager.is(Limit.JDKCATALOG_RESOLVE, JdkConstants.CONTINUE)) { + // Note if both publicId and systemId are null, the resolution process continues as usual + if ((publicId == null && literalSystemId == null) || + ((xmlInputSource == null) && JdkXmlUtils.isResolveContinue(fCatalogFeatures) && + fSecurityManager.is(Limit.JDKCATALOG_RESOLVE, JdkConstants.CONTINUE))) { xmlInputSource = new XMLInputSource(publicId, literalSystemId, baseSystemId, false); } From 4c96aac9c0aa450b0b6859ded8dfff856222ad58 Mon Sep 17 00:00:00 2001 From: Ioi Lam Date: Wed, 6 Dec 2023 05:25:19 +0000 Subject: [PATCH 104/143] 8320935: Move CDS config initialization code to cdsConfig.cpp Reviewed-by: ccheung, matsaave, stuefe --- src/hotspot/share/cds/cdsConfig.cpp | 317 ++++++++++++++++++ src/hotspot/share/cds/cdsConfig.hpp | 28 ++ src/hotspot/share/cds/filemap.cpp | 12 +- src/hotspot/share/cds/metaspaceShared.cpp | 13 +- src/hotspot/share/prims/whitebox.cpp | 2 +- src/hotspot/share/runtime/arguments.cpp | 316 +---------------- src/hotspot/share/runtime/arguments.hpp | 21 +- .../share/native/libsaproc/ps_core_common.c | 10 +- 8 files changed, 369 insertions(+), 350 deletions(-) diff --git a/src/hotspot/share/cds/cdsConfig.cpp b/src/hotspot/share/cds/cdsConfig.cpp index 6261321fc1fe0..818b92efe70d9 100644 --- a/src/hotspot/share/cds/cdsConfig.cpp +++ b/src/hotspot/share/cds/cdsConfig.cpp @@ -27,7 +27,12 @@ #include "cds/cdsConfig.hpp" #include "cds/heapShared.hpp" #include "classfile/classLoaderDataShared.hpp" +#include "classfile/moduleEntry.hpp" +#include "include/jvm_io.h" #include "logging/log.hpp" +#include "runtime/arguments.hpp" +#include "runtime/java.hpp" +#include "utilities/defaultStream.hpp" bool CDSConfig::_is_dumping_static_archive = false; bool CDSConfig::_is_dumping_dynamic_archive = false; @@ -38,6 +43,318 @@ bool CDSConfig::_is_dumping_dynamic_archive = false; bool CDSConfig::_dumping_full_module_graph_disabled = false; bool CDSConfig::_loading_full_module_graph_disabled = false; +char* CDSConfig::_default_archive_path = nullptr; +char* CDSConfig::_static_archive_path = nullptr; +char* CDSConfig::_dynamic_archive_path = nullptr; + +void CDSConfig::initialize() { + if (is_dumping_static_archive()) { + if (RequireSharedSpaces) { + warning("Cannot dump shared archive while using shared archive"); + } + UseSharedSpaces = false; + } + + // Initialize shared archive paths which could include both base and dynamic archive paths + // This must be after set_ergonomics_flags() called so flag UseCompressedOops is set properly. + // + // UseSharedSpaces may be disabled if -XX:SharedArchiveFile is invalid. + if (is_dumping_static_archive() || UseSharedSpaces) { + init_shared_archive_paths(); + } +} + +char* CDSConfig::default_archive_path() { + if (_default_archive_path == nullptr) { + char jvm_path[JVM_MAXPATHLEN]; + os::jvm_path(jvm_path, sizeof(jvm_path)); + char *end = strrchr(jvm_path, *os::file_separator()); + if (end != nullptr) *end = '\0'; + size_t jvm_path_len = strlen(jvm_path); + size_t file_sep_len = strlen(os::file_separator()); + const size_t len = jvm_path_len + file_sep_len + 20; + _default_archive_path = NEW_C_HEAP_ARRAY(char, len, mtArguments); + jio_snprintf(_default_archive_path, len, + LP64_ONLY(!UseCompressedOops ? "%s%sclasses_nocoops.jsa":) "%s%sclasses.jsa", + jvm_path, os::file_separator()); + } + return _default_archive_path; +} + +int CDSConfig::num_archives(const char* archive_path) { + if (archive_path == nullptr) { + return 0; + } + int npaths = 1; + char* p = (char*)archive_path; + while (*p != '\0') { + if (*p == os::path_separator()[0]) { + npaths++; + } + p++; + } + return npaths; +} + +void CDSConfig::extract_shared_archive_paths(const char* archive_path, + char** base_archive_path, + char** top_archive_path) { + char* begin_ptr = (char*)archive_path; + char* end_ptr = strchr((char*)archive_path, os::path_separator()[0]); + if (end_ptr == nullptr || end_ptr == begin_ptr) { + vm_exit_during_initialization("Base archive was not specified", archive_path); + } + size_t len = end_ptr - begin_ptr; + char* cur_path = NEW_C_HEAP_ARRAY(char, len + 1, mtInternal); + strncpy(cur_path, begin_ptr, len); + cur_path[len] = '\0'; + *base_archive_path = cur_path; + + begin_ptr = ++end_ptr; + if (*begin_ptr == '\0') { + vm_exit_during_initialization("Top archive was not specified", archive_path); + } + end_ptr = strchr(begin_ptr, '\0'); + assert(end_ptr != nullptr, "sanity"); + len = end_ptr - begin_ptr; + cur_path = NEW_C_HEAP_ARRAY(char, len + 1, mtInternal); + strncpy(cur_path, begin_ptr, len + 1); + *top_archive_path = cur_path; +} + +void CDSConfig::init_shared_archive_paths() { + if (ArchiveClassesAtExit != nullptr) { + assert(!RecordDynamicDumpInfo, "already checked"); + if (is_dumping_static_archive()) { + vm_exit_during_initialization("-XX:ArchiveClassesAtExit cannot be used with -Xshare:dump"); + } + check_unsupported_dumping_properties(); + + if (os::same_files(default_archive_path(), ArchiveClassesAtExit)) { + vm_exit_during_initialization( + "Cannot specify the default CDS archive for -XX:ArchiveClassesAtExit", default_archive_path()); + } + } + + if (SharedArchiveFile == nullptr) { + _static_archive_path = default_archive_path(); + } else { + int archives = num_archives(SharedArchiveFile); + assert(archives > 0, "must be"); + + if (is_dumping_archive() && archives > 1) { + vm_exit_during_initialization( + "Cannot have more than 1 archive file specified in -XX:SharedArchiveFile during CDS dumping"); + } + + if (is_dumping_static_archive()) { + assert(archives == 1, "must be"); + // Static dump is simple: only one archive is allowed in SharedArchiveFile. This file + // will be overwritten no matter regardless of its contents + _static_archive_path = os::strdup_check_oom(SharedArchiveFile, mtArguments); + } else { + // SharedArchiveFile may specify one or two files. In case (c), the path for base.jsa + // is read from top.jsa + // (a) 1 file: -XX:SharedArchiveFile=base.jsa + // (b) 2 files: -XX:SharedArchiveFile=base.jsa:top.jsa + // (c) 2 files: -XX:SharedArchiveFile=top.jsa + // + // However, if either RecordDynamicDumpInfo or ArchiveClassesAtExit is used, we do not + // allow cases (b) and (c). Case (b) is already checked above. + + if (archives > 2) { + vm_exit_during_initialization( + "Cannot have more than 2 archive files specified in the -XX:SharedArchiveFile option"); + } + if (archives == 1) { + char* base_archive_path = nullptr; + bool success = + FileMapInfo::get_base_archive_name_from_header(SharedArchiveFile, &base_archive_path); + if (!success) { + // If +AutoCreateSharedArchive and the specified shared archive does not exist, + // regenerate the dynamic archive base on default archive. + if (AutoCreateSharedArchive && !os::file_exists(SharedArchiveFile)) { + enable_dumping_dynamic_archive(); + ArchiveClassesAtExit = const_cast(SharedArchiveFile); + _static_archive_path = default_archive_path(); + SharedArchiveFile = nullptr; + } else { + if (AutoCreateSharedArchive) { + warning("-XX:+AutoCreateSharedArchive is unsupported when base CDS archive is not loaded. Run with -Xlog:cds for more info."); + AutoCreateSharedArchive = false; + } + Arguments::no_shared_spaces("invalid archive"); + } + } else if (base_archive_path == nullptr) { + // User has specified a single archive, which is a static archive. + _static_archive_path = const_cast(SharedArchiveFile); + } else { + // User has specified a single archive, which is a dynamic archive. + _dynamic_archive_path = const_cast(SharedArchiveFile); + _static_archive_path = base_archive_path; // has been c-heap allocated. + } + } else { + extract_shared_archive_paths((const char*)SharedArchiveFile, + &_static_archive_path, &_dynamic_archive_path); + if (_static_archive_path == nullptr) { + assert(_dynamic_archive_path == nullptr, "must be"); + Arguments::no_shared_spaces("invalid archive"); + } + } + + if (_dynamic_archive_path != nullptr) { + // Check for case (c) + if (RecordDynamicDumpInfo) { + vm_exit_during_initialization("-XX:+RecordDynamicDumpInfo is unsupported when a dynamic CDS archive is specified in -XX:SharedArchiveFile", + SharedArchiveFile); + } + if (ArchiveClassesAtExit != nullptr) { + vm_exit_during_initialization("-XX:ArchiveClassesAtExit is unsupported when a dynamic CDS archive is specified in -XX:SharedArchiveFile", + SharedArchiveFile); + } + } + + if (ArchiveClassesAtExit != nullptr && os::same_files(SharedArchiveFile, ArchiveClassesAtExit)) { + vm_exit_during_initialization( + "Cannot have the same archive file specified for -XX:SharedArchiveFile and -XX:ArchiveClassesAtExit", + SharedArchiveFile); + } + } + } +} + +void CDSConfig::check_system_property(const char* key, const char* value) { + if (Arguments::is_internal_module_property(key)) { + MetaspaceShared::disable_optimized_module_handling(); + log_info(cds)("optimized module handling: disabled due to incompatible property: %s=%s", key, value); + } + if (strcmp(key, "jdk.module.showModuleResolution") == 0 || + strcmp(key, "jdk.module.validation") == 0 || + strcmp(key, "java.system.class.loader") == 0) { + disable_loading_full_module_graph(); + disable_dumping_full_module_graph(); + log_info(cds)("full module graph: disabled due to incompatible property: %s=%s", key, value); + } +} + +static const char* unsupported_properties[] = { + "jdk.module.limitmods", + "jdk.module.upgrade.path", + "jdk.module.patch.0" +}; +static const char* unsupported_options[] = { + "--limit-modules", + "--upgrade-module-path", + "--patch-module" +}; + +void CDSConfig::check_unsupported_dumping_properties() { + assert(is_dumping_archive(), "this function is only used with CDS dump time"); + assert(ARRAY_SIZE(unsupported_properties) == ARRAY_SIZE(unsupported_options), "must be"); + // If a vm option is found in the unsupported_options array, vm will exit with an error message. + SystemProperty* sp = Arguments::system_properties(); + while (sp != nullptr) { + for (uint i = 0; i < ARRAY_SIZE(unsupported_properties); i++) { + if (strcmp(sp->key(), unsupported_properties[i]) == 0) { + vm_exit_during_initialization( + "Cannot use the following option when dumping the shared archive", unsupported_options[i]); + } + } + sp = sp->next(); + } + + // Check for an exploded module build in use with -Xshare:dump. + if (!Arguments::has_jimage()) { + vm_exit_during_initialization("Dumping the shared archive is not supported with an exploded module build"); + } +} + +bool CDSConfig::check_unsupported_cds_runtime_properties() { + assert(UseSharedSpaces, "this function is only used with -Xshare:{on,auto}"); + assert(ARRAY_SIZE(unsupported_properties) == ARRAY_SIZE(unsupported_options), "must be"); + if (ArchiveClassesAtExit != nullptr) { + // dynamic dumping, just return false for now. + // check_unsupported_dumping_properties() will be called later to check the same set of + // properties, and will exit the VM with the correct error message if the unsupported properties + // are used. + return false; + } + for (uint i = 0; i < ARRAY_SIZE(unsupported_properties); i++) { + if (Arguments::get_property(unsupported_properties[i]) != nullptr) { + if (RequireSharedSpaces) { + warning("CDS is disabled when the %s option is specified.", unsupported_options[i]); + } else { + log_info(cds)("CDS is disabled when the %s option is specified.", unsupported_options[i]); + } + return true; + } + } + return false; +} + +bool CDSConfig::check_vm_args_consistency(bool patch_mod_javabase, bool mode_flag_cmd_line) { + if (is_dumping_static_archive()) { + if (!mode_flag_cmd_line) { + // By default, -Xshare:dump runs in interpreter-only mode, which is required for deterministic archive. + // + // If your classlist is large and you don't care about deterministic dumping, you can use + // -Xshare:dump -Xmixed to improve dumping speed. + Arguments::set_mode_flags(Arguments::_int); + } else if (Arguments::mode() == Arguments::_comp) { + // -Xcomp may use excessive CPU for the test tiers. Also, -Xshare:dump runs a small and fixed set of + // Java code, so there's not much benefit in running -Xcomp. + log_info(cds)("reduced -Xcomp to -Xmixed for static dumping"); + Arguments::set_mode_flags(Arguments::_mixed); + } + + // String deduplication may cause CDS to iterate the strings in different order from one + // run to another which resulting in non-determinstic CDS archives. + // Disable UseStringDeduplication while dumping CDS archive. + UseStringDeduplication = false; + } + + // RecordDynamicDumpInfo is not compatible with ArchiveClassesAtExit + if (ArchiveClassesAtExit != nullptr && RecordDynamicDumpInfo) { + jio_fprintf(defaultStream::output_stream(), + "-XX:+RecordDynamicDumpInfo cannot be used with -XX:ArchiveClassesAtExit.\n"); + return false; + } + + if (ArchiveClassesAtExit == nullptr && !RecordDynamicDumpInfo) { + disable_dumping_dynamic_archive(); + } else { + enable_dumping_dynamic_archive(); + } + + if (AutoCreateSharedArchive) { + if (SharedArchiveFile == nullptr) { + log_warning(cds)("-XX:+AutoCreateSharedArchive requires -XX:SharedArchiveFile"); + return false; + } + if (ArchiveClassesAtExit != nullptr) { + log_warning(cds)("-XX:+AutoCreateSharedArchive does not work with ArchiveClassesAtExit"); + return false; + } + } + + if (UseSharedSpaces && patch_mod_javabase) { + Arguments::no_shared_spaces("CDS is disabled when " JAVA_BASE_NAME " module is patched."); + } + if (UseSharedSpaces && check_unsupported_cds_runtime_properties()) { + UseSharedSpaces = false; + } + + if (is_dumping_archive()) { + // Always verify non-system classes during CDS dump + if (!BytecodeVerificationRemote) { + BytecodeVerificationRemote = true; + log_info(cds)("All non-system classes will be verified (-Xverify:remote) during CDS dump time."); + } + } + + return true; +} + #if INCLUDE_CDS_JAVA_HEAP bool CDSConfig::is_dumping_heap() { // heap dump is not supported in dynamic dump diff --git a/src/hotspot/share/cds/cdsConfig.hpp b/src/hotspot/share/cds/cdsConfig.hpp index cc3c5556d0abe..d7de147d20cf5 100644 --- a/src/hotspot/share/cds/cdsConfig.hpp +++ b/src/hotspot/share/cds/cdsConfig.hpp @@ -26,6 +26,7 @@ #define SHARE_CDS_CDSCONFIG_HPP #include "memory/allStatic.hpp" +#include "utilities/globalDefinitions.hpp" #include "utilities/macros.hpp" class CDSConfig : public AllStatic { @@ -34,9 +35,25 @@ class CDSConfig : public AllStatic { static bool _is_dumping_dynamic_archive; static bool _dumping_full_module_graph_disabled; static bool _loading_full_module_graph_disabled; + + static char* _default_archive_path; + static char* _static_archive_path; + static char* _dynamic_archive_path; #endif + static void extract_shared_archive_paths(const char* archive_path, + char** base_archive_path, + char** top_archive_path); + static void init_shared_archive_paths(); + static bool check_unsupported_cds_runtime_properties(); + public: + // Initialization and command-line checking + static void initialize() NOT_CDS_RETURN; + static void check_system_property(const char* key, const char* value) NOT_CDS_RETURN; + static void check_unsupported_dumping_properties() NOT_CDS_RETURN; + static bool check_vm_args_consistency(bool patch_mod_javabase, bool mode_flag_cmd_line) NOT_CDS_RETURN_(false); + // Basic CDS features static bool is_dumping_archive() { return is_dumping_static_archive() || is_dumping_dynamic_archive(); } static bool is_dumping_static_archive() { return CDS_ONLY(_is_dumping_static_archive) NOT_CDS(false); } @@ -45,6 +62,17 @@ class CDSConfig : public AllStatic { static void enable_dumping_dynamic_archive() { CDS_ONLY(_is_dumping_dynamic_archive = true); } static void disable_dumping_dynamic_archive() { CDS_ONLY(_is_dumping_dynamic_archive = false); } + // Archive paths + // Points to the classes.jsa in $JAVA_HOME + static char* default_archive_path() NOT_CDS_RETURN_(nullptr); + // The actual static archive (if any) selected at runtime + static const char* static_archive_path() { return CDS_ONLY(_static_archive_path) NOT_CDS(nullptr); } + // The actual dynamic archive (if any) selected at runtime + static const char* dynamic_archive_path() { return CDS_ONLY(_dynamic_archive_path) NOT_CDS(nullptr); } + + static int num_archives(const char* archive_path) NOT_CDS_RETURN_(0); + + // CDS archived heap static bool is_dumping_heap() NOT_CDS_JAVA_HEAP_RETURN_(false); static void disable_dumping_full_module_graph(const char* reason = nullptr) NOT_CDS_JAVA_HEAP_RETURN; diff --git a/src/hotspot/share/cds/filemap.cpp b/src/hotspot/share/cds/filemap.cpp index 0810c17c00a75..99acbb4ace8f2 100644 --- a/src/hotspot/share/cds/filemap.cpp +++ b/src/hotspot/share/cds/filemap.cpp @@ -162,8 +162,8 @@ void FileMapInfo::populate_header(size_t core_region_alignment) { c_header_size = sizeof(DynamicArchiveHeader); header_size = c_header_size; - const char* default_base_archive_name = Arguments::get_default_shared_archive_path(); - const char* current_base_archive_name = Arguments::GetSharedArchivePath(); + const char* default_base_archive_name = CDSConfig::default_archive_path(); + const char* current_base_archive_name = CDSConfig::static_archive_path(); if (!os::same_files(current_base_archive_name, default_base_archive_name)) { base_archive_name_size = strlen(current_base_archive_name) + 1; header_size += base_archive_name_size; @@ -199,7 +199,7 @@ void FileMapHeader::populate(FileMapInfo *info, size_t core_region_alignment, if (!info->is_static() && base_archive_name_size != 0) { // copy base archive name - copy_base_archive_name(Arguments::GetSharedArchivePath()); + copy_base_archive_name(CDSConfig::static_archive_path()); } _core_region_alignment = core_region_alignment; _obj_alignment = ObjectAlignmentInBytes; @@ -918,7 +918,7 @@ void FileMapInfo::log_paths(const char* msg, int start_idx, int end_idx) { bool FileMapInfo::check_module_paths() { const char* rp = Arguments::get_property("jdk.module.path"); - int num_paths = Arguments::num_archives(rp); + int num_paths = CDSConfig::num_archives(rp); if (num_paths != header()->num_module_paths()) { return false; } @@ -1250,7 +1250,7 @@ bool FileMapInfo::get_base_archive_name_from_header(const char* archive_name, const char* base = file_helper.base_archive_name(); if (base == nullptr) { - *base_archive_name = Arguments::get_default_shared_archive_path(); + *base_archive_name = CDSConfig::default_archive_path(); } else { *base_archive_name = os::strdup_check_oom(base); } @@ -2275,7 +2275,7 @@ bool FileMapInfo::initialize() { log_info(cds)("Initialize dynamic archive failed."); if (AutoCreateSharedArchive) { CDSConfig::enable_dumping_dynamic_archive(); - ArchiveClassesAtExit = Arguments::GetSharedDynamicArchivePath(); + ArchiveClassesAtExit = CDSConfig::dynamic_archive_path(); } return false; } diff --git a/src/hotspot/share/cds/metaspaceShared.cpp b/src/hotspot/share/cds/metaspaceShared.cpp index dedd7cb85ee5d..fedbc5841b682 100644 --- a/src/hotspot/share/cds/metaspaceShared.cpp +++ b/src/hotspot/share/cds/metaspaceShared.cpp @@ -539,7 +539,7 @@ void VM_PopulateDumpSharedSpace::doit() { builder.relocate_to_requested(); // Write the archive file - const char* static_archive = Arguments::GetSharedArchivePath(); + const char* static_archive = CDSConfig::static_archive_path(); assert(static_archive != nullptr, "SharedArchiveFile not set?"); FileMapInfo* mapinfo = new FileMapInfo(static_archive, true); mapinfo->populate_header(MetaspaceShared::core_region_alignment()); @@ -651,8 +651,7 @@ void MetaspaceShared::link_shared_classes(bool jcmd_request, TRAPS) { void MetaspaceShared::prepare_for_dumping() { assert(CDSConfig::is_dumping_archive(), "sanity"); - Arguments::check_unsupported_dumping_properties(); - + CDSConfig::check_unsupported_dumping_properties(); ClassLoader::initialize_shared_path(JavaThread::current()); } @@ -987,8 +986,8 @@ void MetaspaceShared::initialize_runtime_shared_and_meta_spaces() { } FileMapInfo* MetaspaceShared::open_static_archive() { - const char* static_archive = Arguments::GetSharedArchivePath(); - assert(static_archive != nullptr, "SharedArchivePath is nullptr"); + const char* static_archive = CDSConfig::static_archive_path(); + assert(static_archive != nullptr, "sanity"); FileMapInfo* mapinfo = new FileMapInfo(static_archive, true); if (!mapinfo->initialize()) { delete(mapinfo); @@ -1001,7 +1000,7 @@ FileMapInfo* MetaspaceShared::open_dynamic_archive() { if (CDSConfig::is_dumping_dynamic_archive()) { return nullptr; } - const char* dynamic_archive = Arguments::GetSharedDynamicArchivePath(); + const char* dynamic_archive = CDSConfig::dynamic_archive_path(); if (dynamic_archive == nullptr) { return nullptr; } @@ -1494,7 +1493,7 @@ void MetaspaceShared::initialize_shared_spaces() { if (PrintSharedArchiveAndExit) { // Print archive names if (dynamic_mapinfo != nullptr) { - tty->print_cr("\n\nBase archive name: %s", Arguments::GetSharedArchivePath()); + tty->print_cr("\n\nBase archive name: %s", CDSConfig::static_archive_path()); tty->print_cr("Base archive version %d", static_mapinfo->version()); } else { tty->print_cr("Static archive name: %s", static_mapinfo->full_path()); diff --git a/src/hotspot/share/prims/whitebox.cpp b/src/hotspot/share/prims/whitebox.cpp index 230129ea2df31..d70c775937fd0 100644 --- a/src/hotspot/share/prims/whitebox.cpp +++ b/src/hotspot/share/prims/whitebox.cpp @@ -2043,7 +2043,7 @@ WB_ENTRY(jobject, WB_GetMethodStringOption(JNIEnv* env, jobject wb, jobject meth WB_END WB_ENTRY(jobject, WB_GetDefaultArchivePath(JNIEnv* env, jobject wb)) - const char* p = Arguments::get_default_shared_archive_path(); + const char* p = CDSConfig::default_archive_path(); ThreadToNativeFromVM ttn(thread); jstring path_string = env->NewStringUTF(p); diff --git a/src/hotspot/share/runtime/arguments.cpp b/src/hotspot/share/runtime/arguments.cpp index 477a1ebe8d110..fd8f155af420e 100644 --- a/src/hotspot/share/runtime/arguments.cpp +++ b/src/hotspot/share/runtime/arguments.cpp @@ -101,10 +101,6 @@ size_t Arguments::_default_SharedBaseAddress = SharedBaseAddress; bool Arguments::_enable_preview = false; -char* Arguments::_default_shared_archive_path = nullptr; -char* Arguments::SharedArchivePath = nullptr; -char* Arguments::SharedDynamicArchivePath = nullptr; - LegacyGCLogging Arguments::_legacyGCLogging = { 0, 0 }; // These are not set by the JDK's built-in launchers, but they can be set by @@ -1263,19 +1259,7 @@ bool Arguments::add_property(const char* prop, PropertyWriteable writeable, Prop value = &prop[key_len + 1]; } -#if INCLUDE_CDS - if (is_internal_module_property(key)) { - MetaspaceShared::disable_optimized_module_handling(); - log_info(cds)("optimized module handling: disabled due to incompatible property: %s=%s", key, value); - } - if (strcmp(key, "jdk.module.showModuleResolution") == 0 || - strcmp(key, "jdk.module.validation") == 0 || - strcmp(key, "java.system.class.loader") == 0) { - CDSConfig::disable_loading_full_module_graph(); - CDSConfig::disable_dumping_full_module_graph(); - log_info(cds)("full module graph: disabled due to incompatible property: %s=%s", key, value); - } -#endif + CDSConfig::check_system_property(key, value); if (strcmp(key, "java.compiler") == 0) { // we no longer support java.compiler system property, log a warning and let it get @@ -1329,60 +1313,6 @@ bool Arguments::add_property(const char* prop, PropertyWriteable writeable, Prop return true; } -#if INCLUDE_CDS -const char* unsupported_properties[] = { "jdk.module.limitmods", - "jdk.module.upgrade.path", - "jdk.module.patch.0" }; -const char* unsupported_options[] = { "--limit-modules", - "--upgrade-module-path", - "--patch-module" - }; -void Arguments::check_unsupported_dumping_properties() { - assert(CDSConfig::is_dumping_archive(), - "this function is only used with CDS dump time"); - assert(ARRAY_SIZE(unsupported_properties) == ARRAY_SIZE(unsupported_options), "must be"); - // If a vm option is found in the unsupported_options array, vm will exit with an error message. - SystemProperty* sp = system_properties(); - while (sp != nullptr) { - for (uint i = 0; i < ARRAY_SIZE(unsupported_properties); i++) { - if (strcmp(sp->key(), unsupported_properties[i]) == 0) { - vm_exit_during_initialization( - "Cannot use the following option when dumping the shared archive", unsupported_options[i]); - } - } - sp = sp->next(); - } - - // Check for an exploded module build in use with -Xshare:dump. - if (!has_jimage()) { - vm_exit_during_initialization("Dumping the shared archive is not supported with an exploded module build"); - } -} - -bool Arguments::check_unsupported_cds_runtime_properties() { - assert(UseSharedSpaces, "this function is only used with -Xshare:{on,auto}"); - assert(ARRAY_SIZE(unsupported_properties) == ARRAY_SIZE(unsupported_options), "must be"); - if (ArchiveClassesAtExit != nullptr) { - // dynamic dumping, just return false for now. - // check_unsupported_dumping_properties() will be called later to check the same set of - // properties, and will exit the VM with the correct error message if the unsupported properties - // are used. - return false; - } - for (uint i = 0; i < ARRAY_SIZE(unsupported_properties); i++) { - if (get_property(unsupported_properties[i]) != nullptr) { - if (RequireSharedSpaces) { - warning("CDS is disabled when the %s option is specified.", unsupported_options[i]); - } else { - log_info(cds)("CDS is disabled when the %s option is specified.", unsupported_options[i]); - } - return true; - } - } - return false; -} -#endif - //=========================================================================================================== // Setting int/mixed/comp mode flags @@ -1432,7 +1362,7 @@ void Arguments::set_mode_flags(Mode mode) { // Conflict: required to use shared spaces (-Xshare:on), but // incompatible command line options were chosen. -static void no_shared_spaces(const char* message) { +void Arguments::no_shared_spaces(const char* message) { if (RequireSharedSpaces) { jio_fprintf(defaultStream::error_stream(), "Class data sharing is inconsistent with other specified options.\n"); @@ -3037,67 +2967,10 @@ jint Arguments::finalize_vm_init_args(bool patch_mod_javabase) { return JNI_ERR; } -#if INCLUDE_CDS - if (CDSConfig::is_dumping_static_archive()) { - if (!mode_flag_cmd_line) { - // By default, -Xshare:dump runs in interpreter-only mode, which is required for deterministic archive. - // - // If your classlist is large and you don't care about deterministic dumping, you can use - // -Xshare:dump -Xmixed to improve dumping speed. - set_mode_flags(_int); - } else if (_mode == _comp) { - // -Xcomp may use excessive CPU for the test tiers. Also, -Xshare:dump runs a small and fixed set of - // Java code, so there's not much benefit in running -Xcomp. - log_info(cds)("reduced -Xcomp to -Xmixed for static dumping"); - set_mode_flags(_mixed); - } - - // String deduplication may cause CDS to iterate the strings in different order from one - // run to another which resulting in non-determinstic CDS archives. - // Disable UseStringDeduplication while dumping CDS archive. - UseStringDeduplication = false; - } - - // RecordDynamicDumpInfo is not compatible with ArchiveClassesAtExit - if (ArchiveClassesAtExit != nullptr && RecordDynamicDumpInfo) { - jio_fprintf(defaultStream::output_stream(), - "-XX:+RecordDynamicDumpInfo cannot be used with -XX:ArchiveClassesAtExit.\n"); + if (!CDSConfig::check_vm_args_consistency(patch_mod_javabase, mode_flag_cmd_line)) { return JNI_ERR; } - if (ArchiveClassesAtExit == nullptr && !RecordDynamicDumpInfo) { - CDSConfig::disable_dumping_dynamic_archive(); - } else { - CDSConfig::enable_dumping_dynamic_archive(); - } - - if (AutoCreateSharedArchive) { - if (SharedArchiveFile == nullptr) { - log_warning(cds)("-XX:+AutoCreateSharedArchive requires -XX:SharedArchiveFile"); - return JNI_ERR; - } - if (ArchiveClassesAtExit != nullptr) { - log_warning(cds)("-XX:+AutoCreateSharedArchive does not work with ArchiveClassesAtExit"); - return JNI_ERR; - } - } - - if (UseSharedSpaces && patch_mod_javabase) { - no_shared_spaces("CDS is disabled when " JAVA_BASE_NAME " module is patched."); - } - if (UseSharedSpaces && check_unsupported_cds_runtime_properties()) { - UseSharedSpaces = false; - } - - if (CDSConfig::is_dumping_archive()) { - // Always verify non-system classes during CDS dump - if (!BytecodeVerificationRemote) { - BytecodeVerificationRemote = true; - log_info(cds)("All non-system classes will be verified (-Xverify:remote) during CDS dump time."); - } - } -#endif - #ifndef CAN_SHOW_REGISTERS_ON_ASSERT UNSUPPORTED_OPTION(ShowRegistersOnAssert); #endif // CAN_SHOW_REGISTERS_ON_ASSERT @@ -3365,187 +3238,6 @@ jint Arguments::parse_options_buffer(const char* name, char* buffer, const size_ return vm_args->set_args(&options); } -void Arguments::set_shared_spaces_flags_and_archive_paths() { - if (CDSConfig::is_dumping_static_archive()) { - if (RequireSharedSpaces) { - warning("Cannot dump shared archive while using shared archive"); - } - UseSharedSpaces = false; - } -#if INCLUDE_CDS - // Initialize shared archive paths which could include both base and dynamic archive paths - // This must be after set_ergonomics_flags() called so flag UseCompressedOops is set properly. - // - // UseSharedSpaces may be disabled if -XX:SharedArchiveFile is invalid. - if (CDSConfig::is_dumping_static_archive() || UseSharedSpaces) { - init_shared_archive_paths(); - } -#endif // INCLUDE_CDS -} - -#if INCLUDE_CDS -// Sharing support -// Construct the path to the archive -char* Arguments::get_default_shared_archive_path() { - if (_default_shared_archive_path == nullptr) { - char jvm_path[JVM_MAXPATHLEN]; - os::jvm_path(jvm_path, sizeof(jvm_path)); - char *end = strrchr(jvm_path, *os::file_separator()); - if (end != nullptr) *end = '\0'; - size_t jvm_path_len = strlen(jvm_path); - size_t file_sep_len = strlen(os::file_separator()); - const size_t len = jvm_path_len + file_sep_len + 20; - _default_shared_archive_path = NEW_C_HEAP_ARRAY(char, len, mtArguments); - jio_snprintf(_default_shared_archive_path, len, - LP64_ONLY(!UseCompressedOops ? "%s%sclasses_nocoops.jsa":) "%s%sclasses.jsa", - jvm_path, os::file_separator()); - } - return _default_shared_archive_path; -} - -int Arguments::num_archives(const char* archive_path) { - if (archive_path == nullptr) { - return 0; - } - int npaths = 1; - char* p = (char*)archive_path; - while (*p != '\0') { - if (*p == os::path_separator()[0]) { - npaths++; - } - p++; - } - return npaths; -} - -void Arguments::extract_shared_archive_paths(const char* archive_path, - char** base_archive_path, - char** top_archive_path) { - char* begin_ptr = (char*)archive_path; - char* end_ptr = strchr((char*)archive_path, os::path_separator()[0]); - if (end_ptr == nullptr || end_ptr == begin_ptr) { - vm_exit_during_initialization("Base archive was not specified", archive_path); - } - size_t len = end_ptr - begin_ptr; - char* cur_path = NEW_C_HEAP_ARRAY(char, len + 1, mtInternal); - strncpy(cur_path, begin_ptr, len); - cur_path[len] = '\0'; - *base_archive_path = cur_path; - - begin_ptr = ++end_ptr; - if (*begin_ptr == '\0') { - vm_exit_during_initialization("Top archive was not specified", archive_path); - } - end_ptr = strchr(begin_ptr, '\0'); - assert(end_ptr != nullptr, "sanity"); - len = end_ptr - begin_ptr; - cur_path = NEW_C_HEAP_ARRAY(char, len + 1, mtInternal); - strncpy(cur_path, begin_ptr, len + 1); - *top_archive_path = cur_path; -} - -void Arguments::init_shared_archive_paths() { - if (ArchiveClassesAtExit != nullptr) { - assert(!RecordDynamicDumpInfo, "already checked"); - if (CDSConfig::is_dumping_static_archive()) { - vm_exit_during_initialization("-XX:ArchiveClassesAtExit cannot be used with -Xshare:dump"); - } - check_unsupported_dumping_properties(); - - if (os::same_files(get_default_shared_archive_path(), ArchiveClassesAtExit)) { - vm_exit_during_initialization( - "Cannot specify the default CDS archive for -XX:ArchiveClassesAtExit", get_default_shared_archive_path()); - } - } - - if (SharedArchiveFile == nullptr) { - SharedArchivePath = get_default_shared_archive_path(); - } else { - int archives = num_archives(SharedArchiveFile); - assert(archives > 0, "must be"); - - if (CDSConfig::is_dumping_archive() && archives > 1) { - vm_exit_during_initialization( - "Cannot have more than 1 archive file specified in -XX:SharedArchiveFile during CDS dumping"); - } - - if (CDSConfig::is_dumping_static_archive()) { - assert(archives == 1, "must be"); - // Static dump is simple: only one archive is allowed in SharedArchiveFile. This file - // will be overwritten no matter regardless of its contents - SharedArchivePath = os::strdup_check_oom(SharedArchiveFile, mtArguments); - } else { - // SharedArchiveFile may specify one or two files. In case (c), the path for base.jsa - // is read from top.jsa - // (a) 1 file: -XX:SharedArchiveFile=base.jsa - // (b) 2 files: -XX:SharedArchiveFile=base.jsa:top.jsa - // (c) 2 files: -XX:SharedArchiveFile=top.jsa - // - // However, if either RecordDynamicDumpInfo or ArchiveClassesAtExit is used, we do not - // allow cases (b) and (c). Case (b) is already checked above. - - if (archives > 2) { - vm_exit_during_initialization( - "Cannot have more than 2 archive files specified in the -XX:SharedArchiveFile option"); - } - if (archives == 1) { - char* base_archive_path = nullptr; - bool success = - FileMapInfo::get_base_archive_name_from_header(SharedArchiveFile, &base_archive_path); - if (!success) { - // If +AutoCreateSharedArchive and the specified shared archive does not exist, - // regenerate the dynamic archive base on default archive. - if (AutoCreateSharedArchive && !os::file_exists(SharedArchiveFile)) { - CDSConfig::enable_dumping_dynamic_archive(); - ArchiveClassesAtExit = const_cast(SharedArchiveFile); - SharedArchivePath = get_default_shared_archive_path(); - SharedArchiveFile = nullptr; - } else { - if (AutoCreateSharedArchive) { - warning("-XX:+AutoCreateSharedArchive is unsupported when base CDS archive is not loaded. Run with -Xlog:cds for more info."); - AutoCreateSharedArchive = false; - } - no_shared_spaces("invalid archive"); - } - } else if (base_archive_path == nullptr) { - // User has specified a single archive, which is a static archive. - SharedArchivePath = const_cast(SharedArchiveFile); - } else { - // User has specified a single archive, which is a dynamic archive. - SharedDynamicArchivePath = const_cast(SharedArchiveFile); - SharedArchivePath = base_archive_path; // has been c-heap allocated. - } - } else { - extract_shared_archive_paths((const char*)SharedArchiveFile, - &SharedArchivePath, &SharedDynamicArchivePath); - if (SharedArchivePath == nullptr) { - assert(SharedDynamicArchivePath == nullptr, "must be"); - no_shared_spaces("invalid archive"); - } - } - - if (SharedDynamicArchivePath != nullptr) { - // Check for case (c) - if (RecordDynamicDumpInfo) { - vm_exit_during_initialization("-XX:+RecordDynamicDumpInfo is unsupported when a dynamic CDS archive is specified in -XX:SharedArchiveFile", - SharedArchiveFile); - } - if (ArchiveClassesAtExit != nullptr) { - vm_exit_during_initialization("-XX:ArchiveClassesAtExit is unsupported when a dynamic CDS archive is specified in -XX:SharedArchiveFile", - SharedArchiveFile); - } - } - - if (ArchiveClassesAtExit != nullptr && os::same_files(SharedArchiveFile, ArchiveClassesAtExit)) { - vm_exit_during_initialization( - "Cannot have the same archive file specified for -XX:SharedArchiveFile and -XX:ArchiveClassesAtExit", - SharedArchiveFile); - } - } - } -} -#endif // INCLUDE_CDS - #ifndef PRODUCT // Determine whether LogVMOutput should be implicitly turned on. static bool use_vm_log() { @@ -3990,7 +3682,7 @@ jint Arguments::apply_ergo() { GCConfig::arguments()->initialize(); - set_shared_spaces_flags_and_archive_paths(); + CDSConfig::initialize(); // Initialize Metaspace flags and alignments Metaspace::ergo_initialize(); diff --git a/src/hotspot/share/runtime/arguments.hpp b/src/hotspot/share/runtime/arguments.hpp index 2b871fdc0c96c..8251db3d0d59a 100644 --- a/src/hotspot/share/runtime/arguments.hpp +++ b/src/hotspot/share/runtime/arguments.hpp @@ -248,7 +248,6 @@ class Arguments : AllStatic { // Operation modi static Mode _mode; - static void set_mode_flags(Mode mode); // preview features static bool _enable_preview; @@ -264,7 +263,6 @@ class Arguments : AllStatic { static void set_use_compressed_oops(); static void set_use_compressed_klass_ptrs(); static jint set_ergonomics_flags(); - static void set_shared_spaces_flags_and_archive_paths(); // Limits the given heap size by the maximum amount of virtual // memory this process is currently allowed to use. It also takes // the virtual-to-physical ratio of the current GC into account. @@ -363,17 +361,9 @@ class Arguments : AllStatic { // Return the "real" name for option arg if arg is an alias, and print a warning if arg is deprecated. // Return nullptr if the arg has expired. static const char* handle_aliases_and_deprecation(const char* arg); - - static char* _default_shared_archive_path; - static char* SharedArchivePath; - static char* SharedDynamicArchivePath; static size_t _default_SharedBaseAddress; // The default value specified in globals.hpp - static void extract_shared_archive_paths(const char* archive_path, - char** base_archive_path, - char** top_archive_path) NOT_CDS_RETURN; public: - static int num_archives(const char* archive_path) NOT_CDS_RETURN_(0); // Parses the arguments, first phase static jint parse(const JavaVMInitArgs* args); // Parse a string for a unsigned integer. Returns true if value @@ -441,8 +431,7 @@ class Arguments : AllStatic { static exit_hook_t exit_hook() { return _exit_hook; } static vfprintf_hook_t vfprintf_hook() { return _vfprintf_hook; } - static const char* GetSharedArchivePath() { return SharedArchivePath; } - static const char* GetSharedDynamicArchivePath() { return SharedDynamicArchivePath; } + static void no_shared_spaces(const char* message); static size_t default_SharedBaseAddress() { return _default_SharedBaseAddress; } // Java launcher properties static void process_sun_java_launcher_properties(JavaVMInitArgs* args); @@ -501,11 +490,9 @@ class Arguments : AllStatic { static char* get_appclasspath() { return _java_class_path->value(); } static void fix_appclasspath(); - static char* get_default_shared_archive_path() NOT_CDS_RETURN_(nullptr); - static void init_shared_archive_paths() NOT_CDS_RETURN; - // Operation modi static Mode mode() { return _mode; } + static void set_mode_flags(Mode mode); static bool is_interpreter_only() { return mode() == _int; } static bool is_compiler_only() { return mode() == _comp; } @@ -517,10 +504,6 @@ class Arguments : AllStatic { // Utility: copies src into buf, replacing "%%" with "%" and "%p" with pid. static bool copy_expand_pid(const char* src, size_t srclen, char* buf, size_t buflen); - static void check_unsupported_dumping_properties() NOT_CDS_RETURN; - - static bool check_unsupported_cds_runtime_properties() NOT_CDS_RETURN0; - static bool atojulong(const char *s, julong* result); static bool has_jfr_option() NOT_JFR_RETURN_(false); diff --git a/src/jdk.hotspot.agent/share/native/libsaproc/ps_core_common.c b/src/jdk.hotspot.agent/share/native/libsaproc/ps_core_common.c index 3912332662ae1..bcce23f12216a 100644 --- a/src/jdk.hotspot.agent/share/native/libsaproc/ps_core_common.c +++ b/src/jdk.hotspot.agent/share/native/libsaproc/ps_core_common.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2019, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -264,16 +264,16 @@ bool read_string(struct ps_prochandle* ph, uintptr_t addr, char* buf, size_t siz } #ifdef LINUX -// mangled name of Arguments::SharedArchivePath -#define SHARED_ARCHIVE_PATH_SYM "_ZN9Arguments17SharedArchivePathE" +// mangled name of CDSConfig::_static_archive_path +#define SHARED_ARCHIVE_PATH_SYM "_ZN9CDSConfig20_static_archive_pathE" #define USE_SHARED_SPACES_SYM "UseSharedSpaces" #define SHARED_BASE_ADDRESS_SYM "SharedBaseAddress" #define LIBJVM_NAME "/libjvm.so" #endif #ifdef __APPLE__ -// mangled name of Arguments::SharedArchivePath -#define SHARED_ARCHIVE_PATH_SYM "__ZN9Arguments17SharedArchivePathE" +// mangled name of CDSConfig::_static_archive_path +#define SHARED_ARCHIVE_PATH_SYM "__ZN9CDSConfig20_static_archive_pathE" #define USE_SHARED_SPACES_SYM "_UseSharedSpaces" #define SHARED_BASE_ADDRESS_SYM "_SharedBaseAddress" #define LIBJVM_NAME "/libjvm.dylib" From 9d776777c503ede4410ae3fe744cb267e9175433 Mon Sep 17 00:00:00 2001 From: Viktor Klang Date: Wed, 6 Dec 2023 07:12:03 +0000 Subject: [PATCH 105/143] 8321124: java/util/stream/GatherersTest.java times out Reviewed-by: alanb --- test/jdk/ProblemList.txt | 1 - test/jdk/java/util/stream/GathererTest.java | 2 +- .../java/util/stream/GatherersFoldTest.java | 92 +++++ .../stream/GatherersMapConcurrentTest.java | 317 +++++++++++++++ .../java/util/stream/GatherersScanTest.java | 103 +++++ test/jdk/java/util/stream/GatherersTest.java | 368 ------------------ .../util/stream/GatherersWindowFixedTest.java | 134 +++++++ .../stream/GatherersWindowSlidingTest.java | 139 +++++++ test/jdk/java/util/stream/TEST.properties | 1 + 9 files changed, 787 insertions(+), 370 deletions(-) create mode 100644 test/jdk/java/util/stream/GatherersFoldTest.java create mode 100644 test/jdk/java/util/stream/GatherersMapConcurrentTest.java create mode 100644 test/jdk/java/util/stream/GatherersScanTest.java delete mode 100644 test/jdk/java/util/stream/GatherersTest.java create mode 100644 test/jdk/java/util/stream/GatherersWindowFixedTest.java create mode 100644 test/jdk/java/util/stream/GatherersWindowSlidingTest.java create mode 100644 test/jdk/java/util/stream/TEST.properties diff --git a/test/jdk/ProblemList.txt b/test/jdk/ProblemList.txt index 096ea9231ec2c..1faa360aacdaf 100644 --- a/test/jdk/ProblemList.txt +++ b/test/jdk/ProblemList.txt @@ -722,7 +722,6 @@ com/sun/jdi/InvokeHangTest.java 8218463 linux-al java/util/Locale/LocaleProvidersRun.java 8268379 macosx-x64 sun/util/locale/provider/CalendarDataRegression.java 8268379 macosx-x64 -java/util/stream/GatherersTest.java 8321124 generic-all ############################################################################ diff --git a/test/jdk/java/util/stream/GathererTest.java b/test/jdk/java/util/stream/GathererTest.java index 5d5f0b517aa09..3d8e608cc6c2d 100644 --- a/test/jdk/java/util/stream/GathererTest.java +++ b/test/jdk/java/util/stream/GathererTest.java @@ -349,7 +349,7 @@ public void testCompositionOfStatefulGatherers(Config config) { @ParameterizedTest @MethodSource("configurations") public void testMassivelyComposedGatherers(Config config) { - final int ITERATIONS = 512; // Total number of compositions is 1 + (iterations*2) + final int ITERATIONS = 256; // Total number of compositions is 1 + (iterations*2) Gatherer g = addOne; for(int i = 0;i < ITERATIONS;++i) { g = g.andThen(timesTwo).andThen(addOne); diff --git a/test/jdk/java/util/stream/GatherersFoldTest.java b/test/jdk/java/util/stream/GatherersFoldTest.java new file mode 100644 index 0000000000000..caecff19e3ac5 --- /dev/null +++ b/test/jdk/java/util/stream/GatherersFoldTest.java @@ -0,0 +1,92 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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.util.List; +import java.util.stream.Gatherers; +import java.util.stream.Stream; + +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; +import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assumptions.*; + +/** + * @test + * @summary Tests the API and contract of Gatherers.fold + * @enablePreview + * @run junit GatherersFoldTest + */ + +public class GatherersFoldTest { + + record Config(int streamSize, boolean parallel) { + Stream stream() { + var stream = Stream.iterate(1, i -> i + 1).limit(streamSize); + stream = parallel ? stream.parallel() : stream.sequential(); + return stream; + } + } + + static final Stream sizes(){ + return Stream.of(0,1,10,33,99,9999); + } + + static final Stream sequentialAndParallel(int size) { + return Stream.of(false, true) + .map(parallel -> + new Config(size, parallel)); + } + + static final Stream configurations() { + return sizes().flatMap(i -> sequentialAndParallel(i)); + } + + @Test + public void throwsNPEWhenStateSupplierIsNull() { + assertThrows(NullPointerException.class, () -> Gatherers.fold(null, (state, next) -> state)); + } + + @Test + public void throwsNPEWhenFolderFunctionIsNull() { + assertThrows(NullPointerException.class, () -> Gatherers.fold(() -> "", null)); + } + + @ParameterizedTest + @MethodSource("configurations") + public void behavesAsExpected(Config config) { + final var expectedResult = List.of( + config.stream() + .sequential() + .reduce(0L, (acc, next) -> acc + next,(l, r) -> { + throw new IllegalStateException(); + }) + ); + + final var result = config.stream() + .gather(Gatherers.fold(() -> 0L, (acc, next) -> acc + next)) + .toList(); + + assertEquals(expectedResult, result); + } +} diff --git a/test/jdk/java/util/stream/GatherersMapConcurrentTest.java b/test/jdk/java/util/stream/GatherersMapConcurrentTest.java new file mode 100644 index 0000000000000..5ff845f55b9a4 --- /dev/null +++ b/test/jdk/java/util/stream/GatherersMapConcurrentTest.java @@ -0,0 +1,317 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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.util.List; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.Semaphore; +import java.util.stream.Gatherer; +import java.util.stream.Gatherers; +import java.util.stream.Stream; + +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; +import org.junit.jupiter.params.provider.ValueSource; +import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assumptions.*; + +/** + * @test + * @summary Tests the API and contract of Gatherers.mapConcurrent + * @enablePreview + * @run junit GatherersMapConcurrentTest + */ + +public class GatherersMapConcurrentTest { + + record Config(int streamSize, boolean parallel) { + Stream stream() { + var stream = Stream.iterate(1, i -> i + 1).limit(streamSize); + stream = parallel ? stream.parallel() : stream.sequential(); + return stream; + } + } + + record ConcurrencyConfig(Config config, int concurrencyLevel) {} + + static final Stream sizes(){ + return Stream.of(0,1,10,33,99,9999); + } + + static final Stream concurrencyLevels() { return Stream.of(1, 2, 3, 10, + 1000); } + + static final Stream sequentialAndParallel(int size) { + return Stream.of(false, true) + .map(parallel -> + new Config(size, parallel)); + } + + static final Stream configurations() { + return sizes().flatMap(i -> sequentialAndParallel(i)); + } + + static final Stream concurrencyConfigurations() { + return configurations().flatMap( c -> concurrencyLevels().map( l -> new ConcurrencyConfig(c, l)) ); + } + + static final Stream small_atleast3_configurations() { + return sizes().filter(i -> i > 2 && i < 100).flatMap(i -> sequentialAndParallel(i)); + } + + static final class TestException extends RuntimeException { + TestException(String message) { + super(message); + } + } + + @ParameterizedTest + @ValueSource(ints = { Integer.MIN_VALUE, -999, -1, 0}) + public void throwsIAEWhenConcurrencyLevelIsLowerThanOne(int level) { + assertThrows(IllegalArgumentException.class, + () -> Gatherers.mapConcurrent(level, s -> s)); + } + + @Test + public void throwsNPEWhenMapperFunctionIsNull() { + assertThrows(NullPointerException.class, () -> Gatherers.mapConcurrent(2, null)); + } + + @ParameterizedTest + @ValueSource(booleans = { true, false } ) + public void rethrowsRuntimeExceptionsUnwrapped(boolean parallel) { + final var stream = parallel ? Stream.of(1).parallel() : Stream.of(1); + + var exception = + assertThrows( + RuntimeException.class, + () -> stream.gather( + Gatherers.mapConcurrent(2, x -> { + throw new RuntimeException("expected"); + }) + ).toList() + ); + assertEquals("expected", exception.getMessage()); + assertNull(exception.getCause()); + } + + @ParameterizedTest + @ValueSource(booleans = { true, false } ) + public void rethrowsSubtypesOfRuntimeExceptionsUnwrapped(boolean parallel) { + final var stream = parallel ? Stream.of(1).parallel() : Stream.of(1); + + var exception = + assertThrows( + IllegalStateException.class, + () -> stream.gather( + Gatherers.mapConcurrent(2, x -> { + throw new IllegalStateException("expected"); + }) + ).toList() + ); + assertEquals("expected", exception.getMessage()); + assertNull(exception.getCause()); + } + + @ParameterizedTest + @ValueSource(booleans = { true, false } ) + public void rethrowsErrorsWrappedAsRuntimeExceptions(boolean parallel) { + final var stream = parallel ? Stream.of(1).parallel() : Stream.of(1); + + var exception = + assertThrows( + RuntimeException.class, + () -> stream.gather( + Gatherers.mapConcurrent(2, x -> { + throw new Error("expected"); + }) + ).toList() + ); + assertEquals("expected", exception.getCause().getMessage()); + assertEquals(Error.class, exception.getCause().getClass()); + } + + @ParameterizedTest + @MethodSource("small_atleast3_configurations") + public void cancelsStartedTasksIfExceptionDuringProcessingIsThrown(Config config) { + final var streamSize = config.streamSize(); + + assertTrue(streamSize > 2, "This test case won't work with tiny streams!"); + + final var tasksToCancel = streamSize - 2; + final var throwerReady = new CountDownLatch(1); + final var initiateThrow = new CountDownLatch(1); + final var tasksCancelled = new CountDownLatch(tasksToCancel); + + final var tasksWaiting = new Semaphore(0); + + try { + config.stream() + .gather( + Gatherers.mapConcurrent(streamSize, i -> { + switch (i) { + case 1 -> { + throwerReady.countDown(); + try { initiateThrow.await(); } + catch (InterruptedException ie) { + fail("Unexpected"); + } + throw new TestException("expected"); + } + + case Integer n when n == streamSize -> { + try { throwerReady.await(); } + catch (InterruptedException ie) { + fail("Unexpected"); + } + while(tasksWaiting.getQueueLength() < tasksToCancel) { + try { + Thread.sleep(10); + } catch (InterruptedException ie) { + // Ignore + } + } + initiateThrow.countDown(); + } + + default -> { + try { + tasksWaiting.acquire(); + } catch (InterruptedException ie) { + tasksCancelled.countDown(); // used to ensure that they all were interrupted + } + } + } + + return i; + }) + ) + .toList(); + fail("This should not be reached"); + } catch (TestException te) { + assertEquals("expected", te.getMessage()); + try { tasksCancelled.await(); } + catch (InterruptedException ie) { + fail("Unexpected"); + } + return; + } + + fail("This should not be reached"); + } + + @ParameterizedTest + @MethodSource("small_atleast3_configurations") + public void cancelsStartedTasksIfShortCircuited(Config config) { + final var streamSize = config.streamSize(); + + assertTrue(streamSize > 2, "This test case won't work with tiny streams!"); + + final var tasksToCancel = streamSize - 2; + final var firstReady = new CountDownLatch(1); + final var lastDone = new CountDownLatch(1); + final var tasksCancelled = new CountDownLatch(tasksToCancel); + + final var tasksWaiting = new Semaphore(0); + + final var result = + config.stream().gather( + Gatherers.mapConcurrent(streamSize, i -> { + switch (i) { + case 1 -> { + firstReady.countDown(); + try { lastDone.await(); } + catch (InterruptedException ie) { + fail("Unexpected!"); + } + } + + case Integer n when n == streamSize -> { + try { firstReady.await(); } + catch (InterruptedException ie) { + fail("Unexpected!"); + } + while(tasksWaiting.getQueueLength() < tasksToCancel) { + try { + Thread.sleep(10); + } catch (InterruptedException ie) { + // Ignore + } + } + lastDone.countDown(); + } + + default -> { + try { + tasksWaiting.acquire(); + } catch (InterruptedException ie) { + tasksCancelled.countDown(); // used to ensure that they all were interrupted + } + } + } + + return i; + }) + ) + .gather(Gatherer.of((unused, state, downstream) -> downstream.push(state) && false)) // emulate limit(1) + .toList(); + assertEquals(List.of(1), result); + try { + tasksCancelled.await(); + } catch (InterruptedException ie) { + fail("Unexpected"); + } + } + + @ParameterizedTest + @MethodSource("concurrencyConfigurations") + public void behavesAsExpected(ConcurrencyConfig cc) { + final var expectedResult = cc.config().stream() + .map(x -> x * x) + .toList(); + + final var result = cc.config().stream() + .gather(Gatherers.mapConcurrent(cc.concurrencyLevel(), x -> x * x)) + .toList(); + + assertEquals(expectedResult, result); + } + + @ParameterizedTest + @MethodSource("concurrencyConfigurations") + public void behavesAsExpectedWhenShortCircuited(ConcurrencyConfig cc) { + final var limitTo = Math.max(cc.config().streamSize() / 2, 1); + + final var expectedResult = cc.config().stream() + .map(x -> x * x) + .limit(limitTo) + .toList(); + + final var result = cc.config().stream() + .gather(Gatherers.mapConcurrent(cc.concurrencyLevel(), x -> x * x)) + .limit(limitTo) + .toList(); + + assertEquals(expectedResult, result); + } +} diff --git a/test/jdk/java/util/stream/GatherersScanTest.java b/test/jdk/java/util/stream/GatherersScanTest.java new file mode 100644 index 0000000000000..993a616233c70 --- /dev/null +++ b/test/jdk/java/util/stream/GatherersScanTest.java @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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.util.LinkedList; +import java.util.List; +import java.util.stream.Gatherers; +import java.util.stream.Stream; + +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; +import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assumptions.*; + +/** + * @test + * @summary Tests the API and contract of Gatherers.scan + * @enablePreview + * @run junit GatherersScanTest + */ + +public class GatherersScanTest { + + record Config(int streamSize, boolean parallel) { + Stream stream() { + var stream = Stream.iterate(1, i -> i + 1).limit(streamSize); + stream = parallel ? stream.parallel() : stream.sequential(); + return stream; + } + } + + static final Stream sizes(){ + return Stream.of(0,1,10,33,99,9999); + } + + static final Stream sequentialAndParallel(int size) { + return Stream.of(false, true) + .map(parallel -> + new Config(size, parallel)); + } + + static final Stream configurations() { + return sizes().flatMap(i -> sequentialAndParallel(i)); + } + + @Test + public void throwsNPEWhenStateSupplierIsNull() { + assertThrows(NullPointerException.class, + () -> Gatherers.scan(null, (state, next) -> state)); + } + + @Test + public void throwsNPEWhenScannerFunctionIsNull() { + assertThrows(NullPointerException.class, + () -> Gatherers.scan(() -> "", null)); + } + + @ParameterizedTest + @MethodSource("configurations") + public void behavesAsExpected(Config config) { + final List expectedResult; + if (config.streamSize() == 0) { + expectedResult = List.of(); + } else { + expectedResult = config.stream() + .sequential() + .reduce( + new LinkedList(), + (acc, next) -> { + acc.addLast((acc.isEmpty() ? 0L : acc.getLast()) + next); + return acc; + }, + (l, r) -> { throw new IllegalStateException(); } + ); + } + + final var result = config.stream() + .gather(Gatherers.scan(() -> 0L, (acc, next) -> acc + next)) + .toList(); + + assertEquals(expectedResult, result); + } +} diff --git a/test/jdk/java/util/stream/GatherersTest.java b/test/jdk/java/util/stream/GatherersTest.java deleted file mode 100644 index e2cbee38fc2b5..0000000000000 --- a/test/jdk/java/util/stream/GatherersTest.java +++ /dev/null @@ -1,368 +0,0 @@ -/* - * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. - * 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.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Set; -import java.util.concurrent.ConcurrentLinkedQueue; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.Semaphore; -import java.util.function.Predicate; -import java.util.function.Supplier; -import java.util.stream.*; -import java.util.stream.Gatherer; - -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.MethodSource; -import static org.junit.jupiter.api.Assertions.*; -import static org.junit.jupiter.api.Assumptions.*; - -/** - * @test - * @summary Testing the built-in Gatherer implementations and their contracts - * @enablePreview - * @run junit GatherersTest - */ - -public class GatherersTest { - - record Config(int streamSize, boolean parallel) { - Stream stream() { - return wrapStream(Stream.iterate(1, i -> i + 1).limit(streamSize)); - } - - Stream wrapStream(Stream stream) { - stream = parallel ? stream.parallel() : stream.sequential(); - return stream; - } - } - - final static Stream configurations() { - return Stream.of(0,1,10,33,99,9999) - .flatMap(size -> - Stream.of(false, true) - .map(parallel -> - new Config(size, parallel)) - ); - } - - final class TestException extends RuntimeException { - TestException(String message) { - super(message); - } - } - - @ParameterizedTest - @MethodSource("configurations") - public void testFixedWindowAPIandContract(Config config) { - // Groups must be greater than 0 - assertThrows(IllegalArgumentException.class, () -> Gatherers.windowFixed(0)); - - final var streamSize = config.streamSize(); - - // We're already covering less-than-one scenarios above - if (streamSize > 0) { - //Test creating a window of the same size as the stream - { - final var result = config.stream() - .gather(Gatherers.windowFixed(streamSize)) - .toList(); - assertEquals(1, result.size()); - assertEquals(config.stream().toList(), result.get(0)); - } - - //Test nulls as elements - { - assertEquals( - config.stream() - .map(n -> Arrays.asList(null, null)) - .toList(), - config.stream() - .flatMap(n -> Stream.of(null, null)) - .gather(Gatherers.windowFixed(2)) - .toList()); - } - - // Test unmodifiability of windows - { - var window = config.stream() - .gather(Gatherers.windowFixed(1)) - .findFirst() - .get(); - assertThrows(UnsupportedOperationException.class, - () -> window.add(2)); - } - } - - - // Tests that the layout of the returned data is as expected - for (var windowSize : List.of(1, 2, 3, 10)) { - final var expectLastWindowSize = streamSize % windowSize == 0 ? windowSize : streamSize % windowSize; - final var expectedSize = (streamSize / windowSize) + ((streamSize % windowSize == 0) ? 0 : 1); - - final var expected = config.stream().toList().iterator(); - - final var result = config.stream() - .gather(Gatherers.windowFixed(windowSize)) - .toList(); - - int currentWindow = 0; - for (var window : result) { - ++currentWindow; - assertEquals(currentWindow < expectedSize ? windowSize : expectLastWindowSize, window.size()); - for (var element : window) - assertEquals(expected.next(), element); - } - - assertEquals(expectedSize, currentWindow); - } - } - - @ParameterizedTest - @MethodSource("configurations") - public void testSlidingAPIandContract(Config config) { - // Groups must be greater than 0 - assertThrows(IllegalArgumentException.class, () -> Gatherers.windowSliding(0)); - - final var streamSize = config.streamSize(); - - // We're already covering less-than-one scenarios above - if (streamSize > 0) { - //Test greating a window larger than the size of the stream - { - final var result = config.stream() - .gather(Gatherers.windowSliding(streamSize + 1)) - .toList(); - assertEquals(1, result.size()); - assertEquals(config.stream().toList(), result.get(0)); - } - - //Test nulls as elements - { - assertEquals( - List.of( - Arrays.asList(null, null), - Arrays.asList(null, null) - ), - config.wrapStream(Stream.of(null, null, null)) - .gather(Gatherers.windowSliding(2)) - .toList()); - } - - // Test unmodifiability of windows - { - var window = config.stream() - .gather(Gatherers.windowSliding(1)) - .findFirst() - .get(); - assertThrows(UnsupportedOperationException.class, - () -> window.add(2)); - } - } - - // Tests that the layout of the returned data is as expected - for (var windowSize : List.of(1, 2, 3, 10)) { - final var expectLastWindowSize = streamSize < windowSize ? streamSize : windowSize; - final var expectedNumberOfWindows = streamSize == 0 ? 0 : Math.max(1, 1 + streamSize - windowSize); - - int expectedElement = 0; - int currentWindow = 0; - - final var result = config.stream() - .gather(Gatherers.windowSliding(windowSize)) - .toList(); - - for (var window : result) { - ++currentWindow; - assertEquals(currentWindow < expectedNumberOfWindows ? windowSize : expectLastWindowSize, window.size()); - for (var element : window) { - assertEquals(++expectedElement, element.intValue()); - } - // rewind for the sliding motion - expectedElement -= (window.size() - 1); - } - - assertEquals(expectedNumberOfWindows, currentWindow); - } - } - - @ParameterizedTest - @MethodSource("configurations") - public void testFoldAPIandContract(Config config) { - // Verify prereqs - assertThrows(NullPointerException.class, () -> Gatherers.fold(null, (state, next) -> state)); - assertThrows(NullPointerException.class, () -> Gatherers.fold(() -> "", null)); - - final var expectedResult = List.of( - config.stream() - .sequential() - .reduce("", (acc, next) -> acc + next, (l,r) -> { throw new IllegalStateException(); }) - ); - - final var result = config.stream() - .gather(Gatherers.fold(() -> "", (acc, next) -> acc + next)) - .toList(); - - assertEquals(expectedResult, result); - } - - @ParameterizedTest - @MethodSource("configurations") - public void testMapConcurrentAPIandContract(Config config) throws InterruptedException { - // Verify prereqs - assertThrows(IllegalArgumentException.class, () -> Gatherers.mapConcurrent(0, s -> s)); - assertThrows(NullPointerException.class, () -> Gatherers.mapConcurrent(2, null)); - - // Test exception during processing - { - final var stream = config.parallel() ? Stream.of(1).parallel() : Stream.of(1); - - assertThrows(RuntimeException.class, - () -> stream.gather(Gatherers.mapConcurrent(2, x -> { - throw new RuntimeException(); - })).toList()); - } - - // Test cancellation after exception during processing - if (config.streamSize > 2) { // We need streams of a minimum size to test this - final var firstLatch = new CountDownLatch(1); - final var secondLatch = new CountDownLatch(1); - final var cancellationLatch = new CountDownLatch(config.streamSize - 2); // all but two will get cancelled - - try { - config.stream() - .gather( - Gatherers.mapConcurrent(config.streamSize(), i -> { - switch (i) { - case 1 -> { - try { - firstLatch.await(); // the first waits for the last element to start - } catch (InterruptedException ie) { - throw new IllegalStateException(ie); - } - throw new TestException("expected"); - } - - case Integer n when n == config.streamSize - 1 -> { // last element - firstLatch.countDown(); // ensure that the first element can now proceed - } - - default -> { - try { - secondLatch.await(); // These should all get interrupted - } catch (InterruptedException ie) { - cancellationLatch.countDown(); // used to ensure that they all were interrupted - } - } - } - - return i; - }) - ) - .toList(); - fail("This should not be reached"); - } catch (RuntimeException re) { - assertSame(TestException.class, re.getClass()); - assertEquals("expected", re.getMessage()); - cancellationLatch.await(); - return; - } - - fail("This should not be reached"); - } - - // Test cancellation during short-circuiting - if (config.streamSize > 2) { - final var firstLatch = new CountDownLatch(1); - final var secondLatch = new CountDownLatch(1); - final var cancellationLatch = new CountDownLatch(config.streamSize - 2); // all but two will get cancelled - - final var result = - config.stream() - .gather( - Gatherers.mapConcurrent(config.streamSize(), i -> { - switch (i) { - case 1 -> { - try { - firstLatch.await(); // the first waits for the last element to start - } catch (InterruptedException ie) { - throw new IllegalStateException(ie); - } - } - - case Integer n when n == config.streamSize - 1 -> { // last element - firstLatch.countDown(); // ensure that the first element can now proceed - } - - default -> { - try { - secondLatch.await(); // These should all get interrupted - } catch (InterruptedException ie) { - cancellationLatch.countDown(); // used to ensure that they all were interrupted - } - } - } - - return i; - }) - ) - .limit(2) - .toList(); - cancellationLatch.await(); // If this hangs, then we didn't cancel and interrupt the tasks - assertEquals(List.of(1,2), result); - } - - for (var concurrency : List.of(1, 2, 3, 10, 1000)) { - // Test normal operation - { - final var expectedResult = config.stream() - .map(x -> x * x) - .toList(); - - final var result = config.stream() - .gather(Gatherers.mapConcurrent(concurrency, x -> x * x)) - .toList(); - - assertEquals(expectedResult, result); - } - - // Test short-circuiting - { - final var limitTo = Math.max(config.streamSize() / 2, 1); - - final var expectedResult = config.stream() - .map(x -> x * x) - .limit(limitTo) - .toList(); - - final var result = config.stream() - .gather(Gatherers.mapConcurrent(concurrency, x -> x * x)) - .limit(limitTo) - .toList(); - - assertEquals(expectedResult, result); - } - } - } -} diff --git a/test/jdk/java/util/stream/GatherersWindowFixedTest.java b/test/jdk/java/util/stream/GatherersWindowFixedTest.java new file mode 100644 index 0000000000000..69426dfd768e9 --- /dev/null +++ b/test/jdk/java/util/stream/GatherersWindowFixedTest.java @@ -0,0 +1,134 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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.util.Arrays; +import java.util.List; +import java.util.stream.Gatherers; +import java.util.stream.Stream; + +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; +import org.junit.jupiter.params.provider.ValueSource; +import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assumptions.*; + +/** + * @test + * @summary Tests the API and contract of Gatherers.windowFixed + * @enablePreview + * @run junit GatherersWindowFixedTest + */ + +public class GatherersWindowFixedTest { + + record Config(int streamSize, boolean parallel) { + Stream stream() { + var stream = Stream.iterate(1, i -> i + 1).limit(streamSize); + stream = parallel ? stream.parallel() : stream.sequential(); + return stream; + } + } + + static final Stream sizes(){ + return Stream.of(0,1,10,33,99,9999); + } + + static final Stream sequentialAndParallel(int size) { + return Stream.of(false, true) + .map(parallel -> + new Config(size, parallel)); + } + + static final Stream configurations() { + return sizes().flatMap(i -> sequentialAndParallel(i)); + } + + static final Stream nonempty_configurations() { + return sizes().filter(i -> i > 0).flatMap(i -> sequentialAndParallel(i)); + } + + @ParameterizedTest + @ValueSource(ints = { Integer.MIN_VALUE, -999, -1, 0}) + public void throwsIAEWhenWindowSizeIsSmallerThanOne(int windowSize) { + assertThrows(IllegalArgumentException.class, + () -> Gatherers.windowFixed(windowSize)); + } + + @ParameterizedTest + @MethodSource("nonempty_configurations") + public void behavesAsExpectedWhenWindowSizeIsSizeOfStream(Config config) { + final var streamSize = config.streamSize(); + final var result = config.stream() + .gather(Gatherers.windowFixed(streamSize)) + .toList(); + assertEquals(1, result.size()); + assertEquals(config.stream().toList(), result.get(0)); + } + + @Test + public void toleratesNullElements() { + assertEquals( + List.of(Arrays.asList(null, null)), + Stream.of(null, null) + .gather(Gatherers.windowFixed(2)) + .toList()); + } + + @Test + public void throwsUOEWhenWindowsAreAttemptedToBeModified() { + var window = Stream.of(1) + .gather(Gatherers.windowFixed(1)) + .findFirst() + .get(); + assertThrows(UnsupportedOperationException.class, + () -> window.add(2)); + } + + @ParameterizedTest + @MethodSource("configurations") + public void behavesAsExpected(Config config) { + final var streamSize = config.streamSize(); + // Tests that the layout of the returned data is as expected + for (var windowSize : List.of(1, 2, 3, 10)) { + final var expectLastWindowSize = streamSize % windowSize == 0 ? windowSize : streamSize % windowSize; + final var expectedSize = (streamSize / windowSize) + ((streamSize % windowSize == 0) ? 0 : 1); + + final var expected = config.stream().toList().iterator(); + + final var result = config.stream() + .gather(Gatherers.windowFixed(windowSize)) + .toList(); + + int currentWindow = 0; + for (var window : result) { + ++currentWindow; + assertEquals(currentWindow < expectedSize ? windowSize : expectLastWindowSize, window.size()); + for (var element : window) + assertEquals(expected.next(), element); + } + + assertEquals(expectedSize, currentWindow); + } + } +} diff --git a/test/jdk/java/util/stream/GatherersWindowSlidingTest.java b/test/jdk/java/util/stream/GatherersWindowSlidingTest.java new file mode 100644 index 0000000000000..27ed6ecc4dde7 --- /dev/null +++ b/test/jdk/java/util/stream/GatherersWindowSlidingTest.java @@ -0,0 +1,139 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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.util.Arrays; +import java.util.List; +import java.util.stream.Gatherers; +import java.util.stream.Stream; + +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; +import org.junit.jupiter.params.provider.ValueSource; +import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assumptions.*; + +/** + * @test + * @summary Tests the API and contract of Gatherers.windowSliding + * @enablePreview + * @run junit GatherersWindowSlidingTest + */ + +public class GatherersWindowSlidingTest { + + record Config(int streamSize, boolean parallel) { + Stream stream() { + var stream = Stream.iterate(1, i -> i + 1).limit(streamSize); + stream = parallel ? stream.parallel() : stream.sequential(); + return stream; + } + } + + static final Stream sizes(){ + return Stream.of(0,1,10,33,99,9999); + } + + static final Stream sequentialAndParallel(int size) { + return Stream.of(false, true) + .map(parallel -> + new Config(size, parallel)); + } + + static final Stream configurations() { + return sizes().flatMap(i -> sequentialAndParallel(i)); + } + + static final Stream nonempty_configurations() { + return sizes().filter(i -> i > 0).flatMap(i -> sequentialAndParallel(i)); + } + + @ParameterizedTest + @ValueSource(ints = { Integer.MIN_VALUE, -999, -1, 0}) + public void throwsIAEWhenWindowSizeIsSmallerThanOne(int windowSize) { + assertThrows(IllegalArgumentException.class, () -> Gatherers.windowSliding(windowSize)); + } + + @ParameterizedTest + @MethodSource("nonempty_configurations") + public void behavesAsExpectedWhenWindowSizeIsLargerThanStreamSize(Config config) { + final var streamSize = config.streamSize(); + final var result = config.stream() + .gather(Gatherers.windowSliding(streamSize + 1)) + .toList(); + assertEquals(1, result.size()); + assertEquals(config.stream().toList(), result.get(0)); + } + + @Test + public void toleratesNullElements() { + assertEquals( + List.of( + Arrays.asList(null, null), + Arrays.asList(null, null) + ), + Stream.of(null, null, null) + .gather(Gatherers.windowSliding(2)) + .toList()); + } + + @Test + public void throwsUOEWhenWindowsAreAttemptedToBeModified() { + var window = Stream.of(1) + .gather(Gatherers.windowSliding(1)) + .findFirst() + .get(); + assertThrows(UnsupportedOperationException.class, + () -> window.add(2)); + } + + @ParameterizedTest + @MethodSource("configurations") + public void behavesAsExpected(Config config) { + final var streamSize = config.streamSize(); + // Tests that the layout of the returned data is as expected + for (var windowSize : List.of(1, 2, 3, 10)) { + final var expectLastWindowSize = streamSize < windowSize ? streamSize : windowSize; + final var expectedNumberOfWindows = streamSize == 0 ? 0 : Math.max(1, 1 + streamSize - windowSize); + + int expectedElement = 0; + int currentWindow = 0; + + final var result = config.stream() + .gather(Gatherers.windowSliding(windowSize)) + .toList(); + + for (var window : result) { + ++currentWindow; + assertEquals(currentWindow < expectedNumberOfWindows ? windowSize : expectLastWindowSize, window.size()); + for (var element : window) { + assertEquals(++expectedElement, element.intValue()); + } + // rewind for the sliding motion + expectedElement -= (window.size() - 1); + } + + assertEquals(expectedNumberOfWindows, currentWindow); + } + } +} diff --git a/test/jdk/java/util/stream/TEST.properties b/test/jdk/java/util/stream/TEST.properties new file mode 100644 index 0000000000000..74a024f2880ac --- /dev/null +++ b/test/jdk/java/util/stream/TEST.properties @@ -0,0 +1 @@ +maxOutputSize=2000000 From a0920aa436943b88b53a81f46752e8c4bb0a0fc7 Mon Sep 17 00:00:00 2001 From: Per Minborg Date: Wed, 6 Dec 2023 08:02:52 +0000 Subject: [PATCH 106/143] 8321159: SymbolLookup.libraryLookup(Path, Arena) Assumes default Filesystem Reviewed-by: mcimadamore --- .../java/lang/foreign/SymbolLookup.java | 5 +++ test/jdk/java/foreign/LibraryLookupTest.java | 37 +++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/src/java.base/share/classes/java/lang/foreign/SymbolLookup.java b/src/java.base/share/classes/java/lang/foreign/SymbolLookup.java index 1d04032a1ff3a..de955a0254198 100644 --- a/src/java.base/share/classes/java/lang/foreign/SymbolLookup.java +++ b/src/java.base/share/classes/java/lang/foreign/SymbolLookup.java @@ -37,6 +37,7 @@ import jdk.internal.reflect.Reflection; import java.lang.invoke.MethodHandles; +import java.nio.file.FileSystems; import java.nio.file.Path; import java.util.Objects; import java.util.Optional; @@ -284,6 +285,7 @@ static SymbolLookup libraryLookup(String name, Arena arena) { * @throws WrongThreadException if {@code arena} is a confined arena, and this method * is called from a thread {@code T}, other than the arena's owner thread * @throws IllegalArgumentException if {@code path} does not point to a valid library + * in the default file system * @throws IllegalCallerException If the caller is in a module that does not have * native access enabled */ @@ -292,6 +294,9 @@ static SymbolLookup libraryLookup(String name, Arena arena) { static SymbolLookup libraryLookup(Path path, Arena arena) { Reflection.ensureNativeAccess(Reflection.getCallerClass(), SymbolLookup.class, "libraryLookup"); + if (path.getFileSystem() != FileSystems.getDefault()) { + throw new IllegalArgumentException("Path not in default file system: " + path); + } return libraryLookup(path, RawNativeLibraries::load, arena); } diff --git a/test/jdk/java/foreign/LibraryLookupTest.java b/test/jdk/java/foreign/LibraryLookupTest.java index 90aa589654b9b..950e769b0f61a 100644 --- a/test/jdk/java/foreign/LibraryLookupTest.java +++ b/test/jdk/java/foreign/LibraryLookupTest.java @@ -23,10 +23,16 @@ import org.testng.annotations.Test; +import java.io.IOException; import java.lang.foreign.*; import java.lang.foreign.Arena; import java.lang.invoke.MethodHandle; +import java.net.URI; +import java.net.URISyntaxException; +import java.nio.file.FileSystem; +import java.nio.file.FileSystems; import java.nio.file.Path; +import java.util.HashMap; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; @@ -91,6 +97,37 @@ void testLoadLibraryBadLookupName() { } } + @Test + void testLoadLibraryNonDefaultFileSystem() throws URISyntaxException, IOException { + try (FileSystem customFs = fsFromJarOfClass(org.testng.annotations.Test.class)) { + try (Arena arena = Arena.ofConfined()) { + Path p = customFs.getPath("."); + try { + SymbolLookup.libraryLookup(p, arena); + fail("Did not throw IAE"); + } catch (IllegalArgumentException iae) { + assertTrue(iae.getMessage().contains("not in default file system")); + } + } + } + } + + private static FileSystem fsFromJarOfClass(Class clazz) throws URISyntaxException, IOException { + String name = clazz.getName(); + final int lastDot = name.lastIndexOf('.'); + if (lastDot != -1) { + name = name.substring(lastDot + 1); + } + URI uri = clazz.getResource(name + ".class").toURI(); + if (uri.getScheme().equals("jar")) { + final String[] parts = uri.toString().split("!"); + if (parts.length == 2) { + return FileSystems.newFileSystem(URI.create(parts[0]), new HashMap<>()); + } + } + throw new AssertionError("Unable to create file system from " + clazz); + } + private static MemorySegment loadLibrary(Arena session) { SymbolLookup lib = SymbolLookup.libraryLookup(LIB_PATH, session); MemorySegment addr = lib.find("inc").get(); From 2678e4cd9424ca4e33ebb9693c84f9a86bf5504c Mon Sep 17 00:00:00 2001 From: Jatin Bhateja Date: Wed, 6 Dec 2023 09:58:06 +0000 Subject: [PATCH 107/143] 8319111: Mismatched MemorySegment heap access is not consistently intrinsified Reviewed-by: sviswanathan, psandoz, thartmann --- src/hotspot/share/classfile/vmIntrinsics.hpp | 4 + src/hotspot/share/opto/vectorIntrinsics.cpp | 209 ++++++++++-------- .../misc/X-ScopedMemoryAccess.java.template | 8 +- .../jdk/internal/vm/vector/VectorSupport.java | 8 +- .../jdk/incubator/vector/AbstractMask.java | 2 +- .../jdk/incubator/vector/ByteVector.java | 18 +- .../jdk/incubator/vector/DoubleVector.java | 10 +- .../jdk/incubator/vector/FloatVector.java | 10 +- .../jdk/incubator/vector/IntVector.java | 10 +- .../jdk/incubator/vector/LongVector.java | 10 +- .../jdk/incubator/vector/ShortVector.java | 18 +- .../jdk/incubator/vector/VectorMask.java | 2 +- .../incubator/vector/X-Vector.java.template | 26 +-- .../vector/TestLoadSegmentVarious.java | 26 +++ 14 files changed, 205 insertions(+), 156 deletions(-) diff --git a/src/hotspot/share/classfile/vmIntrinsics.hpp b/src/hotspot/share/classfile/vmIntrinsics.hpp index 66b8a43640728..8ed99d74c0b53 100644 --- a/src/hotspot/share/classfile/vmIntrinsics.hpp +++ b/src/hotspot/share/classfile/vmIntrinsics.hpp @@ -997,6 +997,7 @@ class methodHandle; "I" \ "Ljava/lang/Object;" \ "J" \ + "Z" \ "Ljava/lang/Object;" \ "J" \ "Ljdk/internal/vm/vector/VectorSupport$VectorSpecies;" \ @@ -1011,6 +1012,7 @@ class methodHandle; "I" \ "Ljava/lang/Object;" \ "J" \ + "Z" \ "Ljdk/internal/vm/vector/VectorSupport$VectorMask;" \ "I" \ "Ljava/lang/Object;" \ @@ -1026,6 +1028,7 @@ class methodHandle; "I" \ "Ljava/lang/Object;" \ "J" \ + "Z" \ "Ljdk/internal/vm/vector/VectorSupport$VectorPayload;" \ "Ljava/lang/Object;" \ "J" \ @@ -1040,6 +1043,7 @@ class methodHandle; "I" \ "Ljava/lang/Object;" \ "J" \ + "Z" \ "Ljdk/internal/vm/vector/VectorSupport$Vector;" \ "Ljdk/internal/vm/vector/VectorSupport$VectorMask;" \ "Ljava/lang/Object;" \ diff --git a/src/hotspot/share/opto/vectorIntrinsics.cpp b/src/hotspot/share/opto/vectorIntrinsics.cpp index bb046d8552717..c51ee30895e8d 100644 --- a/src/hotspot/share/opto/vectorIntrinsics.cpp +++ b/src/hotspot/share/opto/vectorIntrinsics.cpp @@ -928,7 +928,7 @@ bool LibraryCallKit::inline_vector_frombits_coerced() { return true; } -static bool elem_consistent_with_arr(BasicType elem_bt, const TypeAryPtr* arr_type) { +static bool elem_consistent_with_arr(BasicType elem_bt, const TypeAryPtr* arr_type, bool mismatched_ms) { assert(arr_type != nullptr, "unexpected"); BasicType arr_elem_bt = arr_type->elem()->array_element_basic_type(); if (elem_bt == arr_elem_bt) { @@ -940,41 +940,44 @@ static bool elem_consistent_with_arr(BasicType elem_bt, const TypeAryPtr* arr_ty // Load/store of byte vector from/to boolean[] is supported return true; } else { - return false; + return mismatched_ms; } } -// public static -// > -// VM load(Class vmClass, Class elementType, int length, -// Object base, long offset, // Unsafe addressing -// C container, long index, S s, // Arguments for default implementation -// LoadOperation defaultImpl) -// -// public static -// > -// void store(Class vectorClass, Class elementType, int length, -// Object base, long offset, // Unsafe addressing -// V v, -// C container, long index, // Arguments for default implementation -// StoreVectorOperation defaultImpl) - +// public static +// > +// VM load(Class vmClass, Class eClass, +// int length, +// Object base, long offset, // Unsafe addressing +// boolean fromSegment, +// C container, long index, S s, // Arguments for default implementation +// LoadOperation defaultImpl) { +// public static +// +// void store(Class vClass, Class eClass, +// int length, +// Object base, long offset, // Unsafe addressing +// boolean fromSegment, +// V v, C container, long index, // Arguments for default implementation +// StoreVectorOperation defaultImpl) { bool LibraryCallKit::inline_vector_mem_operation(bool is_store) { const TypeInstPtr* vector_klass = gvn().type(argument(0))->isa_instptr(); const TypeInstPtr* elem_klass = gvn().type(argument(1))->isa_instptr(); const TypeInt* vlen = gvn().type(argument(2))->isa_int(); + const TypeInt* from_ms = gvn().type(argument(6))->isa_int(); - if (vector_klass == nullptr || elem_klass == nullptr || vlen == nullptr || + if (vector_klass == nullptr || elem_klass == nullptr || vlen == nullptr || !from_ms->is_con() || vector_klass->const_oop() == nullptr || elem_klass->const_oop() == nullptr || !vlen->is_con()) { if (C->print_intrinsics()) { - tty->print_cr(" ** missing constant: vclass=%s etype=%s vlen=%s", + tty->print_cr(" ** missing constant: vclass=%s etype=%s vlen=%s from_ms=%s", NodeClassNames[argument(0)->Opcode()], NodeClassNames[argument(1)->Opcode()], - NodeClassNames[argument(2)->Opcode()]); + NodeClassNames[argument(2)->Opcode()], + NodeClassNames[argument(6)->Opcode()]); } return false; // not enough info for intrinsification } @@ -1033,11 +1036,10 @@ bool LibraryCallKit::inline_vector_mem_operation(bool is_store) { const bool needs_cpu_membar = is_mixed_access || is_mismatched_access; - // Now handle special case where load/store happens from/to byte array but element type is not byte. - bool using_byte_array = arr_type != nullptr && arr_type->elem()->array_element_basic_type() == T_BYTE && elem_bt != T_BYTE; - // Handle loading masks. - // If there is no consistency between array and vector element types, it must be special byte array case or loading masks - if (arr_type != nullptr && !using_byte_array && !is_mask && !elem_consistent_with_arr(elem_bt, arr_type)) { + bool mismatched_ms = from_ms->get_con() && !is_mask && arr_type != nullptr && arr_type->elem()->array_element_basic_type() != elem_bt; + BasicType mem_elem_bt = mismatched_ms ? arr_type->elem()->array_element_basic_type() : elem_bt; + int mem_num_elem = mismatched_ms ? (num_elem * type2aelembytes(elem_bt)) / type2aelembytes(mem_elem_bt) : num_elem; + if (arr_type != nullptr && !is_mask && !elem_consistent_with_arr(elem_bt, arr_type, mismatched_ms)) { if (C->print_intrinsics()) { tty->print_cr(" ** not supported: arity=%d op=%s vlen=%d etype=%s atype=%s ismask=no", is_store, is_store ? "store" : "load", @@ -1047,19 +1049,33 @@ bool LibraryCallKit::inline_vector_mem_operation(bool is_store) { set_sp(old_sp); return false; } - // Since we are using byte array, we need to double check that the byte operations are supported by backend. - if (using_byte_array) { - int byte_num_elem = num_elem * type2aelembytes(elem_bt); - if (!arch_supports_vector(is_store ? Op_StoreVector : Op_LoadVector, byte_num_elem, T_BYTE, VecMaskNotUsed) - || !arch_supports_vector(Op_VectorReinterpret, byte_num_elem, T_BYTE, VecMaskNotUsed)) { - if (C->print_intrinsics()) { - tty->print_cr(" ** not supported: arity=%d op=%s vlen=%d*8 etype=%s/8 ismask=no", - is_store, is_store ? "store" : "load", - byte_num_elem, type2name(elem_bt)); + + // In case of mismatched memory segment accesses, we need to double check that the source type memory operations are supported by backend. + if (mismatched_ms) { + if (is_store) { + if (!arch_supports_vector(Op_StoreVector, num_elem, elem_bt, VecMaskNotUsed) + || !arch_supports_vector(Op_VectorReinterpret, mem_num_elem, mem_elem_bt, VecMaskNotUsed)) { + if (C->print_intrinsics()) { + tty->print_cr(" ** not supported: arity=%d op=%s vlen=%d*8 etype=%s/8 ismask=no", + is_store, "store", + num_elem, type2name(elem_bt)); + } + set_map(old_map); + set_sp(old_sp); + return false; // not supported + } + } else { + if (!arch_supports_vector(Op_LoadVector, mem_num_elem, mem_elem_bt, VecMaskNotUsed) + || !arch_supports_vector(Op_VectorReinterpret, num_elem, elem_bt, VecMaskNotUsed)) { + if (C->print_intrinsics()) { + tty->print_cr(" ** not supported: arity=%d op=%s vlen=%d*8 etype=%s/8 ismask=no", + is_store, "load", + mem_num_elem, type2name(mem_elem_bt)); + } + set_map(old_map); + set_sp(old_sp); + return false; // not supported } - set_map(old_map); - set_sp(old_sp); - return false; // not supported } } if (is_mask) { @@ -1085,7 +1101,7 @@ bool LibraryCallKit::inline_vector_mem_operation(bool is_store) { } if (is_store) { - Node* val = unbox_vector(argument(6), vbox_type, elem_bt, num_elem); + Node* val = unbox_vector(argument(7), vbox_type, elem_bt, num_elem); if (val == nullptr) { set_map(old_map); set_sp(old_sp); @@ -1095,9 +1111,9 @@ bool LibraryCallKit::inline_vector_mem_operation(bool is_store) { // In case the store needs to happen to byte array, reinterpret the incoming vector to byte vector. int store_num_elem = num_elem; - if (using_byte_array) { - store_num_elem = num_elem * type2aelembytes(elem_bt); - const TypeVect* to_vect_type = TypeVect::make(T_BYTE, store_num_elem); + if (mismatched_ms) { + store_num_elem = mem_num_elem; + const TypeVect* to_vect_type = TypeVect::make(mem_elem_bt, store_num_elem); val = gvn().transform(new VectorReinterpretNode(val, val->bottom_type()->is_vect(), to_vect_type)); } if (is_mask) { @@ -1108,9 +1124,8 @@ bool LibraryCallKit::inline_vector_mem_operation(bool is_store) { } else { // When using byte array, we need to load as byte then reinterpret the value. Otherwise, do a simple vector load. Node* vload = nullptr; - if (using_byte_array) { - int load_num_elem = num_elem * type2aelembytes(elem_bt); - vload = gvn().transform(LoadVectorNode::make(0, control(), memory(addr), addr, addr_type, load_num_elem, T_BYTE)); + if (mismatched_ms) { + vload = gvn().transform(LoadVectorNode::make(0, control(), memory(addr), addr, addr_type, mem_num_elem, mem_elem_bt)); const TypeVect* to_vect_type = TypeVect::make(elem_bt, num_elem); vload = gvn().transform(new VectorReinterpretNode(vload, vload->bottom_type()->is_vect(), to_vect_type)); } else { @@ -1136,43 +1151,47 @@ bool LibraryCallKit::inline_vector_mem_operation(bool is_store) { return true; } -// public static -// , -// E, -// S extends VectorSpecies, -// M extends VectorMask> -// V loadMasked(Class vectorClass, Class maskClass, Class elementType, -// int length, Object base, long offset, M m, int offsetInRange, -// C container, long index, S s, // Arguments for default implementation -// LoadVectorMaskedOperation defaultImpl) { -// -// public static -// , -// M extends VectorMask, -// E> -// void storeMasked(Class vectorClass, Class maskClass, Class elementType, -// int length, Object base, long offset, -// V v, M m, -// C container, long index, // Arguments for default implementation -// StoreVectorMaskedOperation defaultImpl) { -// +// public static +// , +// E, +// S extends VectorSpecies, +// M extends VectorMask> +// V loadMasked(Class vClass, Class mClass, Class eClass, +// int length, Object base, long offset, // Unsafe addressing +// boolean fromSegment, +// M m, int offsetInRange, +// C container, long index, S s, // Arguments for default implementation +// LoadVectorMaskedOperation defaultImpl) { +// public static +// , +// M extends VectorMask, +// E> +// void storeMasked(Class vClass, Class mClass, Class eClass, +// int length, +// Object base, long offset, // Unsafe addressing +// boolean fromSegment, +// V v, M m, C container, long index, // Arguments for default implementation +// StoreVectorMaskedOperation defaultImpl) { + bool LibraryCallKit::inline_vector_mem_masked_operation(bool is_store) { const TypeInstPtr* vector_klass = gvn().type(argument(0))->isa_instptr(); const TypeInstPtr* mask_klass = gvn().type(argument(1))->isa_instptr(); const TypeInstPtr* elem_klass = gvn().type(argument(2))->isa_instptr(); const TypeInt* vlen = gvn().type(argument(3))->isa_int(); + const TypeInt* from_ms = gvn().type(argument(7))->isa_int(); if (vector_klass == nullptr || mask_klass == nullptr || elem_klass == nullptr || vlen == nullptr || - vector_klass->const_oop() == nullptr || mask_klass->const_oop() == nullptr || - elem_klass->const_oop() == nullptr || !vlen->is_con()) { + vector_klass->const_oop() == nullptr || mask_klass->const_oop() == nullptr || from_ms == nullptr || + elem_klass->const_oop() == nullptr || !vlen->is_con() || !from_ms->is_con()) { if (C->print_intrinsics()) { - tty->print_cr(" ** missing constant: vclass=%s mclass=%s etype=%s vlen=%s", + tty->print_cr(" ** missing constant: vclass=%s mclass=%s etype=%s vlen=%s from_ms=%s", NodeClassNames[argument(0)->Opcode()], NodeClassNames[argument(1)->Opcode()], NodeClassNames[argument(2)->Opcode()], - NodeClassNames[argument(3)->Opcode()]); + NodeClassNames[argument(3)->Opcode()], + NodeClassNames[argument(7)->Opcode()]); } return false; // not enough info for intrinsification } @@ -1212,10 +1231,10 @@ bool LibraryCallKit::inline_vector_mem_masked_operation(bool is_store) { const TypePtr *addr_type = gvn().type(addr)->isa_ptr(); const TypeAryPtr* arr_type = addr_type->isa_aryptr(); - // Now handle special case where load/store happens from/to byte array but element type is not byte. - bool using_byte_array = arr_type != nullptr && arr_type->elem()->array_element_basic_type() == T_BYTE && elem_bt != T_BYTE; + bool mismatched_ms = from_ms->get_con() && arr_type != nullptr && arr_type->elem()->array_element_basic_type() != elem_bt; + BIG_ENDIAN_ONLY(if (mismatched_ms) return false;) // If there is no consistency between array and vector element types, it must be special byte array case - if (arr_type != nullptr && !using_byte_array && !elem_consistent_with_arr(elem_bt, arr_type)) { + if (arr_type != nullptr && !elem_consistent_with_arr(elem_bt, arr_type, mismatched_ms)) { if (C->print_intrinsics()) { tty->print_cr(" ** not supported: arity=%d op=%s vlen=%d etype=%s atype=%s", is_store, is_store ? "storeMasked" : "loadMasked", @@ -1226,8 +1245,8 @@ bool LibraryCallKit::inline_vector_mem_masked_operation(bool is_store) { return false; } - int mem_num_elem = using_byte_array ? num_elem * type2aelembytes(elem_bt) : num_elem; - BasicType mem_elem_bt = using_byte_array ? T_BYTE : elem_bt; + int mem_num_elem = mismatched_ms ? num_elem * type2aelembytes(elem_bt) : num_elem; + BasicType mem_elem_bt = mismatched_ms ? T_BYTE : elem_bt; bool supports_predicate = arch_supports_vector(is_store ? Op_StoreVectorMasked : Op_LoadVectorMasked, mem_num_elem, mem_elem_bt, VecMaskUseLoad); @@ -1240,7 +1259,7 @@ bool LibraryCallKit::inline_vector_mem_masked_operation(bool is_store) { needs_predicate = true; } else { // Masked vector load with IOOBE always uses the predicated load. - const TypeInt* offset_in_range = gvn().type(argument(8))->isa_int(); + const TypeInt* offset_in_range = gvn().type(argument(9))->isa_int(); if (!offset_in_range->is_con()) { if (C->print_intrinsics()) { tty->print_cr(" ** missing constant: offsetInRange=%s", @@ -1255,9 +1274,9 @@ bool LibraryCallKit::inline_vector_mem_masked_operation(bool is_store) { if (needs_predicate) { if (C->print_intrinsics()) { - tty->print_cr(" ** not supported: op=%s vlen=%d etype=%s using_byte_array=%d", + tty->print_cr(" ** not supported: op=%s vlen=%d etype=%s mismatched_ms=%d", is_store ? "storeMasked" : "loadMasked", - num_elem, type2name(elem_bt), using_byte_array ? 1 : 0); + num_elem, type2name(elem_bt), mismatched_ms ? 1 : 0); } set_map(old_map); set_sp(old_sp); @@ -1270,8 +1289,8 @@ bool LibraryCallKit::inline_vector_mem_masked_operation(bool is_store) { if (!supports_predicate && (!arch_supports_vector(Op_LoadVector, mem_num_elem, mem_elem_bt, VecMaskNotUsed) || !arch_supports_vector(Op_VectorBlend, mem_num_elem, mem_elem_bt, VecMaskUseLoad))) { if (C->print_intrinsics()) { - tty->print_cr(" ** not supported: op=loadMasked vlen=%d etype=%s using_byte_array=%d", - num_elem, type2name(elem_bt), using_byte_array ? 1 : 0); + tty->print_cr(" ** not supported: op=loadMasked vlen=%d etype=%s mismatched_ms=%d", + num_elem, type2name(elem_bt), mismatched_ms ? 1 : 0); } set_map(old_map); set_sp(old_sp); @@ -1280,10 +1299,10 @@ bool LibraryCallKit::inline_vector_mem_masked_operation(bool is_store) { // Since we are using byte array, we need to double check that the vector reinterpret operation // with byte type is supported by backend. - if (using_byte_array) { + if (mismatched_ms) { if (!arch_supports_vector(Op_VectorReinterpret, mem_num_elem, T_BYTE, VecMaskNotUsed)) { if (C->print_intrinsics()) { - tty->print_cr(" ** not supported: arity=%d op=%s vlen=%d etype=%s using_byte_array=1", + tty->print_cr(" ** not supported: arity=%d op=%s vlen=%d etype=%s mismatched_ms=1", is_store, is_store ? "storeMasked" : "loadMasked", num_elem, type2name(elem_bt)); } @@ -1318,12 +1337,12 @@ bool LibraryCallKit::inline_vector_mem_masked_operation(bool is_store) { const TypeInstPtr* vbox_type = TypeInstPtr::make_exact(TypePtr::NotNull, vbox_klass); const TypeInstPtr* mbox_type = TypeInstPtr::make_exact(TypePtr::NotNull, mbox_klass); - Node* mask = unbox_vector(is_store ? argument(8) : argument(7), mbox_type, elem_bt, num_elem); + Node* mask = unbox_vector(is_store ? argument(9) : argument(8), mbox_type, elem_bt, num_elem); if (mask == nullptr) { if (C->print_intrinsics()) { tty->print_cr(" ** unbox failed mask=%s", - is_store ? NodeClassNames[argument(8)->Opcode()] - : NodeClassNames[argument(7)->Opcode()]); + is_store ? NodeClassNames[argument(9)->Opcode()] + : NodeClassNames[argument(8)->Opcode()]); } set_map(old_map); set_sp(old_sp); @@ -1331,11 +1350,11 @@ bool LibraryCallKit::inline_vector_mem_masked_operation(bool is_store) { } if (is_store) { - Node* val = unbox_vector(argument(7), vbox_type, elem_bt, num_elem); + Node* val = unbox_vector(argument(8), vbox_type, elem_bt, num_elem); if (val == nullptr) { if (C->print_intrinsics()) { tty->print_cr(" ** unbox failed vector=%s", - NodeClassNames[argument(7)->Opcode()]); + NodeClassNames[argument(8)->Opcode()]); } set_map(old_map); set_sp(old_sp); @@ -1343,7 +1362,7 @@ bool LibraryCallKit::inline_vector_mem_masked_operation(bool is_store) { } set_all_memory(reset_memory()); - if (using_byte_array) { + if (mismatched_ms) { // Reinterpret the incoming vector to byte vector. const TypeVect* to_vect_type = TypeVect::make(mem_elem_bt, mem_num_elem); val = gvn().transform(new VectorReinterpretNode(val, val->bottom_type()->is_vect(), to_vect_type)); @@ -1357,7 +1376,7 @@ bool LibraryCallKit::inline_vector_mem_masked_operation(bool is_store) { } else { Node* vload = nullptr; - if (using_byte_array) { + if (mismatched_ms) { // Reinterpret the vector mask to byte type. const TypeVect* from_mask_type = TypeVect::makemask(elem_bt, num_elem); const TypeVect* to_mask_type = TypeVect::makemask(mem_elem_bt, mem_num_elem); @@ -1376,7 +1395,7 @@ bool LibraryCallKit::inline_vector_mem_masked_operation(bool is_store) { vload = gvn().transform(new VectorBlendNode(zero, vload, mask)); } - if (using_byte_array) { + if (mismatched_ms) { const TypeVect* to_vect_type = TypeVect::make(elem_bt, num_elem); vload = gvn().transform(new VectorReinterpretNode(vload, vload->bottom_type()->is_vect(), to_vect_type)); } @@ -1525,7 +1544,7 @@ bool LibraryCallKit::inline_vector_gather_scatter(bool is_scatter) { const TypeAryPtr* arr_type = addr_type->isa_aryptr(); // The array must be consistent with vector type - if (arr_type == nullptr || (arr_type != nullptr && !elem_consistent_with_arr(elem_bt, arr_type))) { + if (arr_type == nullptr || (arr_type != nullptr && !elem_consistent_with_arr(elem_bt, arr_type, false))) { if (C->print_intrinsics()) { tty->print_cr(" ** not supported: arity=%d op=%s vlen=%d etype=%s atype=%s ismask=no", is_scatter, is_scatter ? "scatter" : "gather", diff --git a/src/java.base/share/classes/jdk/internal/misc/X-ScopedMemoryAccess.java.template b/src/java.base/share/classes/jdk/internal/misc/X-ScopedMemoryAccess.java.template index 0147b3bacd86e..e3f8787e9e6f4 100644 --- a/src/java.base/share/classes/jdk/internal/misc/X-ScopedMemoryAccess.java.template +++ b/src/java.base/share/classes/jdk/internal/misc/X-ScopedMemoryAccess.java.template @@ -355,7 +355,7 @@ public class ScopedMemoryAccess { session.checkValidStateRaw(); return VectorSupport.load(vmClass, e, length, - msp.unsafeGetBase(), msp.unsafeGetOffset() + offset, + msp.unsafeGetBase(), msp.unsafeGetOffset() + offset, true, msp, offset, s, defaultImpl); } finally { @@ -397,7 +397,7 @@ public class ScopedMemoryAccess { session.checkValidStateRaw(); return VectorSupport.loadMasked(vmClass, maskClass, e, length, - msp.unsafeGetBase(), msp.unsafeGetOffset() + offset, m, offsetInRange, + msp.unsafeGetBase(), msp.unsafeGetOffset() + offset, true, m, offsetInRange, msp, offset, s, defaultImpl); } finally { @@ -438,7 +438,7 @@ public class ScopedMemoryAccess { session.checkValidStateRaw(); VectorSupport.store(vmClass, e, length, - msp.unsafeGetBase(), msp.unsafeGetOffset() + offset, + msp.unsafeGetBase(), msp.unsafeGetOffset() + offset, true, v, msp, offset, defaultImpl); @@ -480,7 +480,7 @@ public class ScopedMemoryAccess { session.checkValidStateRaw(); VectorSupport.storeMasked(vmClass, maskClass, e, length, - msp.unsafeGetBase(), msp.unsafeGetOffset() + offset, + msp.unsafeGetBase(), msp.unsafeGetOffset() + offset, true, v, m, msp, offset, defaultImpl); diff --git a/src/java.base/share/classes/jdk/internal/vm/vector/VectorSupport.java b/src/java.base/share/classes/jdk/internal/vm/vector/VectorSupport.java index 21415ee0484d2..ccfa006b102c2 100644 --- a/src/java.base/share/classes/jdk/internal/vm/vector/VectorSupport.java +++ b/src/java.base/share/classes/jdk/internal/vm/vector/VectorSupport.java @@ -421,7 +421,7 @@ public interface LoadOperation> VM load(Class vmClass, Class eClass, int length, - Object base, long offset, + Object base, long offset, boolean fromSegment, C container, long index, S s, LoadOperation defaultImpl) { assert isNonCapturingLambda(defaultImpl) : defaultImpl; @@ -445,7 +445,7 @@ public interface LoadVectorMaskedOperation, M extends VectorMask> V loadMasked(Class vClass, Class mClass, Class eClass, - int length, Object base, long offset, + int length, Object base, long offset, boolean fromSegment, M m, int offsetInRange, C container, long index, S s, LoadVectorMaskedOperation defaultImpl) { @@ -494,7 +494,7 @@ public interface StoreVectorOperation void store(Class vClass, Class eClass, int length, - Object base, long offset, + Object base, long offset, boolean fromSegment, V v, C container, long index, StoreVectorOperation defaultImpl) { assert isNonCapturingLambda(defaultImpl) : defaultImpl; @@ -515,7 +515,7 @@ public interface StoreVectorMaskedOperation void storeMasked(Class vClass, Class mClass, Class eClass, int length, - Object base, long offset, + Object base, long offset, boolean fromSegment, V v, M m, C container, long index, StoreVectorMaskedOperation defaultImpl) { assert isNonCapturingLambda(defaultImpl) : defaultImpl; diff --git a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractMask.java b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractMask.java index 7adbd3a18524b..30297b24db06c 100644 --- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractMask.java +++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractMask.java @@ -74,7 +74,7 @@ public void intoArray(boolean[] bits, int i) { i = VectorIntrinsics.checkFromIndexSize(i, laneCount, bits.length); VectorSupport.store( vsp.maskType(), vsp.elementType(), laneCount, - bits, (long) i + Unsafe.ARRAY_BOOLEAN_BASE_OFFSET, + bits, (long) i + Unsafe.ARRAY_BOOLEAN_BASE_OFFSET, false, this, bits, i, (c, idx, s) -> System.arraycopy(s.getBits(), 0, c, (int) idx, s.length())); diff --git a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.java b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.java index 74b9461a5cb3a..ecd162bbdb8d2 100644 --- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.java +++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.java @@ -3373,7 +3373,7 @@ void intoArray(byte[] a, int offset) { ByteSpecies vsp = vspecies(); VectorSupport.store( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, this, a, offset, (arr, off, v) @@ -3526,7 +3526,7 @@ void intoBooleanArray(boolean[] a, int offset) { ByteVector normalized = this.and((byte) 1); VectorSupport.store( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, booleanArrayAddress(a, offset), + a, booleanArrayAddress(a, offset), false, normalized, a, offset, (arr, off, v) @@ -3737,7 +3737,7 @@ ByteVector fromArray0Template(byte[] a, int offset) { ByteSpecies vsp = vspecies(); return VectorSupport.load( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, a, offset, vsp, (arr, off, s) -> s.ldOp(arr, (int) off, (arr_, off_, i) -> arr_[off_ + i])); @@ -3754,7 +3754,7 @@ ByteVector fromArray0Template(Class maskClass, byte[] a, int offset, M m, int ByteSpecies vsp = vspecies(); return VectorSupport.loadMasked( vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), m, offsetInRange, + a, arrayAddress(a, offset), false, m, offsetInRange, a, offset, vsp, (arr, off, s, vm) -> s.ldOp(arr, (int) off, vm, (arr_, off_, i) -> arr_[off_ + i])); @@ -3771,7 +3771,7 @@ ByteVector fromBooleanArray0Template(boolean[] a, int offset) { ByteSpecies vsp = vspecies(); return VectorSupport.load( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, booleanArrayAddress(a, offset), + a, booleanArrayAddress(a, offset), false, a, offset, vsp, (arr, off, s) -> s.ldOp(arr, (int) off, (arr_, off_, i) -> (byte) (arr_[off_ + i] ? 1 : 0))); @@ -3788,7 +3788,7 @@ ByteVector fromBooleanArray0Template(Class maskClass, boolean[] a, int offset ByteSpecies vsp = vspecies(); return VectorSupport.loadMasked( vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(), - a, booleanArrayAddress(a, offset), m, offsetInRange, + a, booleanArrayAddress(a, offset), false, m, offsetInRange, a, offset, vsp, (arr, off, s, vm) -> s.ldOp(arr, (int) off, vm, (arr_, off_, i) -> (byte) (arr_[off_ + i] ? 1 : 0))); @@ -3836,7 +3836,7 @@ void intoArray0Template(byte[] a, int offset) { ByteSpecies vsp = vspecies(); VectorSupport.store( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, this, a, offset, (arr, off, v) -> v.stOp(arr, (int) off, @@ -3853,7 +3853,7 @@ void intoArray0Template(Class maskClass, byte[] a, int offset, M m) { ByteSpecies vsp = vspecies(); VectorSupport.storeMasked( vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, this, m, a, offset, (arr, off, v, vm) -> v.stOp(arr, (int) off, vm, @@ -3872,7 +3872,7 @@ void intoBooleanArray0Template(Class maskClass, boolean[] a, int offset, M m) ByteVector normalized = this.and((byte) 1); VectorSupport.storeMasked( vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(), - a, booleanArrayAddress(a, offset), + a, booleanArrayAddress(a, offset), false, normalized, m, a, offset, (arr, off, v, vm) -> v.stOp(arr, (int) off, vm, diff --git a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java index f6e9b7b01ea3e..9b3d683520eb8 100644 --- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java +++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java @@ -3061,7 +3061,7 @@ void intoArray(double[] a, int offset) { DoubleSpecies vsp = vspecies(); VectorSupport.store( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, this, a, offset, (arr, off, v) @@ -3294,7 +3294,7 @@ DoubleVector fromArray0Template(double[] a, int offset) { DoubleSpecies vsp = vspecies(); return VectorSupport.load( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, a, offset, vsp, (arr, off, s) -> s.ldOp(arr, (int) off, (arr_, off_, i) -> arr_[off_ + i])); @@ -3311,7 +3311,7 @@ DoubleVector fromArray0Template(Class maskClass, double[] a, int offset, M m, DoubleSpecies vsp = vspecies(); return VectorSupport.loadMasked( vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), m, offsetInRange, + a, arrayAddress(a, offset), false, m, offsetInRange, a, offset, vsp, (arr, off, s, vm) -> s.ldOp(arr, (int) off, vm, (arr_, off_, i) -> arr_[off_ + i])); @@ -3413,7 +3413,7 @@ void intoArray0Template(double[] a, int offset) { DoubleSpecies vsp = vspecies(); VectorSupport.store( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, this, a, offset, (arr, off, v) -> v.stOp(arr, (int) off, @@ -3430,7 +3430,7 @@ void intoArray0Template(Class maskClass, double[] a, int offset, M m) { DoubleSpecies vsp = vspecies(); VectorSupport.storeMasked( vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, this, m, a, offset, (arr, off, v, vm) -> v.stOp(arr, (int) off, vm, diff --git a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.java b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.java index 7265243b6b93f..f9bb4a9c6300a 100644 --- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.java +++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.java @@ -3067,7 +3067,7 @@ void intoArray(float[] a, int offset) { FloatSpecies vsp = vspecies(); VectorSupport.store( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, this, a, offset, (arr, off, v) @@ -3281,7 +3281,7 @@ FloatVector fromArray0Template(float[] a, int offset) { FloatSpecies vsp = vspecies(); return VectorSupport.load( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, a, offset, vsp, (arr, off, s) -> s.ldOp(arr, (int) off, (arr_, off_, i) -> arr_[off_ + i])); @@ -3298,7 +3298,7 @@ FloatVector fromArray0Template(Class maskClass, float[] a, int offset, M m, i FloatSpecies vsp = vspecies(); return VectorSupport.loadMasked( vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), m, offsetInRange, + a, arrayAddress(a, offset), false, m, offsetInRange, a, offset, vsp, (arr, off, s, vm) -> s.ldOp(arr, (int) off, vm, (arr_, off_, i) -> arr_[off_ + i])); @@ -3382,7 +3382,7 @@ void intoArray0Template(float[] a, int offset) { FloatSpecies vsp = vspecies(); VectorSupport.store( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, this, a, offset, (arr, off, v) -> v.stOp(arr, (int) off, @@ -3399,7 +3399,7 @@ void intoArray0Template(Class maskClass, float[] a, int offset, M m) { FloatSpecies vsp = vspecies(); VectorSupport.storeMasked( vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, this, m, a, offset, (arr, off, v, vm) -> v.stOp(arr, (int) off, vm, diff --git a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntVector.java b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntVector.java index f9c913f823caf..b6e9cba081617 100644 --- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntVector.java +++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntVector.java @@ -3223,7 +3223,7 @@ void intoArray(int[] a, int offset) { IntSpecies vsp = vspecies(); VectorSupport.store( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, this, a, offset, (arr, off, v) @@ -3437,7 +3437,7 @@ IntVector fromArray0Template(int[] a, int offset) { IntSpecies vsp = vspecies(); return VectorSupport.load( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, a, offset, vsp, (arr, off, s) -> s.ldOp(arr, (int) off, (arr_, off_, i) -> arr_[off_ + i])); @@ -3454,7 +3454,7 @@ IntVector fromArray0Template(Class maskClass, int[] a, int offset, M m, int o IntSpecies vsp = vspecies(); return VectorSupport.loadMasked( vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), m, offsetInRange, + a, arrayAddress(a, offset), false, m, offsetInRange, a, offset, vsp, (arr, off, s, vm) -> s.ldOp(arr, (int) off, vm, (arr_, off_, i) -> arr_[off_ + i])); @@ -3538,7 +3538,7 @@ void intoArray0Template(int[] a, int offset) { IntSpecies vsp = vspecies(); VectorSupport.store( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, this, a, offset, (arr, off, v) -> v.stOp(arr, (int) off, @@ -3555,7 +3555,7 @@ void intoArray0Template(Class maskClass, int[] a, int offset, M m) { IntSpecies vsp = vspecies(); VectorSupport.storeMasked( vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, this, m, a, offset, (arr, off, v, vm) -> v.stOp(arr, (int) off, vm, diff --git a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongVector.java b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongVector.java index 9339dc8616fcd..98cf154e4a7e1 100644 --- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongVector.java +++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongVector.java @@ -3102,7 +3102,7 @@ void intoArray(long[] a, int offset) { LongSpecies vsp = vspecies(); VectorSupport.store( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, this, a, offset, (arr, off, v) @@ -3335,7 +3335,7 @@ LongVector fromArray0Template(long[] a, int offset) { LongSpecies vsp = vspecies(); return VectorSupport.load( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, a, offset, vsp, (arr, off, s) -> s.ldOp(arr, (int) off, (arr_, off_, i) -> arr_[off_ + i])); @@ -3352,7 +3352,7 @@ LongVector fromArray0Template(Class maskClass, long[] a, int offset, M m, int LongSpecies vsp = vspecies(); return VectorSupport.loadMasked( vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), m, offsetInRange, + a, arrayAddress(a, offset), false, m, offsetInRange, a, offset, vsp, (arr, off, s, vm) -> s.ldOp(arr, (int) off, vm, (arr_, off_, i) -> arr_[off_ + i])); @@ -3454,7 +3454,7 @@ void intoArray0Template(long[] a, int offset) { LongSpecies vsp = vspecies(); VectorSupport.store( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, this, a, offset, (arr, off, v) -> v.stOp(arr, (int) off, @@ -3471,7 +3471,7 @@ void intoArray0Template(Class maskClass, long[] a, int offset, M m) { LongSpecies vsp = vspecies(); VectorSupport.storeMasked( vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, this, m, a, offset, (arr, off, v, vm) -> v.stOp(arr, (int) off, vm, diff --git a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java index cfe91f6e14e65..0a0f359a40bd4 100644 --- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java +++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java @@ -3372,7 +3372,7 @@ void intoArray(short[] a, int offset) { ShortSpecies vsp = vspecies(); VectorSupport.store( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, this, a, offset, (arr, off, v) @@ -3520,7 +3520,7 @@ void intoCharArray(char[] a, int offset) { ShortSpecies vsp = vspecies(); VectorSupport.store( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, charArrayAddress(a, offset), + a, charArrayAddress(a, offset), false, this, a, offset, (arr, off, v) @@ -3723,7 +3723,7 @@ ShortVector fromArray0Template(short[] a, int offset) { ShortSpecies vsp = vspecies(); return VectorSupport.load( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, a, offset, vsp, (arr, off, s) -> s.ldOp(arr, (int) off, (arr_, off_, i) -> arr_[off_ + i])); @@ -3740,7 +3740,7 @@ ShortVector fromArray0Template(Class maskClass, short[] a, int offset, M m, i ShortSpecies vsp = vspecies(); return VectorSupport.loadMasked( vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), m, offsetInRange, + a, arrayAddress(a, offset), false, m, offsetInRange, a, offset, vsp, (arr, off, s, vm) -> s.ldOp(arr, (int) off, vm, (arr_, off_, i) -> arr_[off_ + i])); @@ -3756,7 +3756,7 @@ ShortVector fromCharArray0Template(char[] a, int offset) { ShortSpecies vsp = vspecies(); return VectorSupport.load( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, charArrayAddress(a, offset), + a, charArrayAddress(a, offset), false, a, offset, vsp, (arr, off, s) -> s.ldOp(arr, (int) off, (arr_, off_, i) -> (short) arr_[off_ + i])); @@ -3773,7 +3773,7 @@ ShortVector fromCharArray0Template(Class maskClass, char[] a, int offset, M m ShortSpecies vsp = vspecies(); return VectorSupport.loadMasked( vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(), - a, charArrayAddress(a, offset), m, offsetInRange, + a, charArrayAddress(a, offset), false, m, offsetInRange, a, offset, vsp, (arr, off, s, vm) -> s.ldOp(arr, (int) off, vm, (arr_, off_, i) -> (short) arr_[off_ + i])); @@ -3822,7 +3822,7 @@ void intoArray0Template(short[] a, int offset) { ShortSpecies vsp = vspecies(); VectorSupport.store( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, this, a, offset, (arr, off, v) -> v.stOp(arr, (int) off, @@ -3839,7 +3839,7 @@ void intoArray0Template(Class maskClass, short[] a, int offset, M m) { ShortSpecies vsp = vspecies(); VectorSupport.storeMasked( vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, this, m, a, offset, (arr, off, v, vm) -> v.stOp(arr, (int) off, vm, @@ -3889,7 +3889,7 @@ void intoCharArray0Template(Class maskClass, char[] a, int offset, M m) { ShortSpecies vsp = vspecies(); VectorSupport.storeMasked( vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(), - a, charArrayAddress(a, offset), + a, charArrayAddress(a, offset), false, this, m, a, offset, (arr, off, v, vm) -> v.stOp(arr, (int) off, vm, diff --git a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorMask.java b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorMask.java index 40d20835534e6..f5ce894b13fc0 100644 --- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorMask.java +++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorMask.java @@ -207,7 +207,7 @@ public static VectorMask fromArray(VectorSpecies species, boolean[] bi offset = VectorIntrinsics.checkFromIndexSize(offset, laneCount, bits.length); return VectorSupport.load( vsp.maskType(), vsp.elementType(), laneCount, - bits, (long) offset + Unsafe.ARRAY_BOOLEAN_BASE_OFFSET, + bits, (long) offset + Unsafe.ARRAY_BOOLEAN_BASE_OFFSET, false, bits, offset, vsp, (c, idx, s) -> s.opm(n -> c[((int )idx) + n])); diff --git a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template index 48fc5628f2523..31441207a9e8c 100644 --- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template +++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template @@ -4178,7 +4178,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> { $Type$Species vsp = vspecies(); VectorSupport.store( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, this, a, offset, (arr, off, v) @@ -4397,7 +4397,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> { $Type$Species vsp = vspecies(); VectorSupport.store( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, charArrayAddress(a, offset), + a, charArrayAddress(a, offset), false, this, a, offset, (arr, off, v) @@ -4558,7 +4558,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> { ByteVector normalized = this.and((byte) 1); VectorSupport.store( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, booleanArrayAddress(a, offset), + a, booleanArrayAddress(a, offset), false, normalized, a, offset, (arr, off, v) @@ -4770,7 +4770,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> { $Type$Species vsp = vspecies(); return VectorSupport.load( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, a, offset, vsp, (arr, off, s) -> s.ldOp(arr, (int) off, (arr_, off_, i) -> arr_[off_ + i])); @@ -4787,7 +4787,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> { $Type$Species vsp = vspecies(); return VectorSupport.loadMasked( vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), m, offsetInRange, + a, arrayAddress(a, offset), false, m, offsetInRange, a, offset, vsp, (arr, off, s, vm) -> s.ldOp(arr, (int) off, vm, (arr_, off_, i) -> arr_[off_ + i])); @@ -4864,7 +4864,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> { $Type$Species vsp = vspecies(); return VectorSupport.load( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, charArrayAddress(a, offset), + a, charArrayAddress(a, offset), false, a, offset, vsp, (arr, off, s) -> s.ldOp(arr, (int) off, (arr_, off_, i) -> (short) arr_[off_ + i])); @@ -4881,7 +4881,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> { $Type$Species vsp = vspecies(); return VectorSupport.loadMasked( vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(), - a, charArrayAddress(a, offset), m, offsetInRange, + a, charArrayAddress(a, offset), false, m, offsetInRange, a, offset, vsp, (arr, off, s, vm) -> s.ldOp(arr, (int) off, vm, (arr_, off_, i) -> (short) arr_[off_ + i])); @@ -4898,7 +4898,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> { $Type$Species vsp = vspecies(); return VectorSupport.load( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, booleanArrayAddress(a, offset), + a, booleanArrayAddress(a, offset), false, a, offset, vsp, (arr, off, s) -> s.ldOp(arr, (int) off, (arr_, off_, i) -> (byte) (arr_[off_ + i] ? 1 : 0))); @@ -4915,7 +4915,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> { $Type$Species vsp = vspecies(); return VectorSupport.loadMasked( vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(), - a, booleanArrayAddress(a, offset), m, offsetInRange, + a, booleanArrayAddress(a, offset), false, m, offsetInRange, a, offset, vsp, (arr, off, s, vm) -> s.ldOp(arr, (int) off, vm, (arr_, off_, i) -> (byte) (arr_[off_ + i] ? 1 : 0))); @@ -4964,7 +4964,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> { $Type$Species vsp = vspecies(); VectorSupport.store( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, this, a, offset, (arr, off, v) -> v.stOp(arr, (int) off, @@ -4981,7 +4981,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> { $Type$Species vsp = vspecies(); VectorSupport.storeMasked( vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(), - a, arrayAddress(a, offset), + a, arrayAddress(a, offset), false, this, m, a, offset, (arr, off, v, vm) -> v.stOp(arr, (int) off, vm, @@ -5062,7 +5062,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> { ByteVector normalized = this.and((byte) 1); VectorSupport.storeMasked( vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(), - a, booleanArrayAddress(a, offset), + a, booleanArrayAddress(a, offset), false, normalized, m, a, offset, (arr, off, v, vm) -> v.stOp(arr, (int) off, vm, @@ -5112,7 +5112,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> { $Type$Species vsp = vspecies(); VectorSupport.storeMasked( vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(), - a, charArrayAddress(a, offset), + a, charArrayAddress(a, offset), false, this, m, a, offset, (arr, off, v, vm) -> v.stOp(arr, (int) off, vm, diff --git a/test/micro/org/openjdk/bench/jdk/incubator/vector/TestLoadSegmentVarious.java b/test/micro/org/openjdk/bench/jdk/incubator/vector/TestLoadSegmentVarious.java index 58cd93f3c5166..5ec17c26ca5dd 100644 --- a/test/micro/org/openjdk/bench/jdk/incubator/vector/TestLoadSegmentVarious.java +++ b/test/micro/org/openjdk/bench/jdk/incubator/vector/TestLoadSegmentVarious.java @@ -55,6 +55,9 @@ public class TestLoadSegmentVarious { private static final VectorSpecies INTEGER_SPECIES = VectorSpecies.ofLargestShape(int.class); private static final VectorSpecies DOUBLE_SPECIES = VectorSpecies.ofLargestShape(double.class); + private static final VectorMask INTEGER_MASK = VectorMask.fromLong(INTEGER_SPECIES, (1 << (INTEGER_SPECIES.length() / 2)) - 1); + private static final VectorMask DOUBLE_MASK = VectorMask.fromLong(DOUBLE_SPECIES, (1 << (DOUBLE_SPECIES.length() / 2)) - 1); + // Must be evenly dividable by Double.BYTES @Param("1024") private int size; @@ -253,4 +256,27 @@ public void doubleVectorFromDoubleBackedSegment(Blackhole bh) { } } + @Benchmark + public void intVectorFromIntBackedSegmentMasked(Blackhole bh) { + for (int i = 0; i < INTEGER_SPECIES.loopBound(intSrcArray.length); i += INTEGER_SPECIES.vectorByteSize()) { + var v = IntVector.fromMemorySegment(INTEGER_SPECIES, doubleSegment, i, ByteOrder.nativeOrder(), INTEGER_MASK); + bh.consume(v); + } + } + + @Benchmark + public void intVectorFromDoubleBackedSegmentMasked(Blackhole bh) { + for (int i = 0; i < INTEGER_SPECIES.loopBound(intSrcArray.length); i += INTEGER_SPECIES.vectorByteSize()) { + var v = IntVector.fromMemorySegment(INTEGER_SPECIES, doubleSegment, i, ByteOrder.nativeOrder(), INTEGER_MASK); + bh.consume(v); + } + } + + @Benchmark + public void doubleVectorFromIntBackedSegmentMasked(Blackhole bh) { + for (int i = 0; i < DOUBLE_SPECIES.loopBound(doubleSrcArray.length); i += DOUBLE_SPECIES.vectorByteSize()) { + var v = DoubleVector.fromMemorySegment(DOUBLE_SPECIES, intSegment, i, ByteOrder.nativeOrder(), DOUBLE_MASK); + bh.consume(v); + } + } } From 7fbfb3b74a283261027e6c293e1a5dbc354cf0af Mon Sep 17 00:00:00 2001 From: Thomas Schatzl Date: Wed, 6 Dec 2023 10:34:27 +0000 Subject: [PATCH 108/143] 8321369: Unproblemlist gc/cslocker/TestCSLocker.java Reviewed-by: dholmes --- test/hotspot/jtreg/ProblemList-Xcomp.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/test/hotspot/jtreg/ProblemList-Xcomp.txt b/test/hotspot/jtreg/ProblemList-Xcomp.txt index 09d7cab6972a8..4eb388e5d5cff 100644 --- a/test/hotspot/jtreg/ProblemList-Xcomp.txt +++ b/test/hotspot/jtreg/ProblemList-Xcomp.txt @@ -48,4 +48,3 @@ vmTestbase/nsk/jdi/StepRequest/addClassFilter_rt/filter_rt003/TestDescription.ja vmTestbase/nsk/jvmti/scenarios/capability/CM03/cm03t001/TestDescription.java 8299493 macosx-x64 gc/arguments/TestNewSizeFlags.java 8299116 macosx-aarch64 -gc/cslocker/TestCSLocker.java 8310480 linux-x64 \ No newline at end of file From 0217b5ac8b25db96fce026ac027b18024e25a329 Mon Sep 17 00:00:00 2001 From: Adam Sotona Date: Wed, 6 Dec 2023 15:32:24 +0000 Subject: [PATCH 109/143] 8321248: ClassFile API ClassModel::verify is inconsistent with the rest of the API Reviewed-by: jlahoda, mcimadamore --- .../java/lang/classfile/ClassFile.java | 28 +++++++++++++++++++ .../java/lang/classfile/ClassModel.java | 25 ----------------- .../java/lang/classfile/package-info.java | 4 +-- .../classfile/impl/ClassFileImpl.java | 16 +++++++++++ .../foreign/abi/BindingSpecializer.java | 2 +- .../AdvancedTransformationsTest.java | 9 +++--- .../jdk/classfile/ClassHierarchyInfoTest.java | 2 +- test/jdk/jdk/classfile/CorpusTest.java | 2 +- test/jdk/jdk/classfile/StackMapsTest.java | 7 ++--- test/jdk/jdk/classfile/VerifierSelfTest.java | 11 ++------ test/jdk/tools/lib/tests/JImageValidator.java | 6 ++-- 11 files changed, 62 insertions(+), 50 deletions(-) diff --git a/src/java.base/share/classes/java/lang/classfile/ClassFile.java b/src/java.base/share/classes/java/lang/classfile/ClassFile.java index 7b1ef16ba6def..6f94a3f39f611 100644 --- a/src/java.base/share/classes/java/lang/classfile/ClassFile.java +++ b/src/java.base/share/classes/java/lang/classfile/ClassFile.java @@ -43,6 +43,7 @@ import java.lang.classfile.attribute.LocalVariableInfo; import java.lang.classfile.attribute.LocalVariableTypeInfo; import java.lang.classfile.instruction.ExceptionCatch; +import java.util.List; import static java.util.Objects.requireNonNull; import jdk.internal.javac.PreviewFeature; @@ -481,6 +482,33 @@ default byte[] transform(ClassModel model, ClassDesc newClassName, ClassTransfor */ byte[] transform(ClassModel model, ClassEntry newClassName, ClassTransform transform); + /** + * Verify a classfile. Any verification errors found will be returned. + * @param model the class model to verify + * @return a list of verification errors, or an empty list if no errors are + * found + */ + List verify(ClassModel model); + + /** + * Verify a classfile. Any verification errors found will be returned. + * @param bytes the classfile bytes to verify + * @return a list of verification errors, or an empty list if no errors are + * found + */ + List verify(byte[] bytes); + + /** + * Verify a classfile. Any verification errors found will be returned. + * @param path the classfile path to verify + * @return a list of verification errors, or an empty list if no errors are + * found + * @throws java.io.IOException if an I/O error occurs + */ + default List verify(Path path) throws IOException { + return verify(Files.readAllBytes(path)); + } + /** 0xCAFEBABE */ int MAGIC_NUMBER = 0xCAFEBABE; diff --git a/src/java.base/share/classes/java/lang/classfile/ClassModel.java b/src/java.base/share/classes/java/lang/classfile/ClassModel.java index e0ce7e3386598..282392a8c5ef8 100644 --- a/src/java.base/share/classes/java/lang/classfile/ClassModel.java +++ b/src/java.base/share/classes/java/lang/classfile/ClassModel.java @@ -78,29 +78,4 @@ public sealed interface ClassModel /** {@return whether this class is a module descriptor} */ boolean isModuleInfo(); - - /** - * Verify this classfile. Any verification errors found will be returned. - * - * @param debugOutput handler to receive debug information - * @return a list of verification errors, or an empty list if no errors are - * found - */ - default List verify(Consumer debugOutput) { - return VerifierImpl.verify(this, debugOutput); - } - - /** - * Verify this classfile. Any verification errors found will be returned. - * - * @param debugOutput handler to receive debug information - * @param classHierarchyResolver class hierarchy resolver to provide - * additional information about the class hierarchy - * @return a list of verification errors, or an empty list if no errors are - * found - */ - default List verify(ClassHierarchyResolver classHierarchyResolver, - Consumer debugOutput) { - return VerifierImpl.verify(this, classHierarchyResolver, debugOutput); - } } diff --git a/src/java.base/share/classes/java/lang/classfile/package-info.java b/src/java.base/share/classes/java/lang/classfile/package-info.java index 71c97ca6960ef..39244e98cfc46 100644 --- a/src/java.base/share/classes/java/lang/classfile/package-info.java +++ b/src/java.base/share/classes/java/lang/classfile/package-info.java @@ -277,8 +277,8 @@ * constantPoolBuilder.utf8Entry("mypackage.MyClass")); * } *

    - * More complex verification of a classfile can be achieved by explicit invocation - * of {@link java.lang.classfile.ClassModel#verify}. + * More complex verification of a classfile can be achieved by invocation of + * {@link java.lang.classfile.ClassFile#verify}. * *

    Transforming classfiles

    * ClassFile Processing APIs are most frequently used to combine reading and diff --git a/src/java.base/share/classes/jdk/internal/classfile/impl/ClassFileImpl.java b/src/java.base/share/classes/jdk/internal/classfile/impl/ClassFileImpl.java index 33dc78918246b..8bffbd6de4f5d 100644 --- a/src/java.base/share/classes/jdk/internal/classfile/impl/ClassFileImpl.java +++ b/src/java.base/share/classes/jdk/internal/classfile/impl/ClassFileImpl.java @@ -39,6 +39,7 @@ import java.lang.classfile.constantpool.ClassEntry; import java.lang.classfile.constantpool.ConstantPoolBuilder; import java.lang.classfile.constantpool.Utf8Entry; +import jdk.internal.classfile.impl.verifier.VerifierImpl; public record ClassFileImpl(StackMapsOption stackMapsOption, DebugElementsOption debugElementsOption, @@ -128,6 +129,21 @@ public void accept(ClassBuilder builder) { } }); } + + @Override + public List verify(ClassModel model) { + return VerifierImpl.verify(model, classHierarchyResolverOption().classHierarchyResolver(), null); + } + + @Override + public List verify(byte[] bytes) { + try { + return verify(parse(bytes)); + } catch (IllegalArgumentException parsingError) { + return List.of(new VerifyError(parsingError.getMessage())); + } + } + public record AttributeMapperOptionImpl(Function> attributeMapper) implements AttributeMapperOption { } diff --git a/src/java.base/share/classes/jdk/internal/foreign/abi/BindingSpecializer.java b/src/java.base/share/classes/jdk/internal/foreign/abi/BindingSpecializer.java index b32b512fb3b6d..a399b815ee614 100644 --- a/src/java.base/share/classes/jdk/internal/foreign/abi/BindingSpecializer.java +++ b/src/java.base/share/classes/jdk/internal/foreign/abi/BindingSpecializer.java @@ -212,7 +212,7 @@ private static byte[] specializeHelper(MethodType leafType, MethodType callerMet } if (PERFORM_VERIFICATION) { - List errors = ClassFile.of().parse(bytes).verify(null); + List errors = ClassFile.of().verify(bytes); if (!errors.isEmpty()) { errors.forEach(System.err::println); throw new IllegalStateException("Verification error(s)"); diff --git a/test/jdk/jdk/classfile/AdvancedTransformationsTest.java b/test/jdk/jdk/classfile/AdvancedTransformationsTest.java index 24444bd3ab03a..9b4609fe8bc48 100644 --- a/test/jdk/jdk/classfile/AdvancedTransformationsTest.java +++ b/test/jdk/jdk/classfile/AdvancedTransformationsTest.java @@ -75,7 +75,7 @@ void testShiftLocals() throws Exception { try (var in = StackMapGenerator.class.getResourceAsStream("StackMapGenerator.class")) { var cc = ClassFile.of(); var clm = cc.parse(in.readAllBytes()); - var remapped = cc.parse(cc.transform(clm, (clb, cle) -> { + cc.verify(cc.transform(clm, (clb, cle) -> { if (cle instanceof MethodModel mm) { clb.transformMethod(mm, (mb, me) -> { if (me instanceof CodeModel com) { @@ -99,7 +99,6 @@ public void accept(CodeBuilder builder, CodeElement element) { else clb.with(cle); })); - remapped.verify(null); } } @@ -115,12 +114,12 @@ void testRemapClass() throws Exception { var cc = ClassFile.of(); var clm = cc.parse(in.readAllBytes()); var remapped = cc.parse(ClassRemapper.of(map).remapClass(cc, clm)); - assertEmpty(remapped.verify( + assertEmpty(ClassFile.of(ClassFile.ClassHierarchyResolverOption.of( ClassHierarchyResolver.of(Set.of(ClassDesc.of("remapped.List")), Map.of( ClassDesc.of("remapped.RemappedBytecode"), ConstantDescs.CD_Object, ClassDesc.ofDescriptor(RawBytecodeHelper.class.descriptorString()), ClassDesc.of("remapped.RemappedBytecode"))) .orElse(ClassHierarchyResolver.defaultResolver()) - , null)); //System.out::print)); + )).verify(remapped)); remapped.fields().forEach(f -> f.findAttribute(Attributes.SIGNATURE).ifPresent(sa -> verifySignature(f.fieldTypeSymbol(), sa.asTypeSignature()))); remapped.methods().forEach(m -> m.findAttribute(Attributes.SIGNATURE).ifPresent(sa -> { @@ -239,7 +238,7 @@ void testInstrumentClass() throws Exception { var instrumentor = cc.parse(AdvancedTransformationsTest.class.getResourceAsStream("AdvancedTransformationsTest$InstrumentorClass.class").readAllBytes()); var target = cc.parse(AdvancedTransformationsTest.class.getResourceAsStream("AdvancedTransformationsTest$TargetClass.class").readAllBytes()); var instrumentedBytes = instrument(target, instrumentor, mm -> mm.methodName().stringValue().equals("instrumentedMethod")); - assertEmpty(cc.parse(instrumentedBytes).verify(null)); //System.out::print)); + assertEmpty(cc.verify(instrumentedBytes)); var targetClass = new ByteArrayClassLoader(AdvancedTransformationsTest.class.getClassLoader(), "AdvancedTransformationsTest$TargetClass", instrumentedBytes).loadClass("AdvancedTransformationsTest$TargetClass"); assertEquals(targetClass.getDeclaredMethod("instrumentedMethod", Boolean.class).invoke(targetClass.getDeclaredConstructor().newInstance(), false), 34); } diff --git a/test/jdk/jdk/classfile/ClassHierarchyInfoTest.java b/test/jdk/jdk/classfile/ClassHierarchyInfoTest.java index 699197a6f5ecd..b8eadeda5e12b 100644 --- a/test/jdk/jdk/classfile/ClassHierarchyInfoTest.java +++ b/test/jdk/jdk/classfile/ClassHierarchyInfoTest.java @@ -136,7 +136,7 @@ void transformAndVerifySingle(ClassHierarchyResolver res) throws Exception { else clb.with(cle); }); - var errors = ClassFile.of().parse(newBytes).verify(null); + var errors = ClassFile.of().verify(newBytes); if (!errors.isEmpty()) { var itr = errors.iterator(); var thrown = itr.next(); diff --git a/test/jdk/jdk/classfile/CorpusTest.java b/test/jdk/jdk/classfile/CorpusTest.java index b30a5a11d2369..450643dda2901 100644 --- a/test/jdk/jdk/classfile/CorpusTest.java +++ b/test/jdk/jdk/classfile/CorpusTest.java @@ -208,7 +208,7 @@ void testReadAndTransform(Path path) throws IOException { ClassRecord.ofClassModel(classModel, CompatibilityFilter.By_ClassBuilder), "ClassModel[%s] transformed by ClassBuilder (actual) vs ClassModel before transformation (expected)".formatted(path)); - assertEmpty(newModel.verify(null)); + assertEmpty(cc.verify(newModel)); //testing maxStack and maxLocals are calculated identically by StackMapGenerator and StackCounter byte[] noStackMaps = ClassFile.of(ClassFile.StackMapsOption.DROP_STACK_MAPS) diff --git a/test/jdk/jdk/classfile/StackMapsTest.java b/test/jdk/jdk/classfile/StackMapsTest.java index 77b35a741e84a..88858ce839481 100644 --- a/test/jdk/jdk/classfile/StackMapsTest.java +++ b/test/jdk/jdk/classfile/StackMapsTest.java @@ -229,11 +229,10 @@ void testClassVersions() throws Exception { .walk().anyMatch(n -> n.name().equals("stack map frames"))); //test transformation to class version 50 with re-generation of StackMapTable attributes - assertEmpty(cc.parse(cc.transform( + assertEmpty(cc.verify(cc.transform( version49, ClassTransform.transformingMethodBodies(CodeTransform.ACCEPT_ALL) - .andThen(ClassTransform.endHandler(clb -> clb.withVersion(50, 0))))) - .verify(null)); + .andThen(ClassTransform.endHandler(clb -> clb.withVersion(50, 0)))))); } @Test @@ -271,7 +270,7 @@ private static void testTransformedStackMaps(byte[] originalBytes, ClassFile.Opt }); //then verify transformed bytecode - assertEmpty(cc.parse(transformedBytes).verify(null)); + assertEmpty(cc.verify(transformedBytes)); } @Test diff --git a/test/jdk/jdk/classfile/VerifierSelfTest.java b/test/jdk/jdk/classfile/VerifierSelfTest.java index 7c184df0391c3..8cbc90d2ff6fd 100644 --- a/test/jdk/jdk/classfile/VerifierSelfTest.java +++ b/test/jdk/jdk/classfile/VerifierSelfTest.java @@ -51,7 +51,7 @@ void testVerify() throws IOException { .flatMap(p -> p) .filter(p -> Files.isRegularFile(p) && p.toString().endsWith(".class")).forEach(path -> { try { - ClassFile.of().parse(path).verify(null); + ClassFile.of().verify(path); } catch (IOException e) { throw new AssertionError(e); } @@ -59,7 +59,7 @@ void testVerify() throws IOException { } @Test - void testFailedDump() throws IOException { + void testFailed() throws IOException { Path path = FileSystems.getFileSystem(URI.create("jrt:/")).getPath("modules/java.base/java/util/HashMap.class"); var cc = ClassFile.of(ClassFile.ClassHierarchyResolverOption.of( className -> ClassHierarchyResolver.ClassHierarchyInfo.ofClass(null))); @@ -79,13 +79,8 @@ void testFailedDump() throws IOException { clb.with(cle); }); StringBuilder sb = new StringBuilder(); - if (ClassFile.of().parse(brokenClassBytes).verify(sb::append).isEmpty()) { + if (ClassFile.of().verify(brokenClassBytes).isEmpty()) { throw new AssertionError("expected verification failure"); } - String output = sb.toString(); - if (!output.contains("- method name: ")) { - System.out.println(output); - throw new AssertionError("failed method not dumped to output"); - } } } diff --git a/test/jdk/tools/lib/tests/JImageValidator.java b/test/jdk/tools/lib/tests/JImageValidator.java index 4915f7fce1efe..125afb9d24cf1 100644 --- a/test/jdk/tools/lib/tests/JImageValidator.java +++ b/test/jdk/tools/lib/tests/JImageValidator.java @@ -223,10 +223,10 @@ public long getModuleLauncherExecutionTime() { } public static void readClass(byte[] clazz) throws IOException{ - var errors = ClassFile.of().parse(clazz).verify( + var errors = ClassFile.of( //resolution of all classes as interfaces cancels assignability verification - cls -> ClassHierarchyResolver.ClassHierarchyInfo.ofInterface(), - null); + ClassFile.ClassHierarchyResolverOption.of(cls -> ClassHierarchyResolver.ClassHierarchyInfo.ofInterface())) + .verify(clazz); if (!errors.isEmpty()) { var itr = errors.iterator(); var thrown = itr.next(); From 50f31240555888018f0f496ab29c8a5932dce459 Mon Sep 17 00:00:00 2001 From: Andrew Haley Date: Wed, 6 Dec 2023 15:32:35 +0000 Subject: [PATCH 110/143] 8320892: AArch64: Restore FPU control state after JNI Reviewed-by: adinn, stuefe --- .../cpu/aarch64/downcallLinker_aarch64.cpp | 3 +++ .../cpu/aarch64/macroAssembler_aarch64.cpp | 17 +++++++++++++++++ .../cpu/aarch64/macroAssembler_aarch64.hpp | 4 ++-- .../cpu/aarch64/sharedRuntime_aarch64.cpp | 3 +++ .../templateInterpreterGenerator_aarch64.cpp | 3 +++ 5 files changed, 28 insertions(+), 2 deletions(-) diff --git a/src/hotspot/cpu/aarch64/downcallLinker_aarch64.cpp b/src/hotspot/cpu/aarch64/downcallLinker_aarch64.cpp index b9a480af7ba97..4322eb1c4fcb6 100644 --- a/src/hotspot/cpu/aarch64/downcallLinker_aarch64.cpp +++ b/src/hotspot/cpu/aarch64/downcallLinker_aarch64.cpp @@ -278,6 +278,9 @@ void DowncallLinker::StubGenerator::generate() { Label L_reguard; Label L_after_reguard; if (_needs_transition) { + // Restore cpu control state after JNI call + __ restore_cpu_control_state_after_jni(rscratch1, tmp1); + __ mov(tmp1, _thread_in_native_trans); __ strw(tmp1, Address(rthread, JavaThread::thread_state_offset())); diff --git a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp index 4b465d7a8ca94..a3c560b28d3cf 100644 --- a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp +++ b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp @@ -4428,6 +4428,23 @@ void MacroAssembler::load_klass(Register dst, Register src) { } } +void MacroAssembler::restore_cpu_control_state_after_jni(Register tmp1, Register tmp2) { + if (RestoreMXCSROnJNICalls) { + Label OK; + get_fpcr(tmp1); + mov(tmp2, tmp1); + // Set FPCR to the state we need. We do want Round to Nearest. We + // don't want non-IEEE rounding modes or floating-point traps. + bfi(tmp1, zr, 22, 4); // Clear DN, FZ, and Rmode + bfi(tmp1, zr, 8, 5); // Clear exception-control bits (8-12) + bfi(tmp1, zr, 0, 2); // Clear AH:FIZ + eor(tmp2, tmp1, tmp2); + cbz(tmp2, OK); // Only reset FPCR if it's wrong + set_fpcr(tmp1); + bind(OK); + } +} + // ((OopHandle)result).resolve(); void MacroAssembler::resolve_oop_handle(Register result, Register tmp1, Register tmp2) { // OopHandle::resolve is an indirection. diff --git a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp index 3bd22ee25fb81..84931c409cfe9 100644 --- a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp +++ b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp @@ -1047,8 +1047,8 @@ class MacroAssembler: public Assembler { #define verify_method_ptr(reg) _verify_method_ptr(reg, "broken method " #reg, __FILE__, __LINE__) #define verify_klass_ptr(reg) _verify_klass_ptr(reg, "broken klass " #reg, __FILE__, __LINE__) - // only if +VerifyFPU - void verify_FPU(int stack_depth, const char* s = "illegal FPU state"); + // Restore cpu control state after JNI call + void restore_cpu_control_state_after_jni(Register tmp1, Register tmp2); // prints msg, dumps registers and stops execution void stop(const char* msg); diff --git a/src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp b/src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp index fa2faddd714d3..c7b45ff0dde17 100644 --- a/src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp +++ b/src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp @@ -1838,6 +1838,9 @@ nmethod* SharedRuntime::generate_native_wrapper(MacroAssembler* masm, intptr_t return_pc = (intptr_t) __ pc(); oop_maps->add_gc_map(return_pc - start, map); + // Verify or restore cpu control state after JNI call + __ restore_cpu_control_state_after_jni(rscratch1, rscratch2); + // Unpack native results. switch (ret_type) { case T_BOOLEAN: __ c2bool(r0); break; diff --git a/src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp b/src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp index c21a56972e433..89f5fbd281b79 100644 --- a/src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp +++ b/src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp @@ -1383,6 +1383,9 @@ address TemplateInterpreterGenerator::generate_native_entry(bool synchronized) { __ get_method(rmethod); // result potentially in r0 or v0 + // Restore cpu control state after JNI call + __ restore_cpu_control_state_after_jni(rscratch1, rscratch2); + // make room for the pushes we're about to do __ sub(rscratch1, esp, 4 * wordSize); __ andr(sp, rscratch1, -16); From 90e433d72e73abf3252969f535451b56ecacc952 Mon Sep 17 00:00:00 2001 From: Aggelos Biboudis Date: Wed, 6 Dec 2023 15:34:25 +0000 Subject: [PATCH 111/143] 8320144: Compilation crashes when a custom annotation with invalid default value is used Reviewed-by: vromero, jlahoda --- .../com/sun/tools/javac/comp/Annotate.java | 7 +++++-- test/langtools/tools/javac/T8320144.java | 19 +++++++++++++++++++ test/langtools/tools/javac/T8320144.out | 4 ++++ 3 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 test/langtools/tools/javac/T8320144.java create mode 100644 test/langtools/tools/javac/T8320144.out diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java index 40ba3152958c0..366e16f1da3f9 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java @@ -556,7 +556,6 @@ private Attribute attributeAnnotationValue(Type expectedElementType, JCExpressio if (expectedElementType.hasTag(ARRAY)) { return getAnnotationArrayValue(expectedElementType, tree, env); - } //error recovery @@ -708,11 +707,15 @@ private Attribute getAnnotationArrayValue(Type expectedElementType, JCExpression } JCNewArray na = (JCNewArray)tree; + List elems = na.elems; if (na.elemtype != null) { log.error(na.elemtype.pos(), Errors.NewNotAllowedInAnnotation); + if (elems == null) { + elems = List.nil(); + } } ListBuffer buf = new ListBuffer<>(); - for (List l = na.elems; l.nonEmpty(); l=l.tail) { + for (List l = elems; l.nonEmpty(); l = l.tail) { buf.append(attributeAnnotationValue(types.elemtype(expectedElementType), l.head, env)); diff --git a/test/langtools/tools/javac/T8320144.java b/test/langtools/tools/javac/T8320144.java new file mode 100644 index 0000000000000..6bd3c4ab66dc1 --- /dev/null +++ b/test/langtools/tools/javac/T8320144.java @@ -0,0 +1,19 @@ +/* + * @test /nodynamiccopyright/ + * @bug 8320144 + * @summary Compilation crashes when a custom annotation with invalid default value is used + * @compile/fail/ref=T8320144.out -XDrawDiagnostics T8320144.java + */ +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +public class T8320144 { + @Retention(RetentionPolicy.RUNTIME) + @Target({ElementType.TYPE}) + public @interface TestAnnotation { + public String[] excludeModules() default new String[0]; + public String[] value() default new String[] { 3 }; + } +} diff --git a/test/langtools/tools/javac/T8320144.out b/test/langtools/tools/javac/T8320144.out new file mode 100644 index 0000000000000..cb09e379cd1aa --- /dev/null +++ b/test/langtools/tools/javac/T8320144.out @@ -0,0 +1,4 @@ +T8320144.java:16:54: compiler.err.new.not.allowed.in.annotation +T8320144.java:17:45: compiler.err.new.not.allowed.in.annotation +T8320144.java:17:56: compiler.err.prob.found.req: (compiler.misc.inconvertible.types: int, java.lang.String) +3 errors From cc25d8b12bbab9dde9ade7762927dcb8d27e23c5 Mon Sep 17 00:00:00 2001 From: Doug Lea Date: Wed, 6 Dec 2023 16:12:59 +0000 Subject: [PATCH 112/143] 8319662: ForkJoinPool trims worker threads too slowly 8319498: ForkJoinPool.invoke(ForkJoinTask) does not specify behavior when task throws checked exception Reviewed-by: alanb --- .../java/util/concurrent/ForkJoinPool.java | 362 +++++++++--------- .../util/concurrent/tck/ForkJoinPoolTest.java | 16 + 2 files changed, 206 insertions(+), 172 deletions(-) diff --git a/src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java b/src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java index a14f6d884e0b5..4cdafb0a44f5f 100644 --- a/src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java +++ b/src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java @@ -556,14 +556,16 @@ public class ForkJoinPool extends AbstractExecutorService { * signalling (because its queue is empty), also resulting in * logarithmic full activation time * - * * Because we don't know about usage patterns (or most commonly, + * * Because we don't know about usage patterns (or most commonly, * mixtures), we use both approaches, which present even more * opportunities to over-signal. Note that in either of these * contexts, signals may be (and often are) unnecessary because * active workers continue scanning after running tasks without * the need to be signalled (which is one reason work stealing * is often faster than alternatives), so additional workers - * aren't needed. But there is no efficient way to detect this. + * aren't needed. We filter out some of these cases by exiting + * retry loops in signalWork if the task responsible for the + * signal has already been taken. * * * For rapidly branching tasks that require full pool resources, * oversignalling is OK, because signalWork will soon have no @@ -579,9 +581,7 @@ public class ForkJoinPool extends AbstractExecutorService { * top-level polls (argument "window" in method scan, with setup * in method runWorker) as an encoded sliding window of current * and previous two sources (or INVALID_ID if none), and stop - * signalling when all were from the same source. Also, retries - * are suppressed on CAS failures by newly activated workers, - * which serves as a form of admission control. These + * signalling when all were from the same source. These * mechanisms may result in transiently too few workers, but * once workers poll from a new source, they rapidly reactivate * others. @@ -609,22 +609,13 @@ public class ForkJoinPool extends AbstractExecutorService { * contention. * * Deactivation. When method scan indicates that no tasks are - * found by a worker, it tries to deactivate (in runWorker). Note - * that not finding tasks doesn't mean that there won't soon be - * some. Further, a scan may give up under contention, returning - * even without knowing whether any tasks are still present, which - * is OK given, a secondary check (in awaitWork) needed to cover - * deactivation/signal races. Blocking and unblocking via - * park/unpark can cause serious slowdowns when tasks are rapidly - * but irregularly generated (which is often due to garbage - * collectors and other activities). One way to ameliorate is for - * workers to rescan multiple times, even when there are unlikely - * to be tasks. But this causes enough memory traffic and CAS - * contention to prefer using quieter short spinwaits in awaitWork - * and elsewhere. Those in awaitWork are set to small values that - * only cover near-miss scenarios for inactivate/activate races. - * Because idle workers are often not yet blocked (parked), we use - * the WorkQueue parker field to advertise that a waiter actually + * found by a worker, it tries to deactivate (in awaitWork), + * giving up (and rescanning) on ctl contention. To avoid missed + * signals during deactivation, the method rescans and reactivates + * if there may have been a missed signal during deactivation, + * filtering out most cases in which this is unnecessary. Because + * idle workers are often not yet blocked (parked), we use the + * WorkQueue parking field to advertise that a waiter actually * needs unparking upon signal. * * Quiescence. Workers scan looking for work, giving up when they @@ -676,7 +667,10 @@ public class ForkJoinPool extends AbstractExecutorService { * Trimming workers. To release resources after periods of lack of * use, a worker starting to wait when the pool is quiescent will * time out and terminate if the pool has remained quiescent for - * period given by field keepAlive. + * period given by field keepAlive (default 60sec), which applies + * to the first timeout of a fully populated pool. Subsequent (or + * other) cases use delays such that, if still quiescent, all will + * be released before one additional keepAlive unit elapses. * * Joining Tasks * ============= @@ -687,7 +681,7 @@ public class ForkJoinPool extends AbstractExecutorService { * task would otherwise be blocked waiting for completion of * another, basically, just by running that task or one of its * subtasks if not already taken. These mechanics are disabled for - * InterruptibleTasks, that guarantee that callers do not executed + * InterruptibleTasks, that guarantee that callers do not execute * submitted tasks. * * The basic structure of joining is an extended spin/block scheme @@ -886,22 +880,24 @@ public class ForkJoinPool extends AbstractExecutorService { * control (for good reason). Similarly for relying on fields * being placed in size-sorted declaration order. * - * For class ForkJoinPool, it is usually more effective to order - * fields such that the most commonly accessed fields are unlikely - * to share cache lines with adjacent objects under JVM layout - * rules. For class WorkQueue, an embedded @Contended region - * segregates fields most heavily updated by owners from those - * most commonly read by stealers or other management. Initial - * sizing and resizing of WorkQueue arrays is an even more - * delicate tradeoff because the best strategy systematically - * varies across garbage collectors. Small arrays are better for - * locality and reduce GC scan time, but large arrays reduce both - * direct false-sharing and indirect cases due to GC bookkeeping - * (cardmarks etc), and reduce the number of resizes, which are - * not especially fast because they require atomic transfers. - * Currently, arrays are initialized to be fairly small but early - * resizes rapidly increase size by more than a factor of two - * until very large. (Maintenance note: any changes in fields, + * We isolate the ForkJoinPool.ctl field that otherwise causes the + * most false-sharing misses with respect to other fields. Also, + * ForkJoinPool fields are ordered such that fields less prone to + * contention effects are first, offsetting those that otherwise + * would be, while also reducing total footprint vs using + * multiple @Contended regions, which tends to slow down + * less-contended applications. For class WorkQueue, an + * embedded @Contended region segregates fields most heavily + * updated by owners from those most commonly read by stealers or + * other management. Initial sizing and resizing of WorkQueue + * arrays is an even more delicate tradeoff because the best + * strategy systematically varies across garbage collectors. Small + * arrays are better for locality and reduce GC scan time, but + * large arrays reduce both direct false-sharing and indirect + * cases due to GC bookkeeping (cardmarks etc), and reduce the + * number of resizes, which are not especially fast because they + * require atomic transfers. Currently, arrays are initialized to + * be fairly small. (Maintenance note: any changes in fields, * queues, or their uses, or JVM layout policies, must be * accompanied by re-evaluation of these placement and sizing * decisions.) @@ -1035,7 +1031,8 @@ public class ForkJoinPool extends AbstractExecutorService { // source history window packing used in scan() and runWorker() static final long RESCAN = 1L << 63; // must be negative - static final long WMASK = ~(((long)SMASK) << 48); // id bits only + static final long HMASK = ((((long)SMASK) << 32) | + (((long)SMASK) << 16)); // history bits static final long NO_HISTORY = ((((long)INVALID_ID) << 32) | // no 3rd (((long)INVALID_ID) << 16)); // no 2nd @@ -1210,7 +1207,6 @@ public ForkJoinWorkerThread run() { static final class WorkQueue { // fields declared in order of their likely layout on most VMs final ForkJoinWorkerThread owner; // null if shared - volatile Thread parker; // set when parking in awaitWork ForkJoinTask[] array; // the queued tasks; power of 2 size int base; // index of next slot for poll final int config; // mode bits @@ -1226,6 +1222,8 @@ static final class WorkQueue { volatile int source; // source queue id (or DEREGISTERED) @jdk.internal.vm.annotation.Contended("w") int nsteals; // number of steals from other queues + @jdk.internal.vm.annotation.Contended("w") + volatile int parking; // nonzero if parked in awaitWork // Support for atomic operations private static final Unsafe U; @@ -1295,7 +1293,7 @@ final int queueSize() { */ final void push(ForkJoinTask task, ForkJoinPool pool, boolean internal) { - int s = top, b = base, cap, m, room; ForkJoinTask[] a; + int s = top, b = base, cap, m, p, room, newCap; ForkJoinTask[] a; if ((a = array) == null || (cap = a.length) <= 0 || (room = (m = cap - 1) - (s - b)) < 0) { // could not resize if (!internal) @@ -1303,36 +1301,34 @@ final void push(ForkJoinTask task, ForkJoinPool pool, throw new RejectedExecutionException("Queue capacity exceeded"); } top = s + 1; - long pos = slotOffset(m & s); + long pos = slotOffset(p = m & s); if (!internal) U.putReference(a, pos, task); // inside lock else U.getAndSetReference(a, pos, task); // fully fenced - if (room == 0) { // resize for next time - int newCap; // rapidly grow until large - if ((newCap = (cap < 1 << 24) ? cap << 2 : cap << 1) > 0) { - ForkJoinTask[] newArray = null; - try { - newArray = new ForkJoinTask[newCap]; - } catch (OutOfMemoryError ex) { - } - if (newArray != null) { // else throw on next push - int newMask = newCap - 1; // poll old, push to new - for (int k = s, j = cap; j > 0; --j, --k) { - if ((newArray[k & newMask] = - (ForkJoinTask)U.getAndSetReference( - a, slotOffset(k & m), null)) == null) - break; // lost to pollers - } - updateArray(newArray); // fully fenced + if (room == 0 && (newCap = cap << 1) > 0) { + ForkJoinTask[] newArray = null; + try { // resize for next time + newArray = new ForkJoinTask[newCap]; + } catch (OutOfMemoryError ex) { + } + if (newArray != null) { // else throw on next push + int newMask = newCap - 1; // poll old, push to new + for (int k = s, j = cap; j > 0; --j, --k) { + ForkJoinTask u; + if ((u = (ForkJoinTask)U.getAndSetReference( + a, slotOffset(k & m), null)) == null) + break; // lost to pollers + newArray[k & newMask] = u; } + updateArray(newArray); // fully fenced } + a = null; // always signal } if (!internal) unlockPhase(); - if ((room == 0 || room >= m || a[m & (s - 1)] == null) && - pool != null) - pool.signalWork(); + if ((a == null || a[m & (s - 1)] == null) && pool != null) + pool.signalWork(a, p); } /** @@ -1439,7 +1435,7 @@ else if (t == (o = U.compareAndExchangeReference( a, slotOffset(k), t, null))) { updateBase(nb); if (a[nk] != null && pool != null) - pool.signalWork(); // propagate + pool.signalWork(a, nk); // propagate return t; } if (o == null && a[nk] == null && array == a && @@ -1456,14 +1452,23 @@ a, slotOffset(k), t, null))) { * to repoll from the queue obtained from pool.scan. */ private ForkJoinTask tryPoll() { - ForkJoinTask t; ForkJoinTask[] a; int b, cap, k; - if ((a = array) != null && (cap = a.length) > 0 && - (t = a[k = (b = base) & (cap - 1)]) != null) { - U.loadFence(); - if (base == b && - U.compareAndSetReference(a, slotOffset(k), t, null)) { - updateBase(b + 1); - return t; + ForkJoinTask[] a; int cap; + if ((a = array) != null && (cap = a.length) > 0) { + for (int b = base, k;;) { // loop only if inconsistent + ForkJoinTask t = a[k = b & (cap - 1)]; + U.loadFence(); + if (b == (b = base)) { + Object o; + if (t == null) + o = a[k]; + else if (t == (o = U.compareAndExchangeReference( + a, slotOffset(k), t, null))) { + updateBase(b + 1); + return t; + } + if (o == null) + break; + } } } return null; @@ -1676,9 +1681,11 @@ final boolean isApparentlyUnblocked() { final long config; // static configuration bits volatile long stealCount; // collects worker nsteals volatile long threadIds; // for worker thread names + volatile int runState; // versioned, lockable + @jdk.internal.vm.annotation.Contended("fjpctl") // segregate volatile long ctl; // main pool control + @jdk.internal.vm.annotation.Contended("fjpctl") // colocate int parallelism; // target number of workers - volatile int runState; // versioned, lockable // Support for atomic operations private static final Unsafe U; @@ -1876,8 +1883,8 @@ final void deregisterWorker(ForkJoinWorkerThread wt, Throwable ex) { c, ((RC_MASK & (c - RC_UNIT)) | (TC_MASK & (c - TC_UNIT)) | (LMASK & c))))); - else if ((int)c == 0) // was dropped on timeout - replaceable = false; + else if ((int)c != 0) + replaceable = true; // signal below to cascade timeouts if (w != null) { // cancel remaining tasks for (ForkJoinTask t; (t = w.nextLocalTask()) != null; ) { try { @@ -1898,15 +1905,19 @@ else if ((int)c == 0) // was dropped on timeout unlockRunState(); } if ((runState & STOP) == 0 && replaceable) - signalWork(); // may replace unless trimmed or uninitialized + signalWork(null, 0); // may replace unless trimmed or uninitialized if (ex != null) ForkJoinTask.rethrow(ex); } /** - * Releases an idle worker, or creates one if not enough exist. + * Releases an idle worker, or creates one if not enough exist, + * returning on contention if a signal task is already taken. + * + * @param a if nonnull, a task array holding task signalled + * @param k index of task in array */ - final void signalWork() { + final void signalWork(ForkJoinTask[] a, int k) { int pc = parallelism; for (long c = ctl;;) { WorkQueue[] qs = queues; @@ -1928,20 +1939,21 @@ else if ((short)(c >>> RC_SHIFT) >= pc || (v = w) == null) if (v == null) createWorker(); else { - Thread t; v.phase = sp; - if ((t = v.parker) != null) - U.unpark(t); + if (v.parking != 0) + U.unpark(v.owner); } break; } + if (a != null && k >= 0 && k < a.length && a[k] == null) + break; } } /** - * Reactivates the given worker, and possibly interrupts others if - * not top of ctl stack. Called only during shutdown to ensure release - * on termination. + * Reactivates the given worker, and possibly others if not top of + * ctl stack. Called only during shutdown to ensure release on + * termination. */ private void reactivate(WorkQueue w) { for (long c = ctl;;) { @@ -1953,16 +1965,11 @@ private void reactivate(WorkQueue w) { if (c == (c = compareAndExchangeCtl( c, ((UMASK & (c + RC_UNIT)) | (c & TC_MASK) | (v.stackPred & LMASK))))) { - Thread t; v.phase = sp; - if ((t = v.parker) != null) { - try { - t.interrupt(); - } catch (Throwable ignore) { - } - } if (v == w) break; + if (v.parking != 0) + U.unpark(v.owner); } } } @@ -1993,18 +2000,18 @@ else if (!swept || e != prevRunState || (e & RS_LOCK) != 0) { sum += (p & 0xffffffffL) | ((long)b << 32); if ((p & IDLE) == 0 || s - b > 0) { if ((i & 1) == 0 && compareAndSetCtl(c, c)) - signalWork(); // ensure live + signalWork(null, 0); // ensure live return false; } } } swept = (phaseSum == (phaseSum = sum)); } - else if (compareAndSetCtl(c, c) && // confirm - casRunState(e, (e & SHUTDOWN) != 0 ? e | STOP : e)) { - if ((e & SHUTDOWN) != 0) // enable termination - interruptAll(); + else if ((e & SHUTDOWN) == 0) return true; + else if (compareAndSetCtl(c, c) && casRunState(e, e | STOP)) { + interruptAll(); // confirmed + return true; // enable termination } else break; // restart @@ -2021,17 +2028,12 @@ else if (compareAndSetCtl(c, c) && // confirm final void runWorker(WorkQueue w) { if (w != null) { int phase = w.phase, r = w.stackPred; // seed from registerWorker - for (long window = NO_HISTORY | (r >>> 16);;) { - r ^= r << 13; r ^= r >>> 17; r ^= r << 5; // xorshift - if ((runState & STOP) != 0) // terminating - break; - if (window == (window = scan(w, window & WMASK, r)) && - window >= 0L && phase != (phase = awaitWork(w, phase))) { - if ((phase & IDLE) != 0) - break; // worker exit - window = NO_HISTORY | (window & SMASK); // clear history - } - } + long window = (long)((r >>> 16) & SMASK) | NO_HISTORY; + do { + r ^= r << 13; r ^= r >>> 17; r ^= r << 5; // xorshift + } while ((runState & STOP) == 0 && + (((window = scan(w, window, r)) < 0L || + ((phase = awaitWork(w, phase)) & IDLE) == 0))); } } @@ -2048,105 +2050,116 @@ final void runWorker(WorkQueue w) { private long scan(WorkQueue w, long window, int r) { WorkQueue[] qs = queues; int n = (qs == null) ? 0 : qs.length, step = (r << 1) | 1; + long next = window & ~RESCAN; outer: for (int i = (short)window, l = n; l > 0; --l, i += step) { int j, cap; WorkQueue q; ForkJoinTask[] a; if ((q = qs[j = i & SMASK & (n - 1)]) != null && (a = q.array) != null && (cap = a.length) > 0) { - for (;;) { - int b, k; Object o; - ForkJoinTask t = a[k = (b = q.base) & (cap - 1)]; + for (int b = q.base;;) { + int nb = b + 1, nk = nb & (cap - 1), k; + ForkJoinTask t = a[k = b & (cap - 1)]; U.loadFence(); // re-read b and t - if (q.base == b) { // else inconsistent; retry - int nb = b + 1, nk = nb & (cap - 1); - if (t == null) { - if (a[k] == null) { // revisit if another task - if (window >= 0L && a[nk] != null) - window |= RESCAN; - break; - } - } + if (b == (b = q.base)) { // else inconsistent; retry + Object o; + if (t == null) + o = a[k]; else if (t == (o = U.compareAndExchangeReference( - a, slotOffset(k), t, null))) { + a, slotOffset(k), t, null))) { q.updateBase(nb); - long pw = window, nw = ((pw << 16) | j) & WMASK; - window = nw | RESCAN; - if ((nw != pw || (short)(nw >>> 32) != j) && - a[nk] != null) - signalWork(); // limit propagation + next = RESCAN | ((window << 16) & HMASK) | j; + if (window != next && a[nk] != null) + signalWork(a, nk); // limit propagation if (w != null) // always true w.topLevelExec(t, q, j); break outer; } - else if (o == null) // contended - break; // retried unless newly active + if (o == null) { + if (next >= 0L && a[nk] != null) + next |= RESCAN; + break; + } } } } } - return window; + return next; } /** * Tries to inactivate, and if successful, awaits signal or termination. * * @param w the worker (may be null if already terminated) - * @param p current phase + * @param phase current phase * @return current phase, with IDLE set if worker should exit */ - private int awaitWork(WorkQueue w, int p) { + private int awaitWork(WorkQueue w, int phase) { + boolean quiet; // true if possibly quiescent + int active = phase + (IDLE << 1), p = phase | IDLE, e; if (w != null) { - int idlePhase = p + IDLE, nextPhase = p + (IDLE << 1); - long pc = ctl, qc = (nextPhase & LMASK) | ((pc - RC_UNIT) & UMASK); - w.stackPred = (int)pc; // set ctl stack link - w.phase = idlePhase; // try to inactivate - if (!compareAndSetCtl(pc, qc)) // contended enque - return w.phase = p; // back out - int ac = (short)(qc >>> RC_SHIFT); - boolean quiescent = (ac <= 0 && quiescent()); - if ((runState & STOP) != 0) - return idlePhase; - int spins = ac + ((((int)(qc >>> TC_SHIFT)) & SMASK) << 1); - while ((p = w.phase) == idlePhase && --spins > 0) - Thread.onSpinWait(); // spin for approx #accesses to signal - if (p == idlePhase) { - long deadline = (!quiescent ? 0L : // timeout for trim - System.currentTimeMillis() + keepAlive); - WorkQueue[] qs = queues; + w.phase = p; // deactivate + long np = active & LMASK, pc = ctl; // try to enqueue + long qc = np | ((pc - RC_UNIT) & UMASK); + w.stackPred = (int)pc; // set ctl stack link + if (pc != (pc = compareAndExchangeCtl(pc, qc))) { + qc = np | ((pc - RC_UNIT) & UMASK); + w.stackPred = (int)pc; // retry once + if (pc != (pc = compareAndExchangeCtl(pc, qc))) + p = w.phase = phase; // back out + } + if (p != phase && ((e = runState) & STOP) == 0 && + (!(quiet = (qc & RC_MASK) <= 0L) || (e & SHUTDOWN) == 0 || + !(quiet = quiescent()) || (runState & STOP) == 0)) { + long deadline = 0L; // not terminating + if (quiet) { // use timeout if trimmable + int nt = (short)(qc >>> TC_SHIFT); + long delay = keepAlive; // scale if not at target + if (nt != (nt = Math.max(nt, parallelism)) && nt > 0) + delay = Math.max(TIMEOUT_SLOP, delay / nt); + if ((deadline = delay + System.currentTimeMillis()) == 0L) + deadline = 1L; // avoid zero + } + boolean release = quiet; + WorkQueue[] qs = queues; // recheck queues int n = (qs == null) ? 0 : qs.length; - for (int i = 0; i < n; ++i) { // recheck queues + for (int l = -n, j = active; l < n; ++l, ++j) { WorkQueue q; ForkJoinTask[] a; int cap; - if ((q = qs[i]) != null && - (a = q.array) != null && (cap = a.length) > 0 && - a[q.base & (cap - 1)] != null && - ctl == qc && compareAndSetCtl(qc, pc)) { - w.phase = (int)qc; // release + if ((p = w.phase) == active) // interleave signal checks break; + if ((q = qs[j & (n - 1)]) != null && + (a = q.array) != null && (cap = a.length) > 0 && + a[q.base & (cap - 1)] != null) { + if (release && qc == ctl && compareAndSetCtl(qc, pc)) { + p = w.phase = active; + break; // possible missed signal + } + release = true; // track multiple or reencounter } + Thread.onSpinWait(); // reduce memory traffic } - if ((p = w.phase) == idlePhase) { // emulate LockSupport.park + if (p != active) { // emulate LockSupport.park LockSupport.setCurrentBlocker(this); - w.parker = Thread.currentThread(); + w.parking = 1; for (;;) { - if ((runState & STOP) != 0 || (p = w.phase) != idlePhase) + if ((runState & STOP) != 0 || (p = w.phase) == active) break; - U.park(quiescent, deadline); - if ((p = w.phase) != idlePhase || (runState & STOP) != 0) + U.park(deadline != 0L, deadline); + if ((p = w.phase) == active || (runState & STOP) != 0) break; - Thread.interrupted(); // clear for next park - if (quiescent && TIMEOUT_SLOP > + Thread.interrupted(); // clear for next park + if (deadline != 0L && TIMEOUT_SLOP > deadline - System.currentTimeMillis()) { - long sp = w.stackPred & LMASK; - long c = ctl, nc = sp | (UMASK & (c - TC_UNIT)); - if (((int)c & SMASK) == (idlePhase & SMASK) && + long sp = w.stackPred & LMASK, c = ctl; + long nc = sp | (UMASK & (c - TC_UNIT)); + if (((int)c & SMASK) == (active & SMASK) && compareAndSetCtl(c, nc)) { w.source = DEREGISTERED; - w.phase = (int)c; - break; + w.phase = active; + break; // trimmed on timeout } - deadline += keepAlive; // not head; reset timer + deadline = 0L; // no longer trimmable } } - w.parker = null; + w.parking = 0; LockSupport.setCurrentBlocker(null); } } @@ -2201,13 +2214,13 @@ private int tryCompensate(long c) { sp = (int)c, stat = -1; // default retry return if (sp != 0 && active <= pc) { // activate idle worker - WorkQueue[] qs; WorkQueue v; int i; Thread t; + WorkQueue[] qs; WorkQueue v; int i; if ((qs = queues) != null && qs.length > (i = sp & SMASK) && (v = qs[i]) != null && compareAndSetCtl(c, (c & UMASK) | (v.stackPred & LMASK))) { v.phase = sp; - if ((t = v.parker) != null) - U.unpark(t); + if (v.parking != 0) + U.unpark(v.owner); stat = UNCOMPENSATE; } } @@ -2807,7 +2820,6 @@ private void interruptAll() { } } - /** * Returns termination signal, constructing if necessary */ @@ -3099,7 +3111,13 @@ public static ForkJoinPool commonPool() { public T invoke(ForkJoinTask task) { Objects.requireNonNull(task); poolSubmit(true, task); - return task.join(); + try { + return task.join(); + } catch (RuntimeException | Error unchecked) { + throw unchecked; + } catch (Exception checked) { + throw new RuntimeException(checked); + } } /** diff --git a/test/jdk/java/util/concurrent/tck/ForkJoinPoolTest.java b/test/jdk/java/util/concurrent/tck/ForkJoinPoolTest.java index 781b7bffe6d0c..7db3e20a2fb75 100644 --- a/test/jdk/java/util/concurrent/tck/ForkJoinPoolTest.java +++ b/test/jdk/java/util/concurrent/tck/ForkJoinPoolTest.java @@ -626,6 +626,22 @@ public void testSubmitEE() throws Throwable { } } + /** + * invoke throws a RuntimeException if task throws unchecked exception + */ + public void testInvokeUncheckedException() throws Throwable { + ForkJoinPool p = new ForkJoinPool(1); + try (PoolCleaner cleaner = cleaner(p)) { + try { + p.invoke(ForkJoinTask.adapt(new Callable() { + public Object call() { throw new ArithmeticException(); }})); + shouldThrow(); + } catch (RuntimeException success) { + assertTrue(success.getCause() instanceof ArithmeticException); + } + } + } + /** * invokeAny(null) throws NullPointerException */ From 4ef24e2596340c5375f2ab07883c26a6458efe0e Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Wed, 6 Dec 2023 16:41:24 +0000 Subject: [PATCH 113/143] 8319938: TestFileChooserSingleDirectorySelection.java fails with "getSelectedFiles returned empty array" Reviewed-by: aivanov, tr --- ...stFileChooserSingleDirectorySelection.java | 185 +++++++++--------- 1 file changed, 95 insertions(+), 90 deletions(-) diff --git a/test/jdk/com/sun/java/swing/plaf/gtk/TestFileChooserSingleDirectorySelection.java b/test/jdk/com/sun/java/swing/plaf/gtk/TestFileChooserSingleDirectorySelection.java index 0f74b09f7fac0..05681550eb2c9 100644 --- a/test/jdk/com/sun/java/swing/plaf/gtk/TestFileChooserSingleDirectorySelection.java +++ b/test/jdk/com/sun/java/swing/plaf/gtk/TestFileChooserSingleDirectorySelection.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. * 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,12 +33,9 @@ import java.io.File; import java.awt.BorderLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; import java.awt.event.InputEvent; import java.awt.Point; import java.awt.Robot; -import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.SwingUtilities; @@ -48,130 +45,128 @@ public class TestFileChooserSingleDirectorySelection { private static JFrame frame; private static JFileChooser fileChooser; - private static JButton getSelectedFilesButton; private static Robot robot; - private static boolean passed; - private static File[] testDir; - private static File[] tempFile; + private static volatile Point clickLocation; public static void main(String[] args) throws Exception { System.setProperty("sun.java2d.uiScale", "1.0"); robot = new Robot(); robot.setAutoDelay(100); - - try { - // create test directory - String tmpDir = System.getProperty("user.home"); - testDir = new File[1]; - testDir[0] = new File(tmpDir, "testDir"); - if (!testDir[0].exists()) - testDir[0].mkdir(); - testDir[0].deleteOnExit(); - - // create temporary files inside testDir - tempFile = new File[5]; - for (int i = 0; i < 5; ++i) { - tempFile[i] = File.createTempFile("temp", ".txt", - new File(testDir[0].getAbsolutePath())); - tempFile[i].deleteOnExit(); - } - } catch (Exception e) { - e.printStackTrace(); - } + File testDirDirs = createFoldersOnlyDir(); + File testDirFiles = createFilesOnlyDir(); + populateDirs(testDirDirs); + populateFiles(testDirFiles); for (UIManager.LookAndFeelInfo laf : - UIManager.getInstalledLookAndFeels()) { + UIManager.getInstalledLookAndFeels()) { System.out.println("Testing LAF: " + laf.getClassName()); SwingUtilities.invokeAndWait(() -> setLookAndFeel(laf)); - checkFileOnlyTest(laf); - checkDirectoriesOnlyTest(laf); - checkFilesAndDirectoriesTest(laf); + checkFileOnlyTest(laf, testDirFiles); + checkDirectoriesOnlyTest(laf, testDirDirs); + checkFilesAndDirectoriesTest(laf, testDirDirs); System.out.println("Passed"); } } - private static void checkFileOnlyTest(UIManager.LookAndFeelInfo laf) - throws Exception { + private static File createFoldersOnlyDir() { + String tmpDir = System.getProperty("java.io.tmpdir"); + File dirsDir = new File(tmpDir, "dirsDir"); + if (!dirsDir.exists()) { + dirsDir.mkdir(); + } + dirsDir.deleteOnExit(); + return dirsDir; + } + + private static void populateDirs(File parent) { + for (int i = 0; i < 10; ++i) { + File subDir = new File(parent, "subDir_" + (i+1)); + subDir.mkdir(); + subDir.deleteOnExit(); + } + } + + private static File createFilesOnlyDir() { + String tmpDir = System.getProperty("java.io.tmpdir"); + File filesDir = new File(tmpDir, "filesDir"); + if (!filesDir.exists()) { + filesDir.mkdir(); + } + filesDir.deleteOnExit(); + return filesDir; + } + + private static void populateFiles(File parent) throws Exception { + for (int i = 0; i < 10; ++i) { + File subFile = new File(parent, "subFiles_" + (i+1)); + subFile.createNewFile(); + subFile.deleteOnExit(); + } + } + + private static void checkFileOnlyTest(UIManager.LookAndFeelInfo laf, + File dir) throws Exception { System.out.println("Testing File Only mode"); try { SwingUtilities.invokeAndWait(() -> { createAndShowUI(); - fileChooser.setCurrentDirectory(testDir[0]); + fileChooser.setCurrentDirectory(dir); + fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); }); robot.waitForIdle(); robot.delay(1000); - fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); - doTesting(laf, 230); + if (laf.getClassName().contains("Motif") + || laf.getClassName().contains("GTK")) { + doTesting(laf, 230); + } else { + doTesting(laf, 50); + } } finally { - SwingUtilities.invokeAndWait(() -> { - if (frame != null) { - frame.dispose(); - } - }); + disposeFrame(); } } - private static void checkDirectoriesOnlyTest(UIManager.LookAndFeelInfo laf) - throws Exception { + private static void checkDirectoriesOnlyTest(UIManager.LookAndFeelInfo laf, + File dir) throws Exception { System.out.println("Testing Directories Only mode"); try { SwingUtilities.invokeAndWait(() -> { createAndShowUI(); + fileChooser.setCurrentDirectory(dir); + fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); }); robot.waitForIdle(); robot.delay(1000); - fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); doTesting(laf, 50); } finally { - SwingUtilities.invokeAndWait(() -> { - if (frame != null) { - frame.dispose(); - } - }); + disposeFrame(); } } - private static void checkFilesAndDirectoriesTest(UIManager.LookAndFeelInfo laf) - throws Exception { + private static void checkFilesAndDirectoriesTest(UIManager.LookAndFeelInfo laf, + File dir) throws Exception { System.out.println("Testing Files and Directories mode"); try { SwingUtilities.invokeAndWait(() -> { createAndShowUI(); + fileChooser.setCurrentDirectory(dir); + fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); }); robot.waitForIdle(); robot.delay(1000); - fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); doTesting(laf, 50); } finally { - SwingUtilities.invokeAndWait(() -> { - if (frame != null) { - frame.dispose(); - } - }); + disposeFrame(); } } private static void createAndShowUI() { frame = new JFrame("Test File Chooser Single Directory Selection"); frame.getContentPane().setLayout(new BorderLayout()); - fileChooser = new JFileChooser("user.home"); + fileChooser = new JFileChooser(); fileChooser.setMultiSelectionEnabled(true); fileChooser.setControlButtonsAreShown(false); - - getSelectedFilesButton = new JButton(); - getSelectedFilesButton.setText("Print selected Files"); - getSelectedFilesButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent evt) { - passed = false; - File files[] = fileChooser.getSelectedFiles(); - if (files.length != 0) { - passed = true; - } - } - }); - frame.getContentPane().add(fileChooser, BorderLayout.CENTER); - frame.getContentPane().add(getSelectedFilesButton, BorderLayout.SOUTH); frame.pack(); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); @@ -189,30 +184,40 @@ private static void setLookAndFeel(UIManager.LookAndFeelInfo laf) { } } - private static void doTesting(UIManager.LookAndFeelInfo laf, int xOffset) { - Point frameLocation = fileChooser.getLocationOnScreen(); - int frameWidth = frame.getWidth(); - int frameHeight = frame.getHeight(); - - Point btnLocation = getSelectedFilesButton.getLocationOnScreen(); - int btnWidth = getSelectedFilesButton.getWidth(); - int btnHeight = getSelectedFilesButton.getHeight(); - clickMouse(frameLocation, 0, frameHeight, xOffset); - clickMouse(btnLocation, btnWidth, btnHeight, 0); + private static void doTesting(UIManager.LookAndFeelInfo laf, int xOffset) + throws Exception { + SwingUtilities.invokeAndWait(() -> { + Point fileChooserLocation = fileChooser.getLocationOnScreen(); + fileChooserLocation.y += frame.getHeight() / 3; + clickLocation = new Point(fileChooserLocation); + }); + clickMouse(clickLocation, xOffset); checkResult(laf); } - private static void clickMouse(Point point, int width, int height, - int xOffset) { - robot.mouseMove(point.x + width/2 + xOffset , point.y + height/3); + private static void clickMouse(Point point, int xOffset) { + robot.mouseMove(point.x + xOffset , point.y); robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); robot.delay(100); + robot.waitForIdle(); + } + + private static void checkResult(UIManager.LookAndFeelInfo laf) throws Exception { + SwingUtilities.invokeAndWait(() -> { + File[] files = fileChooser.getSelectedFiles(); + if (files.length == 0) { + throw new RuntimeException("getSelectedFiles returned " + + "empty array for LAF: " + laf.getClassName()); + } + }); } - private static void checkResult(UIManager.LookAndFeelInfo laf) { - if (!passed) - throw new RuntimeException("getSelectedFiles returned " + - "empty array for LAF: "+laf.getClassName()); + private static void disposeFrame() throws Exception { + SwingUtilities.invokeAndWait(() -> { + if (frame != null) { + frame.dispose(); + } + }); } } From a9cb120d03e5b2efa244086e213d3b9e4706558a Mon Sep 17 00:00:00 2001 From: Vicente Romero Date: Wed, 6 Dec 2023 16:48:08 +0000 Subject: [PATCH 114/143] 8320948: NPE due to unreported compiler error Reviewed-by: jlahoda --- .../sun/tools/javac/comp/DeferredAttr.java | 5 +++- .../recovery/CrashDueToUnreportedError.java | 29 +++++++++++++++++++ .../recovery/CrashDueToUnreportedError.out | 2 ++ 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 test/langtools/tools/javac/recovery/CrashDueToUnreportedError.java create mode 100644 test/langtools/tools/javac/recovery/CrashDueToUnreportedError.out diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java index bc43c427a3474..56249fefad985 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java @@ -1089,7 +1089,10 @@ private Type recover(DeferredType dt, Type pt) { boolean isLambdaOrMemberRef = dt.tree.hasTag(REFERENCE) || dt.tree.hasTag(LAMBDA); boolean needsRecoveryType = - pt == null || (isLambdaOrMemberRef && !types.isFunctionalInterface(pt)); + pt == null || + ((dt instanceof ArgumentAttr.ArgumentType at) && + at.speculativeTypes.values().stream().allMatch(type -> type.hasTag(ERROR))) || + (isLambdaOrMemberRef && !types.isFunctionalInterface(pt)); Type ptRecovery = needsRecoveryType ? Type.recoveryType: pt; dt.check(attr.new RecoveryInfo(deferredAttrContext, ptRecovery) { @Override diff --git a/test/langtools/tools/javac/recovery/CrashDueToUnreportedError.java b/test/langtools/tools/javac/recovery/CrashDueToUnreportedError.java new file mode 100644 index 0000000000000..4520a01f7ec88 --- /dev/null +++ b/test/langtools/tools/javac/recovery/CrashDueToUnreportedError.java @@ -0,0 +1,29 @@ +/** + * @test /nodynamiccopyright/ + * @bug 8320948 + * @summary NPE due to unreported compiler error + * @compile/fail/ref=CrashDueToUnreportedError.out -XDrawDiagnostics CrashDueToUnreportedError.java + */ + +import java.util.List; + +public class CrashDueToUnreportedError { + class Builder { + private Builder(Person person, String unused) {} + public Builder withTypes(Entity entities) { + return new Builder(Person.make(Entity.combineAll(entities))); + } + } + + interface Person { + static Person make(List> eventSubtypes) { + return null; + } + } + + class Entity { + public static List> combineAll(Entity subtypes) { + return null; + } + } +} diff --git a/test/langtools/tools/javac/recovery/CrashDueToUnreportedError.out b/test/langtools/tools/javac/recovery/CrashDueToUnreportedError.out new file mode 100644 index 0000000000000..83655eb07baae --- /dev/null +++ b/test/langtools/tools/javac/recovery/CrashDueToUnreportedError.out @@ -0,0 +1,2 @@ +CrashDueToUnreportedError.java:14:43: compiler.err.prob.found.req: (compiler.misc.infer.no.conforming.assignment.exists: E,compiler.misc.type.captureof: 1, ? extends CrashDueToUnreportedError.Entity,Root, (compiler.misc.inconvertible.types: java.util.List>, java.util.List>)) +1 error From dc9c77bebe28570096345d3d22fd3ed10280acad Mon Sep 17 00:00:00 2001 From: Anthony Scarpino Date: Wed, 6 Dec 2023 18:09:10 +0000 Subject: [PATCH 115/143] 8318756: Create better internal buffer for AEADs Reviewed-by: djelinski --- .../crypto/provider/AEADBufferedStream.java | 108 +++++ .../sun/crypto/provider/ChaCha20Cipher.java | 291 ++++++++++++- .../crypto/provider/GaloisCounterMode.java | 92 ++--- ...GCMBufferTest.java => AEADBufferTest.java} | 381 ++++++++++-------- .../bench/javax/crypto/full/AESGCMBench.java | 96 +---- .../javax/crypto/full/AESGCMByteBuffer.java | 124 +----- .../bench/javax/crypto/full/BenchBase.java | 131 ++++++ .../javax/crypto/full/ByteBufferBase.java | 160 ++++++++ .../javax/crypto/full/CC20P1305Bench.java | 49 +++ .../crypto/full/CC20P1305ByteBuffer.java | 50 +++ .../bench/javax/crypto/small/AESGCMBench.java | 20 +- .../javax/crypto/small/AESGCMByteBuffer.java | 20 +- .../javax/crypto/small/CC20P1305Bench.java | 48 +++ .../crypto/small/CC20P1305ByteBuffer.java | 48 +++ 14 files changed, 1173 insertions(+), 445 deletions(-) create mode 100644 src/java.base/share/classes/com/sun/crypto/provider/AEADBufferedStream.java rename test/jdk/com/sun/crypto/provider/Cipher/AEAD/{GCMBufferTest.java => AEADBufferTest.java} (69%) create mode 100644 test/micro/org/openjdk/bench/javax/crypto/full/BenchBase.java create mode 100644 test/micro/org/openjdk/bench/javax/crypto/full/ByteBufferBase.java create mode 100644 test/micro/org/openjdk/bench/javax/crypto/full/CC20P1305Bench.java create mode 100644 test/micro/org/openjdk/bench/javax/crypto/full/CC20P1305ByteBuffer.java create mode 100644 test/micro/org/openjdk/bench/javax/crypto/small/CC20P1305Bench.java create mode 100644 test/micro/org/openjdk/bench/javax/crypto/small/CC20P1305ByteBuffer.java diff --git a/src/java.base/share/classes/com/sun/crypto/provider/AEADBufferedStream.java b/src/java.base/share/classes/com/sun/crypto/provider/AEADBufferedStream.java new file mode 100644 index 0000000000000..340458ca77e7f --- /dev/null +++ b/src/java.base/share/classes/com/sun/crypto/provider/AEADBufferedStream.java @@ -0,0 +1,108 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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.crypto.provider; + +import jdk.internal.util.ArraysSupport; + +import java.io.ByteArrayOutputStream; +import java.nio.ByteBuffer; +import java.util.Arrays; +import java.util.HexFormat; + +/** + * This class extends ByteArrayOutputStream by optimizing internal buffering. + * It skips bounds checking, as the buffers are known and input previously + * checked. toByteArray() returns the internal buffer to avoid an extra copy. + * + * This uses `count` to determine the state of `buf`. `buf` can still + * point to an array while `count` equals zero. + */ +final class AEADBufferedStream extends ByteArrayOutputStream { + + /** + * Create an instance with the specified buffer + */ + + public AEADBufferedStream(int len) { + super(len); + } + + /** + * This method saves memory by returning the internal buffer. The calling + * method must use {@code size()} for the relevant data length as the + * returning byte[] maybe larger. + * + * @return internal buffer. + */ + public byte[] getBuffer() { + return buf; + } + + /** + * This method with expand the buffer if {@code count} + {@code len} + * is larger than the buffer byte[] length. + * @param len length to add to the current buffer + */ + private void checkCapacity(int len) { + int blen = buf.length; + // Create a new larger buffer and append the new data + if (blen < count + len) { + buf = Arrays.copyOf(buf, ArraysSupport.newLength(blen, len, blen)); + } + } + + /** + * Takes a ByteBuffer writing non-blocksize data directly to the internal + * buffer. + * @param src remaining non-blocksize ByteBuffer + */ + public void write(ByteBuffer src) { + int pos = src.position(); + int len = src.remaining(); + + if (src.hasArray()) { + write(src.array(), pos + src.arrayOffset(), len); + src.position(pos + len); + return; + } + + checkCapacity(len); + src.get(buf, count, len); + count += len; + } + + @Override + public void write(byte[] in, int offset, int len) { + checkCapacity(len); + System.arraycopy(in, offset, buf, count, len); + count += len; + } + + @Override + public String toString() { + return (count == 0 ? "null" : HexFormat.of().formatHex(buf)); + } +} diff --git a/src/java.base/share/classes/com/sun/crypto/provider/ChaCha20Cipher.java b/src/java.base/share/classes/com/sun/crypto/provider/ChaCha20Cipher.java index 857cf52d3b614..ed2fda5bf0086 100644 --- a/src/java.base/share/classes/com/sun/crypto/provider/ChaCha20Cipher.java +++ b/src/java.base/share/classes/com/sun/crypto/provider/ChaCha20Cipher.java @@ -25,7 +25,6 @@ package com.sun.crypto.provider; -import java.io.ByteArrayOutputStream; import java.io.IOException; import java.lang.invoke.MethodHandles; import java.lang.invoke.VarHandle; @@ -64,7 +63,6 @@ abstract class ChaCha20Cipher extends CipherSpi { private static final int KS_MAX_LEN = 1024; private static final int KS_BLK_SIZE = 64; private static final int KS_SIZE_INTS = KS_BLK_SIZE / Integer.BYTES; - private static final int CIPHERBUF_BASE = 1024; // The initialization state of the cipher private boolean initialized; @@ -650,7 +648,7 @@ protected byte[] engineUpdate(byte[] in, int inOfs, int inLen) { try { engine.doUpdate(in, inOfs, inLen, out, 0); } catch (ShortBufferException | KeyException exc) { - throw new RuntimeException(exc); + throw new ProviderException(exc); } return out; @@ -681,11 +679,35 @@ protected int engineUpdate(byte[] in, int inOfs, int inLen, try { bytesUpdated = engine.doUpdate(in, inOfs, inLen, out, outOfs); } catch (KeyException ke) { - throw new RuntimeException(ke); + throw new ProviderException(ke); } return bytesUpdated; } + /** + * Update the currently running operation with additional data + * + * @param input the plaintext or ciphertext ByteBuffer + * @param output ByteBuffer that will hold the resulting data. This + * must be large enough to hold the resulting data. + * + * @return the length in bytes of the data written into the {@code out} + * buffer. + * + * @throws ShortBufferException if the buffer {@code out} does not have + * enough space to hold the resulting data. + */ + @Override + protected int engineUpdate(ByteBuffer input, ByteBuffer output) + throws ShortBufferException { + try { + return bufferCrypt(input, output, true); + } catch (AEADBadTagException e) { + // exception is never thrown by update ops + throw new AssertionError(e); + } + } + /** * Complete the currently running operation using any final * data provided by the caller. @@ -753,6 +775,118 @@ protected int engineDoFinal(byte[] in, int inOfs, int inLen, byte[] out, return bytesUpdated; } + /** + * Complete the currently running operation using any final + * data provided by the caller. + * + * @param input the plaintext or ciphertext input bytebuffer. + * @param output ByteBuffer that will hold the resulting data. This + * must be large enough to hold the resulting data. + * + * @return the resulting plaintext or ciphertext bytes. + * + * @throws AEADBadTagException if, during decryption, the provided tag + * does not match the calculated tag. + */ + @Override + protected int engineDoFinal(ByteBuffer input, ByteBuffer output) + throws ShortBufferException, AEADBadTagException { + return bufferCrypt(input, output, false); + } + + /* + * Optimized version of bufferCrypt from CipherSpi.java. Direct + * ByteBuffers send to the engine code. + */ + private int bufferCrypt(ByteBuffer input, ByteBuffer output, + boolean isUpdate) throws ShortBufferException, AEADBadTagException { + if ((input == null) || (output == null)) { + throw new NullPointerException + ("Input and output buffers must not be null"); + } + int inPos = input.position(); + int inLimit = input.limit(); + int inLen = inLimit - inPos; + if (isUpdate && (inLen == 0)) { + return 0; + } + int outLenNeeded = engine.getOutputSize(inLen, !isUpdate); + + if (output.remaining() < outLenNeeded) { + throw new ShortBufferException("Need at least " + outLenNeeded + + " bytes of space in output buffer"); + } + + int total = 0; + + // Check if input bytebuffer is heap-backed + if (input.hasArray()) { + byte[] inArray = input.array(); + int inOfs = input.arrayOffset() + inPos; + + byte[] outArray; + // Check if output bytebuffer is heap-backed + if (output.hasArray()) { + outArray = output.array(); + int outPos = output.position(); + int outOfs = output.arrayOffset() + outPos; + + // check array address and offsets and use temp output buffer + // if output offset is larger than input offset and + // falls within the range of input data + boolean useTempOut = false; + if (inArray == outArray && + ((inOfs < outOfs) && (outOfs < inOfs + inLen))) { + useTempOut = true; + outArray = new byte[outLenNeeded]; + outOfs = 0; + } + try { + if (isUpdate) { + total = engine.doUpdate(inArray, inOfs, inLen, outArray, + outOfs); + } else { + total = engine.doFinal(inArray, inOfs, inLen, outArray, + outOfs); + } + } catch (KeyException e) { + throw new ProviderException(e); + } + if (useTempOut) { + output.put(outArray, outOfs, total); + } else { + // adjust output position manually + output.position(outPos + total); + } + } else { // if output is direct + if (isUpdate) { + outArray = engineUpdate(inArray, inOfs, inLen); + } else { + outArray = engineDoFinal(inArray, inOfs, inLen); + } + if (outArray != null && outArray.length != 0) { + output.put(outArray); + total = outArray.length; + } + } + // adjust input position manually + input.position(inLimit); + } else { // Bytebuffers are both direct + try { + if (isUpdate) { + return engine.doUpdate(input, output); + } + return engine.doFinal(input, output); + } catch (KeyException e) { + throw new ProviderException(e); + } + } + + return total; + } + + + /** * Wrap a {@code Key} using this Cipher's current encryption parameters. * @@ -1243,6 +1377,11 @@ int doUpdate(byte[] in, int inOff, int inLen, byte[] out, int outOff) */ int doFinal(byte[] in, int inOff, int inLen, byte[] out, int outOff) throws ShortBufferException, AEADBadTagException, KeyException; + + int doUpdate(ByteBuffer input, ByteBuffer output) throws + ShortBufferException, KeyException; + int doFinal(ByteBuffer input, ByteBuffer output) throws + ShortBufferException, KeyException, AEADBadTagException; } private final class EngineStreamOnly implements ChaChaEngine { @@ -1285,6 +1424,22 @@ public int doFinal(byte[] in, int inOff, int inLen, byte[] out, int outOff) throws ShortBufferException, KeyException { return doUpdate(in, inOff, inLen, out, outOff); } + + @Override + public int doUpdate(ByteBuffer input, ByteBuffer output) throws + ShortBufferException, KeyException { + byte[] data = new byte[input.remaining()]; + input.get(data); + doUpdate(data, 0, data.length, data, 0); + output.put(data); + return data.length; + } + + @Override + public int doFinal(ByteBuffer input, ByteBuffer output) + throws ShortBufferException, KeyException { + return doUpdate(input, output); + } } private final class EngineAEADEnc implements ChaChaEngine { @@ -1348,11 +1503,32 @@ public int doFinal(byte[] in, int inOff, int inLen, byte[] out, aadDone = false; return inLen + TAG_LENGTH; } + + @Override + public int doUpdate(ByteBuffer input, ByteBuffer output) throws + ShortBufferException, KeyException { + byte[] data = new byte[input.remaining()]; + input.get(data); + doUpdate(data, 0, data.length, data, 0); + output.put(data); + return data.length; + } + + @Override + public int doFinal(ByteBuffer input, ByteBuffer output) throws + ShortBufferException, KeyException { + int len = input.remaining(); + byte[] data = new byte[len + TAG_LENGTH]; + input.get(data, 0, len); + doFinal(data, 0, len, data, 0); + output.put(data); + return data.length; + } } private final class EngineAEADDec implements ChaChaEngine { - private final ByteArrayOutputStream cipherBuf; + private AEADBufferedStream cipherBuf = null; private final byte[] tag; @Override @@ -1364,20 +1540,32 @@ public int getOutputSize(int inLen, boolean isFinal) { // size. return (isFinal ? Integer.max(Math.addExact((inLen - TAG_LENGTH), - cipherBuf.size()), 0) : 0); + getBufferedLength()), 0) : 0); + } + + private void initBuffer(int len) { + if (cipherBuf == null) { + cipherBuf = new AEADBufferedStream(len); + } + } + + private int getBufferedLength() { + if (cipherBuf != null) { + return cipherBuf.size(); + } + return 0; } private EngineAEADDec() throws InvalidKeyException { initAuthenticator(); initCounterValue = 1; counter = initCounterValue; - cipherBuf = new ByteArrayOutputStream(CIPHERBUF_BASE); tag = new byte[TAG_LENGTH]; } @Override public int doUpdate(byte[] in, int inOff, int inLen, byte[] out, - int outOff) { + int outOff) { if (initialized) { // If this is the first update since AAD updates, signal that // we're done processing AAD info and pad the AAD to a multiple @@ -1389,6 +1577,7 @@ public int doUpdate(byte[] in, int inOff, int inLen, byte[] out, if (in != null) { Objects.checkFromIndexSize(inOff, inLen, in.length); + initBuffer(inLen); cipherBuf.write(in, inOff, inLen); } } else { @@ -1399,6 +1588,14 @@ public int doUpdate(byte[] in, int inOff, int inLen, byte[] out, return 0; } + + @Override + public int doUpdate(ByteBuffer input, ByteBuffer output) { + initBuffer(input.remaining()); + cipherBuf.write(input); + return 0; + } + @Override public int doFinal(byte[] in, int inOff, int inLen, byte[] out, int outOff) throws ShortBufferException, AEADBadTagException, @@ -1406,7 +1603,7 @@ public int doFinal(byte[] in, int inOff, int inLen, byte[] out, byte[] ctPlusTag; int ctPlusTagLen; - if (cipherBuf.size() == 0 && inOff == 0) { + if (getBufferedLength() == 0) { // No previous data has been seen before doFinal, so we do // not need to hold any ciphertext in a buffer. We can // process it directly from the "in" parameter. @@ -1415,10 +1612,11 @@ public int doFinal(byte[] in, int inOff, int inLen, byte[] out, ctPlusTagLen = inLen; } else { doUpdate(in, inOff, inLen, out, outOff); - ctPlusTag = cipherBuf.toByteArray(); - ctPlusTagLen = ctPlusTag.length; + ctPlusTag = cipherBuf.getBuffer(); + inOff = 0; + ctPlusTagLen = cipherBuf.size(); + cipherBuf.reset(); } - cipherBuf.reset(); // There must at least be a tag length's worth of ciphertext // data in the buffered input. @@ -1436,19 +1634,80 @@ public int doFinal(byte[] in, int inOff, int inLen, byte[] out, // Calculate and compare the tag. Only do the decryption // if and only if the tag matches. - authFinalizeData(ctPlusTag, 0, ctLen, tag, 0); - long tagCompare = ((long)asLongView.get(ctPlusTag, ctLen) ^ + authFinalizeData(ctPlusTag, inOff, ctLen, tag, 0); + long tagCompare = ((long)asLongView.get(ctPlusTag, ctLen + inOff) ^ (long)asLongView.get(tag, 0)) | - ((long)asLongView.get(ctPlusTag, ctLen + Long.BYTES) ^ + ((long)asLongView.get(ctPlusTag, ctLen + inOff + Long.BYTES) ^ (long)asLongView.get(tag, Long.BYTES)); if (tagCompare != 0) { throw new AEADBadTagException("Tag mismatch"); } - chaCha20Transform(ctPlusTag, 0, ctLen, out, outOff); + chaCha20Transform(ctPlusTag, inOff, ctLen, out, outOff); aadDone = false; return ctLen; } + + @Override + public int doFinal(ByteBuffer input, ByteBuffer output) + throws ShortBufferException, AEADBadTagException, KeyException { + int len; + int inLen = input.remaining(); + byte[] ct = null, buf = null; + //buf = (getBufferedLength() == 0 ? null : cipherBuf.toByteArray()); + int bufLen = 0; + // The length of cipher text and tag + int ctLen = getBufferedLength() + inLen; + + if (ctLen < TAG_LENGTH) { + throw new AEADBadTagException("Input too short - need tag"); + } + + if (inLen < TAG_LENGTH) { + if (inLen > 0) { + doUpdate(input, output); + } + if (cipherBuf != null) { + ct = cipherBuf.getBuffer(); + } + len = ctLen; + } else { + if (cipherBuf != null) { + buf = cipherBuf.getBuffer(); + bufLen = cipherBuf.size(); + } + ct = new byte[inLen]; + input.get(ct, 0, inLen); + len = inLen; + } + doUpdate(null, 0, 0, null, 0); + + // If there is an internal buffer, calculate its tag contribution. + if (buf != null) { + dataLen = authUpdate(buf, 0, bufLen); + } + // Complete tag calculation + len -= TAG_LENGTH; + authFinalizeData(ct, 0, len, tag, 0); + // Check tag + if ((((long) asLongView.get(ct, len) ^ + (long) asLongView.get(tag, 0)) | + ((long) asLongView.get(ct, len + Long.BYTES) ^ + (long) asLongView.get(tag, Long.BYTES))) != 0) { + throw new AEADBadTagException("Tag mismatch"); + } + + // decrypt internal buffer in-place, then put it into the bytebuffer + if (buf != null) { + chaCha20Transform(buf, 0, bufLen, buf, 0); + output.put(buf, 0, bufLen); + } + // decrypt input buffer in-place, append it to the bytebuffer + chaCha20Transform(ct, 0, len, ct, 0); + output.put(ct, 0, len); + aadDone = false; + return ctLen - TAG_LENGTH; + } } public static final class ChaCha20Only extends ChaCha20Cipher { diff --git a/src/java.base/share/classes/com/sun/crypto/provider/GaloisCounterMode.java b/src/java.base/share/classes/com/sun/crypto/provider/GaloisCounterMode.java index bca020b74ed23..8cfd7d13f12b2 100644 --- a/src/java.base/share/classes/com/sun/crypto/provider/GaloisCounterMode.java +++ b/src/java.base/share/classes/com/sun/crypto/provider/GaloisCounterMode.java @@ -40,8 +40,6 @@ import javax.crypto.NoSuchPaddingException; import javax.crypto.ShortBufferException; import javax.crypto.spec.GCMParameterSpec; -import java.io.ByteArrayOutputStream; -import java.io.IOException; import java.lang.invoke.MethodHandles; import java.lang.invoke.VarHandle; import java.nio.ByteBuffer; @@ -249,7 +247,7 @@ private static byte[] createIv(SecureRandom rand) { protected AlgorithmParameters engineGetParameters() { GCMParameterSpec spec; spec = new GCMParameterSpec(tagLenBytes * 8, - iv == null ? createIv(random) : iv.clone()); + iv == null ? createIv(random) : iv); // iv.clone() not necessary try { AlgorithmParameters params = AlgorithmParameters.getInstance("GCM", @@ -680,12 +678,12 @@ abstract class GCMEngine { final int blockSize; // buffer for AAD data; if null, meaning update has been called - ByteArrayOutputStream aadBuffer = null; + AEADBufferedStream aadBuffer = null; int sizeOfAAD = 0; boolean aadProcessed = false; // buffer data for crypto operation - ByteArrayOutputStream ibuffer = null; + AEADBufferedStream ibuffer = null; // Original dst buffer if there was an overlap situation ByteBuffer originalDst = null; @@ -736,7 +734,7 @@ abstract int doFinal(ByteBuffer src, ByteBuffer dst) // Initialize internal data buffer, if not already. void initBuffer(int len) { if (ibuffer == null) { - ibuffer = new ByteArrayOutputStream(len); + ibuffer = new AEADBufferedStream(len); } } @@ -788,20 +786,6 @@ int implGCMCrypt(ByteBuffer src, ByteBuffer dst) { } } - /** - * The method takes two buffers to create one block of data. The - * difference with the other mergeBlock is this will calculate - * the bufLen from the existing 'buffer' length & offset - * - * This is only called when buffer length is less than a blockSize - * @return number of bytes used from 'in' - */ - int mergeBlock(byte[] buffer, int bufOfs, byte[] in, int inOfs, - int inLen, byte[] block) { - return mergeBlock(buffer, bufOfs, buffer.length - bufOfs, in, - inOfs, inLen, block); - } - /** * The method takes two buffers to create one block of data * @@ -822,7 +806,7 @@ int mergeBlock(byte[] buffer, int bufOfs, int bufLen, byte[] in, } /** - * Continues a multi-part update of the Additional Authentication + * Continues a multipart update of the Additional Authentication * Data (AAD), using a subset of the provided buffer. All AAD must be * supplied before beginning operations on the ciphertext (via the * {@code update} and {@code doFinal} methods). @@ -843,7 +827,7 @@ void updateAAD(byte[] src, int offset, int len) { if (aadBuffer == null) { if (sizeOfAAD == 0 && !aadProcessed) { - aadBuffer = new ByteArrayOutputStream(len); + aadBuffer = new AEADBufferedStream(len); } else { // update has already been called throw new IllegalStateException @@ -856,18 +840,17 @@ void updateAAD(byte[] src, int offset, int len) { // Feed the AAD data to GHASH, pad if necessary void processAAD() { if (aadBuffer != null) { - if (aadBuffer.size() > 0) { - byte[] aad = aadBuffer.toByteArray(); - sizeOfAAD = aad.length; - - int lastLen = aad.length % blockSize; + sizeOfAAD = aadBuffer.size(); + if (sizeOfAAD > 0) { + byte[] aad = aadBuffer.getBuffer(); + int lastLen = sizeOfAAD % blockSize; if (lastLen != 0) { - ghash.update(aad, 0, aad.length - lastLen); + ghash.update(aad, 0, sizeOfAAD - lastLen); byte[] padded = expandToOneBlock(aad, - aad.length - lastLen, lastLen, blockSize); + sizeOfAAD - lastLen, lastLen, blockSize); ghash.update(padded); } else { - ghash.update(aad); + ghash.update(aad, 0, sizeOfAAD); } } aadBuffer = null; @@ -1147,7 +1130,7 @@ public int doUpdate(byte[] in, int inOfs, int inLen, byte[] out, // if there is enough data in the ibuffer and 'in', encrypt it. if (bLen > 0) { - byte[] buffer = ibuffer.toByteArray(); + byte[] buffer = ibuffer.getBuffer(); // number of bytes not filling a block int remainder = blockSize - bLen; @@ -1167,7 +1150,7 @@ public int doUpdate(byte[] in, int inOfs, int inLen, byte[] out, } } - // Encrypt the remaining blocks inside of 'in' + // Encrypt the remaining blocks inside 'in' if (inLen >= PARALLEL_LEN) { int r = GaloisCounterMode.implGCMCrypt(in, inOfs, inLen, out, outOfs, out, outOfs, gctr, ghash); @@ -1223,7 +1206,8 @@ public int doUpdate(ByteBuffer src, ByteBuffer dst) // Check if there is enough 'src' and 'buffer' to fill a block if (src.remaining() >= remainder) { byte[] block = new byte[blockSize]; - ByteBuffer buffer = ByteBuffer.wrap(ibuffer.toByteArray()); + ByteBuffer buffer = ByteBuffer.wrap(ibuffer.getBuffer(), + 0, ibuffer.size()); buffer.get(block, 0, bLen); src.get(block, bLen, remainder); len += op.update(ByteBuffer.wrap(block, 0, blockSize), @@ -1251,14 +1235,8 @@ public int doUpdate(ByteBuffer src, ByteBuffer dst) // Write the remaining bytes into the 'ibuffer' if (srcLen > 0) { initBuffer(srcLen); - byte[] b = new byte[srcLen]; - src.get(b); // remainder offset is based on original buffer length - try { - ibuffer.write(b); - } catch (IOException e) { - throw new RuntimeException(e); - } + ibuffer.write(src); } restoreDst(dst); @@ -1290,13 +1268,13 @@ public int doFinal(byte[] in, int inOfs, int inLen, byte[] out, // process what is in the ibuffer if (bLen > 0) { - byte[] buffer = ibuffer.toByteArray(); + byte[] buffer = ibuffer.getBuffer(); // Make a block if the remaining ibuffer and 'in' can make one. if (bLen + inLen >= blockSize) { int r; block = new byte[blockSize]; - r = mergeBlock(buffer, 0, in, inOfs, inLen, block); + r = mergeBlock(buffer, 0, ibuffer.size(), in, inOfs, inLen, block); inOfs += r; inLen -= r; op.update(block, 0, blockSize, out, outOfs); @@ -1353,7 +1331,8 @@ public int doFinal(ByteBuffer src, ByteBuffer dst) throws if (len > 0) { processed += doLastBlock(op, (ibuffer == null || ibuffer.size() == 0) ? null : - ByteBuffer.wrap(ibuffer.toByteArray()), src, dst); + ByteBuffer.wrap(ibuffer.getBuffer(), 0, + ibuffer.size()), src, dst); } // release buffer if needed @@ -1427,9 +1406,10 @@ void findTag(byte[] in, int inOfs, int inLen) { tagLenBytes); } else { // tagOfs will be negative - byte[] buffer = ibuffer.toByteArray(); - tagOfs = mergeBlock(buffer, - buffer.length - (tagLenBytes - inLen), in, inOfs, inLen, + byte[] buffer = ibuffer.getBuffer(); + int ofs = ibuffer.size() - (tagLenBytes - inLen); + tagOfs = mergeBlock(buffer, ofs, ibuffer.size() - ofs, + in, inOfs, inLen, tag) - tagLenBytes; } } @@ -1475,15 +1455,8 @@ public int doUpdate(ByteBuffer src, ByteBuffer dst) src.remaining(), null, 0); src.position(src.limit()); } else { - byte[] b = new byte[src.remaining()]; - src.get(b); - initBuffer(b.length); - try { - ibuffer.write(b); - } catch (IOException e) { - throw new ProviderException( - "Unable to add remaining input to the buffer", e); - } + initBuffer(src.remaining()); + ibuffer.write(src); } } return 0; @@ -1491,7 +1464,7 @@ public int doUpdate(ByteBuffer src, ByteBuffer dst) /** * Use available data from ibuffer and 'in' to verify and decrypt the - * data. If the verification fails, the 'out' left to it's original + * data. If the verification fails, the 'out' left to its original * values if crypto was in-place; otherwise 'out' is zeroed */ @Override @@ -1551,7 +1524,7 @@ public int doFinal(byte[] in, int inOfs, int inLen, byte[] out, /** * Use available data from ibuffer and 'src' to verify and decrypt the - * data. If the verification fails, the 'dst' left to it's original + * data. If the verification fails, the 'dst' left to its original * values if crypto was in-place; otherwise 'dst' is zeroed */ @Override @@ -1568,7 +1541,8 @@ public int doFinal(ByteBuffer src, ByteBuffer dst) // Check if ibuffer has data if (getBufferedLength() != 0) { - buffer = ByteBuffer.wrap(ibuffer.toByteArray()); + buffer = ByteBuffer.wrap(ibuffer.getBuffer(), 0, + ibuffer.size()); len += buffer.remaining(); } @@ -1684,7 +1658,7 @@ int decryptBlocks(GCMOperation op, byte[] in, int inOfs, int inLen, } if (bLen > 0) { - buffer = ibuffer.toByteArray(); + buffer = ibuffer.getBuffer(); if (bLen >= PARALLEL_LEN) { len = GaloisCounterMode.implGCMCrypt(buffer, 0, bLen, diff --git a/test/jdk/com/sun/crypto/provider/Cipher/AEAD/GCMBufferTest.java b/test/jdk/com/sun/crypto/provider/Cipher/AEAD/AEADBufferTest.java similarity index 69% rename from test/jdk/com/sun/crypto/provider/Cipher/AEAD/GCMBufferTest.java rename to test/jdk/com/sun/crypto/provider/Cipher/AEAD/AEADBufferTest.java index dd414ad06daba..4bf5a6263a90b 100644 --- a/test/jdk/com/sun/crypto/provider/Cipher/AEAD/GCMBufferTest.java +++ b/test/jdk/com/sun/crypto/provider/Cipher/AEAD/AEADBufferTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -34,16 +34,18 @@ import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.spec.GCMParameterSpec; +import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import java.io.ByteArrayOutputStream; import java.nio.ByteBuffer; import java.security.SecureRandom; +import java.security.spec.AlgorithmParameterSpec; import java.util.Arrays; import java.util.HashMap; import java.util.HexFormat; import java.util.List; -public class GCMBufferTest implements Cloneable { +public class AEADBufferTest implements Cloneable { // Data type for the operation enum dtype { BYTE, HEAP, DIRECT }; @@ -52,7 +54,7 @@ enum dtype { BYTE, HEAP, DIRECT }; // List of enum values for order of operation List ops; - static final int AESBLOCK = 16; + static final String AES = "AES"; // The remaining input data length is inserted at the particular index // in sizes[] during execution. static final int REMAINDER = -1; @@ -71,42 +73,59 @@ static class Data { int id; SecretKey key; byte[] iv; + int counter; // for CC20 byte[] pt; byte[] aad; byte[] ct; byte[] tag; + int blockSize; // 16 for GCM, 0 for CC20 Data(String keyalgo, int id, String key, String iv, byte[] pt, String aad, + String ct, String tag) { + this(keyalgo, id, key, iv, 0,pt, aad, ct,tag); + } + + Data(String keyalgo, int id, String key, String iv, String pt, String aad, + String ct, String tag) { + this(keyalgo, id, key, iv, HexToBytes(pt), aad, ct, tag); + } + + Data(String keyalgo, int id, String key, String iv, int counter, byte[] pt, String aad, String ct, String tag) { this.id = id; this.key = new SecretKeySpec(HexToBytes(key), keyalgo); this.iv = HexToBytes(iv); + this.counter = counter; this.pt = pt; this.aad = HexToBytes(aad); this.ct = HexToBytes(ct); this.tag = HexToBytes(tag); + this.blockSize = (keyalgo.equals(AES) ? 16 : 0); } - Data(String keyalgo, int id, String key, String iv, String pt, String aad, + Data(String keyalgo, int id, String key, String iv, int counter, String pt, String aad, String ct, String tag) { - this(keyalgo, id, key, iv, HexToBytes(pt), aad, ct, tag); + this(keyalgo, id, key, iv, counter, HexToBytes(pt), aad, ct, tag); } - Data(String keyalgo, int id, String key, int ptlen) { + Data(String keyalgo, int id, String key, int ivLen, int ptlen) { this.id = id; this.key = new SecretKeySpec(HexToBytes(key), keyalgo); - iv = new byte[16]; + iv = new byte[ivLen]; + counter = 0; pt = new byte[ptlen]; - tag = new byte[12]; + tag = new byte[16]; aad = new byte[0]; + boolean isGCM = keyalgo.equals(AES); + this.blockSize = (isGCM ? 16 : 0); byte[] tct = null; try { SecureRandom r = new SecureRandom(); r.nextBytes(iv); r.nextBytes(pt); - Cipher c = Cipher.getInstance("AES/GCM/NoPadding"); + Cipher c = Cipher.getInstance(isGCM ? "AES/GCM/NoPadding": "ChaCha20-Poly1305"); c.init(Cipher.ENCRYPT_MODE, this.key, - new GCMParameterSpec(tag.length * 8, this.iv)); + getAPS(keyalgo, tag.length, iv)); tct = c.doFinal(pt); } catch (Exception e) { throw new RuntimeException("Error in generating data for length " + @@ -117,7 +136,7 @@ static class Data { System.arraycopy(tct, ct.length, tag, 0, tag.length); } - private static final byte[] HexToBytes(String hexVal) { + private static byte[] HexToBytes(String hexVal) { if (hexVal == null) { return new byte[0]; } @@ -133,15 +152,15 @@ private static final byte[] HexToBytes(String hexVal) { * doFinal operation will occur. If multiple dtypes are * specified, the last is a doFinal, the others are updates. */ - GCMBufferTest(String algo, List ops) { + AEADBufferTest(String algo, List ops) { this.algo = algo; this.ops = ops; theoreticalCheck = true; dataSet = datamap.get(algo); } - public GCMBufferTest clone() throws CloneNotSupportedException{ - return (GCMBufferTest)super.clone(); + public AEADBufferTest clone() throws CloneNotSupportedException{ + return (AEADBufferTest)super.clone(); } /** @@ -150,7 +169,7 @@ public GCMBufferTest clone() throws CloneNotSupportedException{ * that index during execution. * @param sizes Data sizes for each dtype in the list. */ - GCMBufferTest dataSegments(int[] sizes) { + AEADBufferTest dataSegments(int[] sizes) { this.sizes = sizes; return this; } @@ -158,7 +177,7 @@ GCMBufferTest dataSegments(int[] sizes) { /** * Do not perform in-place operations */ - GCMBufferTest differentBufferOnly() { + AEADBufferTest differentBufferOnly() { this.same = false; return this; } @@ -167,7 +186,7 @@ GCMBufferTest differentBufferOnly() { * Enable incrementing through each data size available. This can only be * used when the List has more than one dtype entry. */ - GCMBufferTest incrementalSegments() { + AEADBufferTest incrementalSegments() { this.incremental = true; return this; } @@ -177,7 +196,7 @@ GCMBufferTest incrementalSegments() { * * @param id id value for the test data to used in this test. */ - GCMBufferTest dataSet(int id) throws Exception { + AEADBufferTest dataSet(int id) throws Exception { for (Data d : datamap.get(algo)) { if (d.id == id) { dataSet = List.of(d); @@ -192,7 +211,7 @@ GCMBufferTest dataSet(int id) throws Exception { * @param offset value for inOfs and outOfs * @return */ - GCMBufferTest offset(int offset) { + AEADBufferTest offset(int offset) { this.inOfs = offset; this.outOfs = offset; return this; @@ -201,9 +220,8 @@ GCMBufferTest offset(int offset) { /** * Set the input offset * @param offset value for input offset - * @return */ - GCMBufferTest inOfs(int offset) { + AEADBufferTest inOfs(int offset) { this.inOfs = offset; return this; } @@ -211,9 +229,8 @@ GCMBufferTest inOfs(int offset) { /** * Set the output offset * @param offset value for output offset - * @return */ - GCMBufferTest outOfs(int offset) { + AEADBufferTest outOfs(int offset) { this.outOfs = offset; return this; } @@ -313,7 +330,7 @@ void encrypt(Data data) throws Exception { // Test with in-place buffers if (same) { System.err.println("\tinput len: " + input.length + " inOfs " + - inOfs + " outOfs " + outOfs + " in/out buffer: in-place"); + inOfs + " outOfs " + outOfs + " in/out buffer: in-place"); cryptoSameBuffer(true, data, input, output); } } @@ -335,31 +352,40 @@ void decrypt(Data data) throws Exception { // Test with in-place buffers if (same) { System.err.println("\tinput len: " + input.length + " inOfs " + - inOfs + " outOfs " + outOfs + " in-place: same"); + inOfs + " outOfs " + outOfs + " in-place: same"); cryptoSameBuffer(false, data, input, output); } } + static AlgorithmParameterSpec getAPS(String algo, int tLen, byte[] iv) { + return switch (algo) { + case "AES", "AES/GCM/NoPadding" -> + new GCMParameterSpec(tLen * 8, iv); + case "CC20", "ChaCha20-Poly1305" -> new IvParameterSpec(iv); + default -> null; + }; + } + /** * Perform cipher operation using different input and output buffers. * This method allows mixing of data types (byte, heap, direct). */ - void crypto(boolean encrypt, Data d, byte[] input, byte[] output) - throws Exception { + void crypto(boolean encrypt, Data d, byte[] input, byte[] output) + throws Exception { byte[] pt = new byte[input.length + inOfs]; System.arraycopy(input, 0, pt, inOfs, input.length); - byte[] expectedOut = new byte[output.length + outOfs]; - System.arraycopy(output, 0, expectedOut, outOfs, output.length); + byte[] expectedOut = new byte[output.length + outOfs]; + System.arraycopy(output, 0, expectedOut, outOfs, output.length); int plen = input.length / ops.size(); // partial input length int theoreticallen;// expected output length int dataoffset = 0; // offset of unconsumed data in pt int index = 0; // index of which op we are on int rlen; // result length - int pbuflen = 0; // plen remaining in the GCM internal buffers + int pbuflen = 0; // plen remaining in the internal buffers Cipher cipher = Cipher.getInstance(algo); cipher.init((encrypt ? Cipher.ENCRYPT_MODE : Cipher.DECRYPT_MODE), - d.key, new GCMParameterSpec(d.tag.length * 8, d.iv)); + d.key, getAPS(algo, d.tag.length, d.iv)); cipher.updateAAD(d.aad); ByteArrayOutputStream ba = new ByteArrayOutputStream(); @@ -382,10 +408,11 @@ void crypto(boolean encrypt, Data d, byte[] input, byte[] output) /* * The theoretical limit is the length of the data sent to - * update() + any data might be setting in CipherCore or GCM + * update() + any data might be setting in CipherCore or AEAD * internal buffers % the block size. */ - theoreticallen = (plen + pbuflen) - ((plen + pbuflen) % AESBLOCK); + theoreticallen = (plen + pbuflen) - (d.blockSize > 0 ? + (plen + pbuflen) % d.blockSize : 0); // Update operations switch (v) { @@ -525,7 +552,8 @@ void cryptoSameBuffer(boolean encrypt, Data d, byte[] input, byte[] output) thro byte[] expectedOut = new byte[output.length + outOfs]; System.arraycopy(output, 0, expectedOut, outOfs, output.length); int plen = input.length / ops.size(); // partial input length - int theorticallen = plen - (plen % AESBLOCK); // output length + int theorticallen = plen - + (d.blockSize > 0 ? plen % d.blockSize : 0); // output length int dataoffset = 0; int index = 0; int rlen = 0; // result length @@ -533,7 +561,7 @@ void cryptoSameBuffer(boolean encrypt, Data d, byte[] input, byte[] output) thro Cipher cipher = Cipher.getInstance(algo); cipher.init((encrypt ? Cipher.ENCRYPT_MODE : Cipher.DECRYPT_MODE), - d.key, new GCMParameterSpec(d.tag.length * 8, d.iv)); + d.key, getAPS(algo, d.tag.length, d.iv)); cipher.updateAAD(d.aad); // Prepare data @@ -567,8 +595,8 @@ void cryptoSameBuffer(boolean encrypt, Data d, byte[] input, byte[] output) thro data, len + outOfs); } case HEAP, DIRECT -> { - theorticallen = bbin.remaining() - - (bbin.remaining() % AESBLOCK); + theorticallen = bbin.remaining() - (d.blockSize > 0 ? + bbin.remaining() % d.blockSize : 0); rlen = cipher.update(bbin, bbout); } default -> throw new Exception("Unknown op: " + v.name()); @@ -620,7 +648,7 @@ void cryptoSameBuffer(boolean encrypt, Data d, byte[] input, byte[] output) thro } } } - static void offsetTests(GCMBufferTest t) throws Exception { + static void offsetTests(AEADBufferTest t) throws Exception { t.clone().offset(2).test(); t.clone().inOfs(2).test(); // Test not designed for overlap situations @@ -628,108 +656,205 @@ static void offsetTests(GCMBufferTest t) throws Exception { } public static void main(String args[]) throws Exception { - GCMBufferTest t; + AEADBufferTest t; initTest(); + // **** GCM Tests + // Test single byte array - new GCMBufferTest("AES/GCM/NoPadding", List.of(dtype.BYTE)).test(); - offsetTests(new GCMBufferTest("AES/GCM/NoPadding", List.of(dtype.BYTE))); + new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.BYTE)).test(); + offsetTests(new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.BYTE))); // Test update-doFinal with byte arrays - new GCMBufferTest("AES/GCM/NoPadding", List.of(dtype.BYTE, dtype.BYTE)).test(); - offsetTests(new GCMBufferTest("AES/GCM/NoPadding", List.of(dtype.BYTE, dtype.BYTE))); + new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.BYTE, dtype.BYTE)).test(); + offsetTests(new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.BYTE, dtype.BYTE))); // Test update-update-doFinal with byte arrays - new GCMBufferTest("AES/GCM/NoPadding", + new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.BYTE, dtype.BYTE, dtype.BYTE)).test(); - offsetTests(new GCMBufferTest("AES/GCM/NoPadding", List.of(dtype.BYTE, dtype.BYTE, dtype.BYTE))); + offsetTests(new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.BYTE, dtype.BYTE, dtype.BYTE))); // Test single heap bytebuffer - new GCMBufferTest("AES/GCM/NoPadding", List.of(dtype.HEAP)).test(); - offsetTests(new GCMBufferTest("AES/GCM/NoPadding", List.of(dtype.HEAP))); + new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.HEAP)).test(); + offsetTests(new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.HEAP))); // Test update-doFinal with heap bytebuffer - new GCMBufferTest("AES/GCM/NoPadding", + new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.HEAP, dtype.HEAP)).test(); - offsetTests(new GCMBufferTest("AES/GCM/NoPadding", List.of(dtype.HEAP, dtype.HEAP))); + offsetTests(new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.HEAP, dtype.HEAP))); // Test update-update-doFinal with heap bytebuffer - new GCMBufferTest("AES/GCM/NoPadding", + new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.HEAP, dtype.HEAP, dtype.HEAP)).test(); - offsetTests(new GCMBufferTest("AES/GCM/NoPadding", List.of(dtype.HEAP, dtype.HEAP, dtype.HEAP))); + offsetTests(new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.HEAP, dtype.HEAP, dtype.HEAP))); // Test single direct bytebuffer - new GCMBufferTest("AES/GCM/NoPadding", List.of(dtype.DIRECT)).test(); - offsetTests(new GCMBufferTest("AES/GCM/NoPadding", List.of(dtype.DIRECT))); + new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.DIRECT)).test(); + offsetTests(new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.DIRECT))); // Test update-doFinal with direct bytebuffer - new GCMBufferTest("AES/GCM/NoPadding", + new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.DIRECT, dtype.DIRECT)).test(); - offsetTests(new GCMBufferTest("AES/GCM/NoPadding", + offsetTests(new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.DIRECT, dtype.DIRECT))); // Test update-update-doFinal with direct bytebuffer - new GCMBufferTest("AES/GCM/NoPadding", + new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.DIRECT, dtype.DIRECT, dtype.DIRECT)).test(); - offsetTests(new GCMBufferTest("AES/GCM/NoPadding", + offsetTests(new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.DIRECT, dtype.DIRECT, dtype.DIRECT))); // Test update-update-doFinal with byte arrays and preset data sizes - t = new GCMBufferTest("AES/GCM/NoPadding", + t = new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.BYTE, dtype.BYTE, dtype.BYTE)).dataSegments( - new int[] { 1, 1, GCMBufferTest.REMAINDER}); + new int[] { 1, 1, AEADBufferTest.REMAINDER}); t.clone().test(); offsetTests(t.clone()); // Test update-doFinal with a byte array and a direct bytebuffer - t = new GCMBufferTest("AES/GCM/NoPadding", + t = new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.BYTE, dtype.DIRECT)).differentBufferOnly(); t.clone().test(); offsetTests(t.clone()); // Test update-doFinal with a byte array and heap and direct bytebuffer - t = new GCMBufferTest("AES/GCM/NoPadding", + t = new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.BYTE, dtype.HEAP, dtype.DIRECT)).differentBufferOnly(); t.clone().test(); offsetTests(t.clone()); // Test update-doFinal with a direct bytebuffer and a byte array. - t = new GCMBufferTest("AES/GCM/NoPadding", + t = new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.DIRECT, dtype.BYTE)).differentBufferOnly(); t.clone().test(); offsetTests(t.clone()); // Test update-doFinal with a direct bytebuffer and a byte array with // preset data sizes. - t = new GCMBufferTest("AES/GCM/NoPadding", + t = new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.DIRECT, dtype.BYTE)).differentBufferOnly(). - dataSegments(new int[] { 20, GCMBufferTest.REMAINDER }); + dataSegments(new int[] { 20, AEADBufferTest.REMAINDER }); t.clone().test(); offsetTests(t.clone()); // Test update-update-doFinal with a direct and heap bytebuffer and a // byte array with preset data sizes. - t = new GCMBufferTest("AES/GCM/NoPadding", + t = new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.DIRECT, dtype.BYTE, dtype.HEAP)). differentBufferOnly().dataSet(5). - dataSegments(new int[] { 5000, 1000, GCMBufferTest.REMAINDER }); + dataSegments(new int[] { 5000, 1000, AEADBufferTest.REMAINDER }); t.clone().test(); offsetTests(t.clone()); // Test update-update-doFinal with byte arrays, incrementing through // every data size combination for the Data set 0 - new GCMBufferTest("AES/GCM/NoPadding", + new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.BYTE, dtype.BYTE, dtype.BYTE)).incrementalSegments(). dataSet(0).test(); // Test update-update-doFinal with direct bytebuffers, incrementing through // every data size combination for the Data set 0 - new GCMBufferTest("AES/GCM/NoPadding", + new AEADBufferTest("AES/GCM/NoPadding", List.of(dtype.DIRECT, dtype.DIRECT, dtype.DIRECT)). incrementalSegments().dataSet(0).test(); - new GCMBufferTest("AES/GCM/NoPadding", + new AEADBufferTest("AES/GCM/NoPadding", + List.of(dtype.DIRECT, dtype.DIRECT, dtype.DIRECT)). + dataSegments(new int[] { 49, 0, 2 }).dataSet(0).test(); + + // **** CC20P1305 Tests + + // Test single byte array + new AEADBufferTest("ChaCha20-Poly1305", List.of(dtype.BYTE)).test(); + offsetTests(new AEADBufferTest("ChaCha20-Poly1305", List.of(dtype.BYTE))); + // Test update-doFinal with byte arrays + new AEADBufferTest("ChaCha20-Poly1305", List.of(dtype.BYTE, dtype.BYTE)).test(); + offsetTests(new AEADBufferTest("ChaCha20-Poly1305", List.of(dtype.BYTE, dtype.BYTE))); + // Test update-update-doFinal with byte arrays + new AEADBufferTest("ChaCha20-Poly1305", + List.of(dtype.BYTE, dtype.BYTE, dtype.BYTE)).test(); + offsetTests(new AEADBufferTest("ChaCha20-Poly1305", List.of(dtype.BYTE, dtype.BYTE, dtype.BYTE))); + + // Test single heap bytebuffer + new AEADBufferTest("ChaCha20-Poly1305", List.of(dtype.HEAP)).test(); + offsetTests(new AEADBufferTest("ChaCha20-Poly1305", List.of(dtype.HEAP))); + // Test update-doFinal with heap bytebuffer + new AEADBufferTest("ChaCha20-Poly1305", + List.of(dtype.HEAP, dtype.HEAP)).test(); + offsetTests(new AEADBufferTest("ChaCha20-Poly1305", List.of(dtype.HEAP, dtype.HEAP))); + // Test update-update-doFinal with heap bytebuffer + new AEADBufferTest("ChaCha20-Poly1305", + List.of(dtype.HEAP, dtype.HEAP, dtype.HEAP)).test(); + offsetTests(new AEADBufferTest("ChaCha20-Poly1305", List.of(dtype.HEAP, dtype.HEAP, dtype.HEAP))); + + // Test single direct bytebuffer + new AEADBufferTest("ChaCha20-Poly1305", List.of(dtype.DIRECT)).test(); + offsetTests(new AEADBufferTest("ChaCha20-Poly1305", List.of(dtype.DIRECT))); + // Test update-doFinal with direct bytebuffer + new AEADBufferTest("ChaCha20-Poly1305", + List.of(dtype.DIRECT, dtype.DIRECT)).test(); + offsetTests(new AEADBufferTest("ChaCha20-Poly1305", + List.of(dtype.DIRECT, dtype.DIRECT))); + // Test update-update-doFinal with direct bytebuffer + new AEADBufferTest("ChaCha20-Poly1305", + List.of(dtype.DIRECT, dtype.DIRECT, dtype.DIRECT)).test(); + offsetTests(new AEADBufferTest("ChaCha20-Poly1305", + List.of(dtype.DIRECT, dtype.DIRECT, dtype.DIRECT))); + + // Test update-update-doFinal with byte arrays and preset data sizes + t = new AEADBufferTest("ChaCha20-Poly1305", + List.of(dtype.BYTE, dtype.BYTE, dtype.BYTE)).dataSegments( + new int[] { 1, 1, AEADBufferTest.REMAINDER}); + t.clone().test(); + offsetTests(t.clone()); + + // Test update-doFinal with a byte array and a direct bytebuffer + t = new AEADBufferTest("ChaCha20-Poly1305", + List.of(dtype.BYTE, dtype.DIRECT)).differentBufferOnly(); + t.clone().test(); + offsetTests(t.clone()); + // Test update-doFinal with a byte array and heap and direct bytebuffer + t = new AEADBufferTest("ChaCha20-Poly1305", + List.of(dtype.BYTE, dtype.HEAP, dtype.DIRECT)).differentBufferOnly(); + t.clone().test(); + offsetTests(t.clone()); + + // Test update-doFinal with a direct bytebuffer and a byte array. + t = new AEADBufferTest("ChaCha20-Poly1305", + List.of(dtype.DIRECT, dtype.BYTE)).differentBufferOnly(); + t.clone().test(); + offsetTests(t.clone()); + + // Test update-doFinal with a direct bytebuffer and a byte array with + // preset data sizes. + t = new AEADBufferTest("ChaCha20-Poly1305", + List.of(dtype.DIRECT, dtype.BYTE)).differentBufferOnly(). + dataSegments(new int[] { 20, AEADBufferTest.REMAINDER }); + t.clone().test(); + offsetTests(t.clone()); + // Test update-update-doFinal with a direct and heap bytebuffer and a + // byte array with preset data sizes. + t = new AEADBufferTest("ChaCha20-Poly1305", + List.of(dtype.DIRECT, dtype.BYTE, dtype.HEAP)). + differentBufferOnly().dataSet(1). + dataSegments(new int[] { 5000, 1000, AEADBufferTest.REMAINDER }); + t.clone().test(); + offsetTests(t.clone()); + + // Test update-update-doFinal with byte arrays, incrementing through + // every data size combination for the Data set 0 + new AEADBufferTest("ChaCha20-Poly1305", + List.of(dtype.BYTE, dtype.BYTE, dtype.BYTE)).incrementalSegments(). + dataSet(0).test(); + // Test update-update-doFinal with direct bytebuffers, incrementing through + // every data size combination for the Data set 0 + new AEADBufferTest("ChaCha20-Poly1305", + List.of(dtype.DIRECT, dtype.DIRECT, dtype.DIRECT)). + incrementalSegments().dataSet(0).test(); + + new AEADBufferTest("ChaCha20-Poly1305", List.of(dtype.DIRECT, dtype.DIRECT, dtype.DIRECT)). dataSegments(new int[] { 49, 0, 2 }).dataSet(0).test(); } // Test data static void initTest() { + datamap.put("AES/GCM/NoPadding", List.of( // GCM KAT - new Data("AES", 0, + new Data(AES, 0, "141f1ce91989b07e7eb6ae1dbd81ea5e", "49451da24bd6074509d3cebc2c0394c972e6934b45a1d91f3ce1d3ca69e19" + "4aa1958a7c21b6f21d530ce6d2cc5256a3f846b6f9d2f38df0102c4791e5" + @@ -744,100 +869,32 @@ static void initTest() { "240446b28dc088abd42b0fc687f208190ff24c0548", "dbb93bbb56d0439cd09f620a57687f5d"), // GCM KAT - new Data("AES", 1, "11754cd72aec309bf52f7687212e8957", + new Data(AES, 1, "11754cd72aec309bf52f7687212e8957", "3c819d9a9bed087615030b65", - (String)null, null, null, + new byte[0], null, null, "250327c674aaf477aef2675748cf6971"), - // GCM KAT - new Data("AES", 2, "272f16edb81a7abbea887357a58c1917", - "794ec588176c703d3d2a7a07", - (String)null, null, null, - "b6e6f197168f5049aeda32dafbdaeb"), - // zero'd test data - new Data("AES", 3, "272f16edb81a7abbea887357a58c1917", - "794ec588176c703d3d2a7a07", new byte[256], null, - "15b461672153270e8ba1e6789f7641c5411f3e642abda731b6086f535c216457" + - "e87305bc59a1ff1f7e1e0bbdf302b75549b136606c67d7e5f71277aeca4bc670" + - "07a98f78e0cfa002ed183e62f07893ad31fe67aad1bb37e15b957a14d145f14f" + - "7483d041f2c3612ad5033155984470bdfc64d18df73c2745d92f28461bb09832" + - "33524811321ba87d213692825815dd13f528dba601a3c319cac6be9b48686c23" + - "a0ce23d5062916ea8827bbb243f585e446131489e951354c8ab24661f625c02e" + - "15536c5bb602244e98993ff745f3e523399b2059f0e062d8933fad2366e7e147" + - "510a931282bb0e3f635efe7bf05b1dd715f95f5858261b00735224256b6b3e80", - "08b3593840d4ed005f5234ae062a5c"), - // Random test data - new Data("AES", 4, "272f16edb81a7abbea887357a58c1917", - "794ec588176c703d3d2a7a07", - new byte[2075], null, - "15b461672153270e8ba1e6789f7641c5411f3e642abda731b6086f535c216457" + - "e87305bc59a1ff1f7e1e0bbdf302b75549b136606c67d7e5f71277aeca4bc670" + - "07a98f78e0cfa002ed183e62f07893ad31fe67aad1bb37e15b957a14d145f14f" + - "7483d041f2c3612ad5033155984470bdfc64d18df73c2745d92f28461bb09832" + - "33524811321ba87d213692825815dd13f528dba601a3c319cac6be9b48686c23" + - "a0ce23d5062916ea8827bbb243f585e446131489e951354c8ab24661f625c02e" + - "15536c5bb602244e98993ff745f3e523399b2059f0e062d8933fad2366e7e147" + - "510a931282bb0e3f635efe7bf05b1dd715f95f5858261b00735224256b6b3e80" + - "7364cb53ff6d4e88f928cf67ac70da127718a8a35542efbae9dd7567c818a074" + - "9a0c74bd69014639f59768bc55056d1166ea5523e8c66f9d78d980beb8f0d83b" + - "a9e2c5544b94dc3a1a4b6f0f95f897b010150e89ebcacf0daee3c2793d6501a0" + - "b58b411de273dee987e8e8cf8bb29ef2e7f655b46b55fabf64c6a4295e0d080b" + - "6a570ace90eb0fe0f5b5d878bdd90eddaa1150e4d5a6505b350aac814fe99615" + - "317ecd0516a464c7904011ef5922409c0d65b1e43b69d7c3293a8f7d3e9fbee9" + - "eb91ec0007a7d6f72e64deb675d459c5ba07dcfd58d08e6820b100465e6e04f0" + - "663e310584a00d36d23699c1bffc6afa094c75184fc7cde7ad35909c0f49f2f3" + - "fe1e6d745ab628d74ea56b757047de57ce18b4b3c71e8af31a6fac16189cb0a3" + - "a97a1bea447042ce382fcf726560476d759c24d5c735525ea26a332c2094408e" + - "671c7deb81d5505bbfd178f866a6f3a011b3cfdbe089b4957a790688028dfdf7" + - "9a096b3853f9d0d6d3feef230c7f5f46ffbf7486ebdaca5804dc5bf9d202415e" + - "e0d67b365c2f92a17ea740807e4f0b198b42b54f15faa9dff2c7c35d2cf8d72e" + - "b8f8b18875a2e7b5c43d1e0aa5139c461e8153c7f632895aa46ffe2b134e6a0d" + - "dfbf6a336e709adfe951bd52c4dfc7b07a15fb3888fc35b7e758922f87a104c4" + - "563c5c7839cfe5a7edbdb97264a7c4ebc90367b10cbe09dbf2390767ad7afaa8" + - "8fb46b39d3f55f216d2104e5cf040bf3d39b758bea28e2dbce576c808d17a8eb" + - "e2fd183ef42a774e39119dff1f539efeb6ad15d889dfcb0d54d0d4d4cc03c8d9" + - "aa6c9ebd157f5e7170183298d6a30ada8792dcf793d931e2a1eafccbc63c11c0" + - "c5c5ed60837f30017d693ccb294df392a8066a0594a56954aea7b78a16e9a11f" + - "4a8bc2104070a7319f5fab0d2c4ccad8ec5cd8f47c839179bfd54a7bf225d502" + - "cd0a318752fe763e8c09eb88fa57fc5399ad1f797d0595c7b8afdd23f13603e9" + - "6802192bb51433b7723f4e512bd4f799feb94b458e7f9792f5f9bd6733828f70" + - "a6b7ffbbc0bb7575021f081ec2a0d37fecd7cda2daec9a3a9d9dfe1c8034cead" + - "e4b56b581cc82bd5b74b2b30817967d9da33850336f171a4c68e2438e03f4b11" + - "96da92f01b3b7aeab795180ccf40a4b090b1175a1fc0b67c95f93105c3aef00e" + - "13d76cc402539192274fee703730cd0d1c5635257719cc96cacdbad00c6255e2" + - "bd40c775b43ad09599e84f2c3205d75a6661ca3f151183be284b354ce21457d1" + - "3ba65b9b2cdb81874bd14469c2008b3ddec78f7225ecc710cc70de7912ca6a6d" + - "348168322ab59fdafcf5c833bfa0ad4046f4b6da90e9f263db7079af592eda07" + - "5bf16c6b1a8346da9c292a48bf660860a4fc89eaef40bc132779938eca294569" + - "787c740af2b5a8de7f5e10ac750d1e3d0ef3ed168ba408a676e10b8a20bd4be8" + - "3e8336b45e54481726d73e1bd19f165a98e242aca0d8387f2dd22d02d74e23db" + - "4cef9a523587413e0a44d7e3260019a34d3a6b38426ae9fa4655be338d721970" + - "cb9fe76c073f26f9303093a033022cd2c62b2790bce633ba9026a1c93b6535f1" + - "1882bf5880e511b9e1b0b7d8f23a993aae5fd275faac3a5b4ccaf7c06b0b266a" + - "ee970a1e3a4cd7a41094f516960630534e692545b25a347c30e3f328bba4825f" + - "ed754e5525d846131ecba7ca120a6aeabc7bab9f59c890c80b7e31f9bc741591" + - "55d292433ce9558e104102f2cc63ee267c1c8333e841522707ea6d595cb802b9" + - "61697da77bbc4cb404ea62570ab335ebffa2023730732ac5ddba1c3dbb5be408" + - "3c50aea462c1ffa166d7cc3db4b742b747e81b452db2363e91374dee8c6b40f0" + - "e7fbf50e60eaf5cc5649f6bb553aae772c185026ceb052af088c545330a1ffbf" + - "50615b8c7247c6cd386afd7440654f4e15bcfae0c45442ec814fe88433a9d616" + - "ee6cc3f163f0d3d325526d05f25d3b37ad5eeb3ca77248ad86c9042b16c65554" + - "aebb6ad3e17b981492b13f42c5a5dc088e991da303e5a273fdbb8601aece4267" + - "47b01f6cb972e6da1743a0d7866cf206e95f23c6f8e337c901b9cd34a9a1fbbe" + - "1694f2c26b00dfa4d02c0d54540163e798fbdc9c25f30d6406f5b4c13f7ed619" + - "34e350f4059c13aa5e973307a9e3058917cda96fdd082e9c629ccfb2a9f98d12" + - "5c6e4703a7b0f348f5cdeb63cef2133d1c6c1a087591e0a2bca29d09c6565e66" + - "e91042f83b0e74e60a5d57562c23e2fbcd6599c29d7c19e47cf625c2ce24bb8a" + - "13f8e54041498437eec2cedd1e3d8e57a051baa962c0a62d70264d99c5ee716d" + - "5c8b9078db08c8b2c5613f464198a7aff43f76c5b4612b46a4f1cd2a494386c5" + - "7fd28f3d199f0ba8d8e39116cc7db16ce6188205ee49a9dce3d4fa32ea394919" + - "f6e91ef58b84d00b99596b4306c2d9f432d917bb4ac73384c42ae12adb4920d8" + - "c33a816febcb299dcddf3ec7a8eb6e04cdc90891c6e145bd9fc5f41dc4061a46" + - "9feba38545b64ec8203f386ceef52785619e991d274ae80af7e54af535e0b011" + - "5effdf847472992875e09398457604d04e0bb965db692c0cdcf11a", - "687cc09c89298491deb51061d709af"), // Randomly generated data at the time of execution. - new Data("AES", 5, "11754cd72aec309bf52f7687212e8957", 12345) - ) - ); + new Data(AES, 5, "11754cd72aec309bf52f7687212e8957", + 16, 12345))); + + datamap.put("ChaCha20-Poly1305", List.of( + new Data("CC20", 0, + "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + "070000004041424344454647", + 1, + "4c616469657320616e642047656e746c656d656e206f662074686520636c6173" + + "73206f66202739393a204966204920636f756c64206f6666657220796f75206f" + + "6e6c79206f6e652074697020666f7220746865206675747572652c2073756e73" + + "637265656e20776f756c642062652069742e", + "50515253c0c1c2c3c4c5c6c7", + "d31a8d34648e60db7b86afbc53ef7ec2a4aded51296e08fea9e2b5a736ee62d6" + + "3dbea45e8ca9671282fafb69da92728b1a71de0a9e060b2905d6a5b67ecd3b36" + + "92ddbd7f2d778b8c9803aee328091b58fab324e4fad675945585808b4831d7bc" + + "3ff4def08e4b7a9de576d26586cec64b61161ae10b59", + "4f09e26a7e902ecbd0600691"), + // Randomly generated data at the time of execution. + new Data("CC20", 1, + "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", + 12, 12345))); } } diff --git a/test/micro/org/openjdk/bench/javax/crypto/full/AESGCMBench.java b/test/micro/org/openjdk/bench/javax/crypto/full/AESGCMBench.java index 9e5d4d8ad0320..e46f50678ef81 100644 --- a/test/micro/org/openjdk/bench/javax/crypto/full/AESGCMBench.java +++ b/test/micro/org/openjdk/bench/javax/crypto/full/AESGCMBench.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved. * 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,107 +22,31 @@ */ package org.openjdk.bench.javax.crypto.full; -import org.openjdk.jmh.annotations.Benchmark; import org.openjdk.jmh.annotations.Param; import org.openjdk.jmh.annotations.Setup; -import javax.crypto.Cipher; +import java.security.spec.AlgorithmParameterSpec; import javax.crypto.spec.GCMParameterSpec; -import javax.crypto.spec.SecretKeySpec; /** - * This performance tests runs AES/GCM encryption and decryption using byte[] - * as input and output buffers for single and multi-part testing. - * - * This test rotates the IV and creates a new GCMParameterSpec for each encrypt - * benchmark operation + * This performance tests runs AES/GCM encryption and decryption + * using input and output byte[] buffers with single and multi-part testing. */ -public class AESGCMBench extends CryptoBase { +public class AESGCMBench extends BenchBase { @Param({"128"}) - private int keyLength; - - @Param({"1024", "1500", "4096", "16384"}) - private int dataSize; + int keyLength; - byte[] encryptedData; - byte[] in, out; - private Cipher encryptCipher; - private Cipher decryptCipher; - SecretKeySpec ks; - GCMParameterSpec gcm_spec; - byte[] iv; + public static final int IV_MODULO = 16; - private static final int IV_BUFFER_SIZE = 32; - private static final int IV_MODULO = IV_BUFFER_SIZE - 16; - int iv_index = 0; - int updateLen = 0; - - private int next_iv_index() { - int r = iv_index; + public AlgorithmParameterSpec getNewSpec() { iv_index = (iv_index + 1) % IV_MODULO; - return r; + return new GCMParameterSpec(128, iv, iv_index, IV_MODULO); } @Setup public void setup() throws Exception { - setupProvider(); - - // Setup key material - byte[] keystring = fillSecureRandom(new byte[keyLength / 8]); - ks = new SecretKeySpec(keystring, "AES"); - iv = fillSecureRandom(new byte[IV_BUFFER_SIZE]); - gcm_spec = new GCMParameterSpec(96, iv, next_iv_index(), 16); - - // Setup Cipher classes - encryptCipher = makeCipher(prov, "AES/GCM/NoPadding"); - encryptCipher.init(Cipher.ENCRYPT_MODE, ks, gcm_spec); - decryptCipher = makeCipher(prov, "AES/GCM/NoPadding"); - decryptCipher.init(Cipher.DECRYPT_MODE, ks, - encryptCipher.getParameters(). - getParameterSpec(GCMParameterSpec.class)); - - // Setup input/output buffers - in = fillRandom(new byte[dataSize]); - encryptedData = new byte[encryptCipher.getOutputSize(in.length)]; - out = new byte[encryptedData.length]; - encryptCipher.doFinal(in, 0, in.length, encryptedData, 0); - updateLen = in.length / 2; - - } - - @Benchmark - public void encrypt() throws Exception { - gcm_spec = new GCMParameterSpec(96, iv, next_iv_index(), 16); - encryptCipher.init(Cipher.ENCRYPT_MODE, ks, gcm_spec); - encryptCipher.doFinal(in, 0, in.length, out, 0); - } - - @Benchmark - public void encryptMultiPart() throws Exception { - gcm_spec = new GCMParameterSpec(96, iv, next_iv_index(), 16); - encryptCipher.init(Cipher.ENCRYPT_MODE, ks, gcm_spec); - int outOfs = encryptCipher.update(in, 0, updateLen, out, 0); - encryptCipher.doFinal(in, updateLen, in.length - updateLen, - out, outOfs); - } - - @Benchmark - public void decrypt() throws Exception { - decryptCipher.init(Cipher.DECRYPT_MODE, ks, - encryptCipher.getParameters(). - getParameterSpec(GCMParameterSpec.class)); - decryptCipher.doFinal(encryptedData, 0, encryptedData.length, out, 0); - } - - @Benchmark - public void decryptMultiPart() throws Exception { - decryptCipher.init(Cipher.DECRYPT_MODE, ks, - encryptCipher.getParameters(). - getParameterSpec(GCMParameterSpec.class)); - decryptCipher.update(encryptedData, 0, updateLen, out, 0); - decryptCipher.doFinal(encryptedData, updateLen, - encryptedData.length - updateLen, out, 0); + init("AES/GCM/NoPadding", keyLength); } } diff --git a/test/micro/org/openjdk/bench/javax/crypto/full/AESGCMByteBuffer.java b/test/micro/org/openjdk/bench/javax/crypto/full/AESGCMByteBuffer.java index 3e07c6b691028..ce5e7e8358c9b 100644 --- a/test/micro/org/openjdk/bench/javax/crypto/full/AESGCMByteBuffer.java +++ b/test/micro/org/openjdk/bench/javax/crypto/full/AESGCMByteBuffer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. * 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,140 +22,32 @@ */ package org.openjdk.bench.javax.crypto.full; -import org.openjdk.jmh.annotations.Benchmark; import org.openjdk.jmh.annotations.Param; import org.openjdk.jmh.annotations.Setup; -import javax.crypto.Cipher; +import java.security.spec.AlgorithmParameterSpec; import javax.crypto.spec.GCMParameterSpec; -import javax.crypto.spec.SecretKeySpec; -import java.nio.ByteBuffer; /** * This performance tests runs AES/GCM encryption and decryption using heap and * direct ByteBuffers as input and output buffers for single and multi-part * operations. - * - * This test rotates the IV and creates a new GCMParameterSpec for each encrypt - * benchmark operation */ -public class AESGCMByteBuffer extends CryptoBase { +public class AESGCMByteBuffer extends ByteBufferBase { @Param({"128"}) - private int keyLength; - - @Param({"1024", "1500", "4096", "16384"}) - private int dataSize; - - @Param({"direct", "heap"}) - private String dataMethod; + int keyLength; - byte[] data; - ByteBuffer encryptedData; - ByteBuffer in, out; - private Cipher encryptCipher; - private Cipher decryptCipher; - SecretKeySpec ks; - GCMParameterSpec gcm_spec; - byte[] iv; + public static final int IV_MODULO = 16; - private static final int IV_BUFFER_SIZE = 32; - private static final int IV_MODULO = IV_BUFFER_SIZE - 16; - int iv_index = 0; - int updateLen = 0; - - private int next_iv_index() { - int r = iv_index; + public AlgorithmParameterSpec getNewSpec() { iv_index = (iv_index + 1) % IV_MODULO; - return r; + return new GCMParameterSpec(128, iv, iv_index, IV_MODULO); } @Setup public void setup() throws Exception { - setupProvider(); - - // Setup key material - byte[] keystring = fillSecureRandom(new byte[keyLength / 8]); - ks = new SecretKeySpec(keystring, "AES"); - iv = fillSecureRandom(new byte[IV_BUFFER_SIZE]); - gcm_spec = new GCMParameterSpec(96, iv, next_iv_index(), 16); - - // Setup Cipher classes - encryptCipher = makeCipher(prov, "AES/GCM/NoPadding"); - encryptCipher.init(Cipher.ENCRYPT_MODE, ks, gcm_spec); - decryptCipher = makeCipher(prov, "AES/GCM/NoPadding"); - decryptCipher.init(Cipher.DECRYPT_MODE, ks, - encryptCipher.getParameters(). - getParameterSpec(GCMParameterSpec.class)); - - // Setup input/output buffers - data = fillRandom(new byte[dataSize]); - if (dataMethod.equalsIgnoreCase("direct")) { - in = ByteBuffer.allocateDirect(data.length); - in.put(data); - in.flip(); - encryptedData = ByteBuffer.allocateDirect( - encryptCipher.getOutputSize(data.length)); - out = ByteBuffer.allocateDirect(encryptedData.capacity()); - } else if (dataMethod.equalsIgnoreCase("heap")) { - in = ByteBuffer.wrap(data); - encryptedData = ByteBuffer.allocate( - encryptCipher.getOutputSize(data.length)); - out = ByteBuffer.allocate(encryptedData.capacity()); - } - - encryptCipher.doFinal(in, encryptedData); - encryptedData.flip(); - in.flip(); - updateLen = in.remaining() / 2; - } - - @Benchmark - public void encrypt() throws Exception { - gcm_spec = new GCMParameterSpec(96, iv, next_iv_index(), 16); - encryptCipher.init(Cipher.ENCRYPT_MODE, ks, gcm_spec); - encryptCipher.doFinal(in, out); - out.flip(); - in.flip(); + init("AES/GCM/NoPadding", keyLength); } - - @Benchmark - public void encryptMultiPart() throws Exception { - gcm_spec = new GCMParameterSpec(96, iv, next_iv_index(), 16); - encryptCipher.init(Cipher.ENCRYPT_MODE, ks, gcm_spec); - in.limit(updateLen); - encryptCipher.update(in, out); - in.limit(in.capacity()); - encryptCipher.doFinal(in, out); - out.flip(); - in.flip(); - } - - @Benchmark - public void decrypt() throws Exception { - decryptCipher.init(Cipher.DECRYPT_MODE, ks, - encryptCipher.getParameters(). - getParameterSpec(GCMParameterSpec.class)); - decryptCipher.doFinal(encryptedData, out); - encryptedData.flip(); - out.flip(); - } - - @Benchmark - public void decryptMultiPart() throws Exception { - decryptCipher.init(Cipher.DECRYPT_MODE, ks, - encryptCipher.getParameters(). - getParameterSpec(GCMParameterSpec.class)); - - int len = encryptedData.remaining(); - encryptedData.limit(updateLen); - decryptCipher.update(encryptedData, out); - encryptedData.limit(len); - - decryptCipher.doFinal(encryptedData, out); - encryptedData.flip(); - out.flip(); - } - } diff --git a/test/micro/org/openjdk/bench/javax/crypto/full/BenchBase.java b/test/micro/org/openjdk/bench/javax/crypto/full/BenchBase.java new file mode 100644 index 0000000000000..0c5df20d9cb64 --- /dev/null +++ b/test/micro/org/openjdk/bench/javax/crypto/full/BenchBase.java @@ -0,0 +1,131 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 org.openjdk.bench.javax.crypto.full; + +import org.openjdk.jmh.annotations.Benchmark; +import org.openjdk.jmh.annotations.Param; +import org.openjdk.jmh.annotations.Setup; + +import java.security.spec.AlgorithmParameterSpec; +import javax.crypto.Cipher; +import javax.crypto.spec.SecretKeySpec; + +/** + * This is the common code for the AES/GCM and ChaCha20-Poly1305 performance + * tests. Encryption and decryption use byte[] as input and output buffers for + * single and multi-part testing. + * + * The IV rotates through a set buffer and creates a new AlgorithmParameterSpec + * for each encrypt benchmark operation. + */ + +public abstract class BenchBase extends CryptoBase { + // Defined by the test + String algorithm; + int keyLength = 256; + + // Default data sizes for full tests + @Param({"1024", "1500", "4096", "16384"}) + int dataSize; + + static final int IV_BUFFER_SIZE = 36; + public byte[] iv; + public int iv_index = 0; + private int updateLen = 0; + + private Cipher encryptCipher, decryptCipher; + private byte[] encryptedData, in, out; + private SecretKeySpec ks; + // Used for decryption to avoid repeated getParameter() calls + private AlgorithmParameterSpec spec; + + abstract AlgorithmParameterSpec getNewSpec(); + + // Configure setup with particular test parameters + public void init(String algorithm, int keyLength) throws Exception { + this.algorithm = algorithm; + this.keyLength = keyLength; + init(); + } + + // Configure setup with particular test parameters + public void init(String algorithm, int keyLength, int dataSize) + throws Exception { + this.dataSize = dataSize; + init(algorithm, keyLength); + } + + // Initalize test setup + private void init() throws Exception { + setupProvider(); + + // Setup key material + iv = fillSecureRandom(new byte[IV_BUFFER_SIZE]); + spec = getNewSpec(); + // CC20 doesn't care about the algorithm name on the key, but AES does. + ks = new SecretKeySpec(fillSecureRandom(new byte[keyLength / 8]), + "AES"); + + // Setup Cipher classes + encryptCipher = makeCipher(prov, algorithm); + encryptCipher.init(Cipher.ENCRYPT_MODE, ks, spec); + decryptCipher = makeCipher(prov, algorithm); + decryptCipher.init(Cipher.DECRYPT_MODE, ks, spec); + + // Setup input/output buffers + in = fillRandom(new byte[dataSize]); + encryptedData = new byte[encryptCipher.getOutputSize(in.length)]; + out = new byte[encryptedData.length]; + encryptCipher.doFinal(in, 0, in.length, encryptedData, 0); + updateLen = in.length / 2; + + } + + @Benchmark + public void encrypt() throws Exception { + encryptCipher.init(Cipher.ENCRYPT_MODE, ks, getNewSpec()); + encryptCipher.doFinal(in, 0, in.length, out, 0); + } + + @Benchmark + public void encryptMultiPart() throws Exception { + encryptCipher.init(Cipher.ENCRYPT_MODE, ks, getNewSpec()); + int outOfs = encryptCipher.update(in, 0, updateLen, out, 0); + encryptCipher.doFinal(in, updateLen, in.length - updateLen, + out, outOfs); + } + + @Benchmark + public void decrypt() throws Exception { + decryptCipher.init(Cipher.DECRYPT_MODE, ks, spec); + decryptCipher.doFinal(encryptedData, 0, encryptedData.length, out, 0); + } + + @Benchmark + public void decryptMultiPart() throws Exception { + decryptCipher.init(Cipher.DECRYPT_MODE, ks, spec); + decryptCipher.update(encryptedData, 0, updateLen, out, 0); + decryptCipher.doFinal(encryptedData, updateLen, + encryptedData.length - updateLen, out, 0); + } +} diff --git a/test/micro/org/openjdk/bench/javax/crypto/full/ByteBufferBase.java b/test/micro/org/openjdk/bench/javax/crypto/full/ByteBufferBase.java new file mode 100644 index 0000000000000..79fa2bcbab300 --- /dev/null +++ b/test/micro/org/openjdk/bench/javax/crypto/full/ByteBufferBase.java @@ -0,0 +1,160 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 org.openjdk.bench.javax.crypto.full; + +import org.openjdk.jmh.annotations.Benchmark; +import org.openjdk.jmh.annotations.Param; +import org.openjdk.jmh.annotations.Setup; + +import java.security.spec.AlgorithmParameterSpec; +import javax.crypto.Cipher; +import javax.crypto.spec.SecretKeySpec; +import java.nio.ByteBuffer; + +/** + * This is the common code for the AES/GCM and ChaCha20-Poly1305 performance + * tests. Encryption and decryption are run with input and output + * ByteBuffers, direct and heap, for single and multi-part testing. + * + * The IV rotates through a set buffer and creates a new AlgorithmParameterSpec + * for each encrypt benchmark operation. + */ + +public abstract class ByteBufferBase extends CryptoBase { + // Defined by the test + String algorithm; + int keyLength = 256; + + @Param({"1024", "1500", "4096", "16384"}) + int dataSize; + + @Param({"direct", "heap"}) + String dataMethod; + + static final int IV_BUFFER_SIZE = 36; + public byte[] iv; + public int iv_index = 0; + private int updateLen = 0; + + private Cipher encryptCipher, decryptCipher; + private ByteBuffer encryptedData, in, out; + private SecretKeySpec ks; + // Used for decryption to avoid repeated getParameter() calls + private AlgorithmParameterSpec spec; + + abstract AlgorithmParameterSpec getNewSpec(); + + // Configure setup with particular test parameters + public void init(String algorithm, int keyLength) throws Exception { + this.algorithm = algorithm; + this.keyLength = keyLength; + init(); + } + + // Configure setup with particular test parameters + public void init(String algorithm, int keyLength, int dataSize) + throws Exception { + this.dataSize = dataSize; + init(algorithm, keyLength); + } + + // Initalize test setup + private void init() throws Exception { + setupProvider(); + + // Setup key material + iv = fillSecureRandom(new byte[IV_BUFFER_SIZE]); + spec = getNewSpec(); + // CC20 doesn't care about the algorithm name on the key, but AES does. + ks = new SecretKeySpec(fillSecureRandom(new byte[keyLength / 8]), + "AES"); + + // Setup Cipher classes + encryptCipher = makeCipher(prov, algorithm); + encryptCipher.init(Cipher.ENCRYPT_MODE, ks, spec); + decryptCipher = makeCipher(prov, algorithm); + decryptCipher.init(Cipher.DECRYPT_MODE, ks, spec); + + // Setup input/output buffers + byte[] data = fillRandom(new byte[dataSize]); + if (dataMethod.equalsIgnoreCase("direct")) { + in = ByteBuffer.allocateDirect(data.length); + in.put(data); + in.flip(); + encryptedData = ByteBuffer.allocateDirect( + encryptCipher.getOutputSize(data.length)); + out = ByteBuffer.allocateDirect(encryptedData.capacity()); + } else if (dataMethod.equalsIgnoreCase("heap")) { + in = ByteBuffer.wrap(data); + encryptedData = ByteBuffer.allocate( + encryptCipher.getOutputSize(data.length)); + out = ByteBuffer.allocate(encryptedData.capacity()); + } + + encryptCipher.doFinal(in, encryptedData); + encryptedData.flip(); + in.flip(); + updateLen = in.remaining() / 2; + } + + @Benchmark + public void encrypt() throws Exception { + encryptCipher.init(Cipher.ENCRYPT_MODE, ks, getNewSpec()); + encryptCipher.doFinal(in, out); + out.flip(); + in.flip(); + } + + @Benchmark + public void encryptMultiPart() throws Exception { + encryptCipher.init(Cipher.ENCRYPT_MODE, ks, getNewSpec()); + in.limit(updateLen); + encryptCipher.update(in, out); + in.limit(in.capacity()); + encryptCipher.doFinal(in, out); + out.flip(); + in.flip(); + } + + @Benchmark + public void decrypt() throws Exception { + decryptCipher.init(Cipher.DECRYPT_MODE, ks, spec); + decryptCipher.doFinal(encryptedData, out); + encryptedData.flip(); + out.flip(); + } + + @Benchmark + public void decryptMultiPart() throws Exception { + decryptCipher.init(Cipher.DECRYPT_MODE, ks, spec); + + int len = encryptedData.remaining(); + encryptedData.limit(updateLen); + decryptCipher.update(encryptedData, out); + encryptedData.limit(len); + + decryptCipher.doFinal(encryptedData, out); + encryptedData.flip(); + out.flip(); + } +} diff --git a/test/micro/org/openjdk/bench/javax/crypto/full/CC20P1305Bench.java b/test/micro/org/openjdk/bench/javax/crypto/full/CC20P1305Bench.java new file mode 100644 index 0000000000000..f6bc5c1052d55 --- /dev/null +++ b/test/micro/org/openjdk/bench/javax/crypto/full/CC20P1305Bench.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 org.openjdk.bench.javax.crypto.full; + +import org.openjdk.jmh.annotations.Param; +import org.openjdk.jmh.annotations.Setup; + +import java.security.spec.AlgorithmParameterSpec; +import javax.crypto.spec.IvParameterSpec; + +/** + * This performance tests runs ChaCha20-Poly1305 encryption and decryption + * using input and output byte[] buffers with single and multi-part testing. + */ + +public class CC20P1305Bench extends BenchBase { + + public static final int IV_MODULO = 12; + + public AlgorithmParameterSpec getNewSpec() { + iv_index = (iv_index + 1) % IV_MODULO; + return new IvParameterSpec(iv, iv_index, IV_MODULO); + } + + @Setup + public void setup() throws Exception { + init("ChaCha20-Poly1305/None/NoPadding", keyLength); + } +} diff --git a/test/micro/org/openjdk/bench/javax/crypto/full/CC20P1305ByteBuffer.java b/test/micro/org/openjdk/bench/javax/crypto/full/CC20P1305ByteBuffer.java new file mode 100644 index 0000000000000..326e2a6766d1e --- /dev/null +++ b/test/micro/org/openjdk/bench/javax/crypto/full/CC20P1305ByteBuffer.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 org.openjdk.bench.javax.crypto.full; + +import org.openjdk.jmh.annotations.Param; +import org.openjdk.jmh.annotations.Setup; + +import java.security.spec.AlgorithmParameterSpec; +import javax.crypto.spec.IvParameterSpec; + +/** + * This performance tests runs ChaCha20-Poly1305 encryption and decryption + * using heap and direct ByteBuffers for input and output buffers with single + * and multi-part operations. + */ + +public class CC20P1305ByteBuffer extends ByteBufferBase { + + public static final int IV_MODULO = 12; + + public AlgorithmParameterSpec getNewSpec() { + iv_index = (iv_index + 1) % IV_MODULO; + return new IvParameterSpec(iv, iv_index, IV_MODULO); + } + + @Setup + public void setup() throws Exception { + init("ChaCha20-Poly1305/None/NoPadding", keyLength); + } +} diff --git a/test/micro/org/openjdk/bench/javax/crypto/small/AESGCMBench.java b/test/micro/org/openjdk/bench/javax/crypto/small/AESGCMBench.java index cfdc53ac70458..49d64c7ca4af8 100644 --- a/test/micro/org/openjdk/bench/javax/crypto/small/AESGCMBench.java +++ b/test/micro/org/openjdk/bench/javax/crypto/small/AESGCMBench.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2021, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved. * 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,14 +23,28 @@ package org.openjdk.bench.javax.crypto.small; import org.openjdk.jmh.annotations.Param; +import org.openjdk.jmh.annotations.Setup; + +import java.security.spec.AlgorithmParameterSpec; +import javax.crypto.spec.GCMParameterSpec; + +/** + * This small performance tests runs AES/GCM encryption and decryption + * using input and output byte[] buffers with single and multi-part testing. + * Only 1024 plaintext data length is tested. + */ public class AESGCMBench extends org.openjdk.bench.javax.crypto.full.AESGCMBench { @Param({"128"}) - private int keyLength; + int keyLength; @Param({"1024"}) - private int dataSize; + int dataSize; + @Setup + public void setup() throws Exception { + init("AES/GCM/NoPadding", keyLength, dataSize); + } } diff --git a/test/micro/org/openjdk/bench/javax/crypto/small/AESGCMByteBuffer.java b/test/micro/org/openjdk/bench/javax/crypto/small/AESGCMByteBuffer.java index 19fdab85bbbb4..baa41cd4ec83b 100644 --- a/test/micro/org/openjdk/bench/javax/crypto/small/AESGCMByteBuffer.java +++ b/test/micro/org/openjdk/bench/javax/crypto/small/AESGCMByteBuffer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved. * 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,14 +23,28 @@ package org.openjdk.bench.javax.crypto.small; import org.openjdk.jmh.annotations.Param; +import org.openjdk.jmh.annotations.Setup; + +import java.security.spec.AlgorithmParameterSpec; +import javax.crypto.spec.GCMParameterSpec; + +/** + * This small performance tests runs AES/GCM encryption and decryption + * using heap and direct ByteBuffers for input and output buffers with single + * and multi-part operations. Only 1024 plaintext data length is tested. + */ public class AESGCMByteBuffer extends org.openjdk.bench.javax.crypto.full.AESGCMByteBuffer { @Param({"128"}) - private int keyLength; + int keyLength; @Param({"1024"}) - private int dataSize; + int dataSize; + @Setup + public void setup() throws Exception { + init("AES/GCM/NoPadding", keyLength, dataSize); + } } \ No newline at end of file diff --git a/test/micro/org/openjdk/bench/javax/crypto/small/CC20P1305Bench.java b/test/micro/org/openjdk/bench/javax/crypto/small/CC20P1305Bench.java new file mode 100644 index 0000000000000..b8b3d45fbc1f9 --- /dev/null +++ b/test/micro/org/openjdk/bench/javax/crypto/small/CC20P1305Bench.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 org.openjdk.bench.javax.crypto.small; + +import org.openjdk.jmh.annotations.Param; +import org.openjdk.jmh.annotations.Setup; + +import java.security.spec.AlgorithmParameterSpec; +import javax.crypto.spec.IvParameterSpec; + +/** + * This small performance tests runs ChaCha20-Poly1305 encryption and decryption + * using input and output byte[] buffers with single and multi-part testing. + * Only 1024 plaintext data length is tested. + */ + +public class CC20P1305Bench extends + org.openjdk.bench.javax.crypto.full.CC20P1305Bench { + + @Param({"1024"}) + int dataSize; + + @Setup + public void setup() throws Exception { + init("ChaCha20-Poly1305/None/NoPadding", 256, dataSize); + } + +} diff --git a/test/micro/org/openjdk/bench/javax/crypto/small/CC20P1305ByteBuffer.java b/test/micro/org/openjdk/bench/javax/crypto/small/CC20P1305ByteBuffer.java new file mode 100644 index 0000000000000..827b09c2f36b2 --- /dev/null +++ b/test/micro/org/openjdk/bench/javax/crypto/small/CC20P1305ByteBuffer.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 org.openjdk.bench.javax.crypto.small; + +import org.openjdk.jmh.annotations.Param; +import org.openjdk.jmh.annotations.Setup; + +import java.security.spec.AlgorithmParameterSpec; +import javax.crypto.spec.IvParameterSpec; + +/** + * This small performance tests runs ChaCha20-Poly1305 encryption and decryption + * using heap and direct ByteBuffers for input and output buffers with single + * and multi-part operations. Only 1024 plaintext data length is tested. + */ + +public class CC20P1305ByteBuffer extends + org.openjdk.bench.javax.crypto.full.CC20P1305ByteBuffer { + + @Param({"1024"}) + int dataSize; + + @Setup + public void setup() throws Exception { + init("ChaCha20-Poly1305/None/NoPadding", 256, dataSize); + } + +} From 3edc24a71d29632e0a2166a64fc25ce83f631b47 Mon Sep 17 00:00:00 2001 From: Joe Darcy Date: Wed, 6 Dec 2023 18:36:26 +0000 Subject: [PATCH 116/143] 8321073: Defer policy of disabling annotation processing by default Reviewed-by: vromero, jlahoda, mcimadamore --- .../sun/tools/javac/main/JavaCompiler.java | 17 +++++--- .../tools/javac/6341866/T6341866.java | 12 ++++-- .../tools/javac/diags/examples.not-yet.txt | 4 -- .../ProcUseProcOrImplicit.java | 2 + .../options/TestNoteOnImplicitProcessing.java | 43 +++++++------------ 5 files changed, 35 insertions(+), 43 deletions(-) diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java index 82a7465821d4e..10f4d609c683f 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java @@ -1144,18 +1144,21 @@ public void initProcessAnnotations(Iterable processors, if (processors != null && processors.iterator().hasNext()) explicitAnnotationProcessingRequested = true; + // Process annotations if processing is not disabled and there + // is at least one Processor available. if (options.isSet(PROC, "none")) { processAnnotations = false; } else if (procEnvImpl == null) { procEnvImpl = JavacProcessingEnvironment.instance(context); procEnvImpl.setProcessors(processors); - - // Process annotations if processing is requested and there - // is at least one Processor available. - processAnnotations = procEnvImpl.atLeastOneProcessor() && - explicitAnnotationProcessingRequested(); + processAnnotations = procEnvImpl.atLeastOneProcessor(); if (processAnnotations) { + if (!explicitAnnotationProcessingRequested() && + !optionsCheckingInitiallyDisabled) { + log.note(Notes.ImplicitAnnotationProcessing); + } + options.put("parameters", "parameters"); reader.saveParameterNames = true; keepComments = true; @@ -1164,9 +1167,9 @@ public void initProcessAnnotations(Iterable processors, taskListener.started(new TaskEvent(TaskEvent.Kind.ANNOTATION_PROCESSING)); deferredDiagnosticHandler = new Log.DeferredDiagnosticHandler(log); procEnvImpl.getFiler().setInitialState(initialFiles, initialClassNames); + } else { // free resources + procEnvImpl.close(); } - } else { // free resources - procEnvImpl.close(); } } diff --git a/test/langtools/tools/javac/6341866/T6341866.java b/test/langtools/tools/javac/6341866/T6341866.java index c04653ed58d0c..33df081c6ba76 100644 --- a/test/langtools/tools/javac/6341866/T6341866.java +++ b/test/langtools/tools/javac/6341866/T6341866.java @@ -67,6 +67,7 @@ enum ImplicitType { enum AnnoType { NONE, // no annotation processing + SERVICE, // implicit annotation processing, via ServiceLoader SPECIFY // explicit annotation processing }; @@ -98,14 +99,14 @@ static boolean test(ImplicitType implicitType, AnnoType annoType) throws IOExcep processorServices.delete(); List opts = new ArrayList(); - opts.addAll(Arrays.asList("-d", ".", - "-sourcepath", testSrc, - "-classpath", testClasses, - "-proc:full")); + opts.addAll(Arrays.asList("-d", ".", "-sourcepath", testSrc, "-classpath", testClasses, "-Xlint:-options")); if (implicitType.opt != null) opts.add(implicitType.opt); switch (annoType) { + case SERVICE: + createProcessorServices(Anno.class.getName()); + break; case SPECIFY: opts.addAll(Arrays.asList("-processor", Anno.class.getName())); break; @@ -144,6 +145,9 @@ static boolean test(ImplicitType implicitType, AnnoType annoType) throws IOExcep String expectKey = null; if (implicitType == ImplicitType.OPT_UNSET) { switch (annoType) { + case SERVICE: + expectKey = "compiler.warn.proc.use.proc.or.implicit"; + break; case SPECIFY: expectKey = "compiler.warn.proc.use.implicit"; break; diff --git a/test/langtools/tools/javac/diags/examples.not-yet.txt b/test/langtools/tools/javac/diags/examples.not-yet.txt index a9ba23fa3743d..716301a913ff1 100644 --- a/test/langtools/tools/javac/diags/examples.not-yet.txt +++ b/test/langtools/tools/javac/diags/examples.not-yet.txt @@ -217,7 +217,3 @@ compiler.err.annotation.unrecognized.attribute.name # this one is transitional (waiting for FFM API to exit preview) compiler.warn.restricted.method - -# Pending removal -compiler.note.implicit.annotation.processing -compiler.warn.proc.use.proc.or.implicit diff --git a/test/langtools/tools/javac/diags/examples/ProcUseProcOrImplicit/ProcUseProcOrImplicit.java b/test/langtools/tools/javac/diags/examples/ProcUseProcOrImplicit/ProcUseProcOrImplicit.java index 6d9d9a70ee919..3a697d40cf838 100644 --- a/test/langtools/tools/javac/diags/examples/ProcUseProcOrImplicit/ProcUseProcOrImplicit.java +++ b/test/langtools/tools/javac/diags/examples/ProcUseProcOrImplicit/ProcUseProcOrImplicit.java @@ -21,6 +21,8 @@ * questions. */ +// key: compiler.warn.proc.use.proc.or.implicit +// key: compiler.note.implicit.annotation.processing // options: -Xprefer:source import p.SomeClass; diff --git a/test/langtools/tools/javac/processing/options/TestNoteOnImplicitProcessing.java b/test/langtools/tools/javac/processing/options/TestNoteOnImplicitProcessing.java index 9d23707c61890..81efbce05aa20 100644 --- a/test/langtools/tools/javac/processing/options/TestNoteOnImplicitProcessing.java +++ b/test/langtools/tools/javac/processing/options/TestNoteOnImplicitProcessing.java @@ -23,8 +23,8 @@ /* * @test - * @bug 8310061 8315534 8306819 - * @summary Verify behavior around implicit annotation processing + * @bug 8310061 8315534 + * @summary Verify a note is issued for implicit annotation processing * * @library /tools/lib /tools/javac/lib * @modules @@ -59,27 +59,19 @@ import toolbox.JarTask; /* - * Does not generates a note and the processor does not run: + * Generates note and the processor runs: * $ javac -cp ImplicitProcTestProc.jar HelloWorldTest.java * - * Does _not_ generate a note and the processor does run: + * Does _not_ generate a note and the processor runs: * $ javac -processorpath ImplicitProcTestProc.jar HelloWorldTest.java * $ javac -cp ImplicitProcTestProc.jar -processor ImplicitProcTestProc.jar HelloWorldTest.java * $ javac -cp ImplicitProcTestProc.jar -proc:full HelloWorldTest.java * $ javac -cp ImplicitProcTestProc.jar -proc:only HelloWorldTest.java - * - * Does _not_ generate a note and the processor does _not_run: * $ javac -cp ImplicitProcTestProc.jar -Xlint:-options HelloWorldTest.java * $ javac -cp ImplicitProcTestProc.jar -Xlint:none HelloWorldTest.java * * Does _not_ generate a note and the processor _doesn't_ run. * $ javac -cp ImplicitProcTestProc.jar -proc:none HelloWorldTest.java - * - * (Previously, annotation processing was implicitly enabled and the - * the class path was searched for processors. This test was - * originally written to probe around a note warning of a potential - * future policy change to disable such implicit processing, a policy - * change now implemented and this test has been updated accordingly.) */ public class TestNoteOnImplicitProcessing extends TestRunner { @@ -173,8 +165,8 @@ public void generateWarning(Path base, Path jarFile) { .run(Expect.SUCCESS) .writeAll(); - checkForProcessorMessage(javacResult, false); - checkForCompilerNote(javacResult, false); + checkForProcessorMessage(javacResult, true); + checkForCompilerNote(javacResult, true); } @Test @@ -247,7 +239,7 @@ public void lintOptions(Path base, Path jarFile) { .run(Expect.SUCCESS) .writeAll(); - checkForProcessorMessage(javacResult, false); + checkForProcessorMessage(javacResult, true); checkForCompilerNote(javacResult, false); } @@ -262,7 +254,7 @@ public void lintNone(Path base, Path jarFile) { .run(Expect.SUCCESS) .writeAll(); - checkForProcessorMessage(javacResult, false); + checkForProcessorMessage(javacResult, true); checkForCompilerNote(javacResult, false); } @@ -325,7 +317,7 @@ public void processorsViaAPI(Path base, Path jarFile) throws Exception { task.call(); - verifyMessages(out, compilerOut, false, false); + verifyMessages(out, compilerOut, true); } { @@ -337,7 +329,7 @@ public void processorsViaAPI(Path base, Path jarFile) throws Exception { task.setProcessors(List.of(processor)); task.call(); - verifyMessages(out, compilerOut, false, true); + verifyMessages(out, compilerOut, false); } { @@ -347,7 +339,7 @@ public void processorsViaAPI(Path base, Path jarFile) throws Exception { task.analyze(); - verifyMessages(out, compilerOut, false, false); + verifyMessages(out, compilerOut, true); } { @@ -361,21 +353,16 @@ public void processorsViaAPI(Path base, Path jarFile) throws Exception { task.setProcessors(List.of(processor)); task.analyze(); - verifyMessages(out, compilerOut, false, true); + verifyMessages(out, compilerOut, false); } } finally { System.setOut(oldOut); } } - private void verifyMessages(ByteArrayOutputStream out, StringWriter compilerOut, boolean expectedNotePresent, - boolean processorRunExpected) { - boolean processorRun = out.toString(StandardCharsets.UTF_8).contains("ImplicitProcTestProc run"); - - if (processorRun != processorRunExpected) { - throw new RuntimeException(processorRunExpected ? - "Expected processor message not printed" : - "Unexpected processor message printed"); + private void verifyMessages(ByteArrayOutputStream out, StringWriter compilerOut, boolean expectedNotePresent) { + if (!out.toString(StandardCharsets.UTF_8).contains("ImplicitProcTestProc run")) { + throw new RuntimeException("Expected processor message not printed"); } out.reset(); From f4822605af44f63e5928f2f279df3f76c01a25a2 Mon Sep 17 00:00:00 2001 From: Stefan Karlsson Date: Wed, 6 Dec 2023 19:07:30 +0000 Subject: [PATCH 117/143] 8319969: os::large_page_init() turns off THPs for ZGC Reviewed-by: stuefe, aboldtch --- .../os/linux/gc/z/zLargePages_linux.cpp | 22 ++-- .../gc/z/zPhysicalMemoryBacking_linux.cpp | 7 +- src/hotspot/os/linux/hugepages.cpp | 83 ++++++++++++++ src/hotspot/os/linux/hugepages.hpp | 37 ++++++- src/hotspot/os/linux/os_linux.cpp | 104 ++++++++++++++---- src/hotspot/os/linux/os_linux.hpp | 11 ++ src/hotspot/share/gc/z/zLargePages.cpp | 13 ++- src/hotspot/share/gc/z/zLargePages.hpp | 1 + .../runtime/os/HugePageConfiguration.java | 61 ++++++++-- .../jtreg/runtime/os/TestTracePageSizes.java | 33 +++++- 10 files changed, 325 insertions(+), 47 deletions(-) diff --git a/src/hotspot/os/linux/gc/z/zLargePages_linux.cpp b/src/hotspot/os/linux/gc/z/zLargePages_linux.cpp index caf70224599e1..a00572f08e769 100644 --- a/src/hotspot/os/linux/gc/z/zLargePages_linux.cpp +++ b/src/hotspot/os/linux/gc/z/zLargePages_linux.cpp @@ -23,16 +23,24 @@ #include "precompiled.hpp" #include "gc/z/zLargePages.hpp" +#include "hugepages.hpp" +#include "os_linux.hpp" #include "runtime/globals.hpp" void ZLargePages::pd_initialize() { + if (os::Linux::thp_requested()) { + // Check if the OS config turned off transparent huge pages for shmem. + _os_enforced_transparent_mode = HugePages::shmem_thp_info().is_disabled(); + _state = _os_enforced_transparent_mode ? Disabled : Transparent; + return; + } + if (UseLargePages) { - if (UseTransparentHugePages) { - _state = Transparent; - } else { - _state = Explicit; - } - } else { - _state = Disabled; + _state = Explicit; + return; } + + // Check if the OS config turned on transparent huge pages for shmem. + _os_enforced_transparent_mode = HugePages::shmem_thp_info().is_forced(); + _state = _os_enforced_transparent_mode ? Transparent : Disabled; } diff --git a/src/hotspot/os/linux/gc/z/zPhysicalMemoryBacking_linux.cpp b/src/hotspot/os/linux/gc/z/zPhysicalMemoryBacking_linux.cpp index fb01e05ff7852..ff891509365a0 100644 --- a/src/hotspot/os/linux/gc/z/zPhysicalMemoryBacking_linux.cpp +++ b/src/hotspot/os/linux/gc/z/zPhysicalMemoryBacking_linux.cpp @@ -32,6 +32,7 @@ #include "gc/z/zNUMA.inline.hpp" #include "gc/z/zPhysicalMemoryBacking_linux.hpp" #include "gc/z/zSyscall_linux.hpp" +#include "hugepages.hpp" #include "logging/log.hpp" #include "os_linux.hpp" #include "runtime/init.hpp" @@ -446,8 +447,10 @@ ZErrno ZPhysicalMemoryBacking::fallocate_compat_mmap_tmpfs(zoffset offset, size_ return errno; } - // Advise mapping to use transparent huge pages - os::realign_memory((char*)addr, length, ZGranuleSize); + // Maybe madvise the mapping to use transparent huge pages + if (os::Linux::should_madvise_shmem_thps()) { + os::Linux::madvise_transparent_huge_pages(addr, length); + } // Touch the mapping (safely) to make sure it's backed by memory const bool backed = safe_touch_mapping(addr, length, _block_size); diff --git a/src/hotspot/os/linux/hugepages.cpp b/src/hotspot/os/linux/hugepages.cpp index f9f9dd497c7b6..67645b91aa566 100644 --- a/src/hotspot/os/linux/hugepages.cpp +++ b/src/hotspot/os/linux/hugepages.cpp @@ -28,6 +28,7 @@ #include "logging/log.hpp" #include "logging/logStream.hpp" +#include "runtime/globals_extension.hpp" #include "runtime/os.hpp" #include "utilities/debug.hpp" #include "utilities/globalDefinitions.hpp" @@ -227,15 +228,97 @@ void THPSupport::print_on(outputStream* os) { } } +ShmemTHPSupport::ShmemTHPSupport() : + _initialized(false), _mode(ShmemTHPMode::unknown) {} + +ShmemTHPMode ShmemTHPSupport::mode() const { + assert(_initialized, "Not initialized"); + return _mode; +} + +bool ShmemTHPSupport::is_forced() const { + return _mode == ShmemTHPMode::always || _mode == ShmemTHPMode::force || _mode == ShmemTHPMode::within_size; +} + +bool ShmemTHPSupport::is_enabled() const { + return is_forced() || _mode == ShmemTHPMode::advise; +} + +bool ShmemTHPSupport::is_disabled() const { + return _mode == ShmemTHPMode::never || _mode == ShmemTHPMode::deny || _mode == ShmemTHPMode::unknown; +} + +void ShmemTHPSupport::scan_os() { + // Scan /sys/kernel/mm/transparent_hugepage/shmem_enabled + // see mm/huge_memory.c + _mode = ShmemTHPMode::unknown; + const char* filename = "/sys/kernel/mm/transparent_hugepage/shmem_enabled"; + FILE* f = ::fopen(filename, "r"); + if (f != nullptr) { + char buf[64]; + char* s = fgets(buf, sizeof(buf), f); + assert(s == buf, "Should have worked"); + if (::strstr(buf, "[always]") != nullptr) { + _mode = ShmemTHPMode::always; + } else if (::strstr(buf, "[within_size]") != nullptr) { + _mode = ShmemTHPMode::within_size; + } else if (::strstr(buf, "[advise]") != nullptr) { + _mode = ShmemTHPMode::advise; + } else if (::strstr(buf, "[never]") != nullptr) { + _mode = ShmemTHPMode::never; + } else if (::strstr(buf, "[deny]") != nullptr) { + _mode = ShmemTHPMode::deny; + } else if (::strstr(buf, "[force]") != nullptr) { + _mode = ShmemTHPMode::force; + } else { + assert(false, "Weird content of %s: %s", filename, buf); + } + fclose(f); + } + + _initialized = true; + + LogTarget(Info, pagesize) lt; + if (lt.is_enabled()) { + LogStream ls(lt); + print_on(&ls); + } +} + +const char* ShmemTHPSupport::mode_to_string(ShmemTHPMode mode) { + switch (mode) { + case ShmemTHPMode::always: return "always"; + case ShmemTHPMode::advise: return "advise"; + case ShmemTHPMode::within_size: return "within_size"; + case ShmemTHPMode::never: return "never"; + case ShmemTHPMode::deny: return "deny"; + case ShmemTHPMode::force: return "force"; + case ShmemTHPMode::unknown: // Fallthrough + default: return "unknown"; + }; +} + +void ShmemTHPSupport::print_on(outputStream* os) { + if (_initialized) { + os->print_cr("Shared memory transparent hugepage (THP) support:"); + os->print_cr(" Shared memory THP mode: %s", mode_to_string(_mode)); + } else { + os->print_cr(" unknown."); + } +} + StaticHugePageSupport HugePages::_static_hugepage_support; THPSupport HugePages::_thp_support; +ShmemTHPSupport HugePages::_shmem_thp_support; void HugePages::initialize() { _static_hugepage_support.scan_os(); _thp_support.scan_os(); + _shmem_thp_support.scan_os(); } void HugePages::print_on(outputStream* os) { _static_hugepage_support.print_on(os); _thp_support.print_on(os); + _shmem_thp_support.print_on(os); } diff --git a/src/hotspot/os/linux/hugepages.hpp b/src/hotspot/os/linux/hugepages.hpp index cb7c992d78950..ce9ab36edccf8 100644 --- a/src/hotspot/os/linux/hugepages.hpp +++ b/src/hotspot/os/linux/hugepages.hpp @@ -91,23 +91,58 @@ class THPSupport { void print_on(outputStream* os); }; +enum class ShmemTHPMode { always, within_size, advise, never, deny, force, unknown }; + +// for transparent shmem hugepages +class ShmemTHPSupport { + bool _initialized; + + // See /sys/kernel/mm/transparent_hugepage/shmem_enabled + ShmemTHPMode _mode; + + static const char* mode_to_string(ShmemTHPMode mode); + +public: + + ShmemTHPSupport(); + + // Queries the OS, fills in object + void scan_os(); + + ShmemTHPMode mode() const; + + bool is_forced() const; + bool is_enabled() const; + bool is_disabled() const; + + // Printing + void print_on(outputStream* os); +}; + // Umbrella static interface class HugePages : public AllStatic { static StaticHugePageSupport _static_hugepage_support; static THPSupport _thp_support; + static ShmemTHPSupport _shmem_thp_support; public: static const StaticHugePageSupport& static_info() { return _static_hugepage_support; } static const THPSupport& thp_info() { return _thp_support; } + static const ShmemTHPSupport& shmem_thp_info() { return _shmem_thp_support; } static size_t default_static_hugepage_size() { return _static_hugepage_support.default_hugepage_size(); } static bool supports_static_hugepages() { return default_static_hugepage_size() > 0 && !_static_hugepage_support.inconsistent(); } - static THPMode thp_mode() { return _thp_support.mode(); } + static bool supports_thp() { return thp_mode() == THPMode::madvise || thp_mode() == THPMode::always; } + static THPMode thp_mode() { return _thp_support.mode(); } static size_t thp_pagesize() { return _thp_support.pagesize(); } + static bool supports_shmem_thp() { return _shmem_thp_support.is_enabled(); } + static ShmemTHPMode shmem_thp_mode() { return _shmem_thp_support.mode(); } + static bool forced_shmem_thp() { return _shmem_thp_support.is_forced(); } + static void initialize(); static void print_on(outputStream* os); }; diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp index 7bde97de9077f..3fc025e510085 100644 --- a/src/hotspot/os/linux/os_linux.cpp +++ b/src/hotspot/os/linux/os_linux.cpp @@ -176,6 +176,8 @@ bool os::Linux::_supports_fast_thread_cpu_time = false; const char * os::Linux::_libc_version = nullptr; const char * os::Linux::_libpthread_version = nullptr; +bool os::Linux::_thp_requested{false}; + #ifdef __GLIBC__ // We want to be buildable and runnable on older and newer glibcs, so resolve both // mallinfo and mallinfo2 dynamically. @@ -2213,6 +2215,8 @@ void os::Linux::print_system_memory_info(outputStream* st) { // https://www.kernel.org/doc/Documentation/vm/transhuge.txt _print_ascii_file_h("/sys/kernel/mm/transparent_hugepage/enabled", "/sys/kernel/mm/transparent_hugepage/enabled", st); + _print_ascii_file_h("/sys/kernel/mm/transparent_hugepage/shmem_enabled", + "/sys/kernel/mm/transparent_hugepage/shmem_enabled", st); _print_ascii_file_h("/sys/kernel/mm/transparent_hugepage/defrag (defrag/compaction efforts parameter)", "/sys/kernel/mm/transparent_hugepage/defrag", st); } @@ -2909,11 +2913,15 @@ void os::pd_commit_memory_or_exit(char* addr, size_t size, } } +void os::Linux::madvise_transparent_huge_pages(void* addr, size_t bytes) { + // We don't check the return value: madvise(MADV_HUGEPAGE) may not + // be supported or the memory may already be backed by huge pages. + ::madvise(addr, bytes, MADV_HUGEPAGE); +} + void os::pd_realign_memory(char *addr, size_t bytes, size_t alignment_hint) { - if (UseTransparentHugePages && alignment_hint > vm_page_size()) { - // We don't check the return value: madvise(MADV_HUGEPAGE) may not - // be supported or the memory may already be backed by huge pages. - ::madvise(addr, bytes, MADV_HUGEPAGE); + if (Linux::should_madvise_anonymous_thps() && alignment_hint > vm_page_size()) { + Linux::madvise_transparent_huge_pages(addr, bytes); } } @@ -3730,7 +3738,7 @@ static void set_coredump_filter(CoredumpFilterBit bit) { static size_t _large_page_size = 0; -void warn_no_large_pages_configured() { +static void warn_no_large_pages_configured() { if (!FLAG_IS_DEFAULT(UseLargePages)) { log_warning(pagesize)("UseLargePages disabled, no large pages configured and available on the system."); } @@ -3747,15 +3755,56 @@ struct LargePageInitializationLoggerMark { os::page_sizes().print_on(&ls); ls.print_cr(". Default large page size: " EXACTFMT ".", EXACTFMTARGS(os::large_page_size())); } else { - ls.print("Large page support disabled."); + ls.print("Large page support %sdisabled.", uses_zgc_shmem_thp() ? "partially " : ""); } } } + + static bool uses_zgc_shmem_thp() { + return UseZGC && + // If user requested THP + ((os::Linux::thp_requested() && HugePages::supports_shmem_thp()) || + // If OS forced THP + HugePages::forced_shmem_thp()); + } }; +static bool validate_thps_configured() { + assert(UseTransparentHugePages, "Sanity"); + assert(os::Linux::thp_requested(), "Sanity"); + + if (UseZGC) { + if (!HugePages::supports_shmem_thp()) { + log_warning(pagesize)("Shared memory transparent huge pages are not enabled in the OS. " + "Set /sys/kernel/mm/transparent_hugepage/shmem_enabled to 'advise' to enable them."); + // UseTransparentHugePages has historically been tightly coupled with + // anonymous THPs. Fall through here and let the validity be determined + // by the OS configuration for anonymous THPs. ZGC doesn't use the flag + // but instead checks os::Linux::thp_requested(). + } + } + + if (!HugePages::supports_thp()) { + log_warning(pagesize)("Anonymous transparent huge pages are not enabled in the OS. " + "Set /sys/kernel/mm/transparent_hugepage/enabled to 'madvise' to enable them."); + log_warning(pagesize)("UseTransparentHugePages disabled, transparent huge pages are not supported by the operating system."); + return false; + } + + return true; +} + void os::large_page_init() { + Linux::large_page_init(); +} + +void os::Linux::large_page_init() { LargePageInitializationLoggerMark logger; + // Decide if the user asked for THPs before we update UseTransparentHugePages. + const bool large_pages_turned_off = !FLAG_IS_DEFAULT(UseLargePages) && !UseLargePages; + _thp_requested = UseTransparentHugePages && !large_pages_turned_off; + // Query OS information first. HugePages::initialize(); @@ -3774,7 +3823,7 @@ void os::large_page_init() { FLAG_SET_ERGO(THPStackMitigation, false); // Mitigation not needed } - // 1) Handle the case where we do not want to use huge pages + // Handle the case where we do not want to use huge pages if (!UseLargePages && !UseTransparentHugePages) { // Not using large pages. @@ -3787,17 +3836,16 @@ void os::large_page_init() { return; } - // 2) check if the OS supports THPs resp. static hugepages. - if (UseTransparentHugePages && !HugePages::supports_thp()) { - if (!FLAG_IS_DEFAULT(UseTransparentHugePages)) { - log_warning(pagesize)("UseTransparentHugePages disabled, transparent huge pages are not supported by the operating system."); - } + // Check if the OS supports THPs + if (UseTransparentHugePages && !validate_thps_configured()) { UseLargePages = UseTransparentHugePages = false; return; } + + // Check if the OS supports static hugepages. if (!UseTransparentHugePages && !HugePages::supports_static_hugepages()) { warn_no_large_pages_configured(); - UseLargePages = UseTransparentHugePages = false; + UseLargePages = false; return; } @@ -3805,7 +3853,7 @@ void os::large_page_init() { // In THP mode: // - os::large_page_size() is the *THP page size* // - os::pagesizes() has two members, the THP page size and the system page size - assert(HugePages::supports_thp() && HugePages::thp_pagesize() > 0, "Missing OS info"); + assert(HugePages::thp_pagesize() > 0, "Missing OS info"); _large_page_size = HugePages::thp_pagesize(); _page_sizes.add(_large_page_size); _page_sizes.add(os::vm_page_size()); @@ -3830,12 +3878,12 @@ void os::large_page_init() { // doesn't match an available page size set _large_page_size to default_large_page_size // and use it as the maximum. if (FLAG_IS_DEFAULT(LargePageSizeInBytes) || - LargePageSizeInBytes == 0 || - LargePageSizeInBytes == default_large_page_size) { - large_page_size = default_large_page_size; - log_info(pagesize)("Using the default large page size: " SIZE_FORMAT "%s", - byte_size_in_exact_unit(large_page_size), - exact_unit_for_byte_size(large_page_size)); + LargePageSizeInBytes == 0 || + LargePageSizeInBytes == default_large_page_size) { + large_page_size = default_large_page_size; + log_info(pagesize)("Using the default large page size: " SIZE_FORMAT "%s", + byte_size_in_exact_unit(large_page_size), + exact_unit_for_byte_size(large_page_size)); } else { if (all_large_pages.contains(LargePageSizeInBytes)) { large_page_size = LargePageSizeInBytes; @@ -3860,7 +3908,6 @@ void os::large_page_init() { if (!hugetlbfs_sanity_check(large_page_size)) { warn_no_large_pages_configured(); UseLargePages = false; - UseTransparentHugePages = false; return; } @@ -3877,6 +3924,18 @@ void os::large_page_init() { set_coredump_filter(LARGEPAGES_BIT); } +bool os::Linux::thp_requested() { + return _thp_requested; +} + +bool os::Linux::should_madvise_anonymous_thps() { + return _thp_requested && HugePages::thp_mode() == THPMode::madvise; +} + +bool os::Linux::should_madvise_shmem_thps() { + return _thp_requested && HugePages::shmem_thp_mode() == ShmemTHPMode::advise; +} + static void log_on_commit_special_failure(char* req_addr, size_t bytes, size_t page_size, int error) { assert(error == ENOMEM, "Only expect to fail if no memory is available"); @@ -3891,7 +3950,8 @@ static bool commit_memory_special(size_t bytes, size_t page_size, char* req_addr, bool exec) { - assert(UseLargePages && !UseTransparentHugePages, "Should only get here for static hugepage mode (+UseLargePages)"); + assert(UseLargePages, "Should only get here for huge pages"); + assert(!UseTransparentHugePages, "Should only get here for static hugepage mode"); assert(is_aligned(bytes, page_size), "Unaligned size"); assert(is_aligned(req_addr, page_size), "Unaligned address"); assert(req_addr != nullptr, "Must have a requested address for special mappings"); diff --git a/src/hotspot/os/linux/os_linux.hpp b/src/hotspot/os/linux/os_linux.hpp index e8f6f486489d7..4b2ccf8e370db 100644 --- a/src/hotspot/os/linux/os_linux.hpp +++ b/src/hotspot/os/linux/os_linux.hpp @@ -175,6 +175,17 @@ class os::Linux { // fields will contain -1. static bool query_process_memory_info(meminfo_t* info); + // Tells if the user asked for transparent huge pages. + static bool _thp_requested; + + static void large_page_init(); + + static bool thp_requested(); + static bool should_madvise_anonymous_thps(); + static bool should_madvise_shmem_thps(); + + static void madvise_transparent_huge_pages(void* addr, size_t bytes); + // Stack repair handling // none present diff --git a/src/hotspot/share/gc/z/zLargePages.cpp b/src/hotspot/share/gc/z/zLargePages.cpp index 88656d1538115..a65bf3b10ebad 100644 --- a/src/hotspot/share/gc/z/zLargePages.cpp +++ b/src/hotspot/share/gc/z/zLargePages.cpp @@ -27,6 +27,7 @@ #include "runtime/os.hpp" ZLargePages::State ZLargePages::_state; +bool ZLargePages::_os_enforced_transparent_mode; void ZLargePages::initialize() { pd_initialize(); @@ -41,9 +42,17 @@ const char* ZLargePages::to_string() { return "Enabled (Explicit)"; case Transparent: - return "Enabled (Transparent)"; + if (_os_enforced_transparent_mode) { + return "Enabled (Transparent, OS enforced)"; + } else { + return "Enabled (Transparent)"; + } default: - return "Disabled"; + if (_os_enforced_transparent_mode) { + return "Disabled (OS enforced)"; + } else { + return "Disabled"; + } } } diff --git a/src/hotspot/share/gc/z/zLargePages.hpp b/src/hotspot/share/gc/z/zLargePages.hpp index 9f7c8310e50f4..72b9e85095c78 100644 --- a/src/hotspot/share/gc/z/zLargePages.hpp +++ b/src/hotspot/share/gc/z/zLargePages.hpp @@ -35,6 +35,7 @@ class ZLargePages : public AllStatic { }; static State _state; + static bool _os_enforced_transparent_mode; static void pd_initialize(); diff --git a/test/hotspot/jtreg/runtime/os/HugePageConfiguration.java b/test/hotspot/jtreg/runtime/os/HugePageConfiguration.java index f475af4c2de5c..4607f1bcf85fa 100644 --- a/test/hotspot/jtreg/runtime/os/HugePageConfiguration.java +++ b/test/hotspot/jtreg/runtime/os/HugePageConfiguration.java @@ -25,7 +25,6 @@ import jdk.test.lib.process.OutputAnalyzer; import java.io.*; -import java.util.Set; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -68,6 +67,9 @@ enum THPMode {always, never, madvise} THPMode _thpMode; long _thpPageSize; + enum ShmemTHPMode {always, within_size, advise, never, deny, force, unknown} + ShmemTHPMode _shmemThpMode; + public Set getStaticHugePageConfigurations() { return _staticHugePageConfigurations; } @@ -89,16 +91,21 @@ public boolean supportsTHP() { return _thpMode == THPMode.always || _thpMode == THPMode.madvise; } + public ShmemTHPMode getShmemThpMode() { + return _shmemThpMode; + } + // Returns true if static huge pages are supported (whether or not we have configured the pools) public boolean supportsStaticHugePages() { return _staticDefaultHugePageSize > 0 && _staticHugePageConfigurations.size() > 0; } - public HugePageConfiguration(Set _staticHugePageConfigurations, long _staticDefaultHugePageSize, THPMode _thpMode, long _thpPageSize) { + public HugePageConfiguration(Set _staticHugePageConfigurations, long _staticDefaultHugePageSize, THPMode _thpMode, long _thpPageSize, ShmemTHPMode _shmemThpMode) { this._staticHugePageConfigurations = _staticHugePageConfigurations; this._staticDefaultHugePageSize = _staticDefaultHugePageSize; this._thpMode = _thpMode; this._thpPageSize = _thpPageSize; + this._shmemThpMode = _shmemThpMode; } @Override @@ -108,6 +115,7 @@ public String toString() { ", _staticDefaultHugePageSize=" + _staticDefaultHugePageSize + ", _thpMode=" + _thpMode + ", _thpPageSize=" + _thpPageSize + + ", _shmemThpMode=" + _shmemThpMode + '}'; } @@ -117,12 +125,12 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) return false; HugePageConfiguration that = (HugePageConfiguration) o; return _staticDefaultHugePageSize == that._staticDefaultHugePageSize && _thpPageSize == that._thpPageSize && - Objects.equals(_staticHugePageConfigurations, that._staticHugePageConfigurations) && _thpMode == that._thpMode; + Objects.equals(_staticHugePageConfigurations, that._staticHugePageConfigurations) && _thpMode == that._thpMode && + _shmemThpMode == that._shmemThpMode; } private static long readDefaultHugePageSizeFromOS() { Pattern pat = Pattern.compile("Hugepagesize: *(\\d+) +kB"); - long result = 0; try (Scanner scanner = new Scanner(new File("/proc/meminfo"))) { while (scanner.hasNextLine()) { Matcher mat = pat.matcher(scanner.nextLine()); @@ -199,12 +207,41 @@ private static long readTHPPageSizeFromOS() { return pagesize; } + private static ShmemTHPMode readShmemTHPModeFromOS() { + ShmemTHPMode mode = ShmemTHPMode.unknown; + String file = "/sys/kernel/mm/transparent_hugepage/shmem_enabled"; + try (FileReader fr = new FileReader(file); + BufferedReader reader = new BufferedReader(fr)) { + String s = reader.readLine(); + if (s.contains("[always]")) { + mode = ShmemTHPMode.always; + } else if (s.contains("[within_size]")) { + mode = ShmemTHPMode.within_size; + } else if (s.contains("[advise]")) { + mode = ShmemTHPMode.advise; + } else if (s.contains("[never]")) { + mode = ShmemTHPMode.never; + } else if (s.contains("[deny]")) { + mode = ShmemTHPMode.deny; + } else if (s.contains("[force]")) { + mode = ShmemTHPMode.force; + } else { + throw new RuntimeException("Unexpected content of " + file + ": " + s); + } + } catch (IOException e) { + System.out.println("Failed to read " + file); + // Happens when the kernel is not built to support THPs. + } + return mode; + } + // Fill object with info read from proc file system public static HugePageConfiguration readFromOS() throws IOException { return new HugePageConfiguration(readSupportedHugePagesFromOS(), readDefaultHugePageSizeFromOS(), readTHPModeFromOS(), - readTHPPageSizeFromOS()); + readTHPPageSizeFromOS(), + readShmemTHPModeFromOS()); } public static long parseSIUnit(String num, String unit) { @@ -227,14 +264,18 @@ public static HugePageConfiguration readFromJVMLog(OutputAnalyzer output) { // [0.001s][info][pagesize] Transparent hugepage (THP) support: // [0.001s][info][pagesize] THP mode: madvise // [0.001s][info][pagesize] THP pagesize: 2M + // [0.001s][info][pagesize] Shared memory transparent hugepage (THP) support: + // [0.001s][info][pagesize] Shared memory THP mode: always TreeSet staticHugePageConfigs = new TreeSet<>(); long defaultHugepageSize = 0; THPMode thpMode = THPMode.never; + ShmemTHPMode shmemThpMode = ShmemTHPMode.unknown; long thpPageSize = 0; Pattern patternHugepageSize = Pattern.compile(".*\\[pagesize] *hugepage size: (\\d+)([KMG])"); Pattern patternDefaultHugepageSize = Pattern.compile(".*\\[pagesize] *default hugepage size: (\\d+)([KMG]) *"); - Pattern patternTHPPageSize = Pattern.compile(".*\\[pagesize] *THP pagesize: (\\d+)([KMG])"); - Pattern patternTHPMode = Pattern.compile(".*\\[pagesize] *THP mode: (\\S+)"); + Pattern patternTHPPageSize = Pattern.compile(".*\\[pagesize] * THP pagesize: (\\d+)([KMG])"); + Pattern patternTHPMode = Pattern.compile(".*\\[pagesize] * THP mode: (\\S+)"); + Pattern patternShmemTHPMode = Pattern.compile(".*\\[pagesize] *Shared memory THP mode: (\\S+)"); List lines = output.asLines(); for (String s : lines) { Matcher mat = patternHugepageSize.matcher(s); @@ -262,9 +303,13 @@ public static HugePageConfiguration readFromJVMLog(OutputAnalyzer output) { if (mat.matches()) { thpMode = THPMode.valueOf(mat.group(1)); } + mat = patternShmemTHPMode.matcher(s); + if (mat.matches()) { + shmemThpMode = ShmemTHPMode.valueOf(mat.group(1)); + } } - return new HugePageConfiguration(staticHugePageConfigs, defaultHugepageSize, thpMode, thpPageSize); + return new HugePageConfiguration(staticHugePageConfigs, defaultHugepageSize, thpMode, thpPageSize, shmemThpMode); } } diff --git a/test/hotspot/jtreg/runtime/os/TestTracePageSizes.java b/test/hotspot/jtreg/runtime/os/TestTracePageSizes.java index 805b9732afbac..e4ad27b46e5db 100644 --- a/test/hotspot/jtreg/runtime/os/TestTracePageSizes.java +++ b/test/hotspot/jtreg/runtime/os/TestTracePageSizes.java @@ -143,10 +143,12 @@ static class SmapsParser { // or the end of file is encountered. static final Pattern SECTION_START_PATT = Pattern.compile("^([a-f0-9]+)-([a-f0-9]+) [\\-rwpsx]{4}.*"); static final Pattern KERNEL_PAGESIZE_PATT = Pattern.compile("^KernelPageSize:\\s*(\\d*) kB"); + static final Pattern THP_ELIGIBLE_PATT = Pattern.compile("^THPeligible:\\s+(\\d*)"); static final Pattern VMFLAGS_PATT = Pattern.compile("^VmFlags: ([\\w\\? ]*)"); String start; String end; String ps; + String thpEligible; String vmFlags; int lineno; @@ -154,12 +156,13 @@ void reset() { start = null; end = null; ps = null; + thpEligible = null; vmFlags = null; } public void finish() { if (start != null) { - RangeWithPageSize range = new RangeWithPageSize(start, end, ps, vmFlags); + RangeWithPageSize range = new RangeWithPageSize(start, end, ps, thpEligible, vmFlags); ranges.add(range); debug("Added range: " + range); reset(); @@ -167,10 +170,15 @@ public void finish() { } void eatNext(String line) { - debug("" + (lineno++) + " " + line); + // For better debugging experience call finish here before the debug() call. Matcher matSectionStart = SECTION_START_PATT.matcher(line); if (matSectionStart.matches()) { finish(); + } + + debug("" + (lineno++) + " " + line); + + if (matSectionStart.matches()) { start = matSectionStart.group(1); end = matSectionStart.group(2); ps = null; @@ -182,6 +190,11 @@ void eatNext(String line) { ps = matKernelPageSize.group(1); return; } + Matcher matTHPEligible = THP_ELIGIBLE_PATT.matcher(line); + if (matTHPEligible.matches()) { + thpEligible = matTHPEligible.group(1); + return; + } Matcher matVmFlags = VMFLAGS_PATT.matcher(line); if (matVmFlags.matches()) { vmFlags = matVmFlags.group(1); @@ -326,15 +339,18 @@ class RangeWithPageSize { private long start; private long end; private long pageSize; + private boolean thpEligible; private boolean vmFlagHG; private boolean vmFlagHT; + private boolean isTHP; - public RangeWithPageSize(String start, String end, String pageSize, String vmFlags) { + public RangeWithPageSize(String start, String end, String pageSize, String thpEligible, String vmFlags) { // Note: since we insist on kernels >= 3.8, all the following information should be present // (none of the input strings be null). this.start = Long.parseUnsignedLong(start, 16); this.end = Long.parseUnsignedLong(end, 16); this.pageSize = Long.parseLong(pageSize); + this.thpEligible = Integer.parseInt(thpEligible) == 1; vmFlagHG = false; vmFlagHT = false; @@ -348,6 +364,13 @@ public RangeWithPageSize(String start, String end, String pageSize, String vmFla vmFlagHG = true; } } + + // When the THP policy is 'always' instead of 'madvise, the vmFlagHG property is false. + // Check the THPeligible property instead. + isTHP = !vmFlagHT && this.thpEligible; + + // vmFlagHG should imply isTHP + assert !vmFlagHG || isTHP; } public long getPageSize() { @@ -355,7 +378,7 @@ public long getPageSize() { } public boolean isTransparentHuge() { - return vmFlagHG; + return isTHP; } public boolean isExplicitHuge() { @@ -368,6 +391,6 @@ public boolean includes(long addr) { public String toString() { return "[" + Long.toHexString(start) + ", " + Long.toHexString(end) + ") " + - "pageSize=" + pageSize + "KB isTHP=" + vmFlagHG + " isHUGETLB=" + vmFlagHT; + "pageSize=" + pageSize + "KB isTHP=" + isTHP + " isHUGETLB=" + vmFlagHT; } } From 2830dd2a7d3b933fbddca64ca0ac7a91e7ab0775 Mon Sep 17 00:00:00 2001 From: Aleksey Shipilev Date: Wed, 6 Dec 2023 21:17:19 +0000 Subject: [PATCH 118/143] 8321410: Shenandoah: Remove ShenandoahSuspendibleWorkers flag Reviewed-by: rkennke --- .../shenandoah/shenandoahConcurrentMark.cpp | 2 +- .../share/gc/shenandoah/shenandoahHeap.cpp | 12 +++------ .../gc/shenandoah/shenandoahHeap.inline.hpp | 2 +- .../share/gc/shenandoah/shenandoahMark.cpp | 2 +- .../gc/shenandoah/shenandoah_globals.hpp | 3 --- .../jtreg/gc/shenandoah/TestAllocObjects.java | 26 ------------------- 6 files changed, 7 insertions(+), 40 deletions(-) diff --git a/src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp b/src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp index e04c55d362d00..f3c72dfc0b10a 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp @@ -57,7 +57,7 @@ class ShenandoahConcurrentMarkingTask : public WorkerTask { void work(uint worker_id) { ShenandoahHeap* heap = ShenandoahHeap::heap(); ShenandoahConcurrentWorkerSession worker_session(worker_id); - ShenandoahSuspendibleThreadSetJoiner stsj(ShenandoahSuspendibleWorkers); + ShenandoahSuspendibleThreadSetJoiner stsj; ShenandoahReferenceProcessor* rp = heap->ref_processor(); assert(rp != nullptr, "need reference processor"); StringDedup::Requests requests; diff --git a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp index 367c1262c1add..d1b2a676999f5 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp @@ -1023,7 +1023,7 @@ class ShenandoahEvacuationTask : public WorkerTask { void work(uint worker_id) { if (_concurrent) { ShenandoahConcurrentWorkerSession worker_session(worker_id); - ShenandoahSuspendibleThreadSetJoiner stsj(ShenandoahSuspendibleWorkers); + ShenandoahSuspendibleThreadSetJoiner stsj; ShenandoahEvacOOMScope oom_evac_scope; do_work(); } else { @@ -2056,7 +2056,7 @@ class ShenandoahUpdateHeapRefsTask : public WorkerTask { void work(uint worker_id) { if (CONCURRENT) { ShenandoahConcurrentWorkerSession worker_session(worker_id); - ShenandoahSuspendibleThreadSetJoiner stsj(ShenandoahSuspendibleWorkers); + ShenandoahSuspendibleThreadSetJoiner stsj; do_work(); } else { ShenandoahParallelWorkerSession worker_session(worker_id); @@ -2238,15 +2238,11 @@ bool ShenandoahHeap::uncommit_bitmap_slice(ShenandoahHeapRegion *r) { } void ShenandoahHeap::safepoint_synchronize_begin() { - if (ShenandoahSuspendibleWorkers) { - SuspendibleThreadSet::synchronize(); - } + SuspendibleThreadSet::synchronize(); } void ShenandoahHeap::safepoint_synchronize_end() { - if (ShenandoahSuspendibleWorkers) { - SuspendibleThreadSet::desynchronize(); - } + SuspendibleThreadSet::desynchronize(); } void ShenandoahHeap::entry_uncommit(double shrink_before, size_t shrink_until) { diff --git a/src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp b/src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp index 0c21fdd486b02..87c3ea50ba66f 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp @@ -256,7 +256,7 @@ inline bool ShenandoahHeap::cancelled_gc() const { } inline bool ShenandoahHeap::check_cancelled_gc_and_yield(bool sts_active) { - if (sts_active && ShenandoahSuspendibleWorkers && !cancelled_gc()) { + if (sts_active && !cancelled_gc()) { if (SuspendibleThreadSet::should_yield()) { SuspendibleThreadSet::yield(); } diff --git a/src/hotspot/share/gc/shenandoah/shenandoahMark.cpp b/src/hotspot/share/gc/shenandoah/shenandoahMark.cpp index ffae4f068bc4b..4725b8c3dfae7 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahMark.cpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahMark.cpp @@ -185,7 +185,7 @@ void ShenandoahMark::mark_loop_work(T* cl, ShenandoahLiveData* live_data, uint w if (work == 0) { // No work encountered in current stride, try to terminate. // Need to leave the STS here otherwise it might block safepoints. - ShenandoahSuspendibleThreadSetLeaver stsl(CANCELLABLE && ShenandoahSuspendibleWorkers); + ShenandoahSuspendibleThreadSetLeaver stsl(CANCELLABLE); ShenandoahTerminatorTerminator tt(heap); if (terminator->offer_termination(&tt)) return; } diff --git a/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp b/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp index fae08c1e41859..91114906d1960 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp +++ b/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp @@ -331,9 +331,6 @@ "How many times to maximum attempt to flush SATB buffers at the " \ "end of concurrent marking.") \ \ - product(bool, ShenandoahSuspendibleWorkers, true, EXPERIMENTAL, \ - "Suspend concurrent GC worker threads at safepoints") \ - \ product(bool, ShenandoahSATBBarrier, true, DIAGNOSTIC, \ "Turn on/off SATB barriers in Shenandoah") \ \ diff --git a/test/hotspot/jtreg/gc/shenandoah/TestAllocObjects.java b/test/hotspot/jtreg/gc/shenandoah/TestAllocObjects.java index 002991196c7c5..32178555c9f6b 100644 --- a/test/hotspot/jtreg/gc/shenandoah/TestAllocObjects.java +++ b/test/hotspot/jtreg/gc/shenandoah/TestAllocObjects.java @@ -76,12 +76,6 @@ * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive * TestAllocObjects - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahSuspendibleWorkers - * TestAllocObjects - * */ /* @@ -97,11 +91,6 @@ * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive * TestAllocObjects - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive - * -XX:+ShenandoahSuspendibleWorkers - * TestAllocObjects */ /* @@ -112,11 +101,6 @@ * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=static * TestAllocObjects - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=static - * -XX:+ShenandoahSuspendibleWorkers - * TestAllocObjects */ /* @@ -127,11 +111,6 @@ * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact * TestAllocObjects - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact - * -XX:+ShenandoahSuspendibleWorkers - * TestAllocObjects */ /* @@ -177,11 +156,6 @@ * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu * TestAllocObjects - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * -XX:+ShenandoahSuspendibleWorkers - * TestAllocObjects */ public class TestAllocObjects { From b02fc8681e57d75b5e05ce98216c53ff4d1e3b5d Mon Sep 17 00:00:00 2001 From: Aleksey Shipilev Date: Wed, 6 Dec 2023 21:19:24 +0000 Subject: [PATCH 119/143] 8321122: Shenandoah: Remove ShenandoahLoopOptsAfterExpansion flag Reviewed-by: kdnilsen, roland, rkennke --- .../gc/shenandoah/c2/shenandoahSupport.cpp | 17 +++++++---------- .../share/gc/shenandoah/shenandoah_globals.hpp | 3 --- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp index 07dd900d989fe..d0de328a7b82d 100644 --- a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp +++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp @@ -50,21 +50,18 @@ bool ShenandoahBarrierC2Support::expand(Compile* C, PhaseIterGVN& igvn) { state->load_reference_barriers_count()) > 0) { assert(C->post_loop_opts_phase(), "no loop opts allowed"); C->reset_post_loop_opts_phase(); // ... but we know what we are doing - bool attempt_more_loopopts = ShenandoahLoopOptsAfterExpansion; C->clear_major_progress(); PhaseIdealLoop::optimize(igvn, LoopOptsShenandoahExpand); if (C->failing()) return false; - PhaseIdealLoop::verify(igvn); - if (attempt_more_loopopts) { - C->set_major_progress(); - if (!C->optimize_loops(igvn, LoopOptsShenandoahPostExpand)) { - return false; - } - C->clear_major_progress(); - C->process_for_post_loop_opts_igvn(igvn); - if (C->failing()) return false; + C->set_major_progress(); + if (!C->optimize_loops(igvn, LoopOptsShenandoahPostExpand)) { + return false; } + C->clear_major_progress(); + C->process_for_post_loop_opts_igvn(igvn); + if (C->failing()) return false; + C->set_post_loop_opts_phase(); // now for real! } return true; diff --git a/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp b/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp index 91114906d1960..1d22eae207951 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp +++ b/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp @@ -352,9 +352,6 @@ develop(bool, ShenandoahVerifyOptoBarriers, trueInDebug, \ "Verify no missing barriers in C2.") \ \ - product(bool, ShenandoahLoopOptsAfterExpansion, true, DIAGNOSTIC, \ - "Attempt more loop opts after barrier expansion.") \ - \ // end of GC_SHENANDOAH_FLAGS From 781775d73b4dd0b241870be50c921242f561b8a1 Mon Sep 17 00:00:00 2001 From: Joe Darcy Date: Wed, 6 Dec 2023 21:24:56 +0000 Subject: [PATCH 120/143] 8321484: Make TestImplicitlyDeclaredClasses release independent Reviewed-by: vromero --- .../TestImplicitlyDeclaredClasses.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/langtools/jdk/javadoc/doclet/testImplicitlyDeclaredClasses/TestImplicitlyDeclaredClasses.java b/test/langtools/jdk/javadoc/doclet/testImplicitlyDeclaredClasses/TestImplicitlyDeclaredClasses.java index 20cd55e07bcca..80b2a0685ff47 100644 --- a/test/langtools/jdk/javadoc/doclet/testImplicitlyDeclaredClasses/TestImplicitlyDeclaredClasses.java +++ b/test/langtools/jdk/javadoc/doclet/testImplicitlyDeclaredClasses/TestImplicitlyDeclaredClasses.java @@ -65,7 +65,7 @@ public void test(Path base) throws IOException { .collect(Collectors.joining("\n"))); // TODO: remove preview-related options once "Implicitly Declared // Classes and Instance Main Methods" has been standardized - javadoc("--enable-preview", "--source=22", + javadoc("--enable-preview", "--source=" + Runtime.version().feature(), "-d", base.resolve("out-" + index).toString(), src.toString()); From 82796bdebbf56b98ec97a6d572ed68c2842f60c6 Mon Sep 17 00:00:00 2001 From: Jim Laskey Date: Wed, 6 Dec 2023 21:55:05 +0000 Subject: [PATCH 121/143] 8320570: NegativeArraySizeException decoding >1G UTF8 bytes with non-ascii characters Reviewed-by: rriggs --- .../share/classes/java/lang/String.java | 14 ++-- .../String/CompactString/NegativeSize.java | 75 +++++++++++++++++++ 2 files changed, 82 insertions(+), 7 deletions(-) create mode 100644 test/jdk/java/lang/String/CompactString/NegativeSize.java diff --git a/src/java.base/share/classes/java/lang/String.java b/src/java.base/share/classes/java/lang/String.java index 5869e086191fa..2245792999aae 100644 --- a/src/java.base/share/classes/java/lang/String.java +++ b/src/java.base/share/classes/java/lang/String.java @@ -592,7 +592,7 @@ private String(Charset charset, byte[] bytes, int offset, int length) { this.coder = LATIN1; return; } - byte[] utf16 = new byte[length << 1]; + byte[] utf16 = StringUTF16.newBytesFor(length); StringLatin1.inflate(latin1, 0, utf16, 0, dp); dp = decodeUTF8_UTF16(latin1, sp, length, utf16, dp, true); if (dp != length) { @@ -601,7 +601,7 @@ private String(Charset charset, byte[] bytes, int offset, int length) { this.value = utf16; this.coder = UTF16; } else { // !COMPACT_STRINGS - byte[] dst = new byte[length << 1]; + byte[] dst = StringUTF16.newBytesFor(length); int dp = decodeUTF8_UTF16(bytes, offset, offset + length, dst, 0, true); if (dp != length) { dst = Arrays.copyOf(dst, dp << 1); @@ -622,7 +622,7 @@ private String(Charset charset, byte[] bytes, int offset, int length) { this.value = Arrays.copyOfRange(bytes, offset, offset + length); this.coder = LATIN1; } else { - byte[] dst = new byte[length << 1]; + byte[] dst = StringUTF16.newBytesFor(length); int dp = 0; while (dp < length) { int b = bytes[offset++]; @@ -763,15 +763,15 @@ static String newStringUTF8NoRepl(byte[] bytes, int offset, int length, boolean return new String(dst, LATIN1); } if (dp == 0) { - dst = new byte[length << 1]; + dst = StringUTF16.newBytesFor(length); } else { - byte[] buf = new byte[length << 1]; + byte[] buf = StringUTF16.newBytesFor(length); StringLatin1.inflate(dst, 0, buf, 0, dp); dst = buf; } dp = decodeUTF8_UTF16(bytes, offset, sl, dst, dp, false); } else { // !COMPACT_STRINGS - dst = new byte[length << 1]; + dst = StringUTF16.newBytesFor(length); dp = decodeUTF8_UTF16(bytes, offset, offset + length, dst, 0, false); } if (dp != length) { @@ -1316,7 +1316,7 @@ private static byte[] encodeUTF8(byte coder, byte[] val, boolean doReplace) { } int dp = 0; - byte[] dst = new byte[val.length << 1]; + byte[] dst = StringUTF16.newBytesFor(val.length); for (byte c : val) { if (c < 0) { dst[dp++] = (byte) (0xc0 | ((c & 0xff) >> 6)); diff --git a/test/jdk/java/lang/String/CompactString/NegativeSize.java b/test/jdk/java/lang/String/CompactString/NegativeSize.java new file mode 100644 index 0000000000000..a218c5f18f8d7 --- /dev/null +++ b/test/jdk/java/lang/String/CompactString/NegativeSize.java @@ -0,0 +1,75 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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.nio.charset.StandardCharsets; + +/* + * @test + * @bug 8077559 + * @summary Tests Compact String for negative size. + * @requires vm.bits == 64 & os.maxMemory >= 4G + * @run main/othervm -XX:+CompactStrings -Xmx4g NegativeSize + * @run main/othervm -XX:-CompactStrings -Xmx4g NegativeSize + */ + +// In Java8: java.lang.OutOfMemoryError: Java heap space +// In Java9+: was java.lang.NegativeArraySizeException: -1894967266 +public class NegativeSize { + + static byte[] generateData() { + int asciisize = 1_200_000_000; + byte[] nonAscii = "非アスキー".getBytes(); + int nonAsciiSize = nonAscii.length; + // 1 GB + byte[] arr = new byte[asciisize + nonAsciiSize]; + for (int i=0; i Date: Wed, 6 Dec 2023 21:57:05 +0000 Subject: [PATCH 122/143] 8320443: [macos] Test java/awt/print/PrinterJob/PrinterDevice.java fails on macOS Reviewed-by: aivanov, azvegint --- .../classes/sun/lwawt/macosx/CPrinterJob.java | 4 + .../share/classes/sun/print/PSPrinterJob.java | 2 +- .../classes/sun/print/RasterPrinterJob.java | 4 +- .../awt/print/PrinterJob/PrinterDevice.java | 99 ++++++++++++------- 4 files changed, 69 insertions(+), 40 deletions(-) diff --git a/src/java.desktop/macosx/classes/sun/lwawt/macosx/CPrinterJob.java b/src/java.desktop/macosx/classes/sun/lwawt/macosx/CPrinterJob.java index 625494efc999f..407af09810c50 100644 --- a/src/java.desktop/macosx/classes/sun/lwawt/macosx/CPrinterJob.java +++ b/src/java.desktop/macosx/classes/sun/lwawt/macosx/CPrinterJob.java @@ -823,6 +823,10 @@ private Rectangle2D printAndGetPageFormatArea(final Printable printable, final G public void run() { synchronized (ret) { try { + Paper paper = pageFormat.getPaper(); + double width = Math.rint(paper.getWidth()); + double height = Math.rint(paper.getHeight()); + setGraphicsConfigInfo(((Graphics2D)graphics).getTransform(), width, height); int pageResult = printable.print( graphics, pageFormat, pageIndex); if (pageResult != Printable.NO_SUCH_PAGE) { diff --git a/src/java.desktop/share/classes/sun/print/PSPrinterJob.java b/src/java.desktop/share/classes/sun/print/PSPrinterJob.java index 18c8a663d8ec0..8973467fb9771 100644 --- a/src/java.desktop/share/classes/sun/print/PSPrinterJob.java +++ b/src/java.desktop/share/classes/sun/print/PSPrinterJob.java @@ -264,7 +264,7 @@ public class PSPrinterJob extends RasterPrinterJob { private AffineTransform mLastTransform; private double xres = PS_XRES; - private double yres = PS_XRES; + private double yres = PS_YRES; /* non-null if printing EPS for Java Plugin */ private EPSPrinter epsPrinter = null; diff --git a/src/java.desktop/share/classes/sun/print/RasterPrinterJob.java b/src/java.desktop/share/classes/sun/print/RasterPrinterJob.java index b7dcba05cb00d..0cf9c16f166a0 100644 --- a/src/java.desktop/share/classes/sun/print/RasterPrinterJob.java +++ b/src/java.desktop/share/classes/sun/print/RasterPrinterJob.java @@ -2092,8 +2092,8 @@ protected int getNoncollatedCopies() { private AffineTransform defaultDeviceTransform; private PrinterGraphicsConfig pgConfig; - synchronized void setGraphicsConfigInfo(AffineTransform at, - double pw, double ph) { + protected synchronized void setGraphicsConfigInfo(AffineTransform at, + double pw, double ph) { Point2D.Double pt = new Point2D.Double(pw, ph); at.transform(pt, pt); diff --git a/test/jdk/java/awt/print/PrinterJob/PrinterDevice.java b/test/jdk/java/awt/print/PrinterJob/PrinterDevice.java index 418076105881e..8e1b30aaf94c9 100644 --- a/test/jdk/java/awt/print/PrinterJob/PrinterDevice.java +++ b/test/jdk/java/awt/print/PrinterJob/PrinterDevice.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2023, Oracle and/or its affiliates. All rights reserved. * 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,22 +23,34 @@ /* * - * @bug 4276227 + * @test + * @bug 4276227 8320443 + * @key printer * @summary Checks that the PrinterGraphics is for a Printer GraphicsDevice. * Test doesn't run unless there's a printer on the system. - * @author prr * @run main/othervm PrinterDevice */ -import java.awt.*; -import java.awt.geom.*; -import java.awt.print.*; -import java.io.*; -import javax.print.attribute.*; -import javax.print.attribute.standard.*; +import java.io.File; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.GraphicsConfiguration; +import java.awt.GraphicsDevice; +import java.awt.Rectangle; +import java.awt.geom.AffineTransform; +import java.awt.print.PageFormat; +import java.awt.print.Printable; +import java.awt.print.PrinterException; +import java.awt.print.PrinterJob; +import javax.print.attribute.HashPrintRequestAttributeSet; +import javax.print.attribute.PrintRequestAttributeSet; +import javax.print.attribute.standard.Destination; +import javax.print.attribute.standard.OrientationRequested; public class PrinterDevice implements Printable { + static volatile boolean failed = false; + public static void main(String args[]) throws PrinterException { System.setProperty("java.awt.headless", "true"); @@ -54,39 +66,52 @@ public static void main(String args[]) throws PrinterException { aset.add(OrientationRequested.LANDSCAPE); pj.setPrintable(new PrinterDevice()); pj.print(aset); + if (failed) { + throw new RuntimeException("Test failed but no exception propagated."); + } } public int print(Graphics g, PageFormat pf, int pageIndex) { - if (pageIndex > 0 ) { - return Printable.NO_SUCH_PAGE; - } - - /* Make sure calls to get DeviceConfig, its transforms, - * etc all work without exceptions and as expected */ - Graphics2D g2 = (Graphics2D)g; - GraphicsConfiguration gConfig = g2.getDeviceConfiguration(); - AffineTransform dt = gConfig.getDefaultTransform(); - AffineTransform nt = gConfig.getNormalizingTransform(); - AffineTransform gt = g2.getTransform(); + if (pageIndex > 0) { + return Printable.NO_SUCH_PAGE; + } - System.out.println("Graphics2D transform = " + gt); - System.out.println("Default transform = " + dt); - System.out.println("Normalizing transform = " + nt); + Graphics2D g2 = (Graphics2D)g; + GraphicsConfiguration gConfig = g2.getDeviceConfiguration(); + AffineTransform nt = null; + try { + /* Make sure calls to get DeviceConfig, its transforms, + * etc all work without exceptions and as expected */ + System.out.println("GraphicsConfig="+gConfig); + AffineTransform dt = gConfig.getDefaultTransform(); + System.out.println("Default transform = " + dt); + nt = gConfig.getNormalizingTransform(); + System.out.println("Normalizing transform = " + nt); + AffineTransform gt = g2.getTransform(); + System.out.println("Graphics2D transform = " + gt); + } catch (Exception e) { + failed = true; + System.err.println("Unexpected exception getting transform."); + e.printStackTrace(); + throw e; + } - Rectangle bounds = gConfig.getBounds(); - System.out.println("Bounds = " + bounds); - if (!nt.isIdentity()) { - throw new RuntimeException("Expected Identity transdform"); - } + Rectangle bounds = gConfig.getBounds(); + System.out.println("Bounds = " + bounds); + if (!nt.isIdentity()) { + failed = true; + throw new RuntimeException("Expected Identity transform"); + } - /* Make sure that device really is TYPE_PRINTER */ - GraphicsDevice gd = gConfig.getDevice(); - System.out.println("Printer Device ID = " + gd.getIDstring()); - if (!(gd.getType() == GraphicsDevice.TYPE_PRINTER)) { - throw new RuntimeException("Expected printer device"); - } - System.out.println(" *** "); - System.out.println(""); - return Printable.PAGE_EXISTS; + /* Make sure that device really is TYPE_PRINTER */ + GraphicsDevice gd = gConfig.getDevice(); + System.out.println("Printer Device ID = " + gd.getIDstring()); + if (gd.getType() != GraphicsDevice.TYPE_PRINTER) { + failed = true; + throw new RuntimeException("Expected printer device"); + } + System.out.println(" *** "); + System.out.println(""); + return Printable.PAGE_EXISTS; } } From 50baaf46b71f6d55281043ef185ac277c2db558e Mon Sep 17 00:00:00 2001 From: Albert Mingkun Yang Date: Wed, 6 Dec 2023 21:58:56 +0000 Subject: [PATCH 123/143] 8321013: Parallel: Refactor ObjectStartArray Reviewed-by: tschatzl, sjohanss --- .../share/gc/parallel/objectStartArray.cpp | 142 +++++++++--------- .../share/gc/parallel/objectStartArray.hpp | 137 ++++------------- .../gc/parallel/objectStartArray.inline.hpp | 50 +++--- src/hotspot/share/gc/parallel/psOldGen.cpp | 17 +-- src/hotspot/share/gc/parallel/psOldGen.hpp | 20 +-- .../share/gc/parallel/psParallelCompact.cpp | 14 +- .../share/gc/parallel/psPromotionLAB.cpp | 11 +- .../share/gc/parallel/psPromotionLAB.hpp | 2 +- .../share/gc/serial/tenuredGeneration.cpp | 4 +- src/hotspot/share/gc/shared/cardTable.cpp | 5 - src/hotspot/share/gc/shared/cardTable.hpp | 2 +- 11 files changed, 152 insertions(+), 252 deletions(-) diff --git a/src/hotspot/share/gc/parallel/objectStartArray.cpp b/src/hotspot/share/gc/parallel/objectStartArray.cpp index 804b936393c45..f55324f5997a0 100644 --- a/src/hotspot/share/gc/parallel/objectStartArray.cpp +++ b/src/hotspot/share/gc/parallel/objectStartArray.cpp @@ -25,32 +25,21 @@ #include "precompiled.hpp" #include "gc/parallel/objectStartArray.inline.hpp" #include "gc/shared/cardTableBarrierSet.hpp" -#include "memory/allocation.inline.hpp" #include "nmt/memTracker.hpp" #include "oops/oop.inline.hpp" #include "runtime/java.hpp" #include "utilities/align.hpp" -uint ObjectStartArray::_card_shift = 0; -uint ObjectStartArray::_card_size = 0; -uint ObjectStartArray::_card_size_in_words = 0; +static size_t num_bytes_required(MemRegion mr) { + assert(CardTable::is_card_aligned(mr.start()), "precondition"); + assert(CardTable::is_card_aligned(mr.end()), "precondition"); -void ObjectStartArray::initialize_block_size(uint card_shift) { - _card_shift = card_shift; - _card_size = 1 << _card_shift; - _card_size_in_words = _card_size / sizeof(HeapWord); + return mr.word_size() / BOTConstants::card_size_in_words(); } void ObjectStartArray::initialize(MemRegion reserved_region) { - // We're based on the assumption that we use the same - // size blocks as the card table. - assert(_card_size == CardTable::card_size(), "Sanity"); - assert(_card_size <= MaxBlockSize, "block_size must be less than or equal to " UINT32_FORMAT, MaxBlockSize); - // Calculate how much space must be reserved - _reserved_region = reserved_region; - - size_t bytes_to_reserve = reserved_region.word_size() / _card_size_in_words; + size_t bytes_to_reserve = num_bytes_required(reserved_region); assert(bytes_to_reserve > 0, "Sanity"); bytes_to_reserve = @@ -62,91 +51,96 @@ void ObjectStartArray::initialize(MemRegion reserved_region) { if (!backing_store.is_reserved()) { vm_exit_during_initialization("Could not reserve space for ObjectStartArray"); } - MemTracker::record_virtual_memory_type((address)backing_store.base(), mtGC); + MemTracker::record_virtual_memory_type(backing_store.base(), mtGC); // We do not commit any memory initially _virtual_space.initialize(backing_store); - _raw_base = (jbyte*)_virtual_space.low_boundary(); - assert(_raw_base != nullptr, "set from the backing_store"); - - _offset_base = _raw_base - (size_t(reserved_region.start()) >> _card_shift); - - _covered_region.set_start(reserved_region.start()); - _covered_region.set_word_size(0); + assert(_virtual_space.low_boundary() != nullptr, "set from the backing_store"); - _blocks_region.set_start((HeapWord*)_raw_base); - _blocks_region.set_word_size(0); + _offset_base = (uint8_t*)(_virtual_space.low_boundary() - (uintptr_t(reserved_region.start()) >> BOTConstants::log_card_size())); } void ObjectStartArray::set_covered_region(MemRegion mr) { - assert(_reserved_region.contains(mr), "MemRegion outside of reserved space"); - assert(_reserved_region.start() == mr.start(), "Attempt to move covered region"); - - HeapWord* low_bound = mr.start(); - HeapWord* high_bound = mr.end(); - assert((uintptr_t(low_bound) & (_card_size - 1)) == 0, "heap must start at block boundary"); - assert((uintptr_t(high_bound) & (_card_size - 1)) == 0, "heap must end at block boundary"); - - size_t requested_blocks_size_in_bytes = mr.word_size() / _card_size_in_words; + DEBUG_ONLY(_covered_region = mr;) + size_t requested_size = num_bytes_required(mr); // Only commit memory in page sized chunks - requested_blocks_size_in_bytes = - align_up(requested_blocks_size_in_bytes, os::vm_page_size()); + requested_size = align_up(requested_size, os::vm_page_size()); - _covered_region = mr; + size_t current_size = _virtual_space.committed_size(); - size_t current_blocks_size_in_bytes = _blocks_region.byte_size(); + if (requested_size == current_size) { + return; + } - if (requested_blocks_size_in_bytes > current_blocks_size_in_bytes) { + if (requested_size > current_size) { // Expand - size_t expand_by = requested_blocks_size_in_bytes - current_blocks_size_in_bytes; + size_t expand_by = requested_size - current_size; if (!_virtual_space.expand_by(expand_by)) { vm_exit_out_of_memory(expand_by, OOM_MMAP_ERROR, "object start array expansion"); } - // Clear *only* the newly allocated region - memset(_blocks_region.end(), clean_block, expand_by); - } - - if (requested_blocks_size_in_bytes < current_blocks_size_in_bytes) { + } else { // Shrink - size_t shrink_by = current_blocks_size_in_bytes - requested_blocks_size_in_bytes; + size_t shrink_by = current_size - requested_size; _virtual_space.shrink_by(shrink_by); } - - _blocks_region.set_word_size(requested_blocks_size_in_bytes / sizeof(HeapWord)); - - assert(requested_blocks_size_in_bytes % sizeof(HeapWord) == 0, "Block table not expanded in word sized increment"); - assert(requested_blocks_size_in_bytes == _blocks_region.byte_size(), "Sanity"); - assert(block_for_addr(low_bound) == &_raw_base[0], "Checking start of map"); - assert(block_for_addr(high_bound-1) <= &_raw_base[_blocks_region.byte_size()-1], "Checking end of map"); } -void ObjectStartArray::reset() { - memset(_blocks_region.start(), clean_block, _blocks_region.byte_size()); +static void fill_range(uint8_t* start, uint8_t* end, uint8_t v) { + // + 1 for inclusive + memset(start, v, pointer_delta(end, start, sizeof(uint8_t)) + 1); } -bool ObjectStartArray::object_starts_in_range(HeapWord* start_addr, - HeapWord* end_addr) const { - assert(start_addr <= end_addr, - "Range is wrong. start_addr (" PTR_FORMAT ") is after end_addr (" PTR_FORMAT ")", - p2i(start_addr), p2i(end_addr)); - - assert(is_aligned(start_addr, _card_size), "precondition"); - - if (start_addr == end_addr) { - // No objects in empty range. - return false; +void ObjectStartArray::update_for_block_work(HeapWord* blk_start, + HeapWord* blk_end) { + HeapWord* const cur_card_boundary = align_up_by_card_size(blk_start); + uint8_t* const offset_entry = entry_for_addr(cur_card_boundary); + + // The first card holds the actual offset. + *offset_entry = checked_cast(pointer_delta(cur_card_boundary, blk_start)); + + // Check if this block spans over other cards. + uint8_t* const end_entry = entry_for_addr(blk_end - 1); + assert(offset_entry <= end_entry, "inv"); + + if (offset_entry != end_entry) { + // Handling remaining entries. + uint8_t* start_entry_for_region = offset_entry + 1; + for (uint i = 0; i < BOTConstants::N_powers; i++) { + // -1 so that the reach ends in this region and not at the start + // of the next. + uint8_t* reach = offset_entry + BOTConstants::power_to_cards_back(i + 1) - 1; + uint8_t value = checked_cast(BOTConstants::card_size_in_words() + i); + + fill_range(start_entry_for_region, MIN2(reach, end_entry), value); + start_entry_for_region = reach + 1; + + if (reach >= end_entry) { + break; + } + } + assert(start_entry_for_region > end_entry, "Sanity check"); } - jbyte* start_block = block_for_addr(start_addr); - jbyte* end_block = block_for_addr(end_addr - 1); + debug_only(verify_for_block(blk_start, blk_end);) +} - for (jbyte* block = start_block; block <= end_block; block++) { - if (*block != clean_block) { - return true; +void ObjectStartArray::verify_for_block(HeapWord* blk_start, HeapWord* blk_end) const { + assert(is_crossing_card_boundary(blk_start, blk_end), "precondition"); + + const uint8_t* const start_entry = entry_for_addr(align_up_by_card_size(blk_start)); + const uint8_t* const end_entry = entry_for_addr(blk_end - 1); + // Check entries in [start_entry, end_entry] + assert(*start_entry < BOTConstants::card_size_in_words(), "offset entry"); + + for (const uint8_t* i = start_entry + 1; i <= end_entry; ++i) { + const uint8_t prev = *(i-1); + const uint8_t value = *i; + if (prev != value) { + assert(value >= prev, "monotonic"); + size_t n_cards_back = BOTConstants::entry_to_cards_back(value); + assert(start_entry == (i - n_cards_back), "inv"); } } - - return false; } diff --git a/src/hotspot/share/gc/parallel/objectStartArray.hpp b/src/hotspot/share/gc/parallel/objectStartArray.hpp index 06005fc007561..cc310997b4e2a 100644 --- a/src/hotspot/share/gc/parallel/objectStartArray.hpp +++ b/src/hotspot/share/gc/parallel/objectStartArray.hpp @@ -26,6 +26,7 @@ #define SHARE_GC_PARALLEL_OBJECTSTARTARRAY_HPP #include "gc/parallel/psVirtualspace.hpp" +#include "gc/shared/blockOffsetTable.hpp" #include "memory/allocation.hpp" #include "memory/memRegion.hpp" #include "oops/oop.hpp" @@ -36,141 +37,65 @@ // class ObjectStartArray : public CHeapObj { - friend class VerifyObjectStartArrayClosure; - - private: - PSVirtualSpace _virtual_space; - MemRegion _reserved_region; // The committed (old-gen heap) virtual space this object-start-array covers. - MemRegion _covered_region; - MemRegion _blocks_region; - jbyte* _raw_base; - jbyte* _offset_base; - - static uint _card_shift; - static uint _card_size; - static uint _card_size_in_words; - - public: - - enum BlockValueConstants { - clean_block = -1 - }; - - // Maximum size an offset table entry can cover. This maximum is derived from that - // we need an extra bit for possible offsets in the byte for backskip values, leaving 2^7 possible offsets. - // Minimum object alignment is 8 bytes (2^3), so we can at most represent 2^10 offsets within a BOT value. - static const uint MaxBlockSize = 1024; - - // Initialize block size based on card size - static void initialize_block_size(uint card_shift); + DEBUG_ONLY(MemRegion _covered_region;) - static uint card_shift() { - return _card_shift; - } - - static uint card_size() { - return _card_size; - } - static uint card_size_in_words() { - return _card_size_in_words; - } + // BOT array + PSVirtualSpace _virtual_space; - protected: + // Biased array-start of BOT array for fast heap-addr / BOT entry translation + uint8_t* _offset_base; // Mapping from address to object start array entry - jbyte* block_for_addr(void* p) const { + uint8_t* entry_for_addr(const void* const p) const { assert(_covered_region.contains(p), "out of bounds access to object start array"); - jbyte* result = &_offset_base[uintptr_t(p) >> _card_shift]; - assert(_blocks_region.contains(result), - "out of bounds result in byte_for"); + uint8_t* result = &_offset_base[uintptr_t(p) >> BOTConstants::log_card_size()]; return result; } // Mapping from object start array entry to address of first word - HeapWord* addr_for_block(jbyte* p) { - assert(_blocks_region.contains(p), - "out of bounds access to object start array"); - size_t delta = pointer_delta(p, _offset_base, sizeof(jbyte)); - HeapWord* result = (HeapWord*) (delta << _card_shift); + HeapWord* addr_for_entry(const uint8_t* const p) const { + size_t delta = pointer_delta(p, _offset_base, sizeof(uint8_t)); + HeapWord* result = (HeapWord*) (delta << BOTConstants::log_card_size()); assert(_covered_region.contains(result), "out of bounds accessor from card marking array"); return result; } - // Mapping that includes the derived offset. - // If the block is clean, returns the last address in the covered region. - // If the block is < index 0, returns the start of the covered region. - HeapWord* offset_addr_for_block(jbyte* p) const { - // We have to do this before the assert - if (p < _raw_base) { - return _covered_region.start(); - } - - assert(_blocks_region.contains(p), - "out of bounds access to object start array"); - - if (*p == clean_block) { - return _covered_region.end(); - } + static HeapWord* align_up_by_card_size(HeapWord* const addr) { + return align_up(addr, BOTConstants::card_size()); + } - size_t delta = pointer_delta(p, _offset_base, sizeof(jbyte)); - HeapWord* result = (HeapWord*) (delta << _card_shift); - result += *p; + void update_for_block_work(HeapWord* blk_start, HeapWord* blk_end); - assert(_covered_region.contains(result), - "out of bounds accessor from card marking array"); - - return result; - } + void verify_for_block(HeapWord* blk_start, HeapWord* blk_end) const; public: - - // This method is in lieu of a constructor, so that this class can be - // embedded inline in other classes. void initialize(MemRegion reserved_region); + // Heap old-gen resizing void set_covered_region(MemRegion mr); - void reset(); - - MemRegion covered_region() { return _covered_region; } - -#define assert_covered_region_contains(addr) \ - assert(_covered_region.contains(addr), \ - #addr " (" PTR_FORMAT ") is not in covered region [" PTR_FORMAT ", " PTR_FORMAT "]", \ - p2i(addr), p2i(_covered_region.start()), p2i(_covered_region.end())) - - void allocate_block(HeapWord* p) { - assert_covered_region_contains(p); - jbyte* block = block_for_addr(p); - HeapWord* block_base = addr_for_block(block); - size_t offset = pointer_delta(p, block_base, sizeof(HeapWord*)); - assert(offset < 128, "Sanity"); - // When doing MT offsets, we can't assert this. - //assert(offset > *block, "Found backwards allocation"); - *block = (jbyte)offset; + static bool is_crossing_card_boundary(HeapWord* const blk_start, + HeapWord* const blk_end) { + HeapWord* cur_card_boundary = align_up_by_card_size(blk_start); + // Strictly greater-than, since we check if this block *crosses* card boundary. + return blk_end > cur_card_boundary; } - // Optimized for finding the first object that crosses into - // a given block. The blocks contain the offset of the last - // object in that block. Scroll backwards by one, and the first - // object hit should be at the beginning of the block - inline HeapWord* object_start(HeapWord* addr) const; + // Returns the address of the start of the block reaching into the card containing + // "addr". + inline HeapWord* block_start_reaching_into_card(HeapWord* const addr) const; - bool is_block_allocated(HeapWord* addr) { - assert_covered_region_contains(addr); - jbyte* block = block_for_addr(addr); - return *block != clean_block; + // [blk_start, blk_end) representing a block of memory in the heap. + void update_for_block(HeapWord* blk_start, HeapWord* blk_end) { + if (is_crossing_card_boundary(blk_start, blk_end)) { + update_for_block_work(blk_start, blk_end); + } } - // Return true iff an object starts in - // [start_addr, end_addr_aligned_up) - // where - // end_addr_aligned_up = align_up(end_addr, _card_size) - // Precondition: start_addr is card-size aligned - bool object_starts_in_range(HeapWord* start_addr, HeapWord* end_addr) const; + inline HeapWord* object_start(HeapWord* const addr) const; }; #endif // SHARE_GC_PARALLEL_OBJECTSTARTARRAY_HPP diff --git a/src/hotspot/share/gc/parallel/objectStartArray.inline.hpp b/src/hotspot/share/gc/parallel/objectStartArray.inline.hpp index 75650a6e1cf0b..3fb6cb61fc1e4 100644 --- a/src/hotspot/share/gc/parallel/objectStartArray.inline.hpp +++ b/src/hotspot/share/gc/parallel/objectStartArray.inline.hpp @@ -27,27 +27,41 @@ #include "gc/parallel/objectStartArray.hpp" -// Optimized for finding the first object that crosses into -// a given block. The blocks contain the offset of the last -// object in that block. Scroll backwards by one, and the first -// object hit should be at the beginning of the block -HeapWord* ObjectStartArray::object_start(HeapWord* addr) const { - assert_covered_region_contains(addr); - jbyte* block = block_for_addr(addr); - HeapWord* scroll_forward = offset_addr_for_block(block--); - while (scroll_forward > addr) { - scroll_forward = offset_addr_for_block(block--); - } +HeapWord* ObjectStartArray::object_start(HeapWord* const addr) const { + HeapWord* cur_block = block_start_reaching_into_card(addr); - HeapWord* next = scroll_forward; - while (next <= addr) { - scroll_forward = next; - next += cast_to_oop(next)->size(); + while (true) { + HeapWord* next_block = cur_block + cast_to_oop(cur_block)->size(); + if (next_block > addr) { + assert(cur_block <= addr, "postcondition"); + return cur_block; + } + // Because the BOT is precise, we should never step into the next card + // (i.e. crossing the card boundary). + assert(!is_crossing_card_boundary(next_block, addr), "must be"); + cur_block = next_block; } - assert(scroll_forward <= addr, "wrong order for current and arg"); - assert(addr <= next, "wrong order for arg and next"); - return scroll_forward; } +HeapWord* ObjectStartArray::block_start_reaching_into_card(HeapWord* const addr) const { + const uint8_t* entry = entry_for_addr(addr); + + uint8_t offset; + while (true) { + offset = *entry; + + if (offset < BOTConstants::card_size_in_words()) { + break; + } + + // The excess of the offset from N_words indicates a power of Base + // to go back by. + size_t n_cards_back = BOTConstants::entry_to_cards_back(offset); + entry -= n_cards_back; + } + + HeapWord* q = addr_for_entry(entry); + return q - offset; +} #endif // SHARE_GC_PARALLEL_OBJECTSTARTARRAY_INLINE_HPP diff --git a/src/hotspot/share/gc/parallel/psOldGen.cpp b/src/hotspot/share/gc/parallel/psOldGen.cpp index 8124f018b2882..14be4745b153d 100644 --- a/src/hotspot/share/gc/parallel/psOldGen.cpp +++ b/src/hotspot/share/gc/parallel/psOldGen.cpp @@ -92,10 +92,10 @@ void PSOldGen::initialize_work(const char* perf_data_name, int level) { // If this wasn't true, a single card could span more than one generation, // which would cause problems when we commit/uncommit memory, and when we // clear and dirty cards. - guarantee(ct->is_card_aligned(reserved_mr.start()), "generation must be card aligned"); + guarantee(CardTable::is_card_aligned(reserved_mr.start()), "generation must be card aligned"); // Check the heap layout documented at `class ParallelScavengeHeap`. assert(reserved_mr.end() != heap->reserved_region().end(), "invariant"); - guarantee(ct->is_card_aligned(reserved_mr.end()), "generation must be card aligned"); + guarantee(CardTable::is_card_aligned(reserved_mr.end()), "generation must be card aligned"); // // ObjectSpace stuff @@ -133,18 +133,14 @@ size_t PSOldGen::num_iterable_blocks() const { void PSOldGen::object_iterate_block(ObjectClosure* cl, size_t block_index) { size_t block_word_size = IterateBlockSize / HeapWordSize; - assert((block_word_size % (ObjectStartArray::card_size())) == 0, - "Block size not a multiple of start_array block"); + assert((block_word_size % BOTConstants::card_size_in_words()) == 0, + "To ensure fast object_start calls"); MutableSpace *space = object_space(); HeapWord* begin = space->bottom() + block_index * block_word_size; HeapWord* end = MIN2(space->top(), begin + block_word_size); - if (!start_array()->object_starts_in_range(begin, end)) { - return; - } - // Get object starting at or reaching into this block. HeapWord* start = start_array()->object_start(begin); if (start < begin) { @@ -286,8 +282,8 @@ void PSOldGen::shrink(size_t bytes) { void PSOldGen::complete_loaded_archive_space(MemRegion archive_space) { HeapWord* cur = archive_space.start(); while (cur < archive_space.end()) { - _start_array.allocate_block(cur); size_t word_size = cast_to_oop(cur)->size(); + _start_array.update_for_block(cur, cur + word_size); cur += word_size; } } @@ -390,14 +386,13 @@ void PSOldGen::verify() { class VerifyObjectStartArrayClosure : public ObjectClosure { ObjectStartArray* _start_array; - public: +public: VerifyObjectStartArrayClosure(ObjectStartArray* start_array) : _start_array(start_array) { } virtual void do_object(oop obj) { HeapWord* test_addr = cast_from_oop(obj) + 1; guarantee(_start_array->object_start(test_addr) == cast_from_oop(obj), "ObjectStartArray cannot find start of object"); - guarantee(_start_array->is_block_allocated(cast_from_oop(obj)), "ObjectStartArray missing block allocation"); } }; diff --git a/src/hotspot/share/gc/parallel/psOldGen.hpp b/src/hotspot/share/gc/parallel/psOldGen.hpp index c26f251f9a275..4898baa3a4409 100644 --- a/src/hotspot/share/gc/parallel/psOldGen.hpp +++ b/src/hotspot/share/gc/parallel/psOldGen.hpp @@ -51,29 +51,11 @@ class PSOldGen : public CHeapObj { // Block size for parallel iteration static const size_t IterateBlockSize = 1024 * 1024; -#ifdef ASSERT - void assert_block_in_covered_region(MemRegion new_memregion) { - // Explicitly capture current covered_region in a local - MemRegion covered_region = this->start_array()->covered_region(); - assert(covered_region.contains(new_memregion), - "new region is not in covered_region [ " PTR_FORMAT ", " PTR_FORMAT " ], " - "new region [ " PTR_FORMAT ", " PTR_FORMAT " ], " - "object space [ " PTR_FORMAT ", " PTR_FORMAT " ]", - p2i(covered_region.start()), - p2i(covered_region.end()), - p2i(new_memregion.start()), - p2i(new_memregion.end()), - p2i(this->object_space()->used_region().start()), - p2i(this->object_space()->used_region().end())); - } -#endif - HeapWord* cas_allocate_noexpand(size_t word_size) { assert_locked_or_safepoint(Heap_lock); HeapWord* res = object_space()->cas_allocate(word_size); if (res != nullptr) { - DEBUG_ONLY(assert_block_in_covered_region(MemRegion(res, word_size))); - _start_array.allocate_block(res); + _start_array.update_for_block(res, res + word_size); } return res; } diff --git a/src/hotspot/share/gc/parallel/psParallelCompact.cpp b/src/hotspot/share/gc/parallel/psParallelCompact.cpp index c966aea5a86c8..09892208c355f 100644 --- a/src/hotspot/share/gc/parallel/psParallelCompact.cpp +++ b/src/hotspot/share/gc/parallel/psParallelCompact.cpp @@ -1496,7 +1496,7 @@ void PSParallelCompact::fill_dense_prefix_end(SpaceId id) _mark_bitmap.mark_obj(obj_beg, obj_len); _summary_data.add_obj(obj_beg, obj_len); assert(start_array(id) != nullptr, "sanity"); - start_array(id)->allocate_block(obj_beg); + start_array(id)->update_for_block(obj_beg, obj_beg + obj_len); } } @@ -2462,7 +2462,6 @@ void PSParallelCompact::compact() { ParallelScavengeHeap* heap = ParallelScavengeHeap::heap(); PSOldGen* old_gen = heap->old_gen(); - old_gen->start_array()->reset(); uint active_gc_threads = ParallelScavengeHeap::heap()->workers().active_workers(); // for [0..last_space_id) @@ -2534,7 +2533,7 @@ void PSParallelCompact::verify_complete(SpaceId space_id) { #endif // #ifdef ASSERT inline void UpdateOnlyClosure::do_addr(HeapWord* addr) { - _start_array->allocate_block(addr); + _start_array->update_for_block(addr, addr + cast_to_oop(addr)->size()); compaction_manager()->update_contents(cast_to_oop(addr)); } @@ -2627,7 +2626,7 @@ void PSParallelCompact::update_deferred_object(ParCompactionManager* cm, HeapWor const SpaceInfo* const space_info = _space_info + space_id(addr); ObjectStartArray* const start_array = space_info->start_array(); if (start_array != nullptr) { - start_array->allocate_block(addr); + start_array->update_for_block(addr, addr + cast_to_oop(addr)->size()); } cm->update_contents(cast_to_oop(addr)); @@ -3133,7 +3132,7 @@ MoveAndUpdateClosure::do_addr(HeapWord* addr, size_t words) { // The start_array must be updated even if the object is not moving. if (_start_array != nullptr) { - _start_array->allocate_block(destination()); + _start_array->update_for_block(destination(), destination() + words); } if (copy_destination() != source()) { @@ -3197,8 +3196,9 @@ FillClosure::do_addr(HeapWord* addr, size_t size) { CollectedHeap::fill_with_objects(addr, size); HeapWord* const end = addr + size; do { - _start_array->allocate_block(addr); - addr += cast_to_oop(addr)->size(); + size_t size = cast_to_oop(addr)->size(); + _start_array->update_for_block(addr, addr + size); + addr += size; } while (addr < end); return ParMarkBitMap::incomplete; } diff --git a/src/hotspot/share/gc/parallel/psPromotionLAB.cpp b/src/hotspot/share/gc/parallel/psPromotionLAB.cpp index 7aa1731fd874c..4c3367cdf9c98 100644 --- a/src/hotspot/share/gc/parallel/psPromotionLAB.cpp +++ b/src/hotspot/share/gc/parallel/psPromotionLAB.cpp @@ -115,7 +115,8 @@ void PSOldPromotionLAB::flush() { assert(_start_array != nullptr, "Sanity"); - _start_array->allocate_block(obj); + // filler obj + _start_array->update_for_block(obj, obj + cast_to_oop(obj)->size()); } #ifdef ASSERT @@ -132,17 +133,11 @@ bool PSYoungPromotionLAB::lab_is_valid(MemRegion lab) { } bool PSOldPromotionLAB::lab_is_valid(MemRegion lab) { - assert(_start_array->covered_region().contains(lab), "Sanity"); - ParallelScavengeHeap* heap = ParallelScavengeHeap::heap(); PSOldGen* old_gen = heap->old_gen(); MemRegion used = old_gen->object_space()->used_region(); - if (used.contains(lab)) { - return true; - } - - return false; + return used.contains(lab); } #endif /* ASSERT */ diff --git a/src/hotspot/share/gc/parallel/psPromotionLAB.hpp b/src/hotspot/share/gc/parallel/psPromotionLAB.hpp index b3c573ec70429..e8e42d3754b36 100644 --- a/src/hotspot/share/gc/parallel/psPromotionLAB.hpp +++ b/src/hotspot/share/gc/parallel/psPromotionLAB.hpp @@ -120,7 +120,7 @@ class PSOldPromotionLAB : public PSPromotionLAB { set_top(new_top); assert(is_object_aligned(obj) && is_object_aligned(new_top), "checking alignment"); - _start_array->allocate_block(obj); + _start_array->update_for_block(obj, obj + size); return obj; } diff --git a/src/hotspot/share/gc/serial/tenuredGeneration.cpp b/src/hotspot/share/gc/serial/tenuredGeneration.cpp index 981322eb14140..ad5fda3aeabb8 100644 --- a/src/hotspot/share/gc/serial/tenuredGeneration.cpp +++ b/src/hotspot/share/gc/serial/tenuredGeneration.cpp @@ -303,8 +303,8 @@ TenuredGeneration::TenuredGeneration(ReservedSpace rs, // If this wasn't true, a single card could span more than on generation, // which would cause problems when we commit/uncommit memory, and when we // clear and dirty cards. - guarantee(_rs->is_card_aligned(reserved_mr.start()), "generation must be card aligned"); - guarantee(_rs->is_card_aligned(reserved_mr.end()), "generation must be card aligned"); + guarantee(CardTable::is_card_aligned(reserved_mr.start()), "generation must be card aligned"); + guarantee(CardTable::is_card_aligned(reserved_mr.end()), "generation must be card aligned"); _min_heap_delta_bytes = MinHeapDeltaBytes; _capacity_at_prologue = initial_byte_size; _used_at_prologue = 0; diff --git a/src/hotspot/share/gc/shared/cardTable.cpp b/src/hotspot/share/gc/shared/cardTable.cpp index a5025a4e5a211..fdf6dcf3ece34 100644 --- a/src/hotspot/share/gc/shared/cardTable.cpp +++ b/src/hotspot/share/gc/shared/cardTable.cpp @@ -54,11 +54,6 @@ void CardTable::initialize_card_size() { // Set blockOffsetTable size based on card table entry size BOTConstants::initialize_bot_size(_card_shift); -#if INCLUDE_PARALLELGC - // Set ObjectStartArray block size based on card table entry size - ObjectStartArray::initialize_block_size(_card_shift); -#endif - log_info_p(gc, init)("CardTable entry size: " UINT32_FORMAT, _card_size); } diff --git a/src/hotspot/share/gc/shared/cardTable.hpp b/src/hotspot/share/gc/shared/cardTable.hpp index b9a7b516d8b30..61858075ca58c 100644 --- a/src/hotspot/share/gc/shared/cardTable.hpp +++ b/src/hotspot/share/gc/shared/cardTable.hpp @@ -119,7 +119,7 @@ class CardTable: public CHeapObj { void clear_MemRegion(MemRegion mr); // Return true if "p" is at the start of a card. - bool is_card_aligned(HeapWord* p) { + static bool is_card_aligned(HeapWord* p) { return is_aligned(p, card_size()); } From 91ffdfb1fcacbb95b93491d412e506695198946e Mon Sep 17 00:00:00 2001 From: Phil Race Date: Wed, 6 Dec 2023 21:59:23 +0000 Subject: [PATCH 124/143] 8320365: IPPPrintService.getAttributes() causes blanket re-initialisation Reviewed-by: aivanov, azvegint --- .../classes/sun/print/IPPPrintService.java | 30 ++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/src/java.desktop/unix/classes/sun/print/IPPPrintService.java b/src/java.desktop/unix/classes/sun/print/IPPPrintService.java index 91be3e06a5a7a..95a2682e058f1 100644 --- a/src/java.desktop/unix/classes/sun/print/IPPPrintService.java +++ b/src/java.desktop/unix/classes/sun/print/IPPPrintService.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -456,12 +456,14 @@ private void initAttributes() { // IPP currently does not support it but PPD does. try { - cps = new CUPSPrinter(printer); - mediaSizeNames = cps.getMediaSizeNames(); - mediaTrays = cps.getMediaTrays(); - customMediaSizeNames = cps.getCustomMediaSizeNames(); - defaultMediaIndex = cps.getDefaultMediaIndex(); - rawResolutions = cps.getRawResolutions(); + if (cps == null) { + cps = new CUPSPrinter(printer); + mediaSizeNames = cps.getMediaSizeNames(); + mediaTrays = cps.getMediaTrays(); + customMediaSizeNames = cps.getCustomMediaSizeNames(); + defaultMediaIndex = cps.getDefaultMediaIndex(); + rawResolutions = cps.getRawResolutions(); + } urlConnection.disconnect(); init = true; return; @@ -1225,9 +1227,17 @@ T getAttribute(Class category) public synchronized PrintServiceAttributeSet getAttributes() { - // update getAttMap by sending again get-attributes IPP request - init = false; - initAttributes(); + if (!init) { + // get all attributes for the first time. + initAttributes(); + } else { + // only need service attributes updated. + // update getAttMap by sending again get-attributes IPP request + if ((urlConnection = getIPPConnection(myURL)) != null) { + opGetAttributes(); + urlConnection.disconnect(); + } + } HashPrintServiceAttributeSet attrs = new HashPrintServiceAttributeSet(); From 75a7c199d8a3634b258cd713b8b77e026c2ecb4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20Gr=C3=B6nlund?= Date: Wed, 6 Dec 2023 22:59:26 +0000 Subject: [PATCH 125/143] 8315827: Kitchensink.java and RenaissanceStressTest.java time out with jvmti module errors Reviewed-by: egahlin --- src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp b/src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp index acf7e3a7722ce..0ab787a7f3a7d 100644 --- a/src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp +++ b/src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp @@ -23,6 +23,7 @@ */ #include "precompiled.hpp" +#include "classfile/javaThreadStatus.hpp" #include "jfr/jfrEvents.hpp" #include "jfr/recorder/jfrRecorder.hpp" #include "jfr/periodic/sampling/jfrCallTrace.hpp" @@ -200,7 +201,7 @@ void OSThreadSampler::protected_task(const SuspendedThreadTaskContext& context) ev->set_starttime(_suspend_time); ev->set_endtime(_suspend_time); // fake to not take an end time ev->set_sampledThread(JfrThreadLocal::thread_id(jt)); - ev->set_state(static_cast(java_lang_Thread::get_thread_status(_thread_oop))); + ev->set_state(static_cast(JavaThreadStatus::RUNNABLE)); } } } @@ -230,7 +231,7 @@ static void write_native_event(JfrThreadSampleClosure& closure, JavaThread* jt, EventNativeMethodSample *ev = closure.next_event_native(); ev->set_starttime(JfrTicks::now()); ev->set_sampledThread(JfrThreadLocal::thread_id(jt)); - ev->set_state(static_cast(java_lang_Thread::get_thread_status(thread_oop))); + ev->set_state(static_cast(JavaThreadStatus::RUNNABLE)); } void JfrNativeSamplerCallback::call() { From 632a3c56e0626b4c4f79c8cb3d2ae312668d63fc Mon Sep 17 00:00:00 2001 From: Alexander Zvegintsev Date: Thu, 7 Dec 2023 03:34:49 +0000 Subject: [PATCH 126/143] 8305825: getBounds API returns wrong value resulting in multiple Regression Test Failures on Ubuntu 23.04 Reviewed-by: prr, achung, honkar, aivanov --- .../classes/sun/awt/X11/XDecoratedPeer.java | 3 ++- .../unix/classes/sun/awt/X11/XWM.java | 4 +++ test/jdk/ProblemList.txt | 5 ++-- .../Modal/NestedModalDialogTest.java | 25 +++++++++++-------- .../OwnedWindowFocusIMECrashTest.java | 3 ++- .../MultiResolutionSplashTest.java | 4 ++- .../swing/JRootPane/DefaultButtonTest.java | 5 +++- .../swing/JTree/8003400/Test8003400.java | 6 ++++- 8 files changed, 36 insertions(+), 19 deletions(-) diff --git a/src/java.desktop/unix/classes/sun/awt/X11/XDecoratedPeer.java b/src/java.desktop/unix/classes/sun/awt/X11/XDecoratedPeer.java index 5942b5957aadd..102a76b16a7d0 100644 --- a/src/java.desktop/unix/classes/sun/awt/X11/XDecoratedPeer.java +++ b/src/java.desktop/unix/classes/sun/awt/X11/XDecoratedPeer.java @@ -341,7 +341,8 @@ public void handlePropertyNotify(XEvent xev) { || ev.get_atom() == XWM.XA_NET_FRAME_EXTENTS.getAtom()) { if (XWM.getWMID() != XWM.UNITY_COMPIZ_WM) { - if (getMWMDecorTitleProperty().isPresent()) { + if ((XWM.getWMID() == XWM.MUTTER_WM && !isTargetUndecorated() && isVisible()) + || getMWMDecorTitleProperty().isPresent()) { // Insets might have changed "in-flight" if that property // is present, so we need to get the actual values of // insets from the WM and propagate them through all the diff --git a/src/java.desktop/unix/classes/sun/awt/X11/XWM.java b/src/java.desktop/unix/classes/sun/awt/X11/XWM.java index 9c18168e1fc40..0382a7b6caf3c 100644 --- a/src/java.desktop/unix/classes/sun/awt/X11/XWM.java +++ b/src/java.desktop/unix/classes/sun/awt/X11/XWM.java @@ -1369,6 +1369,9 @@ Insets guessInsets(XDecoratedPeer window) { case UNITY_COMPIZ_WM: res = new Insets(28, 1, 1, 1); break; + case MUTTER_WM: + res = new Insets(37, 0, 0, 0); + break; case MOTIF_WM: case OPENLOOK_WM: default: @@ -1380,6 +1383,7 @@ Insets guessInsets(XDecoratedPeer window) { } return res; } + /* * Some buggy WMs ignore window gravity when processing * ConfigureRequest and position window as if the gravity is Static. diff --git a/test/jdk/ProblemList.txt b/test/jdk/ProblemList.txt index 1faa360aacdaf..94a020585e475 100644 --- a/test/jdk/ProblemList.txt +++ b/test/jdk/ProblemList.txt @@ -458,6 +458,7 @@ java/awt/Graphics2D/DrawString/RotTransText.java 8316878 linux-all java/awt/KeyboardFocusmanager/TypeAhead/ButtonActionKeyTest/ButtonActionKeyTest.java 8257529 windows-x64 java/awt/KeyboardFocusmanager/ConsumeNextMnemonicKeyTypedTest/ConsumeForModalDialogTest/ConsumeForModalDialogTest.java 8302787 windows-all java/awt/KeyboardFocusmanager/TypeAhead/MenuItemActivatedTest/MenuItemActivatedTest.java 8302787 windows-all +java/awt/KeyboardFocusmanager/ConsumeNextMnemonicKeyTypedTest/ConsumeNextMnemonicKeyTypedTest.java 8321303 linux-all java/awt/Window/GetScreenLocation/GetScreenLocationTest.java 8225787 linux-x64 java/awt/Dialog/MakeWindowAlwaysOnTop/MakeWindowAlwaysOnTop.java 8266243 macosx-aarch64 @@ -650,6 +651,7 @@ javax/sound/sampled/Clip/ClipIsRunningAfterStop.java 8307574 linux-x64 javax/swing/plaf/basic/BasicTextUI/8001470/bug8001470.java 8233177 linux-all,windows-all +javax/swing/JFrame/MaximizeWindowTest.java 8321289 linux-all javax/swing/JWindow/ShapedAndTranslucentWindows/ShapedTranslucentPerPixelTranslucentGradient.java 8233582 linux-all javax/swing/JWindow/ShapedAndTranslucentWindows/ShapedPerPixelTranslucentGradient.java 8233582 linux-all javax/swing/JWindow/ShapedAndTranslucentWindows/PerPixelTranslucentSwing.java 8194128 macosx-all @@ -682,9 +684,6 @@ sanity/client/SwingSet/src/EditorPaneDemoTest.java 8212240 linux-x64 # jdk_swing Ubuntu 23.04 specific -javax/swing/JTree/8003400/Test8003400.java 8309734 linux-all -javax/swing/JTable/7124218/SelectEditTableCell.java 8309734 linux-all -javax/swing/JFileChooser/JFileChooserSetLocationTest.java 8309734 linux-all javax/swing/JComboBox/TestComboBoxComponentRendering.java 8309734 linux-all ############################################################################ diff --git a/test/jdk/java/awt/Dialog/NestedDialogs/Modal/NestedModalDialogTest.java b/test/jdk/java/awt/Dialog/NestedDialogs/Modal/NestedModalDialogTest.java index f5d85d8a2ad83..c7ec4d660007d 100644 --- a/test/jdk/java/awt/Dialog/NestedDialogs/Modal/NestedModalDialogTest.java +++ b/test/jdk/java/awt/Dialog/NestedDialogs/Modal/NestedModalDialogTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -54,12 +54,11 @@ import java.awt.event.KeyEvent; public class NestedModalDialogTest { - private static Frame frame; + private static StartFrame frame; private static IntermediateDialog interDiag; private static TextDialog txtDiag; // Global variables so the robot thread can locate things. - private static Button[] robot_button = new Button[2]; private static TextField robot_text = null; private static Robot robot = null; @@ -78,6 +77,9 @@ private static void blockTillDisplayed(Component comp) { } private static void clickOnComp(Component comp) { + robot.waitForIdle(); + robot.delay(1000); + Rectangle bounds = new Rectangle(comp.getLocationOnScreen(), comp.getSize()); robot.mouseMove(bounds.x + bounds.width / 2, bounds.y + bounds.height / 2); robot.waitForIdle(); @@ -94,11 +96,11 @@ public void testModalDialogs() throws Exception { // launch first frame with firstButton frame = new StartFrame(); blockTillDisplayed(frame); - clickOnComp(robot_button[0]); + clickOnComp(frame.button); // Dialog must be created and onscreen before we proceed. blockTillDisplayed(interDiag); - clickOnComp(robot_button[1]); + clickOnComp(interDiag.button); // Again, the Dialog must be created and onscreen before we proceed. blockTillDisplayed(robot_text); @@ -144,6 +146,8 @@ public void testModalDialogs() throws Exception { */ class StartFrame extends Frame { + public volatile Button button; + /** * Constructs a new instance. */ @@ -168,7 +172,7 @@ public void actionPerformed(ActionEvent e) { pan.add(but); add(pan); setVisible(true); - robot_button[0] = but; + button = but; } } @@ -177,6 +181,7 @@ public void actionPerformed(ActionEvent e) { class IntermediateDialog extends Dialog { Dialog m_parent; + public volatile Button button; public IntermediateDialog(Frame parent) { super(parent, "Intermediate Modal", true /*Modal*/); @@ -193,9 +198,7 @@ public void actionPerformed(ActionEvent e) { pan.add(but); add(pan); pack(); - - // The robot needs to know about us, so set global - robot_button[1] = but; + button = but; } } @@ -215,12 +218,12 @@ public TextDialog(Dialog parent) { } } - public static void main(String[] args) throws RuntimeException, Exception { + public static void main(String[] args) throws Exception { try { new NestedModalDialogTest().testModalDialogs(); } catch (Exception e) { throw new RuntimeException("NestedModalDialogTest object creation " - + "failed"); + + "failed", e); } } } diff --git a/test/jdk/java/awt/Focus/OwnedWindowFocusIMECrashTest/OwnedWindowFocusIMECrashTest.java b/test/jdk/java/awt/Focus/OwnedWindowFocusIMECrashTest/OwnedWindowFocusIMECrashTest.java index 6fe6b6a1fa559..f81b25cb1d4d2 100644 --- a/test/jdk/java/awt/Focus/OwnedWindowFocusIMECrashTest/OwnedWindowFocusIMECrashTest.java +++ b/test/jdk/java/awt/Focus/OwnedWindowFocusIMECrashTest/OwnedWindowFocusIMECrashTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2008, 2023, Oracle and/or its affiliates. All rights reserved. * 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,6 +64,7 @@ public void start() { window.setVisible(true); Util.waitForIdle(robot); + robot.delay(1000); test(); diff --git a/test/jdk/java/awt/SplashScreen/MultiResolutionSplash/MultiResolutionSplashTest.java b/test/jdk/java/awt/SplashScreen/MultiResolutionSplash/MultiResolutionSplashTest.java index 6018d044a6133..1f2de081cce15 100644 --- a/test/jdk/java/awt/SplashScreen/MultiResolutionSplash/MultiResolutionSplashTest.java +++ b/test/jdk/java/awt/SplashScreen/MultiResolutionSplash/MultiResolutionSplashTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -120,6 +120,7 @@ static void testSplash(ImageInfo test) throws Exception { static void testFocus() throws Exception { Robot robot = new Robot(); + robot.setAutoWaitForIdle(true); robot.setAutoDelay(50); Frame frame = new Frame(); @@ -130,6 +131,7 @@ static void testFocus() throws Exception { frame.add(textField); frame.setVisible(true); robot.waitForIdle(); + robot.delay(1000); robot.keyPress(KeyEvent.VK_A); robot.keyRelease(KeyEvent.VK_A); diff --git a/test/jdk/javax/swing/JRootPane/DefaultButtonTest.java b/test/jdk/javax/swing/JRootPane/DefaultButtonTest.java index 560c5d82331d9..784cd00c24473 100644 --- a/test/jdk/javax/swing/JRootPane/DefaultButtonTest.java +++ b/test/jdk/javax/swing/JRootPane/DefaultButtonTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -83,6 +83,7 @@ private void createUI() { public void runTest() throws Exception { Robot robot = new Robot(); + robot.setAutoWaitForIdle(true); robot.setAutoDelay(100); for (UIManager.LookAndFeelInfo laf : UIManager.getInstalledLookAndFeels()) { try { @@ -100,6 +101,8 @@ public void runTest() throws Exception { createUI(); }); robot.waitForIdle(); + robot.delay(1000); + robot.keyPress(KeyEvent.VK_ENTER); robot.keyRelease(KeyEvent.VK_ENTER); robot.waitForIdle(); diff --git a/test/jdk/javax/swing/JTree/8003400/Test8003400.java b/test/jdk/javax/swing/JTree/8003400/Test8003400.java index 95f5e826aa9b3..dcc9b0fce6ee9 100644 --- a/test/jdk/javax/swing/JTree/8003400/Test8003400.java +++ b/test/jdk/javax/swing/JTree/8003400/Test8003400.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -109,6 +109,10 @@ public void run() { Robot robot = new Robot(); robot.setAutoDelay(100); + robot.setAutoWaitForIdle(true); + robot.waitForIdle(); + robot.delay(500); + SwingUtilities.invokeAndWait(() -> { point = tree.getLocationOnScreen(); rect = tree.getBounds(); From 03c4595173d564df97aa4f2b3156adcd4be379fa Mon Sep 17 00:00:00 2001 From: Jan Lahoda Date: Thu, 7 Dec 2023 09:09:19 +0000 Subject: [PATCH 127/143] 8321164: javac with annotation processor throws AssertionError: Filling jrt:/... during JarFileObject[/...] Reviewed-by: vromero, mcimadamore --- .../com/sun/tools/javac/code/Types.java | 26 ++-- .../ReadingMethodWithTypeAnno.java | 118 ++++++++++++++++++ 2 files changed, 134 insertions(+), 10 deletions(-) create mode 100644 test/langtools/tools/javac/annotations/ReadingMethodWithTypeAnno.java diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java index 7783c7fb4f485..d6ff37b3e53e2 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java @@ -2407,20 +2407,26 @@ private Type erasure(Type t, boolean recurse) { } // where private TypeMapping erasure = new StructuralTypeMapping() { + @SuppressWarnings("fallthrough") private Type combineMetadata(final Type s, final Type t) { if (t.getMetadata().nonEmpty()) { - switch (s.getKind()) { - case OTHER: - case UNION: - case INTERSECTION: - case PACKAGE: - case EXECUTABLE: - case NONE: - case VOID: - case ERROR: + switch (s.getTag()) { + case CLASS: + if (s instanceof UnionClassType || + s instanceof IntersectionClassType) { + return s; + } + //fall-through + case BYTE, CHAR, SHORT, LONG, FLOAT, INT, DOUBLE, BOOLEAN, + ARRAY, MODULE, TYPEVAR, WILDCARD, BOT: + return s.dropMetadata(Annotations.class); + case VOID, METHOD, PACKAGE, FORALL, DEFERRED, + NONE, ERROR, UNKNOWN, UNDETVAR, UNINITIALIZED_THIS, + UNINITIALIZED_OBJECT: return s; - default: return s.dropMetadata(Annotations.class); + default: + throw new AssertionError(s.getTag().name()); } } else { return s; diff --git a/test/langtools/tools/javac/annotations/ReadingMethodWithTypeAnno.java b/test/langtools/tools/javac/annotations/ReadingMethodWithTypeAnno.java new file mode 100644 index 0000000000000..d743615655418 --- /dev/null +++ b/test/langtools/tools/javac/annotations/ReadingMethodWithTypeAnno.java @@ -0,0 +1,118 @@ +/* + * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. + * 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 8321164 + * @summary Indirectly verify that types.erasure does not complete, called from + * ClassReader.isSameBinaryType, which must not complete. + * @library /tools/lib + * @modules jdk.compiler/com.sun.tools.javac.api + * jdk.compiler/com.sun.tools.javac.main + * @build toolbox.JavacTask toolbox.TestRunner toolbox.ToolBox + * @run main ReadingMethodWithTypeAnno + */ + +import com.sun.source.util.TaskEvent; +import com.sun.source.util.TaskListener; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +import toolbox.JavacTask; +import toolbox.Task.Expect; +import toolbox.Task.OutputKind; +import toolbox.TestRunner; +import toolbox.ToolBox; + +public class ReadingMethodWithTypeAnno extends TestRunner { + public static void main(String... args) throws Exception { + ReadingMethodWithTypeAnno r = new ReadingMethodWithTypeAnno(); + r.runTests(m -> new Object[] { Paths.get(m.getName()) }); + } + + private final ToolBox tb = new ToolBox(); + + public ReadingMethodWithTypeAnno() throws IOException { + super(System.err); + } + + @Test + public void test_DeclNone_UseNone(Path base) throws IOException { + Path libSrc = base.resolve("lib-src"); + Path libClasses = Files.createDirectories(base.resolve("lib-classes")); + + tb.writeJavaFiles(libSrc, + """ + public class Lib { + public void test(java.lang.@Ann String s) { + new Object() {}; + } + } + """, + """ + import java.lang.annotation.ElementType; + import java.lang.annotation.Target; + @Target(ElementType.TYPE_USE) + public @interface Ann {} + """); + + new JavacTask(tb) + .outdir(libClasses) + .files(tb.findJavaFiles(libSrc)) + .run(Expect.SUCCESS) + .writeAll() + .getOutput(OutputKind.DIRECT); + + Path src = base.resolve("src"); + Path classes = Files.createDirectories(base.resolve("classes")); + + tb.writeJavaFiles(src, + """ + public class Test { + } + """); + + new JavacTask(tb) + .outdir(classes) + .classpath(libClasses) + .files(tb.findJavaFiles(src)) + .callback(task -> { + task.addTaskListener(new TaskListener() { + @Override + public void finished(TaskEvent e) { + if (e.getKind() == TaskEvent.Kind.ENTER) { + task.getElements().getTypeElement("Lib"); + task.getElements().getTypeElement("Lib$1"); + } + } + }); + }) + .run(Expect.SUCCESS) + .writeAll() + .getOutput(OutputKind.DIRECT); + } + +} + From 9a87e52c0ca6754092845c8ebc9e324c58936c72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hannes=20Walln=C3=B6fer?= Date: Thu, 7 Dec 2023 09:23:21 +0000 Subject: [PATCH 128/143] 8320538: Obsolete CSS styles in collection framework doc-file Reviewed-by: alanb --- .../share/classes/java/util/doc-files/coll-index.html | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/java.base/share/classes/java/util/doc-files/coll-index.html b/src/java.base/share/classes/java/util/doc-files/coll-index.html index 803583958d460..16249fcc8abbb 100644 --- a/src/java.base/share/classes/java/util/doc-files/coll-index.html +++ b/src/java.base/share/classes/java/util/doc-files/coll-index.html @@ -29,16 +29,7 @@ The Collections Framework - - +

    The Collections Framework

    From 656b4462895da51765e473d425c87f920a30c891 Mon Sep 17 00:00:00 2001 From: Aleksey Shipilev Date: Thu, 7 Dec 2023 09:33:57 +0000 Subject: [PATCH 129/143] 8320969: Shenandoah: Enforce stable number of GC workers Reviewed-by: kdnilsen, wkemper, ysr --- .../gc/shenandoah/shenandoahArguments.cpp | 10 ++ .../share/gc/shenandoah/shenandoahHeap.cpp | 18 +-- .../gc/shenandoah/shenandoahWorkerPolicy.cpp | 105 ++---------------- .../gc/shenandoah/shenandoahWorkerPolicy.hpp | 16 --- .../TestDynamicNumberOfGCThreads.java | 7 +- 5 files changed, 28 insertions(+), 128 deletions(-) diff --git a/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp b/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp index 7d31ff02e1add..d9b28c1bb4d3c 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp @@ -113,6 +113,16 @@ void ShenandoahArguments::initialize() { } } + // Disable support for dynamic number of GC threads. We do not let the runtime + // heuristics to misjudge how many threads we need during the heavy concurrent phase + // or a GC pause. + if (UseDynamicNumberOfGCThreads) { + if (FLAG_IS_CMDLINE(UseDynamicNumberOfGCThreads)) { + warning("Shenandoah does not support UseDynamicNumberOfGCThreads, disabling"); + } + FLAG_SET_DEFAULT(UseDynamicNumberOfGCThreads, false); + } + if (ShenandoahRegionSampling && FLAG_IS_DEFAULT(PerfDataMemorySize)) { // When sampling is enabled, max out the PerfData memory to get more // Shenandoah data in, including Matrix. diff --git a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp index d1b2a676999f5..67d7f0eb4fafa 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp @@ -2018,19 +2018,13 @@ void ShenandoahHeap::assert_gc_workers(uint nworkers) { assert(nworkers > 0 && nworkers <= max_workers(), "Sanity"); if (ShenandoahSafepoint::is_at_shenandoah_safepoint()) { - if (UseDynamicNumberOfGCThreads) { - assert(nworkers <= ParallelGCThreads, "Cannot use more than it has"); - } else { - // Use ParallelGCThreads inside safepoints - assert(nworkers == ParallelGCThreads, "Use ParallelGCThreads within safepoints"); - } + // Use ParallelGCThreads inside safepoints + assert(nworkers == ParallelGCThreads, "Use ParallelGCThreads (%u) within safepoint, not %u", + ParallelGCThreads, nworkers); } else { - if (UseDynamicNumberOfGCThreads) { - assert(nworkers <= ConcGCThreads, "Cannot use more than it has"); - } else { - // Use ConcGCThreads outside safepoints - assert(nworkers == ConcGCThreads, "Use ConcGCThreads outside safepoints"); - } + // Use ConcGCThreads outside safepoints + assert(nworkers == ConcGCThreads, "Use ConcGCThreads (%u) outside safepoints, %u", + ConcGCThreads, nworkers); } } #endif diff --git a/src/hotspot/share/gc/shenandoah/shenandoahWorkerPolicy.cpp b/src/hotspot/share/gc/shenandoah/shenandoahWorkerPolicy.cpp index 5c06bdbf9b420..3d0945ff95191 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahWorkerPolicy.cpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahWorkerPolicy.cpp @@ -25,131 +25,48 @@ #include "precompiled.hpp" #include "gc/shared/gc_globals.hpp" -#include "gc/shared/workerPolicy.hpp" #include "gc/shenandoah/shenandoahWorkerPolicy.hpp" -#include "runtime/javaThread.hpp" -#include "runtime/threads.hpp" - -uint ShenandoahWorkerPolicy::_prev_par_marking = 0; -uint ShenandoahWorkerPolicy::_prev_conc_marking = 0; -uint ShenandoahWorkerPolicy::_prev_conc_evac = 0; -uint ShenandoahWorkerPolicy::_prev_conc_root_proc = 0; -uint ShenandoahWorkerPolicy::_prev_conc_refs_proc = 0; -uint ShenandoahWorkerPolicy::_prev_fullgc = 0; -uint ShenandoahWorkerPolicy::_prev_degengc = 0; -uint ShenandoahWorkerPolicy::_prev_conc_update_ref = 0; -uint ShenandoahWorkerPolicy::_prev_par_update_ref = 0; -uint ShenandoahWorkerPolicy::_prev_conc_cleanup = 0; -uint ShenandoahWorkerPolicy::_prev_conc_reset = 0; uint ShenandoahWorkerPolicy::calc_workers_for_init_marking() { - uint active_workers = (_prev_par_marking == 0) ? ParallelGCThreads : _prev_par_marking; - - _prev_par_marking = - WorkerPolicy::calc_active_workers(ParallelGCThreads, - active_workers, - Threads::number_of_non_daemon_threads()); - return _prev_par_marking; + return ParallelGCThreads; } uint ShenandoahWorkerPolicy::calc_workers_for_conc_marking() { - uint active_workers = (_prev_conc_marking == 0) ? ConcGCThreads : _prev_conc_marking; - _prev_conc_marking = - WorkerPolicy::calc_active_conc_workers(ConcGCThreads, - active_workers, - Threads::number_of_non_daemon_threads()); - return _prev_conc_marking; + return ConcGCThreads; } -// Reuse the calculation result from init marking uint ShenandoahWorkerPolicy::calc_workers_for_final_marking() { - return _prev_par_marking; + return ParallelGCThreads; } -// Calculate workers for concurrent refs processing uint ShenandoahWorkerPolicy::calc_workers_for_conc_refs_processing() { - uint active_workers = (_prev_conc_refs_proc == 0) ? ConcGCThreads : _prev_conc_refs_proc; - _prev_conc_refs_proc = - WorkerPolicy::calc_active_conc_workers(ConcGCThreads, - active_workers, - Threads::number_of_non_daemon_threads()); - return _prev_conc_refs_proc; + return ConcGCThreads; } -// Calculate workers for concurrent root processing uint ShenandoahWorkerPolicy::calc_workers_for_conc_root_processing() { - uint active_workers = (_prev_conc_root_proc == 0) ? ConcGCThreads : _prev_conc_root_proc; - _prev_conc_root_proc = - WorkerPolicy::calc_active_conc_workers(ConcGCThreads, - active_workers, - Threads::number_of_non_daemon_threads()); - return _prev_conc_root_proc; + return ConcGCThreads; } -// Calculate workers for concurrent evacuation (concurrent GC) uint ShenandoahWorkerPolicy::calc_workers_for_conc_evac() { - uint active_workers = (_prev_conc_evac == 0) ? ConcGCThreads : _prev_conc_evac; - _prev_conc_evac = - WorkerPolicy::calc_active_conc_workers(ConcGCThreads, - active_workers, - Threads::number_of_non_daemon_threads()); - return _prev_conc_evac; + return ConcGCThreads; } -// Calculate workers for parallel fullgc uint ShenandoahWorkerPolicy::calc_workers_for_fullgc() { - uint active_workers = (_prev_fullgc == 0) ? ParallelGCThreads : _prev_fullgc; - _prev_fullgc = - WorkerPolicy::calc_active_workers(ParallelGCThreads, - active_workers, - Threads::number_of_non_daemon_threads()); - return _prev_fullgc; + return ParallelGCThreads; } -// Calculate workers for parallel degenerated gc uint ShenandoahWorkerPolicy::calc_workers_for_stw_degenerated() { - uint active_workers = (_prev_degengc == 0) ? ParallelGCThreads : _prev_degengc; - _prev_degengc = - WorkerPolicy::calc_active_workers(ParallelGCThreads, - active_workers, - Threads::number_of_non_daemon_threads()); - return _prev_degengc; + return ParallelGCThreads; } -// Calculate workers for concurrent reference update uint ShenandoahWorkerPolicy::calc_workers_for_conc_update_ref() { - uint active_workers = (_prev_conc_update_ref == 0) ? ConcGCThreads : _prev_conc_update_ref; - _prev_conc_update_ref = - WorkerPolicy::calc_active_conc_workers(ConcGCThreads, - active_workers, - Threads::number_of_non_daemon_threads()); - return _prev_conc_update_ref; + return ConcGCThreads; } -// Calculate workers for parallel reference update uint ShenandoahWorkerPolicy::calc_workers_for_final_update_ref() { - uint active_workers = (_prev_par_update_ref == 0) ? ParallelGCThreads : _prev_par_update_ref; - _prev_par_update_ref = - WorkerPolicy::calc_active_workers(ParallelGCThreads, - active_workers, - Threads::number_of_non_daemon_threads()); - return _prev_par_update_ref; -} - -uint ShenandoahWorkerPolicy::calc_workers_for_conc_cleanup() { - uint active_workers = (_prev_conc_cleanup == 0) ? ConcGCThreads : _prev_conc_cleanup; - _prev_conc_cleanup = - WorkerPolicy::calc_active_conc_workers(ConcGCThreads, - active_workers, - Threads::number_of_non_daemon_threads()); - return _prev_conc_cleanup; + return ParallelGCThreads; } uint ShenandoahWorkerPolicy::calc_workers_for_conc_reset() { - uint active_workers = (_prev_conc_reset == 0) ? ConcGCThreads : _prev_conc_reset; - _prev_conc_reset = - WorkerPolicy::calc_active_conc_workers(ConcGCThreads, - active_workers, - Threads::number_of_non_daemon_threads()); - return _prev_conc_reset; + return ConcGCThreads; } diff --git a/src/hotspot/share/gc/shenandoah/shenandoahWorkerPolicy.hpp b/src/hotspot/share/gc/shenandoah/shenandoahWorkerPolicy.hpp index 3f47822f2200b..c1e07d41d53f9 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahWorkerPolicy.hpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahWorkerPolicy.hpp @@ -28,19 +28,6 @@ #include "memory/allStatic.hpp" class ShenandoahWorkerPolicy : AllStatic { -private: - static uint _prev_par_marking; - static uint _prev_conc_marking; - static uint _prev_conc_root_proc; - static uint _prev_conc_refs_proc; - static uint _prev_conc_evac; - static uint _prev_fullgc; - static uint _prev_degengc; - static uint _prev_conc_update_ref; - static uint _prev_par_update_ref; - static uint _prev_conc_cleanup; - static uint _prev_conc_reset; - public: // Calculate the number of workers for initial marking static uint calc_workers_for_init_marking(); @@ -72,9 +59,6 @@ class ShenandoahWorkerPolicy : AllStatic { // Calculate workers for parallel/final reference update static uint calc_workers_for_final_update_ref(); - // Calculate workers for concurrent cleanup - static uint calc_workers_for_conc_cleanup(); - // Calculate workers for concurrent reset static uint calc_workers_for_conc_reset(); }; diff --git a/test/hotspot/jtreg/gc/ergonomics/TestDynamicNumberOfGCThreads.java b/test/hotspot/jtreg/gc/ergonomics/TestDynamicNumberOfGCThreads.java index 3e7293a5a92c5..288d27393a3e5 100644 --- a/test/hotspot/jtreg/gc/ergonomics/TestDynamicNumberOfGCThreads.java +++ b/test/hotspot/jtreg/gc/ergonomics/TestDynamicNumberOfGCThreads.java @@ -53,13 +53,8 @@ public static void main(String[] args) throws Exception { testDynamicNumberOfGCThreads("UseParallelGC"); } - if (GC.Shenandoah.isSupported()) { - noneGCSupported = false; - testDynamicNumberOfGCThreads("UseShenandoahGC"); - } - if (noneGCSupported) { - throw new SkippedException("Skipping test because none of G1/Parallel/Shenandoah is supported."); + throw new SkippedException("Skipping test because none of G1/Parallel is supported."); } } From 49fff0132bb470d8ae28355e4d5f4789a1b6d54d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20Gr=C3=B6nlund?= Date: Thu, 7 Dec 2023 10:45:55 +0000 Subject: [PATCH 130/143] 8211238: @Deprecated JFR event Reviewed-by: egahlin, jbachorik --- .../build/tools/jfr/GenerateJfrFiles.java | 7 +- src/hotspot/share/ci/ciMethod.hpp | 1 + .../share/classfile/classFileParser.cpp | 52 +++ src/hotspot/share/classfile/vmSymbols.hpp | 4 +- .../jfr/instrumentation/jfrResolution.cpp | 134 ------ src/hotspot/share/jfr/jfr.cpp | 12 +- src/hotspot/share/jfr/jfr.hpp | 3 +- src/hotspot/share/jfr/jni/jfrJniMethod.cpp | 13 +- src/hotspot/share/jfr/jni/jfrJniMethod.hpp | 4 +- .../jfr/jni/jfrJniMethodRegistration.cpp | 2 +- .../checkpoint/objectSampleCheckpoint.cpp | 7 +- src/hotspot/share/jfr/metadata/metadata.xml | 7 + src/hotspot/share/jfr/metadata/metadata.xsd | 3 +- .../share/jfr/periodic/jfrPeriodic.cpp | 2 +- .../checkpoint/jfrCheckpointManager.cpp | 93 +++-- .../checkpoint/jfrCheckpointManager.hpp | 11 +- .../checkpoint/jfrCheckpointWriter.cpp | 10 +- .../checkpoint/jfrCheckpointWriter.hpp | 4 +- .../recorder/checkpoint/types/jfrTypeSet.cpp | 214 +++++++--- .../recorder/checkpoint/types/jfrTypeSet.hpp | 4 +- .../checkpoint/types/jfrTypeSetUtils.hpp | 14 +- .../checkpoint/types/traceid/jfrTraceId.hpp | 5 +- .../types/traceid/jfrTraceId.inline.hpp | 12 + .../types/traceid/jfrTraceIdLoadBarrier.hpp | 5 +- .../traceid/jfrTraceIdLoadBarrier.inline.hpp | 31 ++ .../types/traceid/jfrTraceIdMacros.hpp | 22 +- .../share/jfr/recorder/jfrEventSetting.cpp | 7 +- .../share/jfr/recorder/jfrEventSetting.hpp | 5 +- .../jfr/recorder/jfrEventSetting.inline.hpp | 8 +- .../share/jfr/recorder/jfrRecorder.cpp | 23 +- .../share/jfr/recorder/jfrRecorder.hpp | 5 +- .../recorder/service/jfrRecorderService.cpp | 5 + .../recorder/service/jfrRecorderService.hpp | 3 +- .../stacktrace/jfrStackTraceRepository.cpp | 5 + .../stacktrace/jfrStackTraceRepository.hpp | 3 + .../jfr/support/jfrDeprecationEventWriter.cpp | 154 +++++++ .../jfr/support/jfrDeprecationEventWriter.hpp | 74 ++++ .../jfr/support/jfrDeprecationManager.cpp | 380 ++++++++++++++++++ .../jfr/support/jfrDeprecationManager.hpp | 99 +++++ .../share/jfr/support/jfrMethodData.cpp | 77 ++++ .../share/jfr/support/jfrMethodData.hpp | 38 ++ .../jfr/support/jfrNativeLibraryLoadEvent.cpp | 4 +- .../share/jfr/support/jfrResolution.cpp | 295 ++++++++++++++ .../jfrResolution.hpp | 11 +- .../share/jfr/support/jfrSymbolTable.cpp | 4 +- src/hotspot/share/jfr/utilities/jfrBlob.hpp | 5 +- .../share/jfr/utilities/jfrLinkedList.hpp | 5 +- .../jfr/utilities/jfrLinkedList.inline.hpp | 21 + src/hotspot/share/oops/constMethodFlags.hpp | 2 + src/hotspot/share/oops/constantPool.hpp | 2 +- src/hotspot/share/oops/method.hpp | 6 + src/hotspot/share/oops/methodData.cpp | 6 - src/hotspot/share/oops/methodData.hpp | 43 +- src/hotspot/share/runtime/sharedRuntime.cpp | 11 +- .../jdk/jfr/internal/EventControl.java | 13 + .../share/classes/jdk/jfr/internal/JVM.java | 8 + .../share/classes/jdk/jfr/internal/Level.java | 59 +++ .../jdk/jfr/internal/MetadataLoader.java | 9 + .../jdk/jfr/internal/MetadataRepository.java | 1 + .../jdk/jfr/internal/PlatformEventType.java | 21 +- .../jfr/internal/settings/LevelSetting.java | 76 ++++ .../jfr/internal/test/DeprecatedMethods.java | 67 +++ .../jfr/internal/test/DeprecatedThing.java | 63 +++ src/jdk.jfr/share/conf/jfr/default.jfc | 6 + src/jdk.jfr/share/conf/jfr/profile.jfc | 5 + .../event/runtime/TestDeprecatedEvent.java | 240 +++++++++++ test/lib/jdk/test/lib/jfr/EventNames.java | 1 + 67 files changed, 2226 insertions(+), 320 deletions(-) delete mode 100644 src/hotspot/share/jfr/instrumentation/jfrResolution.cpp create mode 100644 src/hotspot/share/jfr/support/jfrDeprecationEventWriter.cpp create mode 100644 src/hotspot/share/jfr/support/jfrDeprecationEventWriter.hpp create mode 100644 src/hotspot/share/jfr/support/jfrDeprecationManager.cpp create mode 100644 src/hotspot/share/jfr/support/jfrDeprecationManager.hpp create mode 100644 src/hotspot/share/jfr/support/jfrMethodData.cpp create mode 100644 src/hotspot/share/jfr/support/jfrMethodData.hpp create mode 100644 src/hotspot/share/jfr/support/jfrResolution.cpp rename src/hotspot/share/jfr/{instrumentation => support}/jfrResolution.hpp (83%) create mode 100644 src/jdk.jfr/share/classes/jdk/jfr/internal/Level.java create mode 100644 src/jdk.jfr/share/classes/jdk/jfr/internal/settings/LevelSetting.java create mode 100644 src/jdk.jfr/share/classes/jdk/jfr/internal/test/DeprecatedMethods.java create mode 100644 src/jdk.jfr/share/classes/jdk/jfr/internal/test/DeprecatedThing.java create mode 100644 test/jdk/jdk/jfr/event/runtime/TestDeprecatedEvent.java diff --git a/make/src/classes/build/tools/jfr/GenerateJfrFiles.java b/make/src/classes/build/tools/jfr/GenerateJfrFiles.java index 6b89d02ad2f75..3497d03292d81 100644 --- a/make/src/classes/build/tools/jfr/GenerateJfrFiles.java +++ b/make/src/classes/build/tools/jfr/GenerateJfrFiles.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2018, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -198,6 +198,7 @@ static class TypeElement { String period = ""; boolean cutoff; boolean throttle; + String level = ""; boolean experimental; boolean internal; long id; @@ -222,6 +223,7 @@ public void persist(DataOutputStream pos) throws IOException { pos.writeUTF(period); pos.writeBoolean(cutoff); pos.writeBoolean(throttle); + pos.writeUTF(level); pos.writeBoolean(experimental); pos.writeBoolean(internal); pos.writeLong(id); @@ -520,6 +522,7 @@ public void startElement(String uri, String localName, String qName, Attributes currentType.startTime = getBoolean(attributes, "startTime", true); currentType.period = getString(attributes, "period"); currentType.cutoff = getBoolean(attributes, "cutoff", false); + currentType.level = getString(attributes, "level"); currentType.throttle = getBoolean(attributes, "throttle", false); currentType.commitState = getString(attributes, "commitState"); currentType.isEvent = "Event".equals(qName); @@ -651,7 +654,7 @@ private static void printJfrEventControlHpp(Metadata metadata, File outputFile) out.write(""); out.write("struct jfrNativeEventSetting {"); out.write(" jlong threshold_ticks;"); - out.write(" jlong cutoff_ticks;"); + out.write(" jlong miscellaneous;"); out.write(" u1 stacktrace;"); out.write(" u1 enabled;"); out.write(" u1 large;"); diff --git a/src/hotspot/share/ci/ciMethod.hpp b/src/hotspot/share/ci/ciMethod.hpp index b8d7a21ef4ced..0c171d0cf0b7c 100644 --- a/src/hotspot/share/ci/ciMethod.hpp +++ b/src/hotspot/share/ci/ciMethod.hpp @@ -200,6 +200,7 @@ class ciMethod : public ciMetadata { bool intrinsic_candidate() const { return get_Method()->intrinsic_candidate(); } bool is_static_initializer() const { return get_Method()->is_static_initializer(); } bool changes_current_thread() const { return get_Method()->changes_current_thread(); } + bool deprecated() const { return is_loaded() && get_Method()->deprecated(); } bool check_intrinsic_candidate() const { if (intrinsic_id() == vmIntrinsics::_blackhole) { diff --git a/src/hotspot/share/classfile/classFileParser.cpp b/src/hotspot/share/classfile/classFileParser.cpp index a7447211a1c43..b7485b7db524d 100644 --- a/src/hotspot/share/classfile/classFileParser.cpp +++ b/src/hotspot/share/classfile/classFileParser.cpp @@ -951,6 +951,8 @@ class AnnotationCollector : public ResourceObj{ _field_Stable, _jdk_internal_vm_annotation_ReservedStackAccess, _jdk_internal_ValueBased, + _java_lang_Deprecated, + _java_lang_Deprecated_for_removal, _annotation_LIMIT }; const Location _location; @@ -1122,6 +1124,7 @@ static void parse_annotations(const ConstantPool* const cp, s_tag_val = 's', // payload is String s_con_off = 7, // utf8 payload, such as 'Ljava/lang/String;' s_size = 9, + b_tag_val = 'Z', // payload is boolean min_size = 6 // smallest possible size (zero members) }; // Cannot add min_size to index in case of overflow MAX_INT @@ -1144,6 +1147,32 @@ static void parse_annotations(const ConstantPool* const cp, AnnotationCollector::ID id = coll->annotation_index(loader_data, aname, can_access_vm_annotations); if (AnnotationCollector::_unknown == id) continue; coll->set_annotation(id); + if (AnnotationCollector::_java_lang_Deprecated == id) { + assert(count <= 2, "change this if more element-value pairs are added to the @Deprecated annotation"); + // @Deprecated can specify forRemoval=true + const u1* offset = abase + member_off; + for (int i = 0; i < count; ++i) { + int member_index = Bytes::get_Java_u2((address)offset); + offset += 2; + member = check_symbol_at(cp, member_index); + if (member == vmSymbols::since()) { + assert(*((address)offset) == s_tag_val, "invariant"); + offset += 3; + continue; + } + if (member == vmSymbols::for_removal()) { + assert(*((address)offset) == b_tag_val, "invariant"); + const u2 boolean_value_index = Bytes::get_Java_u2((address)offset + 1); + if (cp->int_at(boolean_value_index) == 1) { + // forRemoval == true + coll->set_annotation(AnnotationCollector::_java_lang_Deprecated_for_removal); + } + break; + } + + } + continue; + } if (AnnotationCollector::_jdk_internal_vm_annotation_Contended == id) { // @Contended can optionally specify the contention group. @@ -1959,6 +1988,9 @@ AnnotationCollector::annotation_index(const ClassLoaderData* loader_data, if (!privileged) break; // only allow in privileged code return _jdk_internal_ValueBased; } + case VM_SYMBOL_ENUM_NAME(java_lang_Deprecated): { + return _java_lang_Deprecated; + } default: { break; } @@ -2003,6 +2035,10 @@ void MethodAnnotationCollector::apply_to(const methodHandle& m) { m->set_intrinsic_candidate(); if (has_annotation(_jdk_internal_vm_annotation_ReservedStackAccess)) m->set_has_reserved_stack_access(); + if (has_annotation(_java_lang_Deprecated)) + m->set_deprecated(); + if (has_annotation(_java_lang_Deprecated_for_removal)) + m->set_deprecated_for_removal(); } void ClassFileParser::ClassAnnotationCollector::apply_to(InstanceKlass* ik) { @@ -2016,6 +2052,22 @@ void ClassFileParser::ClassAnnotationCollector::apply_to(InstanceKlass* ik) { ik->set_is_value_based(); } } + if (has_annotation(_java_lang_Deprecated)) { + Array* methods = ik->methods(); + int length = ik->methods()->length(); + for (int i = 0; i < length; i++) { + Method* m = methods->at(i); + m->set_deprecated(); + } + } + if (has_annotation(_java_lang_Deprecated_for_removal)) { + Array* methods = ik->methods(); + int length = ik->methods()->length(); + for (int i = 0; i < length; i++) { + Method* m = methods->at(i); + m->set_deprecated_for_removal(); + } + } } #define MAX_ARGS_SIZE 255 diff --git a/src/hotspot/share/classfile/vmSymbols.hpp b/src/hotspot/share/classfile/vmSymbols.hpp index b450c1250539c..16ddc2602b1c0 100644 --- a/src/hotspot/share/classfile/vmSymbols.hpp +++ b/src/hotspot/share/classfile/vmSymbols.hpp @@ -162,7 +162,9 @@ class SerializeClosure; template(jdk_internal_loader_BuiltinClassLoader, "jdk/internal/loader/BuiltinClassLoader") \ template(jdk_internal_loader_ClassLoaders_AppClassLoader, "jdk/internal/loader/ClassLoaders$AppClassLoader") \ template(jdk_internal_loader_ClassLoaders_PlatformClassLoader, "jdk/internal/loader/ClassLoaders$PlatformClassLoader") \ - \ + template(java_lang_Deprecated, "Ljava/lang/Deprecated;") \ + template(since, "since") \ + template(for_removal, "forRemoval") \ /* Java runtime version access */ \ template(java_lang_VersionProps, "java/lang/VersionProps") \ template(java_version_name, "java_version") \ diff --git a/src/hotspot/share/jfr/instrumentation/jfrResolution.cpp b/src/hotspot/share/jfr/instrumentation/jfrResolution.cpp deleted file mode 100644 index 6385433560993..0000000000000 --- a/src/hotspot/share/jfr/instrumentation/jfrResolution.cpp +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - * - */ - -#include "precompiled.hpp" -#include "ci/ciKlass.hpp" -#include "ci/ciMethod.hpp" -#include "classfile/vmSymbols.hpp" -#include "interpreter/linkResolver.hpp" -#include "jfr/instrumentation/jfrResolution.hpp" -#include "jfr/recorder/checkpoint/types/traceid/jfrTraceIdMacros.hpp" -#include "oops/method.inline.hpp" -#include "runtime/javaThread.hpp" -#include "runtime/vframe.inline.hpp" -#ifdef COMPILER1 -#include "c1/c1_GraphBuilder.hpp" -#endif -#ifdef COMPILER2 -#include "opto/parse.hpp" -#endif - -static const char* const link_error_msg = "illegal access linking method 'jdk.jfr.internal.event.EventWriterFactory.getEventWriter(long)'"; - -static const Method* ljf_sender_method(JavaThread* jt) { - assert(jt != nullptr, "invariant"); - if (!jt->has_last_Java_frame()) { - return nullptr; - } - const vframeStream ljf(jt, false, false); - return ljf.method(); -} - -void JfrResolution::on_runtime_resolution(const CallInfo & info, TRAPS) { - assert(info.selected_method() != nullptr, "invariant"); - assert(info.resolved_klass() != nullptr, "invariant"); - static const Symbol* const event_writer_method_name = vmSymbols::getEventWriter_name(); - assert(event_writer_method_name != nullptr, "invariant"); - // Fast path - if (info.selected_method()->name() != event_writer_method_name) { - return; - } - static const Symbol* const event_writer_factory_klass_name = vmSymbols::jdk_jfr_internal_event_EventWriterFactory(); - assert(event_writer_factory_klass_name != nullptr, "invariant"); - if (info.resolved_klass()->name() != event_writer_factory_klass_name) { - return; - } - // Attempting to link against jdk.jfr.internal.event.EventWriterFactory.getEventWriter(). - // The sender, i.e. the method attempting to link, is in the ljf (if one exists). - const Method* const sender = ljf_sender_method(THREAD); - if (sender == nullptr) { - // A compiler thread is doing linktime resolution but there is no information about the sender available. - // For the compiler threads, the sender is instead found as part of bytecode parsing. - return; - } - // Is the sender method blessed for linkage? - if (IS_METHOD_BLESSED(sender)) { - return; - } -#if INCLUDE_JVMCI - // JVMCI compiler is doing linktime resolution - if (sender->method_holder()->name() == vmSymbols::jdk_vm_ci_hotspot_CompilerToVM()) { - if (sender->name()->equals("lookupMethodInPool")) { - return; - } - } -#endif - THROW_MSG(vmSymbols::java_lang_IllegalAccessError(), link_error_msg); -} - -static inline bool is_compiler_linking_event_writer(const Symbol* holder, const Symbol* name) { - static const Symbol* const event_writer_factory_klass_name = vmSymbols::jdk_jfr_internal_event_EventWriterFactory(); - assert(event_writer_factory_klass_name != nullptr, "invariant"); - if (holder != event_writer_factory_klass_name) { - return false; - } - static const Symbol* const event_writer_method_name = vmSymbols::getEventWriter_name(); - assert(event_writer_method_name != nullptr, "invariant"); - return name == event_writer_method_name; -} - -static inline bool is_compiler_linking_event_writer(const ciKlass * holder, const ciMethod * target) { - assert(holder != nullptr, "invariant"); - assert(target != nullptr, "invariant"); - return is_compiler_linking_event_writer(holder->name()->get_symbol(), target->name()->get_symbol()); -} - -#ifdef COMPILER1 -// C1 -void JfrResolution::on_c1_resolution(const GraphBuilder * builder, const ciKlass * holder, const ciMethod * target) { - if (is_compiler_linking_event_writer(holder, target) && !IS_METHOD_BLESSED(builder->method()->get_Method())) { - builder->bailout(link_error_msg); - } -} -#endif - -#ifdef COMPILER2 -// C2 -void JfrResolution::on_c2_resolution(const Parse * parse, const ciKlass * holder, const ciMethod * target) { - if (is_compiler_linking_event_writer(holder, target) && !IS_METHOD_BLESSED(parse->method()->get_Method())) { - parse->C->record_failure(link_error_msg); - } -} -#endif - -#if INCLUDE_JVMCI -// JVMCI -void JfrResolution::on_jvmci_resolution(const Method* caller, const Method* target, TRAPS) { - if (is_compiler_linking_event_writer(target->method_holder()->name(), target->name())) { - if (caller == nullptr || !IS_METHOD_BLESSED(caller)) { - THROW_MSG(vmSymbols::java_lang_IllegalAccessError(), link_error_msg); - } - } -} -#endif diff --git a/src/hotspot/share/jfr/jfr.cpp b/src/hotspot/share/jfr/jfr.cpp index 99faa108bfd9f..45848fb024311 100644 --- a/src/hotspot/share/jfr/jfr.cpp +++ b/src/hotspot/share/jfr/jfr.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2019, 2023, Oracle and/or its affiliates. All rights reserved. * 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,6 @@ */ #include "precompiled.hpp" -#include "jfr/instrumentation/jfrResolution.hpp" #include "jfr/jfr.hpp" #include "jfr/jni/jfrJavaSupport.hpp" #include "jfr/leakprofiler/leakProfiler.hpp" @@ -33,6 +32,7 @@ #include "jfr/recorder/service/jfrOptionSet.hpp" #include "jfr/recorder/service/jfrOptionSet.hpp" #include "jfr/recorder/repository/jfrRepository.hpp" +#include "jfr/support/jfrResolution.hpp" #include "jfr/support/jfrThreadLocal.hpp" #include "runtime/java.hpp" @@ -67,9 +67,7 @@ void Jfr::on_create_vm_3() { } void Jfr::on_unloading_classes() { - if (JfrRecorder::is_created()) { - JfrCheckpointManager::on_unloading_classes(); - } + JfrCheckpointManager::on_unloading_classes(); } bool Jfr::is_excluded(Thread* t) { @@ -104,6 +102,10 @@ void Jfr::on_resolution(const CallInfo& info, TRAPS) { JfrResolution::on_runtime_resolution(info, THREAD); } +void Jfr::on_backpatching(const Method* callee_method, JavaThread* jt) { + JfrResolution::on_backpatching(callee_method, jt); +} + #ifdef COMPILER1 void Jfr::on_resolution(const GraphBuilder* builder, const ciKlass* holder, const ciMethod* target) { JfrResolution::on_c1_resolution(builder, holder, target); diff --git a/src/hotspot/share/jfr/jfr.hpp b/src/hotspot/share/jfr/jfr.hpp index 89ecf5bc7982b..af492f85123c9 100644 --- a/src/hotspot/share/jfr/jfr.hpp +++ b/src/hotspot/share/jfr/jfr.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2018, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -70,6 +70,7 @@ class Jfr : AllStatic { static void on_vm_error_report(outputStream* st); static bool on_flight_recorder_option(const JavaVMOption** option, char* delimiter); static bool on_start_flight_recording_option(const JavaVMOption** option, char* delimiter); + static void on_backpatching(const Method* callee_method, JavaThread* jt); }; #endif // SHARE_JFR_JFR_HPP diff --git a/src/hotspot/share/jfr/jni/jfrJniMethod.cpp b/src/hotspot/share/jfr/jni/jfrJniMethod.cpp index 82f26d7bdd062..db534b6df3c43 100644 --- a/src/hotspot/share/jfr/jni/jfrJniMethod.cpp +++ b/src/hotspot/share/jfr/jni/jfrJniMethod.cpp @@ -45,6 +45,7 @@ #include "jfr/instrumentation/jfrEventClassTransformer.hpp" #include "jfr/instrumentation/jfrJvmtiAgent.hpp" #include "jfr/leakprofiler/leakProfiler.hpp" +#include "jfr/support/jfrDeprecationManager.hpp" #include "jfr/support/jfrJdkJfrEvent.hpp" #include "jfr/support/jfrKlassUnloading.hpp" #include "jfr/utilities/jfrJavaLog.hpp" @@ -159,15 +160,19 @@ NO_TRANSITION(jdouble, jfr_time_conv_factor(JNIEnv* env, jclass jvm)) return (jdouble)JfrTimeConverter::nano_to_counter_multiplier(); NO_TRANSITION_END -NO_TRANSITION(jboolean, jfr_set_cutoff(JNIEnv* env, jclass jvm, jlong event_type_id, jlong cutoff_ticks)) - return JfrEventSetting::set_cutoff(event_type_id, cutoff_ticks) ? JNI_TRUE : JNI_FALSE; -NO_TRANSITION_END - NO_TRANSITION(jboolean, jfr_set_throttle(JNIEnv* env, jclass jvm, jlong event_type_id, jlong event_sample_size, jlong period_ms)) JfrEventThrottler::configure(static_cast(event_type_id), event_sample_size, period_ms); return JNI_TRUE; NO_TRANSITION_END +NO_TRANSITION(void, jfr_set_miscellaneous(JNIEnv* env, jobject jvm, jlong event_type_id, jlong value)) + JfrEventSetting::set_miscellaneous(event_type_id, value); + const JfrEventId typed_event_id = (JfrEventId)event_type_id; + if (EventDeprecatedInvocation::eventId == typed_event_id) { + JfrDeprecationManager::on_level_setting_update(value); + } +NO_TRANSITION_END + NO_TRANSITION(jboolean, jfr_should_rotate_disk(JNIEnv* env, jclass jvm)) return JfrChunkRotation::should_rotate() ? JNI_TRUE : JNI_FALSE; NO_TRANSITION_END diff --git a/src/hotspot/share/jfr/jni/jfrJniMethod.hpp b/src/hotspot/share/jfr/jni/jfrJniMethod.hpp index b37841aeac297..c75a4c9721913 100644 --- a/src/hotspot/share/jfr/jni/jfrJniMethod.hpp +++ b/src/hotspot/share/jfr/jni/jfrJniMethod.hpp @@ -127,10 +127,10 @@ void JNICALL jfr_set_force_instrumentation(JNIEnv* env, jclass jvm, jboolean for jlong JNICALL jfr_get_unloaded_event_classes_count(JNIEnv* env, jclass jvm); -jboolean JNICALL jfr_set_cutoff(JNIEnv* env, jclass jvm, jlong event_type_id, jlong cutoff_ticks); - jboolean JNICALL jfr_set_throttle(JNIEnv* env, jclass jvm, jlong event_type_id, jlong event_sample_size, jlong period_ms); +void JNICALL jfr_set_miscellaneous(JNIEnv* env, jobject jvm, jlong id, jlong value); + void JNICALL jfr_emit_old_object_samples(JNIEnv* env, jclass jvm, jlong cutoff_ticks, jboolean, jboolean); jboolean JNICALL jfr_should_rotate_disk(JNIEnv* env, jclass jvm); diff --git a/src/hotspot/share/jfr/jni/jfrJniMethodRegistration.cpp b/src/hotspot/share/jfr/jni/jfrJniMethodRegistration.cpp index f8475881ff8ad..338f63fbc4f37 100644 --- a/src/hotspot/share/jfr/jni/jfrJniMethodRegistration.cpp +++ b/src/hotspot/share/jfr/jni/jfrJniMethodRegistration.cpp @@ -82,7 +82,7 @@ JfrJniMethodRegistration::JfrJniMethodRegistration(JNIEnv* env) { (char*)"uncaughtException", (char*)"(Ljava/lang/Thread;Ljava/lang/Throwable;)V", (void*)jfr_uncaught_exception, (char*)"setForceInstrumentation", (char*)"(Z)V", (void*)jfr_set_force_instrumentation, (char*)"getUnloadedEventClassCount", (char*)"()J", (void*)jfr_get_unloaded_event_classes_count, - (char*)"setCutoff", (char*)"(JJ)Z", (void*)jfr_set_cutoff, + (char*)"setMiscellaneous", (char*)"(JJ)V", (void*)jfr_set_miscellaneous, (char*)"setThrottle", (char*)"(JJJ)Z", (void*)jfr_set_throttle, (char*)"emitOldObjectSamples", (char*)"(JZZ)V", (void*)jfr_emit_old_object_samples, (char*)"shouldRotateDisk", (char*)"()Z", (void*)jfr_should_rotate_disk, diff --git a/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.cpp b/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.cpp index ffd973696f150..9f6679c93ebfc 100644 --- a/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.cpp +++ b/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.cpp @@ -416,9 +416,9 @@ static void install_type_set_blobs() { iterate_samples(installer); } -static void save_type_set_blob(JfrCheckpointWriter& writer, bool copy = false) { +static void save_type_set_blob(JfrCheckpointWriter& writer) { assert(writer.has_data(), "invariant"); - const JfrBlobHandle blob = copy ? writer.copy() : writer.move(); + const JfrBlobHandle blob = writer.copy(); if (saved_type_set_blobs.valid()) { saved_type_set_blobs->set_next(blob); } else { @@ -438,9 +438,8 @@ void ObjectSampleCheckpoint::on_type_set(JfrCheckpointWriter& writer) { } void ObjectSampleCheckpoint::on_type_set_unload(JfrCheckpointWriter& writer) { - assert_locked_or_safepoint(ClassLoaderDataGraph_lock); assert(LeakProfiler::is_running(), "invariant"); if (writer.has_data() && ObjectSampler::sampler()->last() != nullptr) { - save_type_set_blob(writer, true); + save_type_set_blob(writer); } } diff --git a/src/hotspot/share/jfr/metadata/metadata.xml b/src/hotspot/share/jfr/metadata/metadata.xml index 7977b732eef3a..c1f626a819201 100644 --- a/src/hotspot/share/jfr/metadata/metadata.xml +++ b/src/hotspot/share/jfr/metadata/metadata.xml @@ -1252,6 +1252,13 @@ + + + + + + diff --git a/src/hotspot/share/jfr/metadata/metadata.xsd b/src/hotspot/share/jfr/metadata/metadata.xsd index ffef3d932e3c2..9d6cdd3d7449e 100644 --- a/src/hotspot/share/jfr/metadata/metadata.xsd +++ b/src/hotspot/share/jfr/metadata/metadata.xsd @@ -1,7 +1,7 @@