Skip to content

Instantly share code, notes, and snippets.

@npmenard
Created April 24, 2024 20:42
Show Gist options
  • Save npmenard/7b0a22456be76157d9a8834e4a30c3a7 to your computer and use it in GitHub Desktop.
Save npmenard/7b0a22456be76157d9a8834e4a30c3a7 to your computer and use it in GitHub Desktop.
ok pinning of event_listener
588 async fn initialize_or_wait<E, Fut: Future<Output = Result<T, E>>, F: FnOnce() -> Fut>(
589 &self,
0x40131fdc <+68>: l32i a8, a1, 132
0x40131fdf <+71>: s32i a8, a1, 64
590 closure: F,
591 strategy: &mut impl for<'a> Strategy<'a>,
0x40131fe8 <+80>: l32i a8, a1, 136
0x40131feb <+83>: s32i a8, a1, 68
0x40131fee <+86>: movi.n a8, 8
0x40131ff0 <+88>: addi a6, a1, 64
592 ) -> Result<(), E> {
0x40131fab <+19>: l8ui a8, a1, 141
0x40131fae <+22>: l32r a9, 0x401175e4 (0x3f422810)
0x40131fb1 <+25>: addx4 a8, a8, a9
0x40131fb4 <+28>: l32i.n a8, a8, 0
0x40131fb6 <+30>: movi.n a3, 0
0x40131fb8 <+32>: movi a5, 128
0x40131fbb <+35>: l32r a2, 0x401175f8 (0x40132498 <_ZN4core3ptr137drop_in_place$LT$core..future..ready..Ready$LT$core..result..Result$LT$async_io..reactor..Reactor$C$core..convert..Infallible$GT$$GT$$GT$17ha1e75c798bb55b87E>)
0x40131fbe <+38>: movi.n a9, 1
0x40131fc0 <+40>: s32i.n a9, a1, 28
0x40131fc2 <+42>: l32r a9, 0x40117584 (0x40240858 <_ZN10async_lock9once_cell91_$LT$impl$u20$core..convert..From$LT$async_lock..once_cell..State$GT$$u20$for$u20$usize$GT$4from17hbc1082d8f8dd8583E>)
0x40131fc5 <+45>: s32i.n a9, a1, 60
0x40131fc7 <+47>: movi a9, 0x1c0
0x40131fca <+50>: s32i.n a9, a1, 40
0x40131fcc <+52>: l32r a4, 0x40117570 (0x40240868 <_ZN14event_listener22EventListener$LT$T$GT$12is_listening17h5f202cf316cbf425E>)
0x40131fcf <+55>: movi.n a9, 36
0x40131fd1 <+57>: s32i.n a9, a1, 24
0x40131fd3 <+59>: s32i.n a2, a1, 16
0x40131fd5 <+61>: s32i.n a5, a1, 12
0x40131fd7 <+63>: s32i.n a3, a1, 8
0x40131fd9 <+65>: jx a8
593 // The event listener we're currently waiting on.
594 let event_listener = EventListener::new();
=> 0x40131ff3 <+91>: or a7, a6, a8
595 let _ = event_listener.is_listening();
0x40131ff6 <+94>: mov.n a10, a7
0x40131ff8 <+96>: callx8 a4
596 pin!(event_listener);
0x40131ffb <+99>: l32i.n a8, a1, 24
0x40131ffd <+101>: or a6, a6, a8
0x40132000 <+104>: movi.n a12, 28
0x40132002 <+106>: mov.n a10, a6
0x40132004 <+108>: mov.n a11, a7
0x40132006 <+110>: l32i.n a8, a1, 20
0x40132008 <+112>: callx8 a8
0x40132010 <+120>: s32i a6, a1, 128
0x40132013 <+123>: s32i.n a4, a1, 52
0x40132015 <+125>: addi a8, a1, 64
0x40132018 <+128>: addi a8, a8, 64
0x4013201b <+131>: s32i.n a8, a1, 48
0x4013201d <+133>: l32r a7, 0x40117574 (0x4013ed80 <_ZN81_$LT$async_lock..once_cell..State$u20$as$u20$core..convert..From$LT$usize$GT$$GT$4from17h14018687a1022899E>)
0x40132020 <+136>: movi a8, 0x1c8
0x40132023 <+139>: s32i.n a8, a1, 44
0x40132025 <+141>: movi.n a8, 0
0x40132027 <+143>: s32i.n a8, a1, 56
0x40132029 <+145>: movi.n a5, 1
0x4013202b <+147>: l32r a2, 0x40117578 (0x40240850 <_ZN67_$LT$core..pin..Pin$LT$P$GT$$u20$as$u20$core..ops..deref..Deref$GT$5deref17h01c1250a54d2a0b9E>)
0x4013202e <+150>: l32r a8, 0x40117580 (0x4013f088 <_ZN14event_listener22EventListener$LT$T$GT$4wait17h3882d3b695efcd12E>)
0x40132031 <+153>: s32i.n a8, a1, 36
0x40132033 <+155>: l32r a8, 0x4011757c (0x4013f0ac <_ZN14event_listener22EventListener$LT$T$GT$6listen17h9ec30a64061dd925E>)
0x40132036 <+158>: s32i.n a8, a1, 32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment