Created
August 8, 2018 17:22
-
-
Save p0pr0ck5/9d79bea358db21ff577cf3536f3a761e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ tail -f /tmp/jit.dump | |
---- TRACE 1 start access_by_lua(nginx.conf:60):2 | |
0005 GGET 4 0 ; "ngx" (access_by_lua(nginx.conf:60):3) | |
0006 TGETS 4 4 1 ; "get_phase" (access_by_lua(nginx.conf:60):3) | |
0007 CALL 4 2 1 (access_by_lua(nginx.conf:60):3) | |
0000 . FUNCC ; C:55d170597150 | |
---- TRACE 1 IR | |
0001 int SLOAD #1 CI | |
0002 fun SLOAD #0 R | |
0003 tab FLOAD 0002 func.env | |
0004 p32 HREF 0003 "ngx" | |
0005 > p32 EQ 0004 [0x40719458] | |
0006 tab FLOAD 0003 tab.meta | |
0007 > tab NE 0006 NULL | |
0008 int FLOAD 0006 tab.hmask | |
0009 > int EQ 0008 +1 | |
0010 p32 FLOAD 0006 tab.node | |
0011 > p32 HREFK 0010 "__index" @0 | |
0012 > tab HLOAD 0011 | |
0013 int FLOAD 0012 tab.hmask | |
0014 > int EQ 0013 +63 | |
0015 p32 FLOAD 0012 tab.node | |
0016 > p32 HREFK 0015 "ngx" @46 | |
0017 > tab HLOAD 0016 | |
0018 int FLOAD 0017 tab.hmask | |
0019 > int EQ 0018 +127 | |
0020 p32 FLOAD 0017 tab.node | |
0021 > p32 HREFK 0020 "get_phase" @93 | |
0022 > fun HLOAD 0021 | |
0023 > fun EQ 0022 C:55d170597150 | |
0024 num CONV 0001 num.int | |
---- TRACE 1 mcode 344 | |
7f615a6cfea1 mov dword [0x40719410], 0x1 | |
7f615a6cfeac cvttsd2si ebp, [rdx] | |
7f615a6cfeb0 mov ebx, [rdx-0x8] | |
7f615a6cfeb3 mov ebx, [rbx+0x8] | |
7f615a6cfeb6 mov edi, [rbx+0x1c] | |
7f615a6cfeb9 and edi, 0x8c4ae72f | |
7f615a6cfebf lea edi, [rdi+rdi*2] | |
7f615a6cfec2 shl edi, 0x03 | |
7f615a6cfec5 add edi, [rbx+0x14] | |
7f615a6cfec8 cmp dword [rdi+0xc], -0x05 | |
7f615a6cfecc jnz 0x7f615a6cfedb | |
7f615a6cfece cmp dword [rdi+0x8], 0x40726530 | |
7f615a6cfed5 jz 0x7f615a6c0010 ->0 | |
7f615a6cfedb mov edi, [rdi+0x10] | |
7f615a6cfede test edi, edi | |
7f615a6cfee0 jnz 0x7f615a6cfec8 | |
7f615a6cfee2 mov ebx, [rbx+0x10] | |
7f615a6cfee5 test ebx, ebx | |
7f615a6cfee7 jz 0x7f615a6c0010 ->0 | |
7f615a6cfeed cmp dword [rbx+0x1c], +0x01 | |
7f615a6cfef1 jnz 0x7f615a6c0010 ->0 | |
7f615a6cfef7 mov ebx, [rbx+0x14] | |
7f615a6cfefa mov rdi, 0xfffffffb4071b4a0 | |
7f615a6cff04 cmp rdi, [rbx+0x8] | |
7f615a6cff08 jnz 0x7f615a6c0010 ->0 | |
7f615a6cff0e cmp dword [rbx+0x4], -0x0c | |
7f615a6cff12 jnz 0x7f615a6c0010 ->0 | |
7f615a6cff18 mov ebx, [rbx] | |
7f615a6cff1a cmp dword [rbx+0x1c], +0x3f | |
7f615a6cff1e jnz 0x7f615a6c0010 ->0 | |
7f615a6cff24 mov ebx, [rbx+0x14] | |
7f615a6cff27 mov rdi, 0xfffffffb40726530 | |
7f615a6cff31 cmp rdi, [rbx+0x458] | |
7f615a6cff38 jnz 0x7f615a6c0010 ->0 | |
7f615a6cff3e cmp dword [rbx+0x454], -0x0c | |
7f615a6cff45 jnz 0x7f615a6c0010 ->0 | |
7f615a6cff4b mov ebx, [rbx+0x450] | |
7f615a6cff51 cmp dword [rbx+0x1c], +0x7f | |
7f615a6cff55 jnz 0x7f615a6c0010 ->0 | |
7f615a6cff5b mov ebx, [rbx+0x14] | |
7f615a6cff5e mov rdi, 0xfffffffb40724f08 | |
7f615a6cff68 cmp rdi, [rbx+0x8c0] | |
7f615a6cff6f jnz 0x7f615a6c0010 ->0 | |
7f615a6cff75 cmp dword [rbx+0x8bc], -0x09 | |
7f615a6cff7c jnz 0x7f615a6c0010 ->0 | |
7f615a6cff82 cmp dword [rbx+0x8b8], 0x40724ee0 | |
7f615a6cff8c jnz 0x7f615a6c0010 ->0 | |
7f615a6cff92 xorps xmm7, xmm7 | |
7f615a6cff95 cvtsi2sd xmm7, ebp | |
7f615a6cff99 mov eax, [0x407194b0] | |
7f615a6cffa0 mov eax, [rax+0x20] | |
7f615a6cffa3 sub eax, edx | |
7f615a6cffa5 cmp eax, +0x40 | |
7f615a6cffa8 jb 0x7f615a6c0014 ->1 | |
7f615a6cffae mov dword [rdx+0x34], 0x3a | |
7f615a6cffb5 mov dword [rdx+0x30], 0x40724ee0 | |
7f615a6cffbc mov dword [rdx+0x2c], 0x4174fce8 | |
7f615a6cffc3 mov dword [rdx+0x28], 0x3348 | |
7f615a6cffca mov dword [rdx+0x24], 0xfffffff6 | |
7f615a6cffd1 mov dword [rdx+0x20], 0x40727cd0 | |
7f615a6cffd8 movsd [rdx+0x18], xmm7 | |
7f615a6cffdd movsd [rdx], xmm7 | |
7f615a6cffe1 add edx, +0x38 | |
7f615a6cffe4 mov eax, 0x1 | |
7f615a6cffe9 mov ebx, 0x407194ac | |
7f615a6cffee mov r14d, 0x40719fe0 | |
7f615a6cfff4 jmp 0x7f61305ecd72 | |
---- TRACE 1 stop -> stitch | |
---- TRACE 2 start 1/stitch access_by_lua(nginx.conf:60):3 | |
0008 GSET 4 2 ; "phase" (access_by_lua(nginx.conf:60):3) | |
0009 JFORL 0 1 (access_by_lua(nginx.conf:60):2) | |
---- TRACE 2 IR | |
0001 > str SLOAD #5 T | |
0002 fun SLOAD #0 R | |
0003 tab FLOAD 0002 func.env | |
0004 int FLOAD 0003 tab.hmask | |
0005 > int EQ 0004 +3 | |
0006 p32 FLOAD 0003 tab.node | |
0007 > p32 HREFK 0006 "phase" @0 | |
0008 > str HLOAD 0007 | |
0009 str HSTORE 0007 0001 | |
0010 nil TBAR 0003 | |
0011 num SLOAD #1 I | |
0012 num ADD 0011 +1 | |
0013 > num LE 0012 +1000000 | |
---- TRACE 2 mcode 163 | |
7f615a6cfdf7 mov dword [0x40719410], 0x2 | |
7f615a6cfe02 movsd xmm6, [0x41ca6590] | |
7f615a6cfe0b movsd xmm5, [0x41ca6580] | |
7f615a6cfe14 cmp dword [rdx+0x24], -0x05 | |
7f615a6cfe18 jnz 0x7f615a6c0010 ->0 | |
7f615a6cfe1e mov ebx, [rdx+0x20] | |
7f615a6cfe21 mov ebp, [rdx-0x8] | |
7f615a6cfe24 mov ebp, [rbp+0x8] | |
7f615a6cfe27 cmp dword [rbp+0x1c], +0x03 | |
7f615a6cfe2b jnz 0x7f615a6c0010 ->0 | |
7f615a6cfe31 mov r15d, [rbp+0x14] | |
7f615a6cfe35 mov rdi, 0xfffffffb41751040 | |
7f615a6cfe3f cmp rdi, [r15+0x8] | |
7f615a6cfe43 jnz 0x7f615a6c0010 ->0 | |
7f615a6cfe49 cmp dword [r15+0x4], -0x05 | |
7f615a6cfe4e jnz 0x7f615a6c0010 ->0 | |
7f615a6cfe54 mov dword [r15+0x4], 0xfffffffb | |
7f615a6cfe5c mov [r15], ebx | |
7f615a6cfe5f test byte [rbp+0x4], 0x4 | |
7f615a6cfe63 jz 0x7f615a6cfe7a | |
7f615a6cfe65 and byte [rbp+0x4], 0xfb | |
7f615a6cfe69 mov edi, [0x407193f4] | |
7f615a6cfe70 mov [0x407193f4], ebp | |
7f615a6cfe77 mov [rbp+0xc], edi | |
7f615a6cfe7a movsd xmm7, [rdx] | |
7f615a6cfe7e addsd xmm7, xmm5 | |
7f615a6cfe82 ucomisd xmm6, xmm7 | |
7f615a6cfe86 jb 0x7f615a6c0014 ->1 | |
7f615a6cfe8c movsd [rdx+0x18], xmm7 | |
7f615a6cfe91 movsd [rdx], xmm7 | |
7f615a6cfe95 jmp 0x7f615a6cfea1 | |
---- TRACE 2 stop -> 1 | |
---- TRACE 3 start 2/1 access_by_lua(nginx.conf:60):6 | |
0010 RET0 0 1 (access_by_lua(nginx.conf:60):6) | |
---- TRACE 3 IR | |
---- TRACE 3 mcode 29 | |
7f615a6cfdd3 mov dword [0x40719410], 0x3 | |
7f615a6cfdde xor eax, eax | |
7f615a6cfde0 mov ebx, 0x4174fcf0 | |
7f615a6cfde5 mov r14d, 0x40719fe0 | |
7f615a6cfdeb jmp 0x7f61305ecd72 | |
---- TRACE 3 stop -> return | |
---- TRACE 4 start 2/0 access_by_lua(nginx.conf:60):3 | |
0008 GSET 4 2 ; "phase" (access_by_lua(nginx.conf:60):3) | |
0009 JFORL 0 1 (access_by_lua(nginx.conf:60):2) | |
---- TRACE 4 IR | |
0001 > str SLOAD #5 T | |
0002 fun SLOAD #0 R | |
0003 tab FLOAD 0002 func.env | |
0004 p32 HREF 0003 "phase" | |
0005 > p32 EQ 0004 [0x40719458] | |
0006 tab FLOAD 0003 tab.meta | |
0007 > tab NE 0006 NULL | |
0008 p32 HREF 0006 "__newindex" | |
0009 > p32 EQ 0008 [0x40719458] | |
0010 p32 NEWREF 0003 "phase" | |
0011 str HSTORE 0010 0001 | |
0012 nil TBAR 0003 | |
0013 num SLOAD #1 I | |
0014 num ADD 0013 +1 | |
0015 > num LE 0014 +1000000 | |
---- TRACE 4 mcode 258 | |
7f615a6cfcca mov dword [0x40719410], 0x4 | |
7f615a6cfcd5 mov edi, [0x407194b0] | |
7f615a6cfcdc cmp dword [rdx+0x24], -0x05 | |
7f615a6cfce0 jnz 0x7f615a6c0010 ->0 | |
7f615a6cfce6 mov ebx, [rdx+0x20] | |
7f615a6cfce9 mov ebp, [rdx-0x8] | |
7f615a6cfcec mov ebp, [rbp+0x8] | |
7f615a6cfcef mov esi, [rbp+0x1c] | |
7f615a6cfcf2 and esi, 0xf034371c | |
7f615a6cfcf8 lea esi, [rsi+rsi*2] | |
7f615a6cfcfb shl esi, 0x03 | |
7f615a6cfcfe add esi, [rbp+0x14] | |
7f615a6cfd01 cmp dword [rsi+0xc], -0x05 | |
7f615a6cfd05 jnz 0x7f615a6cfd14 | |
7f615a6cfd07 cmp dword [rsi+0x8], 0x41751040 | |
7f615a6cfd0e jz 0x7f615a6c0010 ->0 | |
7f615a6cfd14 mov esi, [rsi+0x10] | |
7f615a6cfd17 test esi, esi | |
7f615a6cfd19 jnz 0x7f615a6cfd01 | |
7f615a6cfd1b mov r15d, [rbp+0x10] | |
7f615a6cfd1f test r15d, r15d | |
7f615a6cfd22 jz 0x7f615a6c0010 ->0 | |
7f615a6cfd28 mov esi, [r15+0x1c] | |
7f615a6cfd2c and esi, 0xcd80d9d9 | |
7f615a6cfd32 lea esi, [rsi+rsi*2] | |
7f615a6cfd35 shl esi, 0x03 | |
7f615a6cfd38 add esi, [r15+0x14] | |
7f615a6cfd3c cmp dword [rsi+0xc], -0x05 | |
7f615a6cfd40 jnz 0x7f615a6cfd4f | |
7f615a6cfd42 cmp dword [rsi+0x8], 0x4071b4c0 | |
7f615a6cfd49 jz 0x7f615a6c0010 ->0 | |
7f615a6cfd4f mov esi, [rsi+0x10] | |
7f615a6cfd52 test esi, esi | |
7f615a6cfd54 jnz 0x7f615a6cfd3c | |
7f615a6cfd56 mov edx, 0x40719448 | |
7f615a6cfd5b mov dword [rdx+0x4], 0xfffffffb | |
7f615a6cfd62 mov dword [rdx], 0x41751040 | |
7f615a6cfd68 mov esi, ebp | |
7f615a6cfd6a call 0x7f61305f1990 ->lj_tab_newkey | |
7f615a6cfd6f mov edx, [0x407194b4] | |
7f615a6cfd76 movsd xmm6, [0x41cac850] | |
7f615a6cfd7f movsd xmm5, [0x41cac840] | |
7f615a6cfd88 mov dword [rax+0x4], 0xfffffffb | |
7f615a6cfd8f mov [rax], ebx | |
7f615a6cfd91 test byte [rbp+0x4], 0x4 | |
7f615a6cfd95 jz 0x7f615a6cfdac | |
7f615a6cfd97 and byte [rbp+0x4], 0xfb | |
7f615a6cfd9b mov edi, [0x407193f4] | |
7f615a6cfda2 mov [0x407193f4], ebp | |
7f615a6cfda9 mov [rbp+0xc], edi | |
7f615a6cfdac movsd xmm7, [rdx] | |
7f615a6cfdb0 addsd xmm7, xmm5 | |
7f615a6cfdb4 ucomisd xmm6, xmm7 | |
7f615a6cfdb8 jb 0x7f615a6c0014 ->1 | |
7f615a6cfdbe movsd [rdx+0x18], xmm7 | |
7f615a6cfdc3 movsd [rdx], xmm7 | |
7f615a6cfdc7 jmp 0x7f615a6cfea1 | |
---- TRACE 4 stop -> 1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment