Classfile /w/lt/jdk/dev/build/linux-x86_64-server-release/images/test/DUMP_SPECIALIZER/jdk/internal/foreign/abi/DowncallStub(a8a8a8a8)v.class Last modified 24 Oct 2024; size 1847 bytes MD5 checksum 864102621be740f7e25ec62e1007cf8a public final class jdk.internal.foreign.abi.DowncallStub minor version: 0 major version: 68 flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER this_class: #2 // jdk/internal/foreign/abi/DowncallStub super_class: #4 // java/lang/Object interfaces: 0, fields: 0, methods: 1, attributes: 1 Constant pool: #1 = Utf8 jdk/internal/foreign/abi/DowncallStub #2 = Class #1 // jdk/internal/foreign/abi/DowncallStub #3 = Utf8 java/lang/Object #4 = Class #3 // java/lang/Object #5 = Utf8 invoke #6 = Utf8 (Ljava/lang/foreign/SegmentAllocator;Ljava/lang/foreign/MemorySegment;Ljava/lang/foreign/MemorySegment;Ljava/lang/foreign/MemorySegment;Ljava/lang/foreign/MemorySegment;)V #7 = Utf8 jdk/internal/foreign/abi/SharedUtils #8 = Class #7 // jdk/internal/foreign/abi/SharedUtils #9 = Utf8 DUMMY_ARENA #10 = Utf8 Ljava/lang/foreign/Arena; #11 = NameAndType #9:#10 // DUMMY_ARENA:Ljava/lang/foreign/Arena; #12 = Fieldref #8.#11 // jdk/internal/foreign/abi/SharedUtils.DUMMY_ARENA:Ljava/lang/foreign/Arena; #13 = Utf8 jdk/internal/foreign/AbstractMemorySegmentImpl #14 = Class #13 // jdk/internal/foreign/AbstractMemorySegmentImpl #15 = Utf8 sessionImpl #16 = Utf8 ()Ljdk/internal/foreign/MemorySessionImpl; #17 = NameAndType #15:#16 // sessionImpl:()Ljdk/internal/foreign/MemorySessionImpl; #18 = Methodref #14.#17 // jdk/internal/foreign/AbstractMemorySegmentImpl.sessionImpl:()Ljdk/internal/foreign/MemorySessionImpl; #19 = Utf8 jdk/internal/foreign/MemorySessionImpl #20 = Class #19 // jdk/internal/foreign/MemorySessionImpl #21 = Utf8 acquire0 #22 = Utf8 ()V #23 = NameAndType #21:#22 // acquire0:()V #24 = Methodref #20.#23 // jdk/internal/foreign/MemorySessionImpl.acquire0:()V #25 = Utf8 checkNative #26 = Utf8 (Ljava/lang/foreign/MemorySegment;)V #27 = NameAndType #25:#26 // checkNative:(Ljava/lang/foreign/MemorySegment;)V #28 = Methodref #8.#27 // jdk/internal/foreign/abi/SharedUtils.checkNative:(Ljava/lang/foreign/MemorySegment;)V #29 = Utf8 unsafeGetOffset #30 = Utf8 ()J #31 = NameAndType #29:#30 // unsafeGetOffset:()J #32 = Methodref #14.#31 // jdk/internal/foreign/AbstractMemorySegmentImpl.unsafeGetOffset:()J #33 = Utf8 java/lang/invoke/MethodHandles #34 = Class #33 // java/lang/invoke/MethodHandles #35 = Utf8 classData #36 = Utf8 (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; #37 = NameAndType #35:#36 // classData:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; #38 = Methodref #34.#37 // java/lang/invoke/MethodHandles.classData:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; #39 = MethodHandle 6:#38 // REF_invokeStatic java/lang/invoke/MethodHandles.classData:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; #40 = Utf8 _ #41 = Utf8 Ljava/lang/Object; #42 = NameAndType #40:#41 // _:Ljava/lang/Object; #43 = Dynamic #0:#42 // #0:_:Ljava/lang/Object; #44 = Utf8 java/lang/invoke/MethodHandle #45 = Class #44 // java/lang/invoke/MethodHandle #46 = Utf8 invokeExact #47 = Utf8 (JJJJ)V #48 = NameAndType #46:#47 // invokeExact:(JJJJ)V #49 = Methodref #45.#48 // java/lang/invoke/MethodHandle.invokeExact:(JJJJ)V #50 = Utf8 java/lang/foreign/Arena #51 = Class #50 // java/lang/foreign/Arena #52 = Utf8 close #53 = NameAndType #52:#22 // close:()V #54 = InterfaceMethodref #51.#53 // java/lang/foreign/Arena.close:()V #55 = Utf8 release0 #56 = NameAndType #55:#22 // release0:()V #57 = Methodref #20.#56 // jdk/internal/foreign/MemorySessionImpl.release0:()V #58 = Utf8 Code #59 = Utf8 StackMapTable #60 = Utf8 java/lang/foreign/SegmentAllocator #61 = Class #60 // java/lang/foreign/SegmentAllocator #62 = Utf8 java/lang/foreign/MemorySegment #63 = Class #62 // java/lang/foreign/MemorySegment #64 = Utf8 java/lang/Throwable #65 = Class #64 // java/lang/Throwable #66 = Utf8 BootstrapMethods { public static void invoke(java.lang.foreign.SegmentAllocator, java.lang.foreign.MemorySegment, java.lang.foreign.MemorySegment, java.lang.foreign.MemorySegment, java.lang.foreign.MemorySegment); descriptor: (Ljava/lang/foreign/SegmentAllocator;Ljava/lang/foreign/MemorySegment;Ljava/lang/foreign/MemorySegment;Ljava/lang/foreign/MemorySegment;Ljava/lang/foreign/MemorySegment;)V flags: (0x0009) ACC_PUBLIC, ACC_STATIC Code: stack=9, locals=18, args_size=5 0: aconst_null 1: astore 13 3: aconst_null 4: astore 14 6: aconst_null 7: astore 15 9: aconst_null 10: astore 16 12: getstatic #12 // Field jdk/internal/foreign/abi/SharedUtils.DUMMY_ARENA:Ljava/lang/foreign/Arena; 15: astore 17 17: aload_1 18: dup 19: checkcast #14 // class jdk/internal/foreign/AbstractMemorySegmentImpl 22: invokevirtual #18 // Method jdk/internal/foreign/AbstractMemorySegmentImpl.sessionImpl:()Ljdk/internal/foreign/MemorySessionImpl; 25: dup 26: invokevirtual #24 // Method jdk/internal/foreign/MemorySessionImpl.acquire0:()V 29: astore 13 31: dup 32: invokestatic #28 // Method jdk/internal/foreign/abi/SharedUtils.checkNative:(Ljava/lang/foreign/MemorySegment;)V 35: checkcast #14 // class jdk/internal/foreign/AbstractMemorySegmentImpl 38: invokevirtual #32 // Method jdk/internal/foreign/AbstractMemorySegmentImpl.unsafeGetOffset:()J 41: lstore 5 43: aload_2 44: dup 45: checkcast #14 // class jdk/internal/foreign/AbstractMemorySegmentImpl 48: invokevirtual #18 // Method jdk/internal/foreign/AbstractMemorySegmentImpl.sessionImpl:()Ljdk/internal/foreign/MemorySessionImpl; 51: dup 52: aload 13 54: if_acmpeq 66 57: dup 58: invokevirtual #24 // Method jdk/internal/foreign/MemorySessionImpl.acquire0:()V 61: astore 14 63: goto 67 66: pop 67: dup 68: invokestatic #28 // Method jdk/internal/foreign/abi/SharedUtils.checkNative:(Ljava/lang/foreign/MemorySegment;)V 71: checkcast #14 // class jdk/internal/foreign/AbstractMemorySegmentImpl 74: invokevirtual #32 // Method jdk/internal/foreign/AbstractMemorySegmentImpl.unsafeGetOffset:()J 77: lstore 7 79: aload_3 80: dup 81: checkcast #14 // class jdk/internal/foreign/AbstractMemorySegmentImpl 84: invokevirtual #18 // Method jdk/internal/foreign/AbstractMemorySegmentImpl.sessionImpl:()Ljdk/internal/foreign/MemorySessionImpl; 87: dup 88: aload 13 90: if_acmpeq 108 93: dup 94: aload 14 96: if_acmpeq 108 99: dup 100: invokevirtual #24 // Method jdk/internal/foreign/MemorySessionImpl.acquire0:()V 103: astore 15 105: goto 109 108: pop 109: dup 110: invokestatic #28 // Method jdk/internal/foreign/abi/SharedUtils.checkNative:(Ljava/lang/foreign/MemorySegment;)V 113: checkcast #14 // class jdk/internal/foreign/AbstractMemorySegmentImpl 116: invokevirtual #32 // Method jdk/internal/foreign/AbstractMemorySegmentImpl.unsafeGetOffset:()J 119: lstore 9 121: aload 4 123: dup 124: checkcast #14 // class jdk/internal/foreign/AbstractMemorySegmentImpl 127: invokevirtual #18 // Method jdk/internal/foreign/AbstractMemorySegmentImpl.sessionImpl:()Ljdk/internal/foreign/MemorySessionImpl; 130: dup 131: aload 13 133: if_acmpeq 157 136: dup 137: aload 14 139: if_acmpeq 157 142: dup 143: aload 15 145: if_acmpeq 157 148: dup 149: invokevirtual #24 // Method jdk/internal/foreign/MemorySessionImpl.acquire0:()V 152: astore 16 154: goto 158 157: pop 158: dup 159: invokestatic #28 // Method jdk/internal/foreign/abi/SharedUtils.checkNative:(Ljava/lang/foreign/MemorySegment;)V 162: checkcast #14 // class jdk/internal/foreign/AbstractMemorySegmentImpl 165: invokevirtual #32 // Method jdk/internal/foreign/AbstractMemorySegmentImpl.unsafeGetOffset:()J 168: lstore 11 170: ldc #43 // Dynamic #0:_:Ljava/lang/Object; 172: checkcast #45 // class java/lang/invoke/MethodHandle 175: lload 5 177: lload 7 179: lload 9 181: lload 11 183: invokevirtual #49 // Method java/lang/invoke/MethodHandle.invokeExact:(JJJJ)V 186: aload 17 188: checkcast #51 // class java/lang/foreign/Arena 191: invokeinterface #54, 1 // InterfaceMethod java/lang/foreign/Arena.close:()V 196: aload 13 198: ifnull 206 201: aload 13 203: invokevirtual #57 // Method jdk/internal/foreign/MemorySessionImpl.release0:()V 206: aload 14 208: ifnull 216 211: aload 14 213: invokevirtual #57 // Method jdk/internal/foreign/MemorySessionImpl.release0:()V 216: aload 15 218: ifnull 226 221: aload 15 223: invokevirtual #57 // Method jdk/internal/foreign/MemorySessionImpl.release0:()V 226: aload 16 228: ifnull 236 231: aload 16 233: invokevirtual #57 // Method jdk/internal/foreign/MemorySessionImpl.release0:()V 236: return 237: aload 17 239: checkcast #51 // class java/lang/foreign/Arena 242: invokeinterface #54, 1 // InterfaceMethod java/lang/foreign/Arena.close:()V 247: aload 13 249: ifnull 257 252: aload 13 254: invokevirtual #57 // Method jdk/internal/foreign/MemorySessionImpl.release0:()V 257: aload 14 259: ifnull 267 262: aload 14 264: invokevirtual #57 // Method jdk/internal/foreign/MemorySessionImpl.release0:()V 267: aload 15 269: ifnull 277 272: aload 15 274: invokevirtual #57 // Method jdk/internal/foreign/MemorySessionImpl.release0:()V 277: aload 16 279: ifnull 287 282: aload 16 284: invokevirtual #57 // Method jdk/internal/foreign/MemorySessionImpl.release0:()V 287: athrow Exception table: from to target type 17 186 237 any StackMapTable: number_of_entries = 15 frame_type = 255 /* full_frame */ offset_delta = 66 locals = [ class java/lang/foreign/SegmentAllocator, class java/lang/foreign/MemorySegment, class java/lang/foreign/MemorySegment, class java/lang/foreign/MemorySegment, class java/lang/foreign/MemorySegment, long, top, top, top, top, top, top, class jdk/internal/foreign/MemorySessionImpl, null, null, null, class java/lang/foreign/Arena ] stack = [ class java/lang/foreign/MemorySegment, class jdk/internal/foreign/MemorySessionImpl ] frame_type = 255 /* full_frame */ offset_delta = 0 locals = [ class java/lang/foreign/SegmentAllocator, class java/lang/foreign/MemorySegment, class java/lang/foreign/MemorySegment, class java/lang/foreign/MemorySegment, class java/lang/foreign/MemorySegment, long, top, top, top, top, top, top, class jdk/internal/foreign/MemorySessionImpl, class jdk/internal/foreign/MemorySessionImpl, null, null, class java/lang/foreign/Arena ] stack = [ class java/lang/foreign/MemorySegment ] frame_type = 255 /* full_frame */ offset_delta = 40 locals = [ class java/lang/foreign/SegmentAllocator, class java/lang/foreign/MemorySegment, class java/lang/foreign/MemorySegment, class java/lang/foreign/MemorySegment, class java/lang/foreign/MemorySegment, long, long, top, top, top, top, class jdk/internal/foreign/MemorySessionImpl, class jdk/internal/foreign/MemorySessionImpl, null, null, class java/lang/foreign/Arena ] stack = [ class java/lang/foreign/MemorySegment, class jdk/internal/foreign/MemorySessionImpl ] frame_type = 255 /* full_frame */ offset_delta = 0 locals = [ class java/lang/foreign/SegmentAllocator, class java/lang/foreign/MemorySegment, class java/lang/foreign/MemorySegment, class java/lang/foreign/MemorySegment, class java/lang/foreign/MemorySegment, long, long, top, top, top, top, class jdk/internal/foreign/MemorySessionImpl, class jdk/internal/foreign/MemorySessionImpl, class jdk/internal/foreign/MemorySessionImpl, null, class java/lang/foreign/Arena ] stack = [ class java/lang/foreign/MemorySegment ] frame_type = 255 /* full_frame */ offset_delta = 47 locals = [ class java/lang/foreign/SegmentAllocator, class java/lang/foreign/MemorySegment, class java/lang/foreign/MemorySegment, class java/lang/foreign/MemorySegment, class java/lang/foreign/MemorySegment, long, long, long, top, top, class jdk/internal/foreign/MemorySessionImpl, class jdk/internal/foreign/MemorySessionImpl, class jdk/internal/foreign/MemorySessionImpl, null, class java/lang/foreign/Arena ] stack = [ class java/lang/foreign/MemorySegment, class jdk/internal/foreign/MemorySessionImpl ] frame_type = 255 /* full_frame */ offset_delta = 0 locals = [ class java/lang/foreign/SegmentAllocator, class java/lang/foreign/MemorySegment, class java/lang/foreign/MemorySegment, class java/lang/foreign/MemorySegment, class java/lang/foreign/MemorySegment, long, long, long, top, top, class jdk/internal/foreign/MemorySessionImpl, class jdk/internal/foreign/MemorySessionImpl, class jdk/internal/foreign/MemorySessionImpl, class jdk/internal/foreign/MemorySessionImpl, class java/lang/foreign/Arena ] stack = [ class java/lang/foreign/MemorySegment ] frame_type = 255 /* full_frame */ offset_delta = 47 locals = [ class java/lang/foreign/SegmentAllocator, class java/lang/foreign/MemorySegment, class java/lang/foreign/MemorySegment, class java/lang/foreign/MemorySegment, class java/lang/foreign/MemorySegment, long, long, long, long, class jdk/internal/foreign/MemorySessionImpl, class jdk/internal/foreign/MemorySessionImpl, class jdk/internal/foreign/MemorySessionImpl, class jdk/internal/foreign/MemorySessionImpl, class java/lang/foreign/Arena ] stack = [] frame_type = 9 /* same */ frame_type = 9 /* same */ frame_type = 9 /* same */ frame_type = 255 /* full_frame */ offset_delta = 0 locals = [ class java/lang/foreign/SegmentAllocator, class java/lang/foreign/MemorySegment, class java/lang/foreign/MemorySegment, class java/lang/foreign/MemorySegment, class java/lang/foreign/MemorySegment, top, top, top, top, top, top, top, top, class jdk/internal/foreign/MemorySessionImpl, class jdk/internal/foreign/MemorySessionImpl, class jdk/internal/foreign/MemorySessionImpl, class jdk/internal/foreign/MemorySessionImpl, class java/lang/foreign/Arena ] stack = [ class java/lang/Throwable ] frame_type = 83 /* same_locals_1_stack_item */ stack = [ class java/lang/Throwable ] frame_type = 73 /* same_locals_1_stack_item */ stack = [ class java/lang/Throwable ] frame_type = 73 /* same_locals_1_stack_item */ stack = [ class java/lang/Throwable ] frame_type = 73 /* same_locals_1_stack_item */ stack = [ class java/lang/Throwable ] } BootstrapMethods: 0: #39 REF_invokeStatic java/lang/invoke/MethodHandles.classData:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; Method arguments: