Skip to content

Instantly share code, notes, and snippets.

@timo
Last active August 29, 2015 14:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save timo/794f580dc78710072abc to your computer and use it in GitHub Desktop.
Save timo/794f580dc78710072abc to your computer and use it in GitHub Desktop.
assembly output from a b0rken push_o
257: 48 8b 0b mov rcx,QWORD PTR [rbx]
25a: 48 89 4b 28 mov QWORD PTR [rbx+0x28],rcx
25e: 49 8b 8c 24 88 00 00 mov rcx,QWORD PTR [r12+0x88]
265: 00
266: 48 8b 49 28 mov rcx,QWORD PTR [rcx+0x28]
26a: 48 89 4b 20 mov QWORD PTR [rbx+0x20],rcx
26e: 48 8b 4b 28 mov rcx,QWORD PTR [rbx+0x28]
272: 48 8d 51 50 lea rdx,[rcx+0x50]
276: 4c 8b 49 18 mov r9,QWORD PTR [rcx+0x18]
27a: 4d 8d 51 38 lea r10,[r9+0x38]
27e: 4d 85 c9 test r9,r9
281: 49 0f 45 d2 cmovne rdx,r10
285: 4c 8b 02 mov r8,QWORD PTR [rdx]
288: 4d 85 c0 test r8,r8
28b: 75 56 jne 0x2e3
28d: 4d 8b 84 24 88 00 00 mov r8,QWORD PTR [r12+0x88]
294: 00
295: 4d 8b 40 30 mov r8,QWORD PTR [r8+0x30]
299: 66 f7 41 04 08 00 test WORD PTR [rcx+0x4],0x8
29f: 0f 95 d0 setne al
2a2: 49 83 f8 00 cmp r8,0x0
2a6: 0f 95 d4 setne ah
2a9: 84 c4 test ah,al
2ab: 0f 95 d0 setne al
2ae: 66 41 f7 40 04 08 00 test WORD PTR [r8+0x4],0x8
2b5: 0f 94 d4 sete ah
2b8: 84 c4 test ah,al
2ba: 74 24 je 0x2e0
2bc: 48 89 55 d8 mov QWORD PTR [rbp-0x28],rdx
2c0: 4c 89 45 d0 mov QWORD PTR [rbp-0x30],r8
2c4: 4c 89 f7 mov rdi,r14
2c7: 48 8b 73 28 mov rsi,QWORD PTR [rbx+0x28]
2cb: 49 ba db c4 ce d5 a6 movabs r10,0x7fa6d5cec4db
2d2: 7f 00 00
2d5: 41 ff d2 call r10
2d8: 4c 8b 45 d0 mov r8,QWORD PTR [rbp-0x30]
2dc: 48 8b 55 d8 mov rdx,QWORD PTR [rbp-0x28]
2e0: 4c 89 02 mov QWORD PTR [rdx],r8
2e3: 4c 89 43 38 mov QWORD PTR [rbx+0x38],r8
2e7: 4d 89 f3 mov r11,r14
2ea: 4c 89 df mov rdi,r11
2ed: 4c 8b 5b 38 mov r11,QWORD PTR [rbx+0x38]
2f1: 4d 8b 5b 10 mov r11,QWORD PTR [r11+0x10]
2f5: 4c 89 de mov rsi,r11
2f8: 4c 8b 5b 38 mov r11,QWORD PTR [rbx+0x38]
2fc: 4c 89 da mov rdx,r11
2ff: 4c 8b 5b 38 mov r11,QWORD PTR [rbx+0x38]
303: 4d 8d 5b 18 lea r11,[r11+0x18]
307: 4c 89 d9 mov rcx,r11
30a: 4c 8b 5b 08 mov r11,QWORD PTR [rbx+0x8]
30e: 4d 89 d8 mov r8,r11
311: 49 c7 c3 08 00 00 00 mov r11,0x8
318: 4d 89 d9 mov r9,r11
31b: 49 ba 95 fb d0 d5 a6 movabs r10,0x7fa6d5d0fb95
322: 7f 00 00
325: 41 ff d2 call r10
328: 48 8b 0b mov rcx,QWORD PTR [rbx]
32b: 48 89 4b 38 mov QWORD PTR [rbx+0x38],rcx
32f: 49 8b 8c 24 88 00 00 mov rcx,QWORD PTR [r12+0x88]
336: 00
337: 48 8b 49 38 mov rcx,QWORD PTR [rcx+0x38]
33b: 48 89 4b 20 mov QWORD PTR [rbx+0x20],rcx
33f: 48 8b 4b 38 mov rcx,QWORD PTR [rbx+0x38]
343: 48 8d 51 50 lea rdx,[rcx+0x50]
347: 4c 8b 49 18 mov r9,QWORD PTR [rcx+0x18]
34b: 4d 8d 51 38 lea r10,[r9+0x38]
34f: 4d 85 c9 test r9,r9
352: 49 0f 45 d2 cmovne rdx,r10
356: 4c 8b 02 mov r8,QWORD PTR [rdx]
359: 4d 85 c0 test r8,r8
35c: 75 56 jne 0x3b4
35e: 4d 8b 84 24 88 00 00 mov r8,QWORD PTR [r12+0x88]
365: 00
366: 4d 8b 40 40 mov r8,QWORD PTR [r8+0x40]
36a: 66 f7 41 04 08 00 test WORD PTR [rcx+0x4],0x8
370: 0f 95 d0 setne al
373: 49 83 f8 00 cmp r8,0x0
377: 0f 95 d4 setne ah
37a: 84 c4 test ah,al
37c: 0f 95 d0 setne al
37f: 66 41 f7 40 04 08 00 test WORD PTR [r8+0x4],0x8
386: 0f 94 d4 sete ah
389: 84 c4 test ah,al
38b: 74 24 je 0x3b1
38d: 48 89 55 d8 mov QWORD PTR [rbp-0x28],rdx
391: 4c 89 45 d0 mov QWORD PTR [rbp-0x30],r8
395: 4c 89 f7 mov rdi,r14
398: 48 8b 73 38 mov rsi,QWORD PTR [rbx+0x38]
39c: 49 ba db c4 ce d5 a6 movabs r10,0x7fa6d5cec4db
3a3: 7f 00 00
3a6: 41 ff d2 call r10
3a9: 4c 8b 45 d0 mov r8,QWORD PTR [rbp-0x30]
3ad: 48 8b 55 d8 mov rdx,QWORD PTR [rbp-0x28]
3b1: 4c 89 02 mov QWORD PTR [rdx],r8
3b4: 4c 89 43 28 mov QWORD PTR [rbx+0x28],r8
3b8: 4d 89 f3 mov r11,r14
3bb: 4c 89 df mov rdi,r11
3be: 4c 8b 5b 28 mov r11,QWORD PTR [rbx+0x28]
3c2: 4c 89 de mov rsi,r11
3c5: 49 c7 c3 00 00 00 00 mov r11,0x0
3cc: 4c 89 da mov rdx,r11
3cf: 49 ba 32 12 c9 d5 a6 movabs r10,0x7fa6d5c91232
3d6: 7f 00 00
3d9: 41 ff d2 call r10
3dc: 49 83 7e 10 00 cmp QWORD PTR [r14+0x10],0x0
3e1: 74 10 je 0x3f3
3e3: 4c 89 f7 mov rdi,r14
3e6: 49 ba 97 5e ce d5 a6 movabs r10,0x7fa6d5ce5e97
3ed: 7f 00 00
3f0: 41 ff d2 call r10
3f3: eb 00 jmp 0x3f5
3f5: 48 c7 c0 00 00 00 00 mov rax,0x0
3fc: 4c 8b 75 f8 mov r14,QWORD PTR [rbp-0x8]
400: 4c 8b 6d f0 mov r13,QWORD PTR [rbp-0x10]
404: 4c 8b 65 e8 mov r12,QWORD PTR [rbp-0x18]
408: 48 8b 5d e0 mov rbx,QWORD PTR [rbp-0x20]
40c: 48 89 ec mov rsp,rbp
40f: 5d pop rbp
410: c3 ret
Constructing JIT graph (cuuid: cuid_44_1416581634.54031, name: '!cursor_push_cstack')
append label: 0
append_ins: <sp_getarg_o>
append_ins: <sp_getarg_o>
append_ins: <set>
append_ins: <const_s>
append_ins: <sp_getspeshslot>
append_ins: <sp_p6ogetvt_o>
append_ins: <decont>
append invokish control guard
append_ins: <isconcrete>
append_ins: <if_i>
append label: 2
append_ins: <set>
append_ins: <const_s>
append_ins: <getlexperinvtype_o>
append_ins: <sp_fastcreate>
append_ins: <bindattr_o>
devirt: please implement emitting repr op bindattr_o
append_ins: <goto>
append label: 1
append_ins: <set>
append_ins: <sp_getspeshslot>
append_ins: <sp_p6ogetvt_o>
append_ins: <push_o>
devirt: emitted a push_o via jgb_consume_reprop
append_ins: <set>
append_ins: <sp_getspeshslot>
append_ins: <sp_p6ogetvt_o>
append_ins: <return_o>
append label: 3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment