0000000000887010 <_ZN16HeapObjectDumper9do_objectEP7oopDesc>: 887010: f3 0f 1e fa endbr64 887014: 55 push %rbp 887015: 48 89 e5 mov %rsp,%rbp 887018: 41 55 push %r13 88701a: 49 89 fd mov %rdi,%r13 88701d: 41 54 push %r12 88701f: 49 89 f4 mov %rsi,%r12 887022: 53 push %rbx 887023: 48 83 ec 08 sub $0x8,%rsp vvvvvvvvvvvv 887027: 48 8d 1d 42 37 b8 00 lea 0xb83742(%rip),%rbx # 140a770 88702e: 80 3b 00 cmpb $0x0,(%rbx) 887031: 0f 84 89 01 00 00 je 8871c0 <_ZN16HeapObjectDumper9do_objectEP7oopDesc+0x1b0> vvvvvvvvvvvv (UseCompactObjectHeaders=true) 887037: 48 8b 06 mov (%rsi),%rax <<< load mark word 88703a: 48 89 c2 mov %rax,%rdx <<< copy mark word to rdx 88703d: 83 e2 03 and $0x3,%edx <<< mask out lock bits 887040: 48 83 fa 02 cmp $0x2,%rdx <<< inflated OM? 887044: 0f 84 96 02 00 00 je 8872e0 <_ZN16HeapObjectDumper9do_objectEP7oopDesc+0x2d0> >>>> inflated OM case 88704a: 48 c1 e8 20 shr $0x20,%rax <<< retrieve nKlass from upper 32bit vvvvvvvvvvvv # Load Klass Alignment from memory 88704e: 48 8d 15 f7 1e b8 00 lea 0xb81ef7(%rip),%rdx # 1408f4c 887055: 8b 0a mov (%rdx),%ecx # Load Klass base from memory and add nKlass 887057: 48 8d 15 72 6f bb 00 lea 0xbb6f72(%rip),%rdx # 143dfd0 <_ZN23CompressedKlassPointers5_baseE> 88705e: 48 d3 e0 shl %cl,%rax 887061: 48 03 02 add (%rdx),%rax 887064: 48 8d 15 55 8b c0 00 lea 0xc08b55(%rip),%rdx # 148fbc0 <_ZN9vmClasses8_klassesE> 88706b: 48 39 42 10 cmp %rax,0x10(%rdx) 88706f: 0f 84 d3 01 00 00 je 887248 <_ZN16HeapObjectDumper9do_objectEP7oopDesc+0x238> 887075: 4d 85 e4 test %r12,%r12 887078: 0f 84 62 01 00 00 je 8871e0 <_ZN16HeapObjectDumper9do_objectEP7oopDesc+0x1d0> 88707e: 80 3b 00 cmpb $0x0,(%rbx) 887081: 0f 84 e9 01 00 00 je 887270 <_ZN16HeapObjectDumper9do_objectEP7oopDesc+0x260> 887087: 49 8b 04 24 mov (%r12),%rax 88708b: 48 89 c2 mov %rax,%rdx 88708e: 83 e2 03 and $0x3,%edx 887091: 48 83 fa 02 cmp $0x2,%rdx 887095: 0f 84 65 02 00 00 je 887300 <_ZN16HeapObjectDumper9do_objectEP7oopDesc+0x2f0> 88709b: 48 c1 e8 20 shr $0x20,%rax 88709f: 48 8d 15 a6 1e b8 00 lea 0xb81ea6(%rip),%rdx # 1408f4c 8870a6: 8b 0a mov (%rdx),%ecx 8870a8: 48 8d 15 21 6f bb 00 lea 0xbb6f21(%rip),%rdx # 143dfd0 <_ZN23CompressedKlassPointers5_baseE> 8870af: 48 d3 e0 shl %cl,%rax 8870b2: 48 03 02 add (%rdx),%rax 8870b5: 48 8b 78 70 mov 0x70(%rax),%rdi 8870b9: 48 85 ff test %rdi,%rdi 8870bc: 0f 84 1e 01 00 00 je 8871e0 <_ZN16HeapObjectDumper9do_objectEP7oopDesc+0x1d0> 8870c2: ff 15 48 cf b7 00 callq *0xb7cf48(%rip) # 1404010 <_ZN14AccessInternal15RuntimeDispatchILm548932EP7oopDescLNS_11BarrierTypeE2EE10_load_funcE> 8870c8: 48 85 c0 test %rax,%rax 8870cb: 0f 84 0f 01 00 00 je 8871e0 <_ZN16HeapObjectDumper9do_objectEP7oopDesc+0x1d0> 8870d1: 49 83 7d 10 00 cmpq $0x0,0x10(%r13) 8870d6: 74 13 je 8870eb <_ZN16HeapObjectDumper9do_objectEP7oopDesc+0xdb> 8870d8: 4c 89 e6 mov %r12,%rsi 8870db: 4c 89 ef mov %r13,%rdi 8870de: e8 1d d8 ff ff callq 884900 <_ZN16HeapObjectDumper8is_largeEP7oopDesc> 8870e3: 84 c0 test %al,%al 8870e5: 0f 85 65 02 00 00 jne 887350 <_ZN16HeapObjectDumper9do_objectEP7oopDesc+0x340> 8870eb: 80 3b 00 cmpb $0x0,(%rbx) 8870ee: 0f 84 8c 00 00 00 je 887180 <_ZN16HeapObjectDumper9do_objectEP7oopDesc+0x170> 8870f4: 49 8b 04 24 mov (%r12),%rax 8870f8: 48 89 c2 mov %rax,%rdx 8870fb: 83 e2 03 and $0x3,%edx 8870fe: 48 83 fa 02 cmp $0x2,%rdx 887102: 0f 84 e8 01 00 00 je 8872f0 <_ZN16HeapObjectDumper9do_objectEP7oopDesc+0x2e0> 887108: 48 8d 15 3d 1e b8 00 lea 0xb81e3d(%rip),%rdx # 1408f4c 88710f: 48 c1 e8 20 shr $0x20,%rax 887113: 8b 0a mov (%rdx),%ecx 887115: 48 8d 15 b4 6e bb 00 lea 0xbb6eb4(%rip),%rdx # 143dfd0 <_ZN23CompressedKlassPointers5_baseE> 88711c: 48 8b 12 mov (%rdx),%rdx 88711f: 48 d3 e0 shl %cl,%rax 887122: 83 7c 10 0c 04 cmpl $0x4,0xc(%rax,%rdx,1) 887127: 7e 78 jle 8871a1 <_ZN16HeapObjectDumper9do_objectEP7oopDesc+0x191> 887129: 49 8b 04 24 mov (%r12),%rax 88712d: 48 89 c6 mov %rax,%rsi 887130: 83 e6 03 and $0x3,%esi 887133: 48 83 fe 02 cmp $0x2,%rsi 887137: 75 07 jne 887140 <_ZN16HeapObjectDumper9do_objectEP7oopDesc+0x130> 887139: 48 83 f0 02 xor $0x2,%rax 88713d: 48 8b 00 mov (%rax),%rax 887140: 48 c1 e8 20 shr $0x20,%rax 887144: 48 d3 e0 shl %cl,%rax 887147: 83 7c 10 0c 06 cmpl $0x6,0xc(%rax,%rdx,1) 88714c: 0f 84 de 01 00 00 je 887330 <_ZN16HeapObjectDumper9do_objectEP7oopDesc+0x320> 887152: 49 8b 04 24 mov (%r12),%rax 887156: 48 89 c6 mov %rax,%rsi 887159: 83 e6 03 and $0x3,%esi 88715c: 48 83 fe 02 cmp $0x2,%rsi 887160: 75 07 jne 887169 <_ZN16HeapObjectDumper9do_objectEP7oopDesc+0x159> 887162: 48 83 f0 02 xor $0x2,%rax 887166: 48 8b 00 mov (%rax),%rax 887169: 48 c1 e8 20 shr $0x20,%rax 88716d: 48 d3 e0 shl %cl,%rax 887170: 8b 44 10 0c mov 0xc(%rax,%rdx,1),%eax 887174: e9 44 01 00 00 jmpq 8872bd <_ZN16HeapObjectDumper9do_objectEP7oopDesc+0x2ad> 887179: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) 887180: 48 8d 05 ea 35 b8 00 lea 0xb835ea(%rip),%rax # 140a771 887187: 80 38 00 cmpb $0x0,(%rax) 88718a: 0f 85 00 01 00 00 jne 887290 <_ZN16HeapObjectDumper9do_objectEP7oopDesc+0x280> 887190: 49 8b 44 24 08 mov 0x8(%r12),%rax 887195: 8b 40 0c mov 0xc(%rax),%eax 887198: 83 f8 04 cmp $0x4,%eax 88719b: 0f 8f 17 01 00 00 jg 8872b8 <_ZN16HeapObjectDumper9do_objectEP7oopDesc+0x2a8> 8871a1: 49 8b 7d 08 mov 0x8(%r13),%rdi 8871a5: 48 83 c4 08 add $0x8,%rsp 8871a9: 4c 89 e6 mov %r12,%rsi 8871ac: 5b pop %rbx 8871ad: 41 5c pop %r12 8871af: 41 5d pop %r13 8871b1: 5d pop %rbp 8871b2: e9 e9 f7 ff ff jmpq 8869a0 <_ZN13DumperSupport13dump_instanceEP18AbstractDumpWriterP7oopDesc> 8871b7: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1) 8871be: 00 00 vvvvvvvvvvvvv (UseCompactObjectHeaders=false) 8871c0: 48 8d 05 aa 35 b8 00 lea 0xb835aa(%rip),%rax # 140a771 8871c7: 80 38 00 cmpb $0x0,(%rax) 8871ca: 0f 84 50 01 00 00 je 887320 <_ZN16HeapObjectDumper9do_objectEP7oopDesc+0x310> vvvvvvvvvvvvv (UseCompactObjectHeaders=false UseCompressedClassPointers=true) 8871d0: 8b 46 08 mov 0x8(%rsi),%eax 8871d3: e9 76 fe ff ff jmpq 88704e <_ZN16HeapObjectDumper9do_objectEP7oopDesc+0x3e> 8871d8: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1) 8871df: 00 8871e0: 48 83 3d 90 0d bb 00 cmpq $0x0,0xbb0d90(%rip) # 1437f78 <_ZN16LogTagSetMappingILN6LogTag4typeE12ELS1_49ELS1_0ELS1_0ELS1_0ELS1_0EE7_tagsetE+0x38> 8871e7: 00 8871e8: 74 78 je 887262 <_ZN16HeapObjectDumper9do_objectEP7oopDesc+0x252> 8871ea: 80 3b 00 cmpb $0x0,(%rbx) 8871ed: 0f 85 ad 01 00 00 jne 8873a0 <_ZN16HeapObjectDumper9do_objectEP7oopDesc+0x390> 8871f3: 48 8d 05 77 35 b8 00 lea 0xb83577(%rip),%rax # 140a771 8871fa: 80 38 00 cmpb $0x0,(%rax) 8871fd: 0f 84 dd 01 00 00 je 8873e0 <_ZN16HeapObjectDumper9do_objectEP7oopDesc+0x3d0> 887203: 41 8b 7c 24 08 mov 0x8(%r12),%edi 887208: 48 8d 05 3d 1d b8 00 lea 0xb81d3d(%rip),%rax # 1408f4c 88720f: 8b 08 mov (%rax),%ecx 887211: 48 8d 05 b8 6d bb 00 lea 0xbb6db8(%rip),%rax # 143dfd0 <_ZN23CompressedKlassPointers5_baseE> 887218: 48 d3 e7 shl %cl,%rdi 88721b: 48 03 38 add (%rax),%rdi 88721e: e8 9d 50 29 00 callq b1c2c0 <_ZNK5Klass13external_nameEv> 887223: 48 83 c4 08 add $0x8,%rsp 887227: 4c 89 e6 mov %r12,%rsi 88722a: 48 8d 3d 87 68 84 00 lea 0x846887(%rip),%rdi # 10cdab8 <_ZL5noreg+0xaee0> 887231: 5b pop %rbx 887232: 48 89 c2 mov %rax,%rdx 887235: 41 5c pop %r12 887237: 31 c0 xor %eax,%eax 887239: 41 5d pop %r13 88723b: 5d pop %rbp 88723c: e9 1f 4a 00 00 jmpq 88bc60 <_ZN7LogImplILN6LogTag4typeE12ELS1_49ELS1_0ELS1_0ELS1_0ELS1_0EE5writeILN8LogLevel4typeE2EEEvPKcz> 887241: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) 887248: 48 8d 05 65 47 bc 00 lea 0xbc4765(%rip),%rax # 144b9b4 <_ZN15java_lang_Class13_klass_offsetE> 88724f: 4c 89 e7 mov %r12,%rdi 887252: 8b 30 mov (%rax),%esi 887254: e8 d7 15 43 00 callq cb8830 <_ZNK7oopDesc14metadata_fieldEi> 887259: 48 85 c0 test %rax,%rax 88725c: 0f 84 13 fe ff ff je 887075 <_ZN16HeapObjectDumper9do_objectEP7oopDesc+0x65> 887262: 48 83 c4 08 add $0x8,%rsp 887266: 5b pop %rbx 887267: 41 5c pop %r12 887269: 41 5d pop %r13 88726b: 5d pop %rbp 88726c: c3 retq