Skip to content

Instantly share code, notes, and snippets.

@apangin
Created January 23, 2019 00:50
Show Gist options
  • Save apangin/e27c5f2b68c27f4d6973d6361f992096 to your computer and use it in GitHub Desktop.
Save apangin/e27c5f2b68c27f4d6973d6361f992096 to your computer and use it in GitHub Desktop.
[Entry Point]
[Constants]
# {method} {0x0000022cec141c08} 'slowPath' '(J)V' in 'org/test/reactive/ArrayPublisher$ArraySubscription'
# this: rdx:rdx = 'org/test/reactive/ArrayPublisher$ArraySubscription'
# parm0: r8:r8 = long
# [sp+0x70] (sp of caller)
0x0000022cd8a4b400: mov r10d,dword ptr [rdx+8h]
0x0000022cd8a4b404: mov r12,800000000h
0x0000022cd8a4b40e: add r10,r12
0x0000022cd8a4b411: xor r12,r12
0x0000022cd8a4b414: cmp rax,r10
0x0000022cd8a4b417: jne 22cd0f97480h ; {runtime_call ic_miss_stub}
0x0000022cd8a4b41d: nop
[Verified Entry Point]
0x0000022cd8a4b420: mov dword ptr [rsp+0ffffffffffff9000h],eax
0x0000022cd8a4b427: push rbp
0x0000022cd8a4b428: sub rsp,60h ;*synchronization entry
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@-1 (line 95)
0x0000022cd8a4b42c: mov r9,rdx
0x0000022cd8a4b42f: mov r14d,dword ptr [rdx+20h]
;*getfield array {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@9 (line 97)
0x0000022cd8a4b433: mov r11d,dword ptr [r12+r14*8+0ch]
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@16 (line 98)
; implicit exception: dispatches to 0x0000022cd8a4b8b0
0x0000022cd8a4b438: mov r10d,dword ptr [rdx+0ch]
;*getfield index {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@3 (line 96)
0x0000022cd8a4b43c: mov r13d,dword ptr [rdx+1ch]
;*getfield subscriber {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@20 (line 99)
0x0000022cd8a4b440: mov ebx,dword ptr [r12+r13*8+8h]
; implicit exception: dispatches to 0x0000022cd8a4b85a
0x0000022cd8a4b445: cmp ebx,66270h ; {metadata('org/test/reactive/PerfSubscriber')}
0x0000022cd8a4b44b: jne 22cd8a4b85ah
0x0000022cd8a4b451: lea rdi,[r12+r14*8] ;*getfield array {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@9 (line 97)
0x0000022cd8a4b455: lea rbp,[r12+r13*8] ;*invokeinterface onNext {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b459: mov qword ptr [rsp+30h],r8
0x0000022cd8a4b45e: xor ecx,ecx
0x0000022cd8a4b460: xor eax,eax
0x0000022cd8a4b462: xor r8d,r8d
0x0000022cd8a4b465: jmp 22cd8a4b57fh
0x0000022cd8a4b46a: mov rbx,qword ptr [rsp+30h] ;*getfield canceled {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@40 (line 103)
0x0000022cd8a4b46f: test esi,esi
0x0000022cd8a4b471: jne 22cd8a4b6b2h ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@43 (line 103)
0x0000022cd8a4b477: cmp r10d,r11d
0x0000022cd8a4b47a: jnb 22cd8a4b63ch
0x0000022cd8a4b480: mov esi,dword ptr [rdi+r10*4+10h]
;*aaload {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@51 (line 107)
0x0000022cd8a4b485: test esi,esi
0x0000022cd8a4b487: je 22cd8a4b6e2h ;*ifnonnull {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@56 (line 109)
0x0000022cd8a4b48d: mov edx,dword ptr [rbp+0ch] ;*getfield bh {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.PerfSubscriber::onNext@1 (line 39)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b490: test edx,edx
0x0000022cd8a4b492: je 22cd8a4b66ah ;*invokevirtual consume {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.PerfSubscriber::onNext@5 (line 39)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b498: mov dword ptr [rsp+1ch],r8d
0x0000022cd8a4b49d: mov qword ptr [rsp+30h],rbx
0x0000022cd8a4b4a2: mov qword ptr [rsp+28h],rax
0x0000022cd8a4b4a7: mov dword ptr [rsp+10h],ecx
0x0000022cd8a4b4ab: mov qword ptr [rsp+20h],rbp
0x0000022cd8a4b4b0: mov qword ptr [rsp+8h],rdi
0x0000022cd8a4b4b5: mov ebp,r13d
0x0000022cd8a4b4b8: mov dword ptr [rsp+14h],r10d
0x0000022cd8a4b4bd: mov dword ptr [rsp+18h],r11d
0x0000022cd8a4b4c2: mov dword ptr [rsp+40h],r14d
0x0000022cd8a4b4c7: mov qword ptr [rsp],r9
0x0000022cd8a4b4cb: lea r8,[r12+rsi*8] ;*aaload {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@51 (line 107)
0x0000022cd8a4b4cf: shl rdx,3h
0x0000022cd8a4b4d3: call 22cd0f97700h ; ImmutableOopMap{rbp=NarrowOop [0]=Oop [8]=Oop [32]=Oop [64]=NarrowOop }
;*invokevirtual consume {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.PerfSubscriber::onNext@5 (line 39)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
; {optimized virtual_call}
0x0000022cd8a4b4d8: mov r11,qword ptr [rsp+20h]
0x0000022cd8a4b4dd: mov r10d,dword ptr [r11+10h]
;*getfield subscription {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.PerfSubscriber::onNext@9 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b4e1: mov r8d,dword ptr [r12+r10*8+8h]
; implicit exception: dispatches to 0x0000022cd8a4b882
0x0000022cd8a4b4e6: cmp r8d,664b0h ; {metadata('org/test/reactive/ArrayPublisher$ArraySubscription')}
0x0000022cd8a4b4ed: jne 22cd8a4b67ah ;*invokevirtual getLongVolatile {reexecute=0 rethrow=0 return_oop=0}
; - java.util.concurrent.atomic.AtomicLongFieldUpdater$CASUpdater::get@13 (line 484)
; - org.test.reactive.ArrayPublisher$ArraySubscription::request@11 (line 65)
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b4f3: lea r9,[r12+r10*8] ;*invokeinterface request {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b4f7: mov r10,qword ptr [r9+10h] ;*invokevirtual getLongVolatile {reexecute=0 rethrow=0 return_oop=0}
; - java.util.concurrent.atomic.AtomicLongFieldUpdater$CASUpdater::get@13 (line 484)
; - org.test.reactive.ArrayPublisher$ArraySubscription::request@11 (line 65)
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b4fb: mov r8,7fffffffffffffffh
0x0000022cd8a4b505: cmp r10,r8
0x0000022cd8a4b508: je 22cd8a4b712h ;*ifne {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::request@20 (line 67)
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b50e: mov r8,r10
0x0000022cd8a4b511: add r8,1h ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::request@26 (line 71)
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b515: test r8,r8
0x0000022cd8a4b518: jle 22cd8a4b74eh
0x0000022cd8a4b51e: mov rax,r10
0x0000022cd8a4b521: lock cmpxchg qword ptr [r9+10h],r8
0x0000022cd8a4b527: sete r11l
0x0000022cd8a4b52b: movzx r11d,r11l ;*invokevirtual compareAndSetLong {reexecute=0 rethrow=0 return_oop=0}
; - java.util.concurrent.atomic.AtomicLongFieldUpdater$CASUpdater::compareAndSet@16 (line 464)
; - org.test.reactive.ArrayPublisher$ArraySubscription::request@44 (line 77)
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b52f: test r11d,r11d
0x0000022cd8a4b532: je 22cd8a4b792h
0x0000022cd8a4b538: test r10,r10
0x0000022cd8a4b53b: jle 22cd8a4b5c8h ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::request@47 (line 77)
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b541: mov r11,qword ptr [r15+108h]
0x0000022cd8a4b548: mov r10d,dword ptr [rsp+14h]
0x0000022cd8a4b54d: inc r10d ;*iinc {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@86 (line 102)
0x0000022cd8a4b550: mov r8d,dword ptr [rsp+1ch]
0x0000022cd8a4b555: inc r8d ; ImmutableOopMap{rbp=NarrowOop [0]=Oop [8]=Oop [32]=Oop [64]=NarrowOop }
;*goto {reexecute=1 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@89 (line 102)
0x0000022cd8a4b558: test dword ptr [r11],eax ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@89 (line 102)
; {poll}
0x0000022cd8a4b55b: mov r9,qword ptr [rsp]
0x0000022cd8a4b55f: mov r14d,dword ptr [rsp+40h]
0x0000022cd8a4b564: mov r11d,dword ptr [rsp+18h]
0x0000022cd8a4b569: mov r13d,ebp
0x0000022cd8a4b56c: mov rdi,qword ptr [rsp+8h]
0x0000022cd8a4b571: mov rbp,qword ptr [rsp+20h]
0x0000022cd8a4b576: mov ecx,dword ptr [rsp+10h]
0x0000022cd8a4b57a: mov rax,qword ptr [rsp+28h] ;*iload_3 {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@25 (line 102)
0x0000022cd8a4b57f: movzx esi,byte ptr [r9+18h] ;*getfield canceled {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@40 (line 103)
0x0000022cd8a4b584: movsxd rdx,r8d ;*i2l {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@26 (line 102)
0x0000022cd8a4b587: cmp rdx,qword ptr [rsp+30h]
0x0000022cd8a4b58c: jnl 22cd8a4b597h ;*ifge {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@29 (line 102)
0x0000022cd8a4b58e: cmp r10d,r11d
0x0000022cd8a4b591: jl 22cd8a4b46ah ;*getfield canceled {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@93 (line 117)
0x0000022cd8a4b597: test esi,esi
0x0000022cd8a4b599: jne 22cd8a4b7e2h ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@96 (line 117)
0x0000022cd8a4b59f: cmp r10d,r11d
0x0000022cd8a4b5a2: je 22cd8a4b5fdh ;*if_icmpne {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@104 (line 121)
0x0000022cd8a4b5a4: mov rbx,qword ptr [r9+10h] ;*getfield requested {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@116 (line 126)
0x0000022cd8a4b5a8: cmp rbx,rdx
0x0000022cd8a4b5ab: je 22cd8a4b812h ;*iload_3 {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@25 (line 102)
0x0000022cd8a4b5b1: movzx esi,byte ptr [r9+18h] ;*getfield canceled {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@40 (line 103)
0x0000022cd8a4b5b6: test rbx,rbx
0x0000022cd8a4b5b9: jle 22cd8a4b618h ;*ifge {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@29 (line 102)
0x0000022cd8a4b5bb: cmp r10d,r11d
0x0000022cd8a4b5be: jnl 22cd8a4b618h ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@36 (line 102)
0x0000022cd8a4b5c0: xor r8d,r8d
0x0000022cd8a4b5c3: jmp 22cd8a4b46fh
0x0000022cd8a4b5c8: mov r10d,dword ptr [r9+20h] ;*getfield array {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::request@62 (line 86)
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b5cc: mov r10d,dword ptr [r12+r10*8+0ch]
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::request@65 (line 86)
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
; implicit exception: dispatches to 0x0000022cd8a4b88e
0x0000022cd8a4b5d1: mov r11d,dword ptr [r9+0ch] ;*getfield index {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::request@67 (line 86)
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b5d5: sub r10d,r11d
0x0000022cd8a4b5d8: movsxd r10,r10d
0x0000022cd8a4b5db: cmp r8,r10
0x0000022cd8a4b5de: jnle 22cd8a4b5edh ;*ifle {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::request@73 (line 86)
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b5e0: mov rdx,r9
0x0000022cd8a4b5e3: call 22cd0f97700h ; ImmutableOopMap{rbp=NarrowOop [0]=Oop [8]=Oop [32]=Oop [64]=NarrowOop }
;*invokevirtual slowPath {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::request@85 (line 89)
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
; {optimized virtual_call}
0x0000022cd8a4b5e8: jmp 22cd8a4b541h
0x0000022cd8a4b5ed: mov rdx,r9
0x0000022cd8a4b5f0: nop
0x0000022cd8a4b5f3: call 22cd0f97700h ; ImmutableOopMap{rbp=NarrowOop [0]=Oop [8]=Oop [32]=Oop [64]=NarrowOop }
;*invokevirtual fastPath {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::request@77 (line 87)
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
; {optimized virtual_call}
0x0000022cd8a4b5f8: jmp 22cd8a4b541h
0x0000022cd8a4b5fd: mov rdx,rbp
0x0000022cd8a4b600: nop
0x0000022cd8a4b603: call 22cd0f97700h ; ImmutableOopMap{}
;*invokeinterface onComplete {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@109 (line 122)
; {optimized virtual_call}
0x0000022cd8a4b608: add rsp,60h
0x0000022cd8a4b60c: pop rbp
0x0000022cd8a4b60d: mov r10,qword ptr [r15+108h]
0x0000022cd8a4b614: test dword ptr [r10],eax ; {poll_return}
0x0000022cd8a4b617: ret ;*getfield canceled {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@93 (line 117)
0x0000022cd8a4b618: test esi,esi
0x0000022cd8a4b61a: jne 22cd8a4b7e5h ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@96 (line 117)
0x0000022cd8a4b620: mov rbx,qword ptr [r9+10h] ;*getfield requested {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@116 (line 126)
0x0000022cd8a4b624: test rbx,rbx
0x0000022cd8a4b627: je 22cd8a4b818h ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::request@47 (line 77)
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b62d: mov r8,qword ptr [r15+108h] ; ImmutableOopMap{r9=Oop rdi=Oop rbp=Oop r13=NarrowOop r14=NarrowOop }
;*goto {reexecute=1 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@153 (line 136)
0x0000022cd8a4b634: test dword ptr [r8],eax ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@153 (line 136)
; {poll}
0x0000022cd8a4b637: jmp 22cd8a4b5b1h
0x0000022cd8a4b63c: mov edx,0ffffffe4h
0x0000022cd8a4b641: mov rbp,r9
0x0000022cd8a4b644: mov qword ptr [rsp],rbx
0x0000022cd8a4b648: mov dword ptr [rsp+8h],r8d
0x0000022cd8a4b64d: mov dword ptr [rsp+10h],r11d
0x0000022cd8a4b652: mov dword ptr [rsp+14h],r10d
0x0000022cd8a4b657: mov dword ptr [rsp+1ch],r13d
0x0000022cd8a4b65c: mov dword ptr [rsp+20h],r14d
0x0000022cd8a4b661: nop
0x0000022cd8a4b663: call 22cd0f99100h ; ImmutableOopMap{rbp=Oop [28]=NarrowOop [32]=NarrowOop }
;*aaload {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@51 (line 107)
; {runtime_call UncommonTrapBlob}
0x0000022cd8a4b668: ud2 ;*aaload {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@51 (line 107)
0x0000022cd8a4b66a: mov edx,0fffffff6h
0x0000022cd8a4b66f: mov ebp,esi
0x0000022cd8a4b671: nop
0x0000022cd8a4b673: call 22cd0f99100h ; ImmutableOopMap{rbp=NarrowOop }
;*invokevirtual consume {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.PerfSubscriber::onNext@5 (line 39)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
; {runtime_call UncommonTrapBlob}
0x0000022cd8a4b678: ud2 ;*invokevirtual consume {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.PerfSubscriber::onNext@5 (line 39)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b67a: mov edx,0ffffffdeh
0x0000022cd8a4b67f: mov rbp,qword ptr [rsp]
0x0000022cd8a4b683: mov r9d,dword ptr [rsp+1ch]
0x0000022cd8a4b688: mov dword ptr [rsp+8h],r9d
0x0000022cd8a4b68d: mov r8d,dword ptr [rsp+14h]
0x0000022cd8a4b692: mov dword ptr [rsp+0ch],r8d
0x0000022cd8a4b697: mov r9d,dword ptr [rsp+18h]
0x0000022cd8a4b69c: mov dword ptr [rsp+10h],r9d
0x0000022cd8a4b6a1: mov qword ptr [rsp+18h],r11
0x0000022cd8a4b6a6: mov dword ptr [rsp+14h],r10d
0x0000022cd8a4b6ab: call 22cd0f99100h ; ImmutableOopMap{rbp=Oop [20]=NarrowOop [24]=Oop [64]=NarrowOop }
;*invokeinterface request {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
; {runtime_call UncommonTrapBlob}
0x0000022cd8a4b6b0: ud2 ;*invokeinterface request {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b6b2: mov edx,0ffffff4dh
0x0000022cd8a4b6b7: mov rbp,r9
0x0000022cd8a4b6ba: mov qword ptr [rsp],rbx
0x0000022cd8a4b6be: mov dword ptr [rsp+8h],r8d
0x0000022cd8a4b6c3: mov dword ptr [rsp+0ch],r10d
0x0000022cd8a4b6c8: mov dword ptr [rsp+10h],r11d
0x0000022cd8a4b6cd: mov dword ptr [rsp+14h],esi
0x0000022cd8a4b6d1: mov dword ptr [rsp+18h],r14d
0x0000022cd8a4b6d6: mov dword ptr [rsp+1ch],r13d
0x0000022cd8a4b6db: call 22cd0f99100h ; ImmutableOopMap{rbp=Oop [24]=NarrowOop [28]=NarrowOop }
;*ifeq {reexecute=1 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@43 (line 103)
; {runtime_call UncommonTrapBlob}
0x0000022cd8a4b6e0: ud2 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@43 (line 103)
0x0000022cd8a4b6e2: mov edx,0ffffff4dh
0x0000022cd8a4b6e7: mov rbp,r9
0x0000022cd8a4b6ea: mov qword ptr [rsp],rbx
0x0000022cd8a4b6ee: mov dword ptr [rsp+8h],r8d
0x0000022cd8a4b6f3: mov dword ptr [rsp+0ch],r10d
0x0000022cd8a4b6f8: mov dword ptr [rsp+10h],r11d
0x0000022cd8a4b6fd: mov dword ptr [rsp+18h],esi
0x0000022cd8a4b701: mov dword ptr [rsp+1ch],r14d
0x0000022cd8a4b706: mov dword ptr [rsp+20h],r13d
0x0000022cd8a4b70b: call 22cd0f99100h ; ImmutableOopMap{rbp=Oop [24]=NarrowOop [28]=NarrowOop [32]=NarrowOop }
;*ifnonnull {reexecute=1 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@56 (line 109)
; {runtime_call UncommonTrapBlob}
0x0000022cd8a4b710: ud2 ;*ifnonnull {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@56 (line 109)
0x0000022cd8a4b712: cmp r10,r8
0x0000022cd8a4b715: mov ebp,0ffffffffh
0x0000022cd8a4b71a: jl 22cd8a4b724h
0x0000022cd8a4b71c: setne bpl
0x0000022cd8a4b720: movzx ebp,bpl ;*lcmp {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::request@19 (line 67)
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b724: mov edx,0ffffff4dh
0x0000022cd8a4b729: mov r8,qword ptr [rsp+30h]
0x0000022cd8a4b72e: mov qword ptr [rsp+8h],r8
0x0000022cd8a4b733: mov r8d,dword ptr [rsp+1ch]
0x0000022cd8a4b738: mov dword ptr [rsp+10h],r8d
0x0000022cd8a4b73d: 10mov qword ptr [rsp+28h],r9
0x0000022cd8a4b742: mov qword ptr [rsp+30h],r10
0x0000022cd8a4b747: call 22cd0f99100h ; ImmutableOopMap{[0]=Oop [32]=Oop [40]=Oop [64]=NarrowOop
}
;*ifne {reexecute=1 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::request@20 (line 67)
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
; {runtime_call UncommonTrapBlob}
0x0000022cd8a4b74c: ud2 ;*ifne {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::request@20 (line 67)
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b74e: mov rcx,qword ptr [rsp+28h]
0x0000022cd8a4b753: cmp r8,rcx
0x0000022cd8a4b756: mov ebp,0ffffffffh
0x0000022cd8a4b75b: jl 22cd8a4b765h
0x0000022cd8a4b75d: setne bpl
0x0000022cd8a4b761: movzx ebp,bpl ;*lcmp {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::request@30 (line 73)
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b765: mov edx,0ffffff4dh
0x0000022cd8a4b76a: mov rcx,qword ptr [rsp+30h]
0x0000022cd8a4b76f: mov qword ptr [rsp+8h],rcx
0x0000022cd8a4b774: mov ecx,dword ptr [rsp+1ch]
0x0000022cd8a4b778: mov dword ptr [rsp+10h],ecx
0x0000022cd8a4b77c: mov qword ptr [rsp+28h],r9
0x0000022cd8a4b781: mov qword ptr [rsp+30h],r8
0x0000022cd8a4b786: mov qword ptr [rsp+38h],r10
0x0000022cd8a4b78b: call 22cd0f99100h ; ImmutableOopMap{[0]=Oop [32]=Oop [40]=Oop [64]=NarrowOop }
;*ifgt {reexecute=1 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::request@31 (line 73)
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
; {runtime_call UncommonTrapBlob}
0x0000022cd8a4b790: ud2 ;*ifgt {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::request@31 (line 73)
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b792: mov edx,0ffffff4dh
0x0000022cd8a4b797: mov rbp,qword ptr [rsp]
0x0000022cd8a4b79b: mov rcx,qword ptr [rsp+30h]
0x0000022cd8a4b7a0: mov qword ptr [rsp],rcx
0x0000022cd8a4b7a4: mov ebx,dword ptr [rsp+1ch]
0x0000022cd8a4b7a8: mov dword ptr [rsp+8h],ebx
0x0000022cd8a4b7ac: mov ebx,dword ptr [rsp+14h]
0x0000022cd8a4b7b0: mov dword ptr [rsp+0ch],ebx
0x0000022cd8a4b7b4: mov ecx,dword ptr [rsp+18h]
0x0000022cd8a4b7b8: mov dword ptr [rsp+10h],ecx
0x0000022cd8a4b7bc: mov rcx,qword ptr [rsp+20h]
0x0000022cd8a4b7c1: mov qword ptr [rsp+18h],rcx
0x0000022cd8a4b7c6: mov qword ptr [rsp+20h],r9
0x0000022cd8a4b7cb: mov qword ptr [rsp+28h],r8
0x0000022cd8a4b7d0: mov qword ptr [rsp+30h],r10
0x0000022cd8a4b7d5: mov dword ptr [rsp+14h],r11d
0x0000022cd8a4b7da: nop
0x0000022cd8a4b7db: call 22cd0f99100h ; ImmutableOopMap{rbp=Oop [24]=Oop [32]=Oop [64]=NarrowOop }
;*ifeq {reexecute=1 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::request@47 (line 77)
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
; {runtime_call UncommonTrapBlob}
0x0000022cd8a4b7e0: ud2 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::request@47 (line 77)
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b7e2: mov ecx,r8d
0x0000022cd8a4b7e5: mov edx,0ffffff4dh
0x0000022cd8a4b7ea: mov rbp,r9
0x0000022cd8a4b7ed: mov dword ptr [rsp],ecx
0x0000022cd8a4b7f0: mov dword ptr [rsp+4h],r10d
0x0000022cd8a4b7f5: mov dword ptr [rsp+8h],r11d
0x0000022cd8a4b7fa: mov dword ptr [rsp+0ch],esi
0x0000022cd8a4b7fe: mov dword ptr [rsp+10h],r14d
0x0000022cd8a4b803: mov dword ptr [rsp+14h],r13d
0x0000022cd8a4b808: nop
0x0000022cd8a4b80b: call 22cd0f99100h ; ImmutableOopMap{rbp=Oop [16]=NarrowOop [20]=NarrowOop }
;*ifeq {reexecute=1 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@96 (line 117)
; {runtime_call UncommonTrapBlob}
0x0000022cd8a4b810: ud2 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@96 (line 117)
0x0000022cd8a4b812: mov ecx,r8d
0x0000022cd8a4b815: mov rax,rdx
0x0000022cd8a4b818: cmp rbx,rax
0x0000022cd8a4b81b: mov ebp,0ffffffffh
0x0000022cd8a4b820: jl 22cd8a4b82ah
0x0000022cd8a4b822: setne bpl
0x0000022cd8a4b826: movzx ebp,bpl ;*lcmp {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@123 (line 128)
0x0000022cd8a4b82a: mov edx,0ffffff4dh
0x0000022cd8a4b82f: mov qword ptr [rsp],r9
0x0000022cd8a4b833: mov qword ptr [rsp+8h],rbx
0x0000022cd8a4b838: mov dword ptr [rsp+10h],ecx
0x0000022cd8a4b83c: mov dword ptr [rsp+14h],r10d
0x0000022cd8a4b841: mov dword ptr [rsp+18h],r11d
0x0000022cd8a4b846: mov dword ptr [rsp+1ch],r14d
0x0000022cd8a4b84b: mov dword ptr [rsp+20h],r13d
0x0000022cd8a4b850: nop
0x0000022cd8a4b853: call 22cd0f99100h ; ImmutableOopMap{[0]=Oop [28]=NarrowOop [32]=NarrowOop }
;*ifne {reexecute=1 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@124 (line 128)
; {runtime_call UncommonTrapBlob}
0x0000022cd8a4b858: ud2 ;*ifne {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@124 (line 128)
0x0000022cd8a4b85a: mov edx,0ffffff7eh
0x0000022cd8a4b85f: mov rbp,r9
0x0000022cd8a4b862: mov qword ptr [rsp],r8
0x0000022cd8a4b866: mov dword ptr [rsp+8h],r10d
0x0000022cd8a4b86b: mov dword ptr [rsp+0ch],r11d
0x0000022cd8a4b870: mov dword ptr [rsp+10h],r14d
0x0000022cd8a4b875: mov dword ptr [rsp+14h],r13d
0x0000022cd8a4b87a: nop
0x0000022cd8a4b87b: call 22cd0f99100h ; ImmutableOopMap{rbp=Oop [16]=NarrowOop [20]=NarrowOop }
;*iload_3 {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@25 (line 102)
; {runtime_call UncommonTrapBlob}
0x0000022cd8a4b880: ud2 ;*iload_3 {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@25 (line 102)
0x0000022cd8a4b882: mov edx,0fffffff6h
0x0000022cd8a4b887: call 22cd0f99100h ; ImmutableOopMap{}
;*invokeinterface request {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
; {runtime_call UncommonTrapBlob}
0x0000022cd8a4b88c: ud2 ;*invokeinterface request {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b88e: mov edx,0fffffff6h
0x0000022cd8a4b893: call 22cd0f99100h ; ImmutableOopMap{}
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::request@65 (line 86)
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
; {runtime_call UncommonTrapBlob}
0x0000022cd8a4b898: ud2 ;*invokeinterface onComplete {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@109 (line 122)
0x0000022cd8a4b89a: mov rdx,rax
0x0000022cd8a4b89d: jmp 22cd8a4b8a6h ;*invokevirtual fastPath {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::request@77 (line 87)
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b89f: jmp 22cd8a4b8a3h ;*invokevirtual slowPath {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::request@85 (line 89)
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b8a1: jmp 22cd8a4b8a3h ;*synchronization entry
; - org.test.reactive.PerfSubscriber::onNext@-1 (line 39)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b8a3: mov rdx,rax ;*invokeinterface onComplete {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@109 (line 122)
0x0000022cd8a4b8a6: add rsp,60h
0x0000022cd8a4b8aa: pop rbp
0x0000022cd8a4b8ab: jmp 22cd1067b00h ; {runtime_call _rethrow_Java}
0x0000022cd8a4b8b0: mov edx,0fffffff6h
0x0000022cd8a4b8b5: nop
0x0000022cd8a4b8b7: call 22cd0f99100h ; ImmutableOopMap{}
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@16 (line 98)
; {runtime_call UncommonTrapBlob}
0x0000022cd8a4b8bc: ud2 ;*invokevirtual slowPath {reexecute=0 rethrow=0 return_oop=0}
; - org.test.reactive.ArrayPublisher$ArraySubscription::request@85 (line 89)
; - org.test.reactive.PerfSubscriber::onNext@13 (line 40)
; - org.test.reactive.ArrayPublisher$ArraySubscription::slowPath@78 (line 114)
0x0000022cd8a4b8be: hlt
0x0000022cd8a4b8bf: hlt
[Stub Code]
0x0000022cd8a4b8c0: mov rbx,0h ; {no_reloc}
0x0000022cd8a4b8ca: jmp 22cd8a4b8cah ; {runtime_call}
0x0000022cd8a4b8cf: mov rbx,0h ; {static_stub}
0x0000022cd8a4b8d9: jmp 22cd8a4b8d9h ; {runtime_call}
0x0000022cd8a4b8de: mov rbx,0h ; {static_stub}
0x0000022cd8a4b8e8: jmp 22cd8a4b8e8h ; {runtime_call}
0x0000022cd8a4b8ed: mov rbx,0h ; {static_stub}
0x0000022cd8a4b8f7: jmp 22cd8a4b8f7h ; {runtime_call}
[Exception Handler]
0x0000022cd8a4b8fc: jmp 22cd105d000h ; {runtime_call ExceptionBlob}
[Deopt Handler Code]
0x0000022cd8a4b901: call 22cd8a4b906h
0x0000022cd8a4b906: sub qword ptr [rsp],5h
0x0000022cd8a4b90b: jmp 22cd0f98d20h ; {runtime_call DeoptimizationBlob}
ImmutableOopMap{rbp=NarrowOop [0]=Oop [8]=Oop [32]=Oop [64]=NarrowOop }pc offsets: 216 344 488 504
ImmutableOopMap{}pc offsets: 520
ImmutableOopMap{r9=Oop rdi=Oop rbp=Oop r13=NarrowOop r14=NarrowOop }pc offsets: 564
ImmutableOopMap{rbp=Oop [28]=NarrowOop [32]=NarrowOop }pc offsets: 616
ImmutableOopMap{rbp=NarrowOop }pc offsets: 632
ImmutableOopMap{rbp=Oop [20]=NarrowOop [24]=Oop [64]=NarrowOop }pc offsets: 688
ImmutableOopMap{rbp=Oop [24]=NarrowOop [28]=NarrowOop }pc offsets: 736
ImmutableOopMap{rbp=Oop [24]=NarrowOop [28]=NarrowOop [32]=NarrowOop }pc offsets: 784
ImmutableOopMap{[0]=Oop [32]=Oop [40]=Oop [64]=NarrowOop }pc offsets: 844 912
ImmutableOopMap{rbp=Oop [24]=Oop [32]=Oop [64]=NarrowOop }pc offsets: 992
ImmutableOopMap{rbp=Oop [16]=NarrowOop [20]=NarrowOop }pc offsets: 1040
ImmutableOopMap{[0]=Oop [28]=NarrowOop [32]=NarrowOop }pc offsets: 1112
ImmutableOopMap{rbp=Oop [16]=NarrowOop [20]=NarrowOop }pc offsets: 1152
ImmutableOopMap{}pc offsets: 1164 1176 1212 11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment