public final class jdk.tools.jaotc.binformat.BinaryContainer implements jdk.tools.jaotc.binformat.SymbolTable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.tools.jaotc.binformat.BinaryContainer
super_class: java.lang.Object
{
private final org.graalvm.compiler.options.OptionValues graalOptions;
descriptor: Lorg/graalvm/compiler/options/OptionValues;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int codeSegmentSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int codeEntryAlignment;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean threadLocalHandshakes;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.tools.jaotc.binformat.CodeContainer codeContainer;
descriptor: Ljdk/tools/jaotc/binformat/CodeContainer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.tools.jaotc.binformat.ByteContainer extLinkageGOTContainer;
descriptor: Ljdk/tools/jaotc/binformat/ByteContainer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.tools.jaotc.binformat.ByteContainer klassesGotContainer;
descriptor: Ljdk/tools/jaotc/binformat/ByteContainer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.tools.jaotc.binformat.ByteContainer countersGotContainer;
descriptor: Ljdk/tools/jaotc/binformat/ByteContainer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.tools.jaotc.binformat.ByteContainer metadataGotContainer;
descriptor: Ljdk/tools/jaotc/binformat/ByteContainer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.tools.jaotc.binformat.ByteContainer methodStateContainer;
descriptor: Ljdk/tools/jaotc/binformat/ByteContainer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.tools.jaotc.binformat.ByteContainer oopGotContainer;
descriptor: Ljdk/tools/jaotc/binformat/ByteContainer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.tools.jaotc.binformat.ReadOnlyDataContainer configContainer;
descriptor: Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.tools.jaotc.binformat.ReadOnlyDataContainer metaspaceNamesContainer;
descriptor: Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.tools.jaotc.binformat.ReadOnlyDataContainer methodsOffsetsContainer;
descriptor: Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.tools.jaotc.binformat.ReadOnlyDataContainer klassesOffsetsContainer;
descriptor: Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.tools.jaotc.binformat.ReadOnlyDataContainer klassesDependenciesContainer;
descriptor: Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.tools.jaotc.binformat.HeaderContainer ;
descriptor: Ljdk/tools/jaotc/binformat/HeaderContainer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.tools.jaotc.binformat.ReadOnlyDataContainer stubsOffsetsContainer;
descriptor: Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.tools.jaotc.binformat.ReadOnlyDataContainer codeSegmentsContainer;
descriptor: Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.tools.jaotc.binformat.ReadOnlyDataContainer methodMetadataContainer;
descriptor: Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.tools.jaotc.binformat.ReadOnlyDataContainer constantDataContainer;
descriptor: Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<java.lang.String, java.lang.Integer> offsetStringTable;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;
private final java.util.Map<java.lang.String, java.lang.Integer> metaspaceNames;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;
private final java.util.Map<java.lang.String, jdk.tools.jaotc.binformat.Symbol> symbolTable;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljdk/tools/jaotc/binformat/Symbol;>;
private final java.util.Map<jdk.tools.jaotc.binformat.Symbol, java.util.List<jdk.tools.jaotc.binformat.Relocation>> relocationTable;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljdk/tools/jaotc/binformat/Symbol;Ljava/util/List<Ljdk/tools/jaotc/binformat/Relocation;>;>;
private final java.util.Map<jdk.tools.jaotc.binformat.Symbol, jdk.tools.jaotc.binformat.Relocation> uniqueRelocationTable;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljdk/tools/jaotc/binformat/Symbol;Ljdk/tools/jaotc/binformat/Relocation;>;
private static final java.util.HashMap<java.lang.String, java.lang.String> functionNamesToAOTSymbols;
descriptor: Ljava/util/HashMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
private static final java.lang.String[][] map;
descriptor: [[Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=4, args_size=0
0: ldc Ljdk/tools/jaotc/binformat/BinaryContainer;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic jdk.tools.jaotc.binformat.BinaryContainer.$assertionsDisabled:Z
3: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic jdk.tools.jaotc.binformat.BinaryContainer.functionNamesToAOTSymbols:Ljava/util/HashMap;
4: bipush 96
anewarray java.lang.String[]
dup
iconst_0
5: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "CompilerToVM::Data::SharedRuntime_deopt_blob_unpack"
aastore
dup
iconst_1
ldc "_aot_deopt_blob_unpack"
aastore
aastore
dup
iconst_1
6: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "CompilerToVM::Data::SharedRuntime_deopt_blob_uncommon_trap"
aastore
dup
iconst_1
ldc "_aot_deopt_blob_uncommon_trap"
aastore
aastore
dup
iconst_2
7: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "CompilerToVM::Data::SharedRuntime_ic_miss_stub"
aastore
dup
iconst_1
ldc "_aot_ic_miss_stub"
aastore
aastore
dup
iconst_3
8: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "CompilerToVM::Data::SharedRuntime_handle_wrong_method_stub"
aastore
dup
iconst_1
ldc "_aot_handle_wrong_method_stub"
aastore
aastore
dup
iconst_4
9: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "SharedRuntime::exception_handler_for_return_address"
aastore
dup
iconst_1
ldc "_aot_exception_handler_for_return_address"
aastore
aastore
dup
iconst_5
10: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "SharedRuntime::register_finalizer"
aastore
dup
iconst_1
ldc "_aot_register_finalizer"
aastore
aastore
dup
bipush 6
11: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "SharedRuntime::OSR_migration_end"
aastore
dup
iconst_1
ldc "_aot_OSR_migration_end"
aastore
aastore
dup
bipush 7
12: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "CompilerRuntime::resolve_dynamic_invoke"
aastore
dup
iconst_1
ldc "_aot_resolve_dynamic_invoke"
aastore
aastore
dup
bipush 8
13: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "CompilerRuntime::resolve_string_by_symbol"
aastore
dup
iconst_1
ldc "_aot_resolve_string_by_symbol"
aastore
aastore
dup
bipush 9
14: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "CompilerRuntime::resolve_klass_by_symbol"
aastore
dup
iconst_1
ldc "_aot_resolve_klass_by_symbol"
aastore
aastore
dup
bipush 10
15: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "CompilerRuntime::resolve_method_by_symbol_and_load_counters"
aastore
dup
iconst_1
ldc "_aot_resolve_method_by_symbol_and_load_counters"
aastore
aastore
dup
bipush 11
16: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "CompilerRuntime::initialize_klass_by_symbol"
aastore
dup
iconst_1
ldc "_aot_initialize_klass_by_symbol"
aastore
aastore
dup
bipush 12
17: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "CompilerRuntime::invocation_event"
aastore
dup
iconst_1
ldc "_aot_invocation_event"
aastore
aastore
dup
bipush 13
18: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "CompilerRuntime::backedge_event"
aastore
dup
iconst_1
ldc "_aot_backedge_event"
aastore
aastore
dup
bipush 14
19: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "CompilerToVM::Data::dpow"
aastore
dup
iconst_1
ldc "_aot_shared_runtime_dpow"
aastore
aastore
dup
bipush 15
20: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "CompilerToVM::Data::dexp"
aastore
dup
iconst_1
ldc "_aot_shared_runtime_dexp"
aastore
aastore
dup
bipush 16
21: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "CompilerToVM::Data::dcos"
aastore
dup
iconst_1
ldc "_aot_shared_runtime_dcos"
aastore
aastore
dup
bipush 17
22: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "CompilerToVM::Data::dsin"
aastore
dup
iconst_1
ldc "_aot_shared_runtime_dsin"
aastore
aastore
dup
bipush 18
23: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "CompilerToVM::Data::dtan"
aastore
dup
iconst_1
ldc "_aot_shared_runtime_dtan"
aastore
aastore
dup
bipush 19
24: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "CompilerToVM::Data::dlog"
aastore
dup
iconst_1
ldc "_aot_shared_runtime_dlog"
aastore
aastore
dup
bipush 20
25: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "CompilerToVM::Data::dlog10"
aastore
dup
iconst_1
ldc "_aot_shared_runtime_dlog10"
aastore
aastore
dup
bipush 21
26: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_jbyte_arraycopy"
aastore
dup
iconst_1
ldc "_aot_stub_routines_jbyte_arraycopy"
aastore
aastore
dup
bipush 22
27: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_jshort_arraycopy"
aastore
dup
iconst_1
ldc "_aot_stub_routines_jshort_arraycopy"
aastore
aastore
dup
bipush 23
28: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_jint_arraycopy"
aastore
dup
iconst_1
ldc "_aot_stub_routines_jint_arraycopy"
aastore
aastore
dup
bipush 24
29: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_jlong_arraycopy"
aastore
dup
iconst_1
ldc "_aot_stub_routines_jlong_arraycopy"
aastore
aastore
dup
bipush 25
30: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_oop_arraycopy"
aastore
dup
iconst_1
ldc "_aot_stub_routines_oop_arraycopy"
aastore
aastore
dup
bipush 26
31: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_oop_arraycopy_uninit"
aastore
dup
iconst_1
ldc "_aot_stub_routines_oop_arraycopy_uninit"
aastore
aastore
dup
bipush 27
32: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_jbyte_disjoint_arraycopy"
aastore
dup
iconst_1
ldc "_aot_stub_routines_jbyte_disjoint_arraycopy"
aastore
aastore
dup
bipush 28
33: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_jshort_disjoint_arraycopy"
aastore
dup
iconst_1
ldc "_aot_stub_routines_jshort_disjoint_arraycopy"
aastore
aastore
dup
bipush 29
34: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_jint_disjoint_arraycopy"
aastore
dup
iconst_1
ldc "_aot_stub_routines_jint_disjoint_arraycopy"
aastore
aastore
dup
bipush 30
35: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_jlong_disjoint_arraycopy"
aastore
dup
iconst_1
ldc "_aot_stub_routines_jlong_disjoint_arraycopy"
aastore
aastore
dup
bipush 31
36: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_oop_disjoint_arraycopy"
aastore
dup
iconst_1
ldc "_aot_stub_routines_oop_disjoint_arraycopy"
aastore
aastore
dup
bipush 32
37: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_oop_disjoint_arraycopy_uninit"
aastore
dup
iconst_1
ldc "_aot_stub_routines_oop_disjoint_arraycopy_uninit"
aastore
aastore
dup
bipush 33
38: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_arrayof_jbyte_arraycopy"
aastore
dup
iconst_1
ldc "_aot_stub_routines_arrayof_jbyte_arraycopy"
aastore
aastore
dup
bipush 34
39: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_arrayof_jshort_arraycopy"
aastore
dup
iconst_1
ldc "_aot_stub_routines_arrayof_jshort_arraycopy"
aastore
aastore
dup
bipush 35
40: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_arrayof_jint_arraycopy"
aastore
dup
iconst_1
ldc "_aot_stub_routines_arrayof_jint_arraycopy"
aastore
aastore
dup
bipush 36
41: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_arrayof_jlong_arraycopy"
aastore
dup
iconst_1
ldc "_aot_stub_routines_arrayof_jlong_arraycopy"
aastore
aastore
dup
bipush 37
42: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_arrayof_oop_arraycopy"
aastore
dup
iconst_1
ldc "_aot_stub_routines_arrayof_oop_arraycopy"
aastore
aastore
dup
bipush 38
43: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_arrayof_oop_arraycopy_uninit"
aastore
dup
iconst_1
ldc "_aot_stub_routines_arrayof_oop_arraycopy_uninit"
aastore
aastore
dup
bipush 39
44: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_arrayof_jbyte_disjoint_arraycopy"
aastore
dup
iconst_1
ldc "_aot_stub_routines_arrayof_jbyte_disjoint_arraycopy"
aastore
aastore
dup
bipush 40
45: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_arrayof_jshort_disjoint_arraycopy"
aastore
dup
iconst_1
ldc "_aot_stub_routines_arrayof_jshort_disjoint_arraycopy"
aastore
aastore
dup
bipush 41
46: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_arrayof_jint_disjoint_arraycopy"
aastore
dup
iconst_1
ldc "_aot_stub_routines_arrayof_jint_disjoint_arraycopy"
aastore
aastore
dup
bipush 42
47: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_arrayof_jlong_disjoint_arraycopy"
aastore
dup
iconst_1
ldc "_aot_stub_routines_arrayof_jlong_disjoint_arraycopy"
aastore
aastore
dup
bipush 43
48: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_arrayof_oop_disjoint_arraycopy"
aastore
dup
iconst_1
ldc "_aot_stub_routines_arrayof_oop_disjoint_arraycopy"
aastore
aastore
dup
bipush 44
49: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_arrayof_oop_disjoint_arraycopy_uninit"
aastore
dup
iconst_1
ldc "_aot_stub_routines_arrayof_oop_disjoint_arraycopy_uninit"
aastore
aastore
dup
bipush 45
50: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_unsafe_arraycopy"
aastore
dup
iconst_1
ldc "_aot_stub_routines_unsafe_arraycopy"
aastore
aastore
dup
bipush 46
51: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_checkcast_arraycopy"
aastore
dup
iconst_1
ldc "_aot_stub_routines_checkcast_arraycopy"
aastore
aastore
dup
bipush 47
52: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_generic_arraycopy"
aastore
dup
iconst_1
ldc "_aot_stub_routines_generic_arraycopy"
aastore
aastore
dup
bipush 48
53: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_aescrypt_encryptBlock"
aastore
dup
iconst_1
ldc "_aot_stub_routines_aescrypt_encryptBlock"
aastore
aastore
dup
bipush 49
54: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_aescrypt_decryptBlock"
aastore
dup
iconst_1
ldc "_aot_stub_routines_aescrypt_decryptBlock"
aastore
aastore
dup
bipush 50
55: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_cipherBlockChaining_encryptAESCrypt"
aastore
dup
iconst_1
ldc "_aot_stub_routines_cipherBlockChaining_encryptAESCrypt"
aastore
aastore
dup
bipush 51
56: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_cipherBlockChaining_decryptAESCrypt"
aastore
dup
iconst_1
ldc "_aot_stub_routines_cipherBlockChaining_decryptAESCrypt"
aastore
aastore
dup
bipush 52
57: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_updateBytesCRC32"
aastore
dup
iconst_1
ldc "_aot_stub_routines_update_bytes_crc32"
aastore
aastore
dup
bipush 53
58: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_crc_table_adr"
aastore
dup
iconst_1
ldc "_aot_stub_routines_crc_table_adr"
aastore
aastore
dup
bipush 54
59: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_sha1_implCompress"
aastore
dup
iconst_1
ldc "_aot_stub_routines_sha1_implCompress"
aastore
aastore
dup
bipush 55
60: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_sha1_implCompressMB"
aastore
dup
iconst_1
ldc "_aot_stub_routines_sha1_implCompressMB"
aastore
aastore
dup
bipush 56
61: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_sha256_implCompress"
aastore
dup
iconst_1
ldc "_aot_stub_routines_sha256_implCompress"
aastore
aastore
dup
bipush 57
62: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_sha256_implCompressMB"
aastore
dup
iconst_1
ldc "_aot_stub_routines_sha256_implCompressMB"
aastore
aastore
dup
bipush 58
63: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_sha512_implCompress"
aastore
dup
iconst_1
ldc "_aot_stub_routines_sha512_implCompress"
aastore
aastore
dup
bipush 59
64: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_sha512_implCompressMB"
aastore
dup
iconst_1
ldc "_aot_stub_routines_sha512_implCompressMB"
aastore
aastore
dup
bipush 60
65: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_multiplyToLen"
aastore
dup
iconst_1
ldc "_aot_stub_routines_multiplyToLen"
aastore
aastore
dup
bipush 61
66: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_counterMode_AESCrypt"
aastore
dup
iconst_1
ldc "_aot_stub_routines_counterMode_AESCrypt"
aastore
aastore
dup
bipush 62
67: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_ghash_processBlocks"
aastore
dup
iconst_1
ldc "_aot_stub_routines_ghash_processBlocks"
aastore
aastore
dup
bipush 63
68: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_crc32c_table_addr"
aastore
dup
iconst_1
ldc "_aot_stub_routines_crc32c_table_addr"
aastore
aastore
dup
bipush 64
69: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_updateBytesCRC32C"
aastore
dup
iconst_1
ldc "_aot_stub_routines_updateBytesCRC32C"
aastore
aastore
dup
bipush 65
70: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_updateBytesAdler32"
aastore
dup
iconst_1
ldc "_aot_stub_routines_updateBytesAdler32"
aastore
aastore
dup
bipush 66
71: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_squareToLen"
aastore
dup
iconst_1
ldc "_aot_stub_routines_squareToLen"
aastore
aastore
dup
bipush 67
72: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_mulAdd"
aastore
dup
iconst_1
ldc "_aot_stub_routines_mulAdd"
aastore
aastore
dup
bipush 68
73: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_montgomeryMultiply"
aastore
dup
iconst_1
ldc "_aot_stub_routines_montgomeryMultiply"
aastore
aastore
dup
bipush 69
74: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_montgomerySquare"
aastore
dup
iconst_1
ldc "_aot_stub_routines_montgomerySquare"
aastore
aastore
dup
bipush 70
75: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_vectorizedMismatch"
aastore
dup
iconst_1
ldc "_aot_stub_routines_vectorizedMismatch"
aastore
aastore
dup
bipush 71
76: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "StubRoutines::_throw_delayed_StackOverflowError_entry"
aastore
dup
iconst_1
ldc "_aot_stub_routines_throw_delayed_StackOverflowError_entry"
aastore
aastore
dup
bipush 72
77: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "os::javaTimeMillis"
aastore
dup
iconst_1
ldc "_aot_os_javaTimeMillis"
aastore
aastore
dup
bipush 73
78: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "os::javaTimeNanos"
aastore
dup
iconst_1
ldc "_aot_os_javaTimeNanos"
aastore
aastore
dup
bipush 74
79: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "JVMCIRuntime::monitorenter"
aastore
dup
iconst_1
ldc "_aot_jvmci_runtime_monitorenter"
aastore
aastore
dup
bipush 75
80: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "JVMCIRuntime::monitorexit"
aastore
dup
iconst_1
ldc "_aot_jvmci_runtime_monitorexit"
aastore
aastore
dup
bipush 76
81: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "JVMCIRuntime::log_object"
aastore
dup
iconst_1
ldc "_aot_jvmci_runtime_log_object"
aastore
aastore
dup
bipush 77
82: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "JVMCIRuntime::log_printf"
aastore
dup
iconst_1
ldc "_aot_jvmci_runtime_log_printf"
aastore
aastore
dup
bipush 78
83: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "JVMCIRuntime::vm_message"
aastore
dup
iconst_1
ldc "_aot_jvmci_runtime_vm_message"
aastore
aastore
dup
bipush 79
84: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "JVMCIRuntime::new_instance"
aastore
dup
iconst_1
ldc "_aot_jvmci_runtime_new_instance"
aastore
aastore
dup
bipush 80
85: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "JVMCIRuntime::log_primitive"
aastore
dup
iconst_1
ldc "_aot_jvmci_runtime_log_primitive"
aastore
aastore
dup
bipush 81
86: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "JVMCIRuntime::new_multi_array"
aastore
dup
iconst_1
ldc "_aot_jvmci_runtime_new_multi_array"
aastore
aastore
dup
bipush 82
87: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "JVMCIRuntime::validate_object"
aastore
dup
iconst_1
ldc "_aot_jvmci_runtime_validate_object"
aastore
aastore
dup
bipush 83
88: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "JVMCIRuntime::dynamic_new_array"
aastore
dup
iconst_1
ldc "_aot_jvmci_runtime_dynamic_new_array"
aastore
aastore
dup
bipush 84
89: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "JVMCIRuntime::write_barrier_pre"
aastore
dup
iconst_1
ldc "_aot_jvmci_runtime_write_barrier_pre"
aastore
aastore
dup
bipush 85
90: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "JVMCIRuntime::identity_hash_code"
aastore
dup
iconst_1
ldc "_aot_jvmci_runtime_identity_hash_code"
aastore
aastore
dup
bipush 86
91: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "JVMCIRuntime::write_barrier_post"
aastore
dup
iconst_1
ldc "_aot_jvmci_runtime_write_barrier_post"
aastore
aastore
dup
bipush 87
92: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "JVMCIRuntime::dynamic_new_instance"
aastore
dup
iconst_1
ldc "_aot_jvmci_runtime_dynamic_new_instance"
aastore
aastore
dup
bipush 88
93: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "JVMCIRuntime::thread_is_interrupted"
aastore
dup
iconst_1
ldc "_aot_jvmci_runtime_thread_is_interrupted"
aastore
aastore
dup
bipush 89
94: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "JVMCIRuntime::exception_handler_for_pc"
aastore
dup
iconst_1
ldc "_aot_jvmci_runtime_exception_handler_for_pc"
aastore
aastore
dup
bipush 90
95: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "JVMCIRuntime::test_deoptimize_call_int"
aastore
dup
iconst_1
ldc "_aot_jvmci_runtime_test_deoptimize_call_int"
aastore
aastore
dup
bipush 91
96: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "JVMCIRuntime::throw_and_post_jvmti_exception"
aastore
dup
iconst_1
ldc "_aot_jvmci_runtime_throw_and_post_jvmti_exception"
aastore
aastore
dup
bipush 92
97: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "JVMCIRuntime::throw_klass_external_name_exception"
aastore
dup
iconst_1
ldc "_aot_jvmci_runtime_throw_klass_external_name_exception"
aastore
aastore
dup
bipush 93
98: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "JVMCIRuntime::throw_class_cast_exception"
aastore
dup
iconst_1
ldc "_aot_jvmci_runtime_throw_class_cast_exception"
aastore
aastore
dup
bipush 94
99: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "JVMCIRuntime::vm_error"
aastore
dup
iconst_1
ldc "_aot_jvmci_runtime_vm_error"
aastore
aastore
dup
bipush 95
100: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "JVMCIRuntime::new_array"
aastore
dup
iconst_1
ldc "_aot_jvmci_runtime_new_array"
aastore
aastore
101: putstatic jdk.tools.jaotc.binformat.BinaryContainer.map:[[Ljava/lang/String;
102: getstatic jdk.tools.jaotc.binformat.BinaryContainer.map:[[Ljava/lang/String;
dup
astore 3
arraylength
istore 2
iconst_0
istore 1
goto 106
StackMap locals: top int int java.lang.String[][]
StackMap stack:
103: aload 3
iload 1
aaload
astore 0
start local 0 104: getstatic jdk.tools.jaotc.binformat.BinaryContainer.functionNamesToAOTSymbols:Ljava/util/HashMap;
aload 0
iconst_0
aaload
aload 0
iconst_1
aaload
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 0 105: iinc 1 1
StackMap locals:
StackMap stack:
106: iload 1
iload 2
if_icmplt 103
107: return
LocalVariableTable:
Start End Slot Name Signature
104 105 0 entry [Ljava/lang/String;
public void <init>(org.graalvm.compiler.options.OptionValues, org.graalvm.compiler.hotspot.GraalHotSpotVMConfig, org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration, java.lang.String);
descriptor: (Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield jdk.tools.jaotc.binformat.BinaryContainer.offsetStringTable:Ljava/util/Map;
2: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield jdk.tools.jaotc.binformat.BinaryContainer.metaspaceNames:Ljava/util/Map;
3: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield jdk.tools.jaotc.binformat.BinaryContainer.symbolTable:Ljava/util/Map;
4: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield jdk.tools.jaotc.binformat.BinaryContainer.relocationTable:Ljava/util/Map;
5: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield jdk.tools.jaotc.binformat.BinaryContainer.uniqueRelocationTable:Ljava/util/Map;
6: aload 0
aload 1
putfield jdk.tools.jaotc.binformat.BinaryContainer.graalOptions:Lorg/graalvm/compiler/options/OptionValues;
7: aload 0
aload 2
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.codeSegmentSize:I
putfield jdk.tools.jaotc.binformat.BinaryContainer.codeSegmentSize:I
8: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.codeSegmentSize:I
iconst_1
if_icmplt 9
aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.codeSegmentSize:I
sipush 1024
if_icmple 10
9: StackMap locals: jdk.tools.jaotc.binformat.BinaryContainer org.graalvm.compiler.options.OptionValues org.graalvm.compiler.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration java.lang.String
StackMap stack:
new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "codeSegmentSize is not in range [1, 1024] bytes: ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.codeSegmentSize:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "), update JPECoffRelocObject"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.codeSegmentSize:I
aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.codeSegmentSize:I
iconst_1
isub
iand
ifeq 12
11: new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "codeSegmentSize is not power of 2: ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.codeSegmentSize:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "), update JPECoffRelocObject"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 0
aload 2
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.codeEntryAlignment:I
putfield jdk.tools.jaotc.binformat.BinaryContainer.codeEntryAlignment:I
13: aload 0
aload 2
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.threadLocalHandshakes:Z
putfield jdk.tools.jaotc.binformat.BinaryContainer.threadLocalHandshakes:Z
14: aload 0
new jdk.tools.jaotc.binformat.CodeContainer
dup
ldc ".text"
aload 0
invokespecial jdk.tools.jaotc.binformat.CodeContainer.<init>:(Ljava/lang/String;Ljdk/tools/jaotc/binformat/SymbolTable;)V
putfield jdk.tools.jaotc.binformat.BinaryContainer.codeContainer:Ljdk/tools/jaotc/binformat/CodeContainer;
15: aload 0
new jdk.tools.jaotc.binformat.HeaderContainer
dup
aload 4
new jdk.tools.jaotc.binformat.ReadOnlyDataContainer
dup
ldc ".header"
aload 0
invokespecial jdk.tools.jaotc.binformat.ReadOnlyDataContainer.<init>:(Ljava/lang/String;Ljdk/tools/jaotc/binformat/SymbolTable;)V
invokespecial jdk.tools.jaotc.binformat.HeaderContainer.<init>:(Ljava/lang/String;Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;)V
putfield jdk.tools.jaotc.binformat.BinaryContainer.headerContainer:Ljdk/tools/jaotc/binformat/HeaderContainer;
16: aload 0
new jdk.tools.jaotc.binformat.ReadOnlyDataContainer
dup
ldc ".config"
aload 0
invokespecial jdk.tools.jaotc.binformat.ReadOnlyDataContainer.<init>:(Ljava/lang/String;Ljdk/tools/jaotc/binformat/SymbolTable;)V
putfield jdk.tools.jaotc.binformat.BinaryContainer.configContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
17: aload 0
new jdk.tools.jaotc.binformat.ReadOnlyDataContainer
dup
ldc ".meta.names"
aload 0
invokespecial jdk.tools.jaotc.binformat.ReadOnlyDataContainer.<init>:(Ljava/lang/String;Ljdk/tools/jaotc/binformat/SymbolTable;)V
putfield jdk.tools.jaotc.binformat.BinaryContainer.metaspaceNamesContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
18: aload 0
new jdk.tools.jaotc.binformat.ReadOnlyDataContainer
dup
ldc ".meth.offsets"
aload 0
invokespecial jdk.tools.jaotc.binformat.ReadOnlyDataContainer.<init>:(Ljava/lang/String;Ljdk/tools/jaotc/binformat/SymbolTable;)V
putfield jdk.tools.jaotc.binformat.BinaryContainer.methodsOffsetsContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
19: aload 0
new jdk.tools.jaotc.binformat.ReadOnlyDataContainer
dup
ldc ".kls.offsets"
aload 0
invokespecial jdk.tools.jaotc.binformat.ReadOnlyDataContainer.<init>:(Ljava/lang/String;Ljdk/tools/jaotc/binformat/SymbolTable;)V
putfield jdk.tools.jaotc.binformat.BinaryContainer.klassesOffsetsContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
20: aload 0
new jdk.tools.jaotc.binformat.ReadOnlyDataContainer
dup
ldc ".kls.dependencies"
aload 0
invokespecial jdk.tools.jaotc.binformat.ReadOnlyDataContainer.<init>:(Ljava/lang/String;Ljdk/tools/jaotc/binformat/SymbolTable;)V
putfield jdk.tools.jaotc.binformat.BinaryContainer.klassesDependenciesContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
21: aload 0
new jdk.tools.jaotc.binformat.ReadOnlyDataContainer
dup
ldc ".stubs.offsets"
aload 0
invokespecial jdk.tools.jaotc.binformat.ReadOnlyDataContainer.<init>:(Ljava/lang/String;Ljdk/tools/jaotc/binformat/SymbolTable;)V
putfield jdk.tools.jaotc.binformat.BinaryContainer.stubsOffsetsContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
22: aload 0
new jdk.tools.jaotc.binformat.ReadOnlyDataContainer
dup
ldc ".code.segments"
aload 0
invokespecial jdk.tools.jaotc.binformat.ReadOnlyDataContainer.<init>:(Ljava/lang/String;Ljdk/tools/jaotc/binformat/SymbolTable;)V
putfield jdk.tools.jaotc.binformat.BinaryContainer.codeSegmentsContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
23: aload 0
new jdk.tools.jaotc.binformat.ReadOnlyDataContainer
dup
ldc ".meth.constdata"
aload 0
invokespecial jdk.tools.jaotc.binformat.ReadOnlyDataContainer.<init>:(Ljava/lang/String;Ljdk/tools/jaotc/binformat/SymbolTable;)V
putfield jdk.tools.jaotc.binformat.BinaryContainer.constantDataContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
24: aload 0
new jdk.tools.jaotc.binformat.ReadOnlyDataContainer
dup
ldc ".meth.metadata"
aload 0
invokespecial jdk.tools.jaotc.binformat.ReadOnlyDataContainer.<init>:(Ljava/lang/String;Ljdk/tools/jaotc/binformat/SymbolTable;)V
putfield jdk.tools.jaotc.binformat.BinaryContainer.methodMetadataContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
25: aload 0
new jdk.tools.jaotc.binformat.ByteContainer
dup
ldc ".oop.got"
aload 0
invokespecial jdk.tools.jaotc.binformat.ByteContainer.<init>:(Ljava/lang/String;Ljdk/tools/jaotc/binformat/SymbolTable;)V
putfield jdk.tools.jaotc.binformat.BinaryContainer.oopGotContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
26: aload 0
new jdk.tools.jaotc.binformat.ByteContainer
dup
ldc ".kls.got"
aload 0
invokespecial jdk.tools.jaotc.binformat.ByteContainer.<init>:(Ljava/lang/String;Ljdk/tools/jaotc/binformat/SymbolTable;)V
putfield jdk.tools.jaotc.binformat.BinaryContainer.klassesGotContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
27: aload 0
new jdk.tools.jaotc.binformat.ByteContainer
dup
ldc ".cnt.got"
aload 0
invokespecial jdk.tools.jaotc.binformat.ByteContainer.<init>:(Ljava/lang/String;Ljdk/tools/jaotc/binformat/SymbolTable;)V
putfield jdk.tools.jaotc.binformat.BinaryContainer.countersGotContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
28: aload 0
new jdk.tools.jaotc.binformat.ByteContainer
dup
ldc ".meta.got"
aload 0
invokespecial jdk.tools.jaotc.binformat.ByteContainer.<init>:(Ljava/lang/String;Ljdk/tools/jaotc/binformat/SymbolTable;)V
putfield jdk.tools.jaotc.binformat.BinaryContainer.metadataGotContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
29: aload 0
new jdk.tools.jaotc.binformat.ByteContainer
dup
ldc ".meth.state"
aload 0
invokespecial jdk.tools.jaotc.binformat.ByteContainer.<init>:(Ljava/lang/String;Ljdk/tools/jaotc/binformat/SymbolTable;)V
putfield jdk.tools.jaotc.binformat.BinaryContainer.methodStateContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
30: aload 0
new jdk.tools.jaotc.binformat.ByteContainer
dup
ldc ".got.linkage"
aload 0
invokespecial jdk.tools.jaotc.binformat.ByteContainer.<init>:(Ljava/lang/String;Ljdk/tools/jaotc/binformat/SymbolTable;)V
putfield jdk.tools.jaotc.binformat.BinaryContainer.extLinkageGOTContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
31: aload 0
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.addGlobalSymbols:()V
32: aload 0
aload 2
aload 3
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.recordConfiguration:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;)V
33: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
0 34 1 graalOptions Lorg/graalvm/compiler/options/OptionValues;
0 34 2 graalHotSpotVMConfig Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
0 34 3 graphBuilderConfig Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
0 34 4 jvmVersion Ljava/lang/String;
MethodParameters:
Name Flags
graalOptions
graalHotSpotVMConfig
graphBuilderConfig
jvmVersion
private void recordConfiguration(org.graalvm.compiler.hotspot.GraalHotSpotVMConfig, org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration);
descriptor: (Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: bipush 12
newarray 4
dup
iconst_0
aload 1
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.cAssertions:Z
bastore
dup
iconst_1
1: aload 1
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useCompressedOops:Z
bastore
dup
iconst_2
2: aload 1
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useCompressedClassPointers:Z
bastore
dup
iconst_3
3: aload 1
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.compactFields:Z
bastore
dup
iconst_4
4: aload 1
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useG1GC:Z
bastore
dup
iconst_5
5: aload 1
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useTLAB:Z
bastore
dup
bipush 6
6: aload 1
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useBiasedLocking:Z
bastore
dup
bipush 7
7: getstatic org.graalvm.compiler.hotspot.meta.HotSpotAOTProfilingPlugin$Options.TieredAOT:Lorg/graalvm/compiler/options/OptionKey;
aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.graalOptions:Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
bastore
dup
bipush 8
8: aload 1
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.enableContended:Z
bastore
dup
bipush 9
9: aload 1
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.restrictContended:Z
bastore
dup
bipush 10
10: aload 2
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.omitAssertions:()Z
bastore
dup
bipush 11
11: aload 1
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.threadLocalHandshakes:Z
bastore
12: astore 3
start local 3 13: bipush 6
newarray 10
dup
iconst_0
aload 1
invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.getOopEncoding:()Lorg/graalvm/compiler/core/common/CompressEncoding;
invokevirtual org.graalvm.compiler.core.common.CompressEncoding.getShift:()I
iastore
dup
iconst_1
14: aload 1
invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.getKlassEncoding:()Lorg/graalvm/compiler/core/common/CompressEncoding;
invokevirtual org.graalvm.compiler.core.common.CompressEncoding.getShift:()I
iastore
dup
iconst_2
15: aload 1
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.contendedPaddingWidth:I
iastore
dup
iconst_3
16: aload 1
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.fieldsAllocationStyle:I
iastore
dup
iconst_4
17: iconst_1
aload 1
invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.logMinObjAlignment:()I
ishl
iastore
dup
iconst_5
18: aload 1
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.codeSegmentSize:I
iastore
19: astore 4
start local 4 20: aload 3
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.flagsToByteArray:([Z)[B
astore 5
start local 5 21: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.configContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokevirtual jdk.tools.jaotc.binformat.ReadOnlyDataContainer.getByteStreamSize:()I
istore 6
start local 6 22: aload 5
arraylength
iconst_1
imul
23: aload 4
arraylength
iconst_4
imul
24: iadd
25: iconst_4
26: iadd
istore 7
start local 7 27: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.configContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
iload 7
invokevirtual jdk.tools.jaotc.binformat.ReadOnlyDataContainer.appendInt:(I)Ljdk/tools/jaotc/binformat/ByteContainer;
28: aload 4
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.appendInts:([I)Ljdk/tools/jaotc/binformat/ByteContainer;
29: aload 5
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.appendBytes:([B)Ljdk/tools/jaotc/binformat/ByteContainer;
pop
30: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.configContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokevirtual jdk.tools.jaotc.binformat.ReadOnlyDataContainer.getByteStreamSize:()I
iload 6
isub
istore 8
start local 8 31: getstatic jdk.tools.jaotc.binformat.BinaryContainer.$assertionsDisabled:Z
ifne 32
iload 8
iload 7
if_icmpeq 32
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
32: StackMap locals: jdk.tools.jaotc.binformat.BinaryContainer org.graalvm.compiler.hotspot.GraalHotSpotVMConfig org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration boolean[] int[] byte[] int int int
StackMap stack:
return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
0 33 1 graalHotSpotVMConfig Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
0 33 2 graphBuilderConfig Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
13 33 3 booleanFlags [Z
20 33 4 intFlags [I
21 33 5 booleanFlagsAsBytes [B
22 33 6 size0 I
27 33 7 computedSize I
31 33 8 size I
MethodParameters:
Name Flags
graalHotSpotVMConfig
graphBuilderConfig
private static byte[] flagsToByteArray(boolean[]);
descriptor: ([Z)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
arraylength
newarray 8
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: byte[] int
StackMap stack:
aload 1
iload 2
aload 0
iload 2
baload
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.boolToByte:(Z)B
bastore
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
arraylength
if_icmplt 3
end local 2 6: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 flags [Z
1 7 1 byteArray [B
2 6 2 i I
MethodParameters:
Name Flags
flags
private static byte boolToByte(boolean);
descriptor: (Z)B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: i2b
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 flag Z
MethodParameters:
Name Flags
flag
public void freeMemory();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.offsetStringTable:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
1: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.metaspaceNames:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
public static java.lang.String getCardTableAddressSymbolName();
descriptor: ()Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "_aot_card_table_address"
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.String getHeapTopAddressSymbolName();
descriptor: ()Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "_aot_heap_top_address"
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.String getHeapEndAddressSymbolName();
descriptor: ()Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "_aot_heap_end_address"
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.String getCrcTableAddressSymbolName();
descriptor: ()Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "_aot_stub_routines_crc_table_adr"
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.String getPollingPageSymbolName();
descriptor: ()Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "_aot_polling_page"
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.String getResolveStaticEntrySymbolName();
descriptor: ()Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "_resolve_static_entry"
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.String getResolveVirtualEntrySymbolName();
descriptor: ()Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "_resolve_virtual_entry"
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.String getResolveOptVirtualEntrySymbolName();
descriptor: ()Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "_resolve_opt_virtual_entry"
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.String getNarrowKlassBaseAddressSymbolName();
descriptor: ()Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "_aot_narrow_klass_base_address"
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.String getNarrowOopBaseAddressSymbolName();
descriptor: ()Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "_aot_narrow_oop_base_address"
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.String getLogOfHeapRegionGrainBytesSymbolName();
descriptor: ()Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "_aot_log_of_heap_region_grain_bytes"
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.String getInlineContiguousAllocationSupportedSymbolName();
descriptor: ()Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "_aot_inline_contiguous_allocation_supported"
areturn
LocalVariableTable:
Start End Slot Name Signature
public int getCodeSegmentSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.codeSegmentSize:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
public int getCodeEntryAlignment();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.codeEntryAlignment:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
public boolean getThreadLocalHandshakes();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.threadLocalHandshakes:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
public static java.lang.String getAOTSymbolForVMFunctionName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic jdk.tools.jaotc.binformat.BinaryContainer.functionNamesToAOTSymbols:Ljava/util/HashMap;
aload 0
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 functionName Ljava/lang/String;
MethodParameters:
Name Flags
functionName
private void addGlobalSymbols();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.codeContainer:Ljdk/tools/jaotc/binformat/CodeContainer;
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.createContainerSymbol:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
1: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.configContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.createContainerSymbol:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
2: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.methodsOffsetsContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.createContainerSymbol:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
3: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.klassesOffsetsContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.createContainerSymbol:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
4: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.klassesDependenciesContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.createContainerSymbol:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
5: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.klassesGotContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.createContainerSymbol:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
6: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.countersGotContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.createContainerSymbol:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
7: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.metadataGotContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.createContainerSymbol:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
8: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.methodStateContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.createContainerSymbol:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
9: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.oopGotContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.createContainerSymbol:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
10: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.metaspaceNamesContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.createContainerSymbol:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
11: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.methodMetadataContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.createContainerSymbol:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
12: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.stubsOffsetsContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.createContainerSymbol:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
13: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.headerContainer:Ljdk/tools/jaotc/binformat/HeaderContainer;
invokevirtual jdk.tools.jaotc.binformat.HeaderContainer.getContainer:()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.createContainerSymbol:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
14: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.codeSegmentsContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.createContainerSymbol:(Ljdk/tools/jaotc/binformat/ByteContainer;)V
15: aload 0
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.getResolveStaticEntrySymbolName:()Ljava/lang/String;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.createGotSymbol:(Ljava/lang/String;)V
16: aload 0
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.getResolveVirtualEntrySymbolName:()Ljava/lang/String;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.createGotSymbol:(Ljava/lang/String;)V
17: aload 0
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.getResolveOptVirtualEntrySymbolName:()Ljava/lang/String;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.createGotSymbol:(Ljava/lang/String;)V
18: aload 0
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.getCardTableAddressSymbolName:()Ljava/lang/String;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.createGotSymbol:(Ljava/lang/String;)V
19: aload 0
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.getHeapTopAddressSymbolName:()Ljava/lang/String;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.createGotSymbol:(Ljava/lang/String;)V
20: aload 0
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.getHeapEndAddressSymbolName:()Ljava/lang/String;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.createGotSymbol:(Ljava/lang/String;)V
21: aload 0
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.getNarrowKlassBaseAddressSymbolName:()Ljava/lang/String;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.createGotSymbol:(Ljava/lang/String;)V
22: aload 0
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.getNarrowOopBaseAddressSymbolName:()Ljava/lang/String;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.createGotSymbol:(Ljava/lang/String;)V
23: aload 0
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.getPollingPageSymbolName:()Ljava/lang/String;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.createGotSymbol:(Ljava/lang/String;)V
24: aload 0
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.getLogOfHeapRegionGrainBytesSymbolName:()Ljava/lang/String;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.createGotSymbol:(Ljava/lang/String;)V
25: aload 0
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.getInlineContiguousAllocationSupportedSymbolName:()Ljava/lang/String;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.createGotSymbol:(Ljava/lang/String;)V
26: getstatic jdk.tools.jaotc.binformat.BinaryContainer.functionNamesToAOTSymbols:Ljava/util/HashMap;
invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 29
StackMap locals: jdk.tools.jaotc.binformat.BinaryContainer top java.util.Iterator
StackMap stack:
27: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 1
start local 1 28: aload 0
aload 1
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.createGotSymbol:(Ljava/lang/String;)V
end local 1 29: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 27
30: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
28 29 1 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
private static void createContainerSymbol(jdk.tools.jaotc.binformat.ByteContainer);
descriptor: (Ljdk/tools/jaotc/binformat/ByteContainer;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
getstatic jdk.tools.jaotc.binformat.Symbol$Kind.OBJECT:Ljdk/tools/jaotc/binformat/Symbol$Kind;
getstatic jdk.tools.jaotc.binformat.Symbol$Binding.GLOBAL:Ljdk/tools/jaotc/binformat/Symbol$Binding;
iconst_0
new java.lang.StringBuilder
dup
ldc "A"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getContainerName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.createSymbol:(ILjdk/tools/jaotc/binformat/Symbol$Kind;Ljdk/tools/jaotc/binformat/Symbol$Binding;ILjava/lang/String;)Ljdk/tools/jaotc/binformat/Symbol;
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 container Ljdk/tools/jaotc/binformat/ByteContainer;
MethodParameters:
Name Flags
container
private void createGotSymbol(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "got."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.extLinkageGOTContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
aload 2
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.createGotSymbol:(Ljava/lang/String;)Ljdk/tools/jaotc/binformat/GotSymbol;
astore 3
start local 3 2: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.extLinkageGOTContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
aload 3
invokevirtual jdk.tools.jaotc.binformat.Symbol.getOffset:()I
getstatic jdk.tools.jaotc.binformat.Symbol$Kind.OBJECT:Ljdk/tools/jaotc/binformat/Symbol$Kind;
getstatic jdk.tools.jaotc.binformat.Symbol$Binding.GLOBAL:Ljdk/tools/jaotc/binformat/Symbol$Binding;
bipush 8
aload 1
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.createSymbol:(ILjdk/tools/jaotc/binformat/Symbol$Kind;Ljdk/tools/jaotc/binformat/Symbol$Binding;ILjava/lang/String;)Ljdk/tools/jaotc/binformat/Symbol;
pop
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
0 4 1 name Ljava/lang/String;
1 4 2 s Ljava/lang/String;
2 4 3 gotSymbol Ljdk/tools/jaotc/binformat/Symbol;
MethodParameters:
Name Flags
name
public void createBinary(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: ldc "os.name"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 2
dup
astore 3
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 3
-187773587: 2
73425108: 3
80246032: 4
default: 11
}
StackMap locals: java.lang.String java.lang.String
StackMap stack:
2: aload 3
ldc "Mac OS X"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
goto 11
StackMap locals:
StackMap stack:
3: aload 3
ldc "Linux"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 5
goto 11
StackMap locals:
StackMap stack:
4: aload 3
ldc "SunOS"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 5
goto 11
5: StackMap locals:
StackMap stack:
new jdk.tools.jaotc.binformat.elf.JELFRelocObject
dup
aload 0
aload 1
invokespecial jdk.tools.jaotc.binformat.elf.JELFRelocObject.<init>:(Ljdk/tools/jaotc/binformat/BinaryContainer;Ljava/lang/String;)V
astore 4
start local 4 6: aload 4
aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.relocationTable:Ljava/util/Map;
aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.symbolTable:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokevirtual jdk.tools.jaotc.binformat.elf.JELFRelocObject.createELFRelocObject:(Ljava/util/Map;Ljava/util/Collection;)V
7: goto 16
end local 4 8: StackMap locals:
StackMap stack:
new jdk.tools.jaotc.binformat.macho.JMachORelocObject
dup
aload 0
aload 1
invokespecial jdk.tools.jaotc.binformat.macho.JMachORelocObject.<init>:(Ljdk/tools/jaotc/binformat/BinaryContainer;Ljava/lang/String;)V
astore 5
start local 5 9: aload 5
aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.relocationTable:Ljava/util/Map;
aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.symbolTable:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokevirtual jdk.tools.jaotc.binformat.macho.JMachORelocObject.createMachORelocObject:(Ljava/util/Map;Ljava/util/Collection;)V
10: goto 16
end local 5 11: StackMap locals:
StackMap stack:
aload 2
ldc "Windows"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 15
12: new jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject
dup
aload 0
aload 1
invokespecial jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.<init>:(Ljdk/tools/jaotc/binformat/BinaryContainer;Ljava/lang/String;)V
astore 6
start local 6 13: aload 6
aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.relocationTable:Ljava/util/Map;
aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.symbolTable:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokevirtual jdk.tools.jaotc.binformat.pecoff.JPECoffRelocObject.createPECoffRelocObject:(Ljava/util/Map;Ljava/util/Collection;)V
14: goto 16
end local 6 15: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "Unsupported platform: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
0 17 1 outputFileName Ljava/lang/String;
1 17 2 osName Ljava/lang/String;
6 8 4 elfobj Ljdk/tools/jaotc/binformat/elf/JELFRelocObject;
9 11 5 machobj Ljdk/tools/jaotc/binformat/macho/JMachORelocObject;
13 15 6 pecoffobj Ljdk/tools/jaotc/binformat/pecoff/JPECoffRelocObject;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
outputFileName
public void addSymbol(jdk.tools.jaotc.binformat.Symbol);
descriptor: (Ljdk/tools/jaotc/binformat/Symbol;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.tools.jaotc.binformat.Symbol.getName:()Ljava/lang/String;
ldc "got."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 2
aload 1
instanceof jdk.tools.jaotc.binformat.GotSymbol
ifne 2
1: new java.lang.InternalError
dup
ldc "adding got. without being GotSymbol"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.symbolTable:Ljava/util/Map;
aload 1
invokevirtual jdk.tools.jaotc.binformat.Symbol.getName:()Ljava/lang/String;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 4
3: new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "Symbol: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual jdk.tools.jaotc.binformat.Symbol.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " already exists in SymbolTable"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.symbolTable:Ljava/util/Map;
aload 1
invokevirtual jdk.tools.jaotc.binformat.Symbol.getName:()Ljava/lang/String;
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
0 6 1 symInfo Ljdk/tools/jaotc/binformat/Symbol;
MethodParameters:
Name Flags
symInfo
public boolean addStringOffset(java.lang.String, java.lang.Integer);
descriptor: (Ljava/lang/String;Ljava/lang/Integer;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.offsetStringTable:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
0 2 1 name Ljava/lang/String;
0 2 2 offset Ljava/lang/Integer;
MethodParameters:
Name Flags
name
offset
public void addRelocation(jdk.tools.jaotc.binformat.Relocation);
descriptor: (Ljdk/tools/jaotc/binformat/Relocation;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.relocationTable:Ljava/util/Map;
aload 1
invokevirtual jdk.tools.jaotc.binformat.Relocation.getSymbol:()Ljdk/tools/jaotc/binformat/Symbol;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 3
1: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.relocationTable:Ljava/util/Map;
aload 1
invokevirtual jdk.tools.jaotc.binformat.Relocation.getSymbol:()Ljdk/tools/jaotc/binformat/Symbol;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: goto 11
StackMap locals:
StackMap stack:
3: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.uniqueRelocationTable:Ljava/util/Map;
aload 1
invokevirtual jdk.tools.jaotc.binformat.Relocation.getSymbol:()Ljdk/tools/jaotc/binformat/Symbol;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 10
4: new java.util.ArrayList
dup
iconst_2
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 5: aload 2
aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.uniqueRelocationTable:Ljava/util/Map;
aload 1
invokevirtual jdk.tools.jaotc.binformat.Relocation.getSymbol:()Ljdk/tools/jaotc/binformat/Symbol;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.tools.jaotc.binformat.Relocation
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
6: aload 2
aload 1
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
7: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.relocationTable:Ljava/util/Map;
aload 1
invokevirtual jdk.tools.jaotc.binformat.Relocation.getSymbol:()Ljdk/tools/jaotc/binformat/Symbol;
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.uniqueRelocationTable:Ljava/util/Map;
aload 1
invokevirtual jdk.tools.jaotc.binformat.Relocation.getSymbol:()Ljdk/tools/jaotc/binformat/Symbol;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 2 9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.uniqueRelocationTable:Ljava/util/Map;
aload 1
invokevirtual jdk.tools.jaotc.binformat.Relocation.getSymbol:()Ljdk/tools/jaotc/binformat/Symbol;
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
0 12 1 info Ljdk/tools/jaotc/binformat/Relocation;
5 9 2 list Ljava/util/ArrayList<Ljdk/tools/jaotc/binformat/Relocation;>;
MethodParameters:
Name Flags
info
public jdk.tools.jaotc.binformat.Symbol getSymbol(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/tools/jaotc/binformat/Symbol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.symbolTable:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.tools.jaotc.binformat.Symbol
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
0 1 1 symName Ljava/lang/String;
MethodParameters:
Name Flags
symName
public jdk.tools.jaotc.binformat.Symbol createSymbol(int, jdk.tools.jaotc.binformat.Symbol$Kind, jdk.tools.jaotc.binformat.Symbol$Binding, int, java.lang.String);
descriptor: (ILjdk/tools/jaotc/binformat/Symbol$Kind;Ljdk/tools/jaotc/binformat/Symbol$Binding;ILjava/lang/String;)Ljdk/tools/jaotc/binformat/Symbol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 2
getstatic jdk.tools.jaotc.binformat.Symbol$Kind.NATIVE_FUNCTION:Ljdk/tools/jaotc/binformat/Symbol$Kind;
if_acmpeq 2
1: new java.lang.UnsupportedOperationException
dup
new java.lang.StringBuilder
dup
ldc "Must be external functions: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new jdk.tools.jaotc.binformat.Symbol
dup
iload 1
aload 2
aload 3
aconst_null
iload 4
aload 5
invokespecial jdk.tools.jaotc.binformat.Symbol.<init>:(ILjdk/tools/jaotc/binformat/Symbol$Kind;Ljdk/tools/jaotc/binformat/Symbol$Binding;Ljdk/tools/jaotc/binformat/ByteContainer;ILjava/lang/String;)V
astore 6
start local 6 3: aload 0
aload 6
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.addSymbol:(Ljdk/tools/jaotc/binformat/Symbol;)V
4: aload 6
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
0 5 1 offset I
0 5 2 kind Ljdk/tools/jaotc/binformat/Symbol$Kind;
0 5 3 binding Ljdk/tools/jaotc/binformat/Symbol$Binding;
0 5 4 size I
0 5 5 name Ljava/lang/String;
3 5 6 symbol Ljdk/tools/jaotc/binformat/Symbol;
MethodParameters:
Name Flags
offset
kind
binding
size
name
public java.lang.Integer getStringOffset(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Integer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.offsetStringTable:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
0 1 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
private static void appendBytes(jdk.tools.jaotc.binformat.ByteContainer, byte[], int, int);
descriptor: (Ljdk/tools/jaotc/binformat/ByteContainer;[BII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.appendBytes:([BII)Ljdk/tools/jaotc/binformat/ByteContainer;
pop
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 byteContainer Ljdk/tools/jaotc/binformat/ByteContainer;
0 2 1 targetCode [B
0 2 2 offset I
0 2 3 size I
MethodParameters:
Name Flags
byteContainer
targetCode
offset
size
public void appendCodeBytes(byte[], int, int);
descriptor: ([BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.codeContainer:Ljdk/tools/jaotc/binformat/CodeContainer;
aload 1
iload 2
iload 3
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.appendBytes:(Ljdk/tools/jaotc/binformat/ByteContainer;[BII)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
0 2 1 targetCode [B
0 2 2 offset I
0 2 3 size I
MethodParameters:
Name Flags
targetCode
offset
size
public void appendIntToCode(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.codeContainer:Ljdk/tools/jaotc/binformat/CodeContainer;
iload 1
invokevirtual jdk.tools.jaotc.binformat.CodeContainer.appendInt:(I)Ljdk/tools/jaotc/binformat/ByteContainer;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
0 2 1 value I
MethodParameters:
Name Flags
value
public int appendExtLinkageGotBytes(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.extLinkageGOTContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getByteStreamSize:()I
istore 4
start local 4 1: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.extLinkageGOTContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
aload 1
iload 2
iload 3
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.appendBytes:(Ljdk/tools/jaotc/binformat/ByteContainer;[BII)V
2: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
0 3 1 bytes [B
0 3 2 offset I
0 3 3 size I
1 3 4 startOffset I
MethodParameters:
Name Flags
bytes
offset
size
public void addMetadataGotEntry(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.metadataGotContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
iload 1
i2l
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.appendLong:(J)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
0 2 1 offset I
MethodParameters:
Name Flags
offset
public int addMetaspaceName(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=12, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.metaspaceNames:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
invokevirtual java.lang.Integer.intValue:()I
ireturn
3: StackMap locals: java.lang.Integer
StackMap stack:
aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.metaspaceNamesContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
bipush 8
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.alignUp:(Ljdk/tools/jaotc/binformat/ByteContainer;I)I
istore 3
start local 3 4: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 4
start local 4 5: new java.io.DataOutputStream
dup
aload 4
invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 5
start local 5 6: aload 1
invokevirtual java.lang.String.length:()I
istore 6
start local 6 7: aload 1
ldc "Stub"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 10
8: aload 5
aload 1
invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
9: goto 22
10: StackMap locals: jdk.tools.jaotc.binformat.BinaryContainer java.lang.String java.lang.Integer int java.io.ByteArrayOutputStream java.io.DataOutputStream int
StackMap stack:
aload 1
bipush 40
iload 6
iconst_1
isub
invokevirtual java.lang.String.lastIndexOf:(II)I
istore 7
start local 7 11: iload 7
ifle 21
12: aload 1
bipush 46
iload 7
iconst_1
isub
invokevirtual java.lang.String.lastIndexOf:(II)I
istore 8
start local 8 13: getstatic jdk.tools.jaotc.binformat.BinaryContainer.$assertionsDisabled:Z
ifne 14
iload 8
ifgt 14
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "method's full name should have '.' : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
14: StackMap locals: int int
StackMap stack:
aload 1
iconst_0
iload 8
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 9
start local 9 15: aload 5
aload 9
invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
16: aload 1
iload 8
iconst_1
iadd
iload 7
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 10
start local 10 17: aload 5
aload 10
invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
18: aload 1
iload 7
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 11
start local 11 19: aload 5
aload 11
invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
end local 11 end local 10 end local 9 end local 8 20: goto 22
21: StackMap locals:
StackMap stack:
aload 5
aload 1
invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
end local 7 22: StackMap locals:
StackMap stack:
aload 5
iconst_0
invokevirtual java.io.DataOutputStream.writeShort:(I)V
23: aload 4
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
astore 7
start local 7 24: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.metaspaceNamesContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
aload 7
iconst_0
aload 7
arraylength
invokevirtual jdk.tools.jaotc.binformat.ReadOnlyDataContainer.appendBytes:([BII)Ljdk/tools/jaotc/binformat/ByteContainer;
pop
25: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.metaspaceNames:Ljava/util/Map;
aload 1
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
26: iload 3
27: ireturn
end local 7 end local 6 end local 5 end local 4 28: StackMap locals: jdk.tools.jaotc.binformat.BinaryContainer java.lang.String java.lang.Integer int
StackMap stack: java.io.IOException
astore 4
start local 4 29: new java.lang.InternalError
dup
ldc "Failed to append bytes to stubs sections"
aload 4
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
0 30 1 name Ljava/lang/String;
1 30 2 value Ljava/lang/Integer;
4 30 3 nameOffset I
5 28 4 bout Ljava/io/ByteArrayOutputStream;
6 28 5 out Ljava/io/DataOutputStream;
7 28 6 len I
11 22 7 parenthesesIndex I
13 20 8 dotIndex I
15 20 9 klassName Ljava/lang/String;
17 20 10 methodName Ljava/lang/String;
19 20 11 signature Ljava/lang/String;
24 28 7 b [B
29 30 4 e Ljava/io/IOException;
Exception table:
from to target type
4 27 28 Class java.io.IOException
MethodParameters:
Name Flags
name
public java.lang.Integer addOopSymbol(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Integer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getStringOffset:(Ljava/lang/String;)Ljava/lang/Integer;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
areturn
3: StackMap locals: java.lang.Integer
StackMap stack:
aload 0
aload 1
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.newOopSymbol:(Ljava/lang/String;)Ljava/lang/Integer;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
0 4 1 oopName Ljava/lang/String;
1 4 2 oopGotOffset Ljava/lang/Integer;
MethodParameters:
Name Flags
oopName
private java.lang.Integer newOopSymbol(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Integer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.oopGotContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getByteStreamSize:()I
istore 2
start local 2 1: new java.lang.StringBuilder
dup
ldc "got.ldc."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 2: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.oopGotContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
aload 3
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.createGotSymbol:(Ljava/lang/String;)Ljdk/tools/jaotc/binformat/GotSymbol;
astore 4
start local 4 3: iload 2
aload 4
invokevirtual jdk.tools.jaotc.binformat.Symbol.getOffset:()I
if_icmpeq 5
4: new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "offset must equal! ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " vs "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual jdk.tools.jaotc.binformat.Symbol.getOffset:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: int java.lang.String jdk.tools.jaotc.binformat.Symbol
StackMap stack:
aload 0
aload 1
aload 4
invokevirtual jdk.tools.jaotc.binformat.Symbol.getOffset:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.addStringOffset:(Ljava/lang/String;Ljava/lang/Integer;)Z
pop
6: aload 4
invokevirtual jdk.tools.jaotc.binformat.Symbol.getOffset:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
0 7 1 oopName Ljava/lang/String;
1 7 2 offset I
2 7 3 gotName Ljava/lang/String;
3 7 4 relocationSymbol Ljdk/tools/jaotc/binformat/Symbol;
MethodParameters:
Name Flags
oopName
public int (java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "got."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 1: aload 0
aload 2
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getGotSymbol:(Ljava/lang/String;)Ljdk/tools/jaotc/binformat/Symbol;
astore 3
start local 3 2: iconst_m1
istore 4
start local 4 3: aload 3
ifnonnull 5
4: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.countersGotContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
aload 2
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.createGotSymbol:(Ljava/lang/String;)Ljdk/tools/jaotc/binformat/GotSymbol;
pop
5: StackMap locals: java.lang.String jdk.tools.jaotc.binformat.Symbol int
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
0 6 1 metaspaceName Ljava/lang/String;
1 6 2 gotName Ljava/lang/String;
2 6 3 relocationSymbol Ljdk/tools/jaotc/binformat/Symbol;
3 6 4 metaspaceOffset I
MethodParameters:
Name Flags
metaspaceName
public jdk.tools.jaotc.binformat.Symbol getGotSymbol(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/tools/jaotc/binformat/Symbol;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic jdk.tools.jaotc.binformat.BinaryContainer.$assertionsDisabled:Z
ifne 1
aload 1
ldc "got."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.symbolTable:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.tools.jaotc.binformat.Symbol
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
0 2 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public int addTwoSlotKlassSymbol(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "got."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 1: aload 0
aload 2
invokevirtual jdk.tools.jaotc.binformat.BinaryContainer.getGotSymbol:(Ljava/lang/String;)Ljdk/tools/jaotc/binformat/Symbol;
astore 3
start local 3 2: getstatic jdk.tools.jaotc.binformat.BinaryContainer.$assertionsDisabled:Z
ifne 3
aload 3
ifnull 3
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "should be called only once for: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals: java.lang.String jdk.tools.jaotc.binformat.Symbol
StackMap stack:
new java.lang.StringBuilder
dup
ldc "got.init."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 4: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.klassesGotContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
aload 4
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.createGotSymbol:(Ljava/lang/String;)Ljdk/tools/jaotc/binformat/GotSymbol;
astore 5
start local 5 5: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.klassesGotContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
aload 2
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.createGotSymbol:(Ljava/lang/String;)Ljdk/tools/jaotc/binformat/GotSymbol;
astore 6
start local 6 6: aload 5
invokevirtual jdk.tools.jaotc.binformat.GotSymbol.getIndex:()I
pop
7: aload 6
invokevirtual jdk.tools.jaotc.binformat.GotSymbol.getIndex:()I
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
0 8 1 klassName Ljava/lang/String;
1 8 2 gotName Ljava/lang/String;
2 8 3 previous Ljdk/tools/jaotc/binformat/Symbol;
4 8 4 gotInitName Ljava/lang/String;
5 8 5 slot1Symbol Ljdk/tools/jaotc/binformat/GotSymbol;
6 8 6 slot2Symbol Ljdk/tools/jaotc/binformat/GotSymbol;
MethodParameters:
Name Flags
klassName
public static int addMethodsCount(int, jdk.tools.jaotc.binformat.ReadOnlyDataContainer);
descriptor: (ILjdk/tools/jaotc/binformat/ReadOnlyDataContainer;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 0
aload 1
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.appendInt:(ILjdk/tools/jaotc/binformat/ReadOnlyDataContainer;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 count I
0 1 1 container Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
MethodParameters:
Name Flags
count
container
private static int appendInt(int, jdk.tools.jaotc.binformat.ReadOnlyDataContainer);
descriptor: (ILjdk/tools/jaotc/binformat/ReadOnlyDataContainer;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.tools.jaotc.binformat.ReadOnlyDataContainer.getByteStreamSize:()I
istore 2
start local 2 1: aload 1
iload 0
invokevirtual jdk.tools.jaotc.binformat.ReadOnlyDataContainer.appendInt:(I)Ljdk/tools/jaotc/binformat/ByteContainer;
pop
2: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 count I
0 3 1 container Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
1 3 2 offset I
MethodParameters:
Name Flags
count
container
public int addConstantData(byte[], int);
descriptor: ([BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.constantDataContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
iload 2
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.alignUp:(Ljdk/tools/jaotc/binformat/ByteContainer;I)I
istore 3
start local 3 1: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.constantDataContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
aload 1
iconst_0
aload 1
arraylength
invokevirtual jdk.tools.jaotc.binformat.ReadOnlyDataContainer.appendBytes:([BII)Ljdk/tools/jaotc/binformat/ByteContainer;
pop
2: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.constantDataContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
iload 2
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.alignUp:(Ljdk/tools/jaotc/binformat/ByteContainer;I)I
pop
3: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
0 4 1 data [B
0 4 2 alignment I
1 4 3 constantDataOffset I
MethodParameters:
Name Flags
data
alignment
public static int alignUp(jdk.tools.jaotc.binformat.ByteContainer, int);
descriptor: (Ljdk/tools/jaotc/binformat/ByteContainer;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: iload 1
invokestatic java.lang.Integer.bitCount:(I)I
iconst_1
if_icmpeq 2
1: new java.lang.IllegalArgumentException
dup
ldc "Must be a power of 2"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.getByteStreamSize:()I
istore 2
start local 2 3: iload 2
iload 1
iconst_1
isub
iadd
iload 1
ineg
iand
istore 3
start local 3 4: iload 3
iload 2
if_icmplt 5
iload 3
iload 1
iconst_1
isub
iand
ifeq 6
5: StackMap locals: int int
StackMap stack:
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Error aligning: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
iload 3
iload 2
if_icmpeq 11
7: iload 3
iload 2
isub
istore 4
start local 4 8: iload 4
newarray 8
astore 5
start local 5 9: aload 0
aload 5
iconst_0
iload 4
invokevirtual jdk.tools.jaotc.binformat.ByteContainer.appendBytes:([BII)Ljdk/tools/jaotc/binformat/ByteContainer;
pop
10: iload 3
istore 2
end local 5 end local 4 11: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 container Ljdk/tools/jaotc/binformat/ByteContainer;
0 12 1 alignment I
3 12 2 offset I
4 12 3 aligned I
8 11 4 nullArraySz I
9 11 5 nullArray [B
MethodParameters:
Name Flags
container
alignment
public void addCodeSegments(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=11, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.tools.jaotc.binformat.BinaryContainer.$assertionsDisabled:Z
ifne 1
iload 1
aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.codeSegmentSize:I
irem
ifeq 1
new java.lang.AssertionError
dup
ldc "not aligned code"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.codeSegmentsContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
invokevirtual jdk.tools.jaotc.binformat.ReadOnlyDataContainer.getByteStreamSize:()I
istore 3
start local 3 2: iload 1
aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.codeSegmentSize:I
idiv
istore 4
start local 4 3: iload 4
iload 3
isub
istore 5
start local 5 4: iload 5
ifle 12
5: iload 5
newarray 8
astore 6
start local 6 6: iconst_0
istore 7
start local 7 7: goto 10
8: StackMap locals: jdk.tools.jaotc.binformat.BinaryContainer int int int int int byte[] int
StackMap stack:
aload 6
iload 7
iconst_m1
bastore
9: iinc 7 1
StackMap locals:
StackMap stack:
10: iload 7
iload 5
if_icmplt 8
end local 7 11: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.codeSegmentsContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
aload 6
iconst_0
iload 5
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.appendBytes:(Ljdk/tools/jaotc/binformat/ByteContainer;[BII)V
end local 6 12: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.codeSegmentSize:I
iconst_1
isub
iadd
aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.codeSegmentSize:I
ineg
iand
istore 6
start local 6 13: iload 6
aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.codeSegmentSize:I
idiv
iload 4
isub
istore 7
start local 7 14: iload 7
newarray 8
astore 8
start local 8 15: iconst_0
istore 9
start local 9 16: iconst_0
istore 10
start local 10 17: goto 23
18: StackMap locals: jdk.tools.jaotc.binformat.BinaryContainer int int int int int int int byte[] int int
StackMap stack:
aload 8
iload 10
iload 9
i2b
bastore
19: iload 9
sipush 254
if_icmpne 20
iconst_1
goto 21
StackMap locals:
StackMap stack:
20: iload 9
iconst_1
iadd
StackMap locals:
StackMap stack: int
21: istore 9
22: iinc 10 1
StackMap locals:
StackMap stack:
23: iload 10
iload 7
if_icmplt 18
end local 10 24: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.codeSegmentsContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
aload 8
iconst_0
iload 7
invokestatic jdk.tools.jaotc.binformat.BinaryContainer.appendBytes:(Ljdk/tools/jaotc/binformat/ByteContainer;[BII)V
25: return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
0 26 1 start I
0 26 2 end I
2 26 3 currentOffset I
3 26 4 offset I
4 26 5 emptySize I
6 12 6 emptyArray [B
7 11 7 i I
13 26 6 alignedEnd I
14 26 7 segmentsCount I
15 26 8 segments [B
16 26 9 idx I
17 24 10 i I
MethodParameters:
Name Flags
start
end
public jdk.tools.jaotc.binformat.ByteContainer getExtLinkageGOTContainer();
descriptor: ()Ljdk/tools/jaotc/binformat/ByteContainer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.extLinkageGOTContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
public jdk.tools.jaotc.binformat.ReadOnlyDataContainer getMethodMetadataContainer();
descriptor: ()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.methodMetadataContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
public jdk.tools.jaotc.binformat.ReadOnlyDataContainer getMetaspaceNamesContainer();
descriptor: ()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.metaspaceNamesContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
public jdk.tools.jaotc.binformat.ReadOnlyDataContainer getMethodsOffsetsContainer();
descriptor: ()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.methodsOffsetsContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
public jdk.tools.jaotc.binformat.ReadOnlyDataContainer getKlassesOffsetsContainer();
descriptor: ()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.klassesOffsetsContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
public jdk.tools.jaotc.binformat.ReadOnlyDataContainer getKlassesDependenciesContainer();
descriptor: ()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.klassesDependenciesContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
public jdk.tools.jaotc.binformat.ReadOnlyDataContainer getStubsOffsetsContainer();
descriptor: ()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.stubsOffsetsContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
public jdk.tools.jaotc.binformat.ReadOnlyDataContainer getCodeSegmentsContainer();
descriptor: ()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.codeSegmentsContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
public jdk.tools.jaotc.binformat.ReadOnlyDataContainer getConstantDataContainer();
descriptor: ()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.constantDataContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
public jdk.tools.jaotc.binformat.ByteContainer getKlassesGotContainer();
descriptor: ()Ljdk/tools/jaotc/binformat/ByteContainer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.klassesGotContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
public jdk.tools.jaotc.binformat.ByteContainer getCountersGotContainer();
descriptor: ()Ljdk/tools/jaotc/binformat/ByteContainer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.countersGotContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
public jdk.tools.jaotc.binformat.ByteContainer getMetadataGotContainer();
descriptor: ()Ljdk/tools/jaotc/binformat/ByteContainer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.metadataGotContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
public jdk.tools.jaotc.binformat.ByteContainer getMethodStateContainer();
descriptor: ()Ljdk/tools/jaotc/binformat/ByteContainer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.methodStateContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
public jdk.tools.jaotc.binformat.ByteContainer getOopGotContainer();
descriptor: ()Ljdk/tools/jaotc/binformat/ByteContainer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.oopGotContainer:Ljdk/tools/jaotc/binformat/ByteContainer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
public jdk.tools.jaotc.binformat.CodeContainer getCodeContainer();
descriptor: ()Ljdk/tools/jaotc/binformat/CodeContainer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.codeContainer:Ljdk/tools/jaotc/binformat/CodeContainer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
public jdk.tools.jaotc.binformat.ReadOnlyDataContainer getConfigContainer();
descriptor: ()Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.configContainer:Ljdk/tools/jaotc/binformat/ReadOnlyDataContainer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
public java.util.Map<jdk.tools.jaotc.binformat.Symbol, jdk.tools.jaotc.binformat.Relocation> getUniqueRelocationTable();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.uniqueRelocationTable:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
Signature: ()Ljava/util/Map<Ljdk/tools/jaotc/binformat/Symbol;Ljdk/tools/jaotc/binformat/Relocation;>;
public jdk.tools.jaotc.binformat.HeaderContainer ();
descriptor: ()Ljdk/tools/jaotc/binformat/HeaderContainer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jaotc.binformat.BinaryContainer.headerContainer:Ljdk/tools/jaotc/binformat/HeaderContainer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jaotc/binformat/BinaryContainer;
}
SourceFile: "BinaryContainer.java"
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
public final Binding = jdk.tools.jaotc.binformat.Symbol$Binding of jdk.tools.jaotc.binformat.Symbol
public final Kind = jdk.tools.jaotc.binformat.Symbol$Kind of jdk.tools.jaotc.binformat.Symbol
public Options = org.graalvm.compiler.hotspot.meta.HotSpotAOTProfilingPlugin$Options of org.graalvm.compiler.hotspot.meta.HotSpotAOTProfilingPlugin