Last active
January 28, 2018 01:07
-
-
Save piperswe/a013ea56d90c10fdd56390aa29a886df to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
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
.file "sqlite3.c" | |
.intel_syntax noprefix | |
.section .rodata | |
.LC0: | |
.string "COMPILER=gcc-6.3.0 20170516" | |
.LC1: | |
.string "THREADSAFE=1" | |
.section .data.rel.ro.local,"aw",@progbits | |
.align 16 | |
.type sqlite3azCompileOpt, @object | |
.size sqlite3azCompileOpt, 16 | |
sqlite3azCompileOpt: | |
.quad .LC0 | |
.quad .LC1 | |
.text | |
.type sqlite3CompileOptions, @function | |
sqlite3CompileOptions: | |
.LFB0: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR [rax], 2 | |
lea rax, sqlite3azCompileOpt[rip] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE0: | |
.size sqlite3CompileOptions, .-sqlite3CompileOptions | |
.globl sqlite3_version | |
.section .rodata | |
.type sqlite3_version, @object | |
.size sqlite3_version, 7 | |
sqlite3_version: | |
.string "3.22.0" | |
.globl sqlite3_temp_directory | |
.bss | |
.align 8 | |
.type sqlite3_temp_directory, @object | |
.size sqlite3_temp_directory, 8 | |
sqlite3_temp_directory: | |
.zero 8 | |
.globl sqlite3_data_directory | |
.align 8 | |
.type sqlite3_data_directory, @object | |
.size sqlite3_data_directory, 8 | |
sqlite3_data_directory: | |
.zero 8 | |
.section .rodata | |
.align 32 | |
.type sqlite3UpperToLower, @object | |
.size sqlite3UpperToLower, 256 | |
sqlite3UpperToLower: | |
.byte 0 | |
.byte 1 | |
.byte 2 | |
.byte 3 | |
.byte 4 | |
.byte 5 | |
.byte 6 | |
.byte 7 | |
.byte 8 | |
.byte 9 | |
.byte 10 | |
.byte 11 | |
.byte 12 | |
.byte 13 | |
.byte 14 | |
.byte 15 | |
.byte 16 | |
.byte 17 | |
.byte 18 | |
.byte 19 | |
.byte 20 | |
.byte 21 | |
.byte 22 | |
.byte 23 | |
.byte 24 | |
.byte 25 | |
.byte 26 | |
.byte 27 | |
.byte 28 | |
.byte 29 | |
.byte 30 | |
.byte 31 | |
.byte 32 | |
.byte 33 | |
.byte 34 | |
.byte 35 | |
.byte 36 | |
.byte 37 | |
.byte 38 | |
.byte 39 | |
.byte 40 | |
.byte 41 | |
.byte 42 | |
.byte 43 | |
.byte 44 | |
.byte 45 | |
.byte 46 | |
.byte 47 | |
.byte 48 | |
.byte 49 | |
.byte 50 | |
.byte 51 | |
.byte 52 | |
.byte 53 | |
.byte 54 | |
.byte 55 | |
.byte 56 | |
.byte 57 | |
.byte 58 | |
.byte 59 | |
.byte 60 | |
.byte 61 | |
.byte 62 | |
.byte 63 | |
.byte 64 | |
.byte 97 | |
.byte 98 | |
.byte 99 | |
.byte 100 | |
.byte 101 | |
.byte 102 | |
.byte 103 | |
.byte 104 | |
.byte 105 | |
.byte 106 | |
.byte 107 | |
.byte 108 | |
.byte 109 | |
.byte 110 | |
.byte 111 | |
.byte 112 | |
.byte 113 | |
.byte 114 | |
.byte 115 | |
.byte 116 | |
.byte 117 | |
.byte 118 | |
.byte 119 | |
.byte 120 | |
.byte 121 | |
.byte 122 | |
.byte 91 | |
.byte 92 | |
.byte 93 | |
.byte 94 | |
.byte 95 | |
.byte 96 | |
.byte 97 | |
.byte 98 | |
.byte 99 | |
.byte 100 | |
.byte 101 | |
.byte 102 | |
.byte 103 | |
.byte 104 | |
.byte 105 | |
.byte 106 | |
.byte 107 | |
.byte 108 | |
.byte 109 | |
.byte 110 | |
.byte 111 | |
.byte 112 | |
.byte 113 | |
.byte 114 | |
.byte 115 | |
.byte 116 | |
.byte 117 | |
.byte 118 | |
.byte 119 | |
.byte 120 | |
.byte 121 | |
.byte 122 | |
.byte 123 | |
.byte 124 | |
.byte 125 | |
.byte 126 | |
.byte 127 | |
.byte -128 | |
.byte -127 | |
.byte -126 | |
.byte -125 | |
.byte -124 | |
.byte -123 | |
.byte -122 | |
.byte -121 | |
.byte -120 | |
.byte -119 | |
.byte -118 | |
.byte -117 | |
.byte -116 | |
.byte -115 | |
.byte -114 | |
.byte -113 | |
.byte -112 | |
.byte -111 | |
.byte -110 | |
.byte -109 | |
.byte -108 | |
.byte -107 | |
.byte -106 | |
.byte -105 | |
.byte -104 | |
.byte -103 | |
.byte -102 | |
.byte -101 | |
.byte -100 | |
.byte -99 | |
.byte -98 | |
.byte -97 | |
.byte -96 | |
.byte -95 | |
.byte -94 | |
.byte -93 | |
.byte -92 | |
.byte -91 | |
.byte -90 | |
.byte -89 | |
.byte -88 | |
.byte -87 | |
.byte -86 | |
.byte -85 | |
.byte -84 | |
.byte -83 | |
.byte -82 | |
.byte -81 | |
.byte -80 | |
.byte -79 | |
.byte -78 | |
.byte -77 | |
.byte -76 | |
.byte -75 | |
.byte -74 | |
.byte -73 | |
.byte -72 | |
.byte -71 | |
.byte -70 | |
.byte -69 | |
.byte -68 | |
.byte -67 | |
.byte -66 | |
.byte -65 | |
.byte -64 | |
.byte -63 | |
.byte -62 | |
.byte -61 | |
.byte -60 | |
.byte -59 | |
.byte -58 | |
.byte -57 | |
.byte -56 | |
.byte -55 | |
.byte -54 | |
.byte -53 | |
.byte -52 | |
.byte -51 | |
.byte -50 | |
.byte -49 | |
.byte -48 | |
.byte -47 | |
.byte -46 | |
.byte -45 | |
.byte -44 | |
.byte -43 | |
.byte -42 | |
.byte -41 | |
.byte -40 | |
.byte -39 | |
.byte -38 | |
.byte -37 | |
.byte -36 | |
.byte -35 | |
.byte -34 | |
.byte -33 | |
.byte -32 | |
.byte -31 | |
.byte -30 | |
.byte -29 | |
.byte -28 | |
.byte -27 | |
.byte -26 | |
.byte -25 | |
.byte -24 | |
.byte -23 | |
.byte -22 | |
.byte -21 | |
.byte -20 | |
.byte -19 | |
.byte -18 | |
.byte -17 | |
.byte -16 | |
.byte -15 | |
.byte -14 | |
.byte -13 | |
.byte -12 | |
.byte -11 | |
.byte -10 | |
.byte -9 | |
.byte -8 | |
.byte -7 | |
.byte -6 | |
.byte -5 | |
.byte -4 | |
.byte -3 | |
.byte -2 | |
.byte -1 | |
.align 32 | |
.type sqlite3CtypeMap, @object | |
.size sqlite3CtypeMap, 256 | |
sqlite3CtypeMap: | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 1 | |
.byte 1 | |
.byte 1 | |
.byte 1 | |
.byte 1 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 1 | |
.byte 0 | |
.byte -128 | |
.byte 0 | |
.byte 64 | |
.byte 0 | |
.byte 0 | |
.byte -128 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 12 | |
.byte 12 | |
.byte 12 | |
.byte 12 | |
.byte 12 | |
.byte 12 | |
.byte 12 | |
.byte 12 | |
.byte 12 | |
.byte 12 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 10 | |
.byte 10 | |
.byte 10 | |
.byte 10 | |
.byte 10 | |
.byte 10 | |
.byte 2 | |
.byte 2 | |
.byte 2 | |
.byte 2 | |
.byte 2 | |
.byte 2 | |
.byte 2 | |
.byte 2 | |
.byte 2 | |
.byte 2 | |
.byte 2 | |
.byte 2 | |
.byte 2 | |
.byte 2 | |
.byte 2 | |
.byte 2 | |
.byte 2 | |
.byte 2 | |
.byte 2 | |
.byte 2 | |
.byte -128 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 64 | |
.byte -128 | |
.byte 42 | |
.byte 42 | |
.byte 42 | |
.byte 42 | |
.byte 42 | |
.byte 42 | |
.byte 34 | |
.byte 34 | |
.byte 34 | |
.byte 34 | |
.byte 34 | |
.byte 34 | |
.byte 34 | |
.byte 34 | |
.byte 34 | |
.byte 34 | |
.byte 34 | |
.byte 34 | |
.byte 34 | |
.byte 34 | |
.byte 34 | |
.byte 34 | |
.byte 34 | |
.byte 34 | |
.byte 34 | |
.byte 34 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.byte 64 | |
.data | |
.align 32 | |
.type sqlite3Config, @object | |
.size sqlite3Config, 424 | |
sqlite3Config: | |
.long 1 | |
.long 1 | |
.long 1 | |
.long 0 | |
.long 1 | |
.long 0 | |
.long 2147483646 | |
.long 0 | |
.long 1200 | |
.long 100 | |
.long 65536 | |
.zero 4 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.long 0 | |
.zero 4 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.long 0 | |
.long 0 | |
.long 0 | |
.zero 4 | |
.quad 0 | |
.quad 2147418112 | |
.quad 0 | |
.long 0 | |
.long 20 | |
.long 0 | |
.long 0 | |
.long 250 | |
.long 0 | |
.long 0 | |
.long 0 | |
.long 0 | |
.long 0 | |
.long 0 | |
.zero 4 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.long 0 | |
.long 2147483646 | |
.local sqlite3BuiltinFunctions | |
.comm sqlite3BuiltinFunctions,184,32 | |
.section .rodata | |
.LC2: | |
.string "0" | |
.LC3: | |
.string "1" | |
.section .data.rel.ro.local | |
.align 32 | |
.type sqlite3IntTokens, @object | |
.size sqlite3IntTokens, 32 | |
sqlite3IntTokens: | |
.quad .LC2 | |
.long 1 | |
.zero 4 | |
.quad .LC3 | |
.long 1 | |
.zero 4 | |
.data | |
.align 4 | |
.type sqlite3PendingByte, @object | |
.size sqlite3PendingByte, 4 | |
sqlite3PendingByte: | |
.long 1073741824 | |
.section .rodata | |
.align 32 | |
.type sqlite3OpcodeProperty, @object | |
.size sqlite3OpcodeProperty, 170 | |
sqlite3OpcodeProperty: | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 1 | |
.byte 1 | |
.byte 1 | |
.byte 1 | |
.byte 1 | |
.byte 0 | |
.byte 16 | |
.byte 0 | |
.byte 1 | |
.byte 0 | |
.byte 1 | |
.byte 1 | |
.byte 1 | |
.byte 3 | |
.byte 3 | |
.byte 1 | |
.byte 18 | |
.byte 1 | |
.byte 3 | |
.byte 3 | |
.byte 1 | |
.byte 9 | |
.byte 9 | |
.byte 9 | |
.byte 9 | |
.byte 9 | |
.byte 9 | |
.byte 9 | |
.byte 9 | |
.byte 9 | |
.byte 1 | |
.byte 1 | |
.byte 1 | |
.byte 1 | |
.byte 1 | |
.byte 1 | |
.byte 1 | |
.byte 1 | |
.byte 1 | |
.byte 35 | |
.byte 38 | |
.byte 38 | |
.byte 11 | |
.byte 1 | |
.byte 1 | |
.byte 3 | |
.byte 3 | |
.byte 3 | |
.byte 3 | |
.byte 11 | |
.byte 11 | |
.byte 11 | |
.byte 11 | |
.byte 11 | |
.byte 11 | |
.byte 1 | |
.byte 3 | |
.byte 1 | |
.byte 1 | |
.byte 1 | |
.byte 2 | |
.byte 2 | |
.byte 8 | |
.byte 0 | |
.byte 16 | |
.byte 16 | |
.byte 16 | |
.byte 16 | |
.byte 0 | |
.byte 16 | |
.byte 16 | |
.byte 0 | |
.byte 0 | |
.byte 16 | |
.byte 16 | |
.byte 0 | |
.byte 0 | |
.byte 2 | |
.byte 2 | |
.byte 2 | |
.byte 0 | |
.byte 38 | |
.byte 38 | |
.byte 38 | |
.byte 38 | |
.byte 38 | |
.byte 38 | |
.byte 38 | |
.byte 38 | |
.byte 38 | |
.byte 38 | |
.byte 0 | |
.byte 18 | |
.byte 32 | |
.byte 16 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 16 | |
.byte 16 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 16 | |
.byte 16 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 16 | |
.byte 0 | |
.byte 0 | |
.byte 4 | |
.byte 4 | |
.byte 0 | |
.byte 0 | |
.byte 16 | |
.byte 16 | |
.byte 16 | |
.byte 0 | |
.byte 0 | |
.byte 16 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 6 | |
.byte 16 | |
.byte 0 | |
.byte 4 | |
.byte 26 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 16 | |
.byte 16 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.type sqlite3StrBINARY, @object | |
.size sqlite3StrBINARY, 7 | |
sqlite3StrBINARY: | |
.string "BINARY" | |
.local sqlite3Stat | |
.comm sqlite3Stat,160,32 | |
.align 8 | |
.type statMutex, @object | |
.size statMutex, 10 | |
statMutex: | |
.byte 0 | |
.byte 1 | |
.byte 1 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 1 | |
.byte 0 | |
.byte 0 | |
.text | |
.type sqlite3StatusValue, @function | |
sqlite3StatusValue: | |
.LFB3: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov DWORD PTR -4[rbp], edi | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
lea rdx, 0[0+rax*8] | |
lea rax, sqlite3Stat[rip] | |
mov rax, QWORD PTR [rdx+rax] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE3: | |
.size sqlite3StatusValue, .-sqlite3StatusValue | |
.type sqlite3StatusUp, @function | |
sqlite3StatusUp: | |
.LFB4: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov DWORD PTR -4[rbp], edi | |
mov DWORD PTR -8[rbp], esi | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
lea rdx, 0[0+rax*8] | |
lea rax, sqlite3Stat[rip] | |
mov rdx, QWORD PTR [rdx+rax] | |
mov eax, DWORD PTR -8[rbp] | |
cdqe | |
lea rcx, [rdx+rax] | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
lea rdx, 0[0+rax*8] | |
lea rax, sqlite3Stat[rip] | |
mov QWORD PTR [rdx+rax], rcx | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
lea rdx, 0[0+rax*8] | |
lea rax, sqlite3Stat[rip] | |
mov rdx, QWORD PTR [rdx+rax] | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add rax, 10 | |
lea rcx, 0[0+rax*8] | |
lea rax, sqlite3Stat[rip] | |
mov rax, QWORD PTR [rcx+rax] | |
cmp rdx, rax | |
jle .L7 | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
lea rdx, 0[0+rax*8] | |
lea rax, sqlite3Stat[rip] | |
mov rdx, QWORD PTR [rdx+rax] | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add rax, 10 | |
lea rcx, 0[0+rax*8] | |
lea rax, sqlite3Stat[rip] | |
mov QWORD PTR [rcx+rax], rdx | |
.L7: | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE4: | |
.size sqlite3StatusUp, .-sqlite3StatusUp | |
.type sqlite3StatusDown, @function | |
sqlite3StatusDown: | |
.LFB5: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov DWORD PTR -4[rbp], edi | |
mov DWORD PTR -8[rbp], esi | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
lea rdx, 0[0+rax*8] | |
lea rax, sqlite3Stat[rip] | |
mov rdx, QWORD PTR [rdx+rax] | |
mov eax, DWORD PTR -8[rbp] | |
cdqe | |
mov rcx, rdx | |
sub rcx, rax | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
lea rdx, 0[0+rax*8] | |
lea rax, sqlite3Stat[rip] | |
mov QWORD PTR [rdx+rax], rcx | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE5: | |
.size sqlite3StatusDown, .-sqlite3StatusDown | |
.type sqlite3StatusHighwater, @function | |
sqlite3StatusHighwater: | |
.LFB6: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov DWORD PTR -20[rbp], edi | |
mov DWORD PTR -24[rbp], esi | |
mov eax, DWORD PTR -24[rbp] | |
cdqe | |
mov QWORD PTR -8[rbp], rax | |
mov eax, DWORD PTR -20[rbp] | |
cdqe | |
add rax, 10 | |
lea rdx, 0[0+rax*8] | |
lea rax, sqlite3Stat[rip] | |
mov rax, QWORD PTR [rdx+rax] | |
cmp rax, QWORD PTR -8[rbp] | |
jge .L11 | |
mov eax, DWORD PTR -20[rbp] | |
cdqe | |
add rax, 10 | |
lea rcx, 0[0+rax*8] | |
lea rax, sqlite3Stat[rip] | |
mov rdx, QWORD PTR -8[rbp] | |
mov QWORD PTR [rcx+rax], rdx | |
.L11: | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE6: | |
.size sqlite3StatusHighwater, .-sqlite3StatusHighwater | |
.globl sqlite3_status64 | |
.type sqlite3_status64, @function | |
sqlite3_status64: | |
.LFB7: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov DWORD PTR -20[rbp], edi | |
mov QWORD PTR -32[rbp], rsi | |
mov QWORD PTR -40[rbp], rdx | |
mov DWORD PTR -24[rbp], ecx | |
cmp DWORD PTR -20[rbp], 0 | |
js .L13 | |
cmp DWORD PTR -20[rbp], 9 | |
jle .L14 | |
.L13: | |
mov edi, 19321 | |
call sqlite3MisuseError | |
jmp .L15 | |
.L14: | |
mov eax, DWORD PTR -20[rbp] | |
movsx rdx, eax | |
lea rax, statMutex[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
test al, al | |
je .L16 | |
call sqlite3Pcache1Mutex | |
jmp .L17 | |
.L16: | |
call sqlite3MallocMutex | |
.L17: | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3_mutex_enter | |
mov eax, DWORD PTR -20[rbp] | |
cdqe | |
lea rdx, 0[0+rax*8] | |
lea rax, sqlite3Stat[rip] | |
mov rdx, QWORD PTR [rdx+rax] | |
mov rax, QWORD PTR -32[rbp] | |
mov QWORD PTR [rax], rdx | |
mov eax, DWORD PTR -20[rbp] | |
cdqe | |
add rax, 10 | |
lea rdx, 0[0+rax*8] | |
lea rax, sqlite3Stat[rip] | |
mov rdx, QWORD PTR [rdx+rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR [rax], rdx | |
cmp DWORD PTR -24[rbp], 0 | |
je .L18 | |
mov eax, DWORD PTR -20[rbp] | |
cdqe | |
lea rdx, 0[0+rax*8] | |
lea rax, sqlite3Stat[rip] | |
mov rdx, QWORD PTR [rdx+rax] | |
mov eax, DWORD PTR -20[rbp] | |
cdqe | |
add rax, 10 | |
lea rcx, 0[0+rax*8] | |
lea rax, sqlite3Stat[rip] | |
mov QWORD PTR [rcx+rax], rdx | |
.L18: | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3_mutex_leave | |
mov eax, 0 | |
.L15: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE7: | |
.size sqlite3_status64, .-sqlite3_status64 | |
.globl sqlite3_status | |
.type sqlite3_status, @function | |
sqlite3_status: | |
.LFB8: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov DWORD PTR -36[rbp], edi | |
mov QWORD PTR -48[rbp], rsi | |
mov QWORD PTR -56[rbp], rdx | |
mov DWORD PTR -40[rbp], ecx | |
mov QWORD PTR -16[rbp], 0 | |
mov QWORD PTR -24[rbp], 0 | |
mov ecx, DWORD PTR -40[rbp] | |
lea rdx, -24[rbp] | |
lea rsi, -16[rbp] | |
mov eax, DWORD PTR -36[rbp] | |
mov edi, eax | |
call sqlite3_status64 | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L20 | |
mov rax, QWORD PTR -16[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -48[rbp] | |
mov DWORD PTR [rax], edx | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -56[rbp] | |
mov DWORD PTR [rax], edx | |
.L20: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE8: | |
.size sqlite3_status, .-sqlite3_status | |
.type countLookasideSlots, @function | |
countLookasideSlots: | |
.LFB9: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L23 | |
.L24: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -24[rbp], rax | |
add DWORD PTR -4[rbp], 1 | |
.L23: | |
cmp QWORD PTR -24[rbp], 0 | |
jne .L24 | |
mov eax, DWORD PTR -4[rbp] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE9: | |
.size countLookasideSlots, .-countLookasideSlots | |
.type sqlite3LookasideUsed, @function | |
sqlite3LookasideUsed: | |
.LFB10: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 376[rax] | |
mov rdi, rax | |
call countLookasideSlots | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 384[rax] | |
mov rdi, rax | |
call countLookasideSlots | |
mov DWORD PTR -8[rbp], eax | |
cmp QWORD PTR -32[rbp], 0 | |
je .L27 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 360[rax] | |
sub eax, DWORD PTR -4[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -32[rbp] | |
mov DWORD PTR [rax], edx | |
.L27: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 360[rax] | |
mov ecx, DWORD PTR -4[rbp] | |
mov edx, DWORD PTR -8[rbp] | |
add edx, ecx | |
sub eax, edx | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE10: | |
.size sqlite3LookasideUsed, .-sqlite3LookasideUsed | |
.globl sqlite3_db_status | |
.type sqlite3_db_status, @function | |
sqlite3_db_status: | |
.LFB11: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 144 | |
mov QWORD PTR -120[rbp], rdi | |
mov DWORD PTR -124[rbp], esi | |
mov QWORD PTR -136[rbp], rdx | |
mov QWORD PTR -144[rbp], rcx | |
mov DWORD PTR -128[rbp], r8d | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -120[rbp] | |
mov rax, QWORD PTR 24[rax] | |
mov rdi, rax | |
call sqlite3_mutex_enter | |
cmp DWORD PTR -124[rbp], 11 | |
ja .L30 | |
mov eax, DWORD PTR -124[rbp] | |
lea rdx, 0[0+rax*4] | |
lea rax, .L32[rip] | |
mov eax, DWORD PTR [rdx+rax] | |
movsx rdx, eax | |
lea rax, .L32[rip] | |
add rax, rdx | |
jmp rax | |
.section .rodata | |
.align 4 | |
.align 4 | |
.L32: | |
.long .L31-.L32 | |
.long .L33-.L32 | |
.long .L34-.L32 | |
.long .L35-.L32 | |
.long .L36-.L32 | |
.long .L36-.L32 | |
.long .L36-.L32 | |
.long .L37-.L32 | |
.long .L37-.L32 | |
.long .L37-.L32 | |
.long .L38-.L32 | |
.long .L33-.L32 | |
.text | |
.L31: | |
mov rdx, QWORD PTR -144[rbp] | |
mov rax, QWORD PTR -120[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3LookasideUsed | |
mov edx, eax | |
mov rax, QWORD PTR -136[rbp] | |
mov DWORD PTR [rax], edx | |
cmp DWORD PTR -128[rbp], 0 | |
je .L64 | |
mov rax, QWORD PTR -120[rbp] | |
mov rax, QWORD PTR 384[rax] | |
mov QWORD PTR -16[rbp], rax | |
cmp QWORD PTR -16[rbp], 0 | |
je .L64 | |
jmp .L40 | |
.L41: | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -16[rbp], rax | |
.L40: | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
jne .L41 | |
mov rax, QWORD PTR -120[rbp] | |
mov rdx, QWORD PTR 376[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -120[rbp] | |
mov rdx, QWORD PTR 384[rax] | |
mov rax, QWORD PTR -120[rbp] | |
mov QWORD PTR 376[rax], rdx | |
mov rax, QWORD PTR -120[rbp] | |
mov QWORD PTR 384[rax], 0 | |
jmp .L64 | |
.L36: | |
mov rax, QWORD PTR -136[rbp] | |
mov DWORD PTR [rax], 0 | |
mov eax, DWORD PTR -124[rbp] | |
lea edx, -4[rax] | |
mov rax, QWORD PTR -120[rbp] | |
movsx rdx, edx | |
add rdx, 88 | |
mov eax, DWORD PTR 12[rax+rdx*4] | |
mov edx, eax | |
mov rax, QWORD PTR -144[rbp] | |
mov DWORD PTR [rax], edx | |
cmp DWORD PTR -128[rbp], 0 | |
je .L65 | |
mov eax, DWORD PTR -124[rbp] | |
lea edx, -4[rax] | |
mov rax, QWORD PTR -120[rbp] | |
movsx rdx, edx | |
add rdx, 88 | |
mov DWORD PTR 12[rax+rdx*4], 0 | |
jmp .L65 | |
.L33: | |
mov DWORD PTR -20[rbp], 0 | |
mov rax, QWORD PTR -120[rbp] | |
mov rdi, rax | |
call sqlite3BtreeEnterAll | |
mov DWORD PTR -24[rbp], 0 | |
jmp .L44 | |
.L47: | |
mov rax, QWORD PTR -120[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov edx, DWORD PTR -24[rbp] | |
movsx rdx, edx | |
sal rdx, 5 | |
add rax, rdx | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -64[rbp], rax | |
cmp QWORD PTR -64[rbp], 0 | |
je .L45 | |
mov rax, QWORD PTR -64[rbp] | |
mov rdi, rax | |
call sqlite3BtreePager | |
mov QWORD PTR -72[rbp], rax | |
mov rax, QWORD PTR -72[rbp] | |
mov rdi, rax | |
call sqlite3PagerMemUsed | |
mov DWORD PTR -28[rbp], eax | |
cmp DWORD PTR -124[rbp], 11 | |
jne .L46 | |
mov rax, QWORD PTR -64[rbp] | |
mov rdi, rax | |
call sqlite3BtreeConnectionCount | |
mov ecx, eax | |
mov eax, DWORD PTR -28[rbp] | |
cdq | |
idiv ecx | |
mov DWORD PTR -28[rbp], eax | |
.L46: | |
mov eax, DWORD PTR -28[rbp] | |
add DWORD PTR -20[rbp], eax | |
.L45: | |
add DWORD PTR -24[rbp], 1 | |
.L44: | |
mov rax, QWORD PTR -120[rbp] | |
mov eax, DWORD PTR 40[rax] | |
cmp eax, DWORD PTR -24[rbp] | |
jg .L47 | |
mov rax, QWORD PTR -120[rbp] | |
mov rdi, rax | |
call sqlite3BtreeLeaveAll | |
mov rax, QWORD PTR -136[rbp] | |
mov edx, DWORD PTR -20[rbp] | |
mov DWORD PTR [rax], edx | |
mov rax, QWORD PTR -144[rbp] | |
mov DWORD PTR [rax], 0 | |
jmp .L42 | |
.L34: | |
mov DWORD PTR -92[rbp], 0 | |
mov rax, QWORD PTR -120[rbp] | |
mov rdi, rax | |
call sqlite3BtreeEnterAll | |
mov rax, QWORD PTR -120[rbp] | |
lea rdx, -92[rbp] | |
mov QWORD PTR 672[rax], rdx | |
mov DWORD PTR -32[rbp], 0 | |
jmp .L48 | |
.L54: | |
mov rax, QWORD PTR -120[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov edx, DWORD PTR -32[rbp] | |
movsx rdx, edx | |
sal rdx, 5 | |
add rax, rdx | |
mov rax, QWORD PTR 24[rax] | |
mov QWORD PTR -80[rbp], rax | |
cmp QWORD PTR -80[rbp], 0 | |
je .L49 | |
mov rax, QWORD PTR sqlite3Config[rip+80] | |
mov edi, 32 | |
call rax | |
mov ecx, eax | |
mov rax, QWORD PTR -80[rbp] | |
mov edx, DWORD PTR 12[rax] | |
mov rax, QWORD PTR -80[rbp] | |
mov eax, DWORD PTR 60[rax] | |
add edx, eax | |
mov rax, QWORD PTR -80[rbp] | |
mov eax, DWORD PTR 36[rax] | |
add edx, eax | |
mov rax, QWORD PTR -80[rbp] | |
mov eax, DWORD PTR 84[rax] | |
add eax, edx | |
imul eax, ecx | |
mov edx, DWORD PTR -92[rbp] | |
add eax, edx | |
mov DWORD PTR -92[rbp], eax | |
mov rax, QWORD PTR -80[rbp] | |
mov rax, QWORD PTR 24[rax] | |
mov rdi, rax | |
call sqlite3_msize | |
mov edx, eax | |
mov eax, DWORD PTR -92[rbp] | |
add eax, edx | |
mov DWORD PTR -92[rbp], eax | |
mov rax, QWORD PTR -80[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rdi, rax | |
call sqlite3_msize | |
mov edx, eax | |
mov eax, DWORD PTR -92[rbp] | |
add eax, edx | |
mov DWORD PTR -92[rbp], eax | |
mov rax, QWORD PTR -80[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov rdi, rax | |
call sqlite3_msize | |
mov edx, eax | |
mov eax, DWORD PTR -92[rbp] | |
add eax, edx | |
mov DWORD PTR -92[rbp], eax | |
mov rax, QWORD PTR -80[rbp] | |
mov rax, QWORD PTR 96[rax] | |
mov rdi, rax | |
call sqlite3_msize | |
mov edx, eax | |
mov eax, DWORD PTR -92[rbp] | |
add eax, edx | |
mov DWORD PTR -92[rbp], eax | |
mov rax, QWORD PTR -80[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov QWORD PTR -40[rbp], rax | |
jmp .L50 | |
.L51: | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -120[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DeleteTrigger | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -40[rbp], rax | |
.L50: | |
cmp QWORD PTR -40[rbp], 0 | |
jne .L51 | |
mov rax, QWORD PTR -80[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -40[rbp], rax | |
jmp .L52 | |
.L53: | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -120[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DeleteTable | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -40[rbp], rax | |
.L52: | |
cmp QWORD PTR -40[rbp], 0 | |
jne .L53 | |
.L49: | |
add DWORD PTR -32[rbp], 1 | |
.L48: | |
mov rax, QWORD PTR -120[rbp] | |
mov eax, DWORD PTR 40[rax] | |
cmp eax, DWORD PTR -32[rbp] | |
jg .L54 | |
mov rax, QWORD PTR -120[rbp] | |
mov QWORD PTR 672[rax], 0 | |
mov rax, QWORD PTR -120[rbp] | |
mov rdi, rax | |
call sqlite3BtreeLeaveAll | |
mov rax, QWORD PTR -144[rbp] | |
mov DWORD PTR [rax], 0 | |
mov edx, DWORD PTR -92[rbp] | |
mov rax, QWORD PTR -136[rbp] | |
mov DWORD PTR [rax], edx | |
nop | |
jmp .L42 | |
.L35: | |
mov DWORD PTR -96[rbp], 0 | |
mov rax, QWORD PTR -120[rbp] | |
lea rdx, -96[rbp] | |
mov QWORD PTR 672[rax], rdx | |
mov rax, QWORD PTR -120[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -48[rbp], rax | |
jmp .L55 | |
.L56: | |
mov rdx, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR -120[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3VdbeClearObject | |
mov rdx, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR -120[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DbFree | |
mov rax, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -48[rbp], rax | |
.L55: | |
cmp QWORD PTR -48[rbp], 0 | |
jne .L56 | |
mov rax, QWORD PTR -120[rbp] | |
mov QWORD PTR 672[rax], 0 | |
mov rax, QWORD PTR -144[rbp] | |
mov DWORD PTR [rax], 0 | |
mov edx, DWORD PTR -96[rbp] | |
mov rax, QWORD PTR -136[rbp] | |
mov DWORD PTR [rax], edx | |
nop | |
jmp .L42 | |
.L37: | |
mov DWORD PTR -100[rbp], 0 | |
mov DWORD PTR -52[rbp], 0 | |
jmp .L57 | |
.L59: | |
mov rax, QWORD PTR -120[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov edx, DWORD PTR -52[rbp] | |
movsx rdx, edx | |
sal rdx, 5 | |
add rax, rdx | |
mov rax, QWORD PTR 8[rax] | |
test rax, rax | |
je .L58 | |
mov rax, QWORD PTR -120[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov edx, DWORD PTR -52[rbp] | |
movsx rdx, edx | |
sal rdx, 5 | |
add rax, rdx | |
mov rax, QWORD PTR 8[rax] | |
mov rdi, rax | |
call sqlite3BtreePager | |
mov QWORD PTR -88[rbp], rax | |
lea rcx, -100[rbp] | |
mov edx, DWORD PTR -128[rbp] | |
mov esi, DWORD PTR -124[rbp] | |
mov rax, QWORD PTR -88[rbp] | |
mov rdi, rax | |
call sqlite3PagerCacheStat | |
.L58: | |
add DWORD PTR -52[rbp], 1 | |
.L57: | |
mov rax, QWORD PTR -120[rbp] | |
mov eax, DWORD PTR 40[rax] | |
cmp eax, DWORD PTR -52[rbp] | |
jg .L59 | |
mov rax, QWORD PTR -144[rbp] | |
mov DWORD PTR [rax], 0 | |
mov edx, DWORD PTR -100[rbp] | |
mov rax, QWORD PTR -136[rbp] | |
mov DWORD PTR [rax], edx | |
nop | |
jmp .L42 | |
.L38: | |
mov rax, QWORD PTR -144[rbp] | |
mov DWORD PTR [rax], 0 | |
mov rax, QWORD PTR -120[rbp] | |
mov rax, QWORD PTR 664[rax] | |
test rax, rax | |
jg .L60 | |
mov rax, QWORD PTR -120[rbp] | |
mov rax, QWORD PTR 656[rax] | |
test rax, rax | |
jle .L61 | |
.L60: | |
mov edx, 1 | |
jmp .L62 | |
.L61: | |
mov edx, 0 | |
.L62: | |
mov rax, QWORD PTR -136[rbp] | |
mov DWORD PTR [rax], edx | |
jmp .L42 | |
.L30: | |
mov DWORD PTR -4[rbp], 1 | |
jmp .L42 | |
.L64: | |
nop | |
jmp .L42 | |
.L65: | |
nop | |
.L42: | |
mov rax, QWORD PTR -120[rbp] | |
mov rax, QWORD PTR 24[rax] | |
mov rdi, rax | |
call sqlite3_mutex_leave | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE11: | |
.size sqlite3_db_status, .-sqlite3_db_status | |
.type getDigits, @function | |
getDigits: | |
.LFB12: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 120 | |
mov QWORD PTR -232[rbp], rdi | |
mov QWORD PTR -240[rbp], rsi | |
mov QWORD PTR -160[rbp], rdx | |
mov QWORD PTR -152[rbp], rcx | |
mov QWORD PTR -144[rbp], r8 | |
mov QWORD PTR -136[rbp], r9 | |
test al, al | |
je .L77 | |
movaps XMMWORD PTR -128[rbp], xmm0 | |
movaps XMMWORD PTR -112[rbp], xmm1 | |
movaps XMMWORD PTR -96[rbp], xmm2 | |
movaps XMMWORD PTR -80[rbp], xmm3 | |
movaps XMMWORD PTR -64[rbp], xmm4 | |
movaps XMMWORD PTR -48[rbp], xmm5 | |
movaps XMMWORD PTR -32[rbp], xmm6 | |
movaps XMMWORD PTR -16[rbp], xmm7 | |
.L77: | |
mov DWORD PTR -180[rbp], 0 | |
mov DWORD PTR -224[rbp], 16 | |
mov DWORD PTR -220[rbp], 48 | |
lea rax, 16[rbp] | |
mov QWORD PTR -216[rbp], rax | |
lea rax, -176[rbp] | |
mov QWORD PTR -208[rbp], rax | |
.L75: | |
mov rax, QWORD PTR -240[rbp] | |
movzx eax, BYTE PTR [rax] | |
sub eax, 48 | |
mov BYTE PTR -181[rbp], al | |
mov rax, QWORD PTR -240[rbp] | |
add rax, 1 | |
movzx eax, BYTE PTR [rax] | |
sub eax, 48 | |
mov BYTE PTR -189[rbp], al | |
mov DWORD PTR -188[rbp], 0 | |
mov rax, QWORD PTR -240[rbp] | |
add rax, 2 | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
sub eax, 97 | |
cdqe | |
lea rdx, [rax+rax] | |
lea rax, aMx.8614[rip] | |
movzx eax, WORD PTR [rdx+rax] | |
mov WORD PTR -192[rbp], ax | |
mov rax, QWORD PTR -240[rbp] | |
movzx eax, BYTE PTR 3[rax] | |
mov BYTE PTR -193[rbp], al | |
mov DWORD PTR -188[rbp], 0 | |
jmp .L68 | |
.L71: | |
mov rax, QWORD PTR -232[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3CtypeMap[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
and eax, 4 | |
test eax, eax | |
je .L78 | |
mov edx, DWORD PTR -188[rbp] | |
mov eax, edx | |
sal eax, 2 | |
add eax, edx | |
add eax, eax | |
mov edx, eax | |
mov rax, QWORD PTR -232[rbp] | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
add eax, edx | |
sub eax, 48 | |
mov DWORD PTR -188[rbp], eax | |
add QWORD PTR -232[rbp], 1 | |
.L68: | |
movzx eax, BYTE PTR -181[rbp] | |
mov edx, eax | |
sub edx, 1 | |
mov BYTE PTR -181[rbp], dl | |
test al, al | |
jne .L71 | |
movsx eax, BYTE PTR -189[rbp] | |
cmp eax, DWORD PTR -188[rbp] | |
jg .L70 | |
movzx eax, WORD PTR -192[rbp] | |
cmp eax, DWORD PTR -188[rbp] | |
jl .L70 | |
cmp BYTE PTR -193[rbp], 0 | |
je .L72 | |
mov rax, QWORD PTR -232[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, BYTE PTR -193[rbp] | |
jne .L70 | |
.L72: | |
mov eax, DWORD PTR -224[rbp] | |
cmp eax, 47 | |
ja .L73 | |
mov rax, QWORD PTR -208[rbp] | |
mov edx, DWORD PTR -224[rbp] | |
mov edx, edx | |
add rax, rdx | |
mov edx, DWORD PTR -224[rbp] | |
add edx, 8 | |
mov DWORD PTR -224[rbp], edx | |
jmp .L74 | |
.L73: | |
mov rax, QWORD PTR -216[rbp] | |
lea rdx, 8[rax] | |
mov QWORD PTR -216[rbp], rdx | |
.L74: | |
mov rax, QWORD PTR [rax] | |
mov edx, DWORD PTR -188[rbp] | |
mov DWORD PTR [rax], edx | |
add QWORD PTR -232[rbp], 1 | |
add DWORD PTR -180[rbp], 1 | |
add QWORD PTR -240[rbp], 4 | |
cmp BYTE PTR -193[rbp], 0 | |
jne .L75 | |
jmp .L70 | |
.L78: | |
nop | |
.L70: | |
mov eax, DWORD PTR -180[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE12: | |
.size getDigits, .-getDigits | |
.section .rodata | |
.LC4: | |
.string "20b:20e" | |
.text | |
.type parseTimezone, @function | |
parseTimezone: | |
.LFB13: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L80 | |
.L81: | |
add QWORD PTR -24[rbp], 1 | |
.L80: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3CtypeMap[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
and eax, 1 | |
test eax, eax | |
jne .L81 | |
mov rax, QWORD PTR -32[rbp] | |
mov DWORD PTR 28[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
mov DWORD PTR -8[rbp], eax | |
cmp DWORD PTR -8[rbp], 45 | |
jne .L82 | |
mov DWORD PTR -4[rbp], -1 | |
jmp .L83 | |
.L82: | |
cmp DWORD PTR -8[rbp], 43 | |
jne .L84 | |
mov DWORD PTR -4[rbp], 1 | |
jmp .L83 | |
.L84: | |
cmp DWORD PTR -8[rbp], 90 | |
je .L85 | |
cmp DWORD PTR -8[rbp], 122 | |
jne .L86 | |
.L85: | |
add QWORD PTR -24[rbp], 1 | |
jmp .L87 | |
.L86: | |
cmp DWORD PTR -8[rbp], 0 | |
setne al | |
movzx eax, al | |
jmp .L92 | |
.L83: | |
add QWORD PTR -24[rbp], 1 | |
lea rcx, -16[rbp] | |
lea rdx, -12[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
lea rsi, .LC4[rip] | |
mov rdi, rax | |
mov eax, 0 | |
call getDigits | |
cmp eax, 2 | |
je .L89 | |
mov eax, 1 | |
jmp .L92 | |
.L89: | |
add QWORD PTR -24[rbp], 5 | |
mov eax, DWORD PTR -12[rbp] | |
imul edx, eax, 60 | |
mov eax, DWORD PTR -16[rbp] | |
add eax, edx | |
imul eax, DWORD PTR -4[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -32[rbp] | |
mov DWORD PTR 28[rax], edx | |
.L87: | |
jmp .L90 | |
.L91: | |
add QWORD PTR -24[rbp], 1 | |
.L90: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3CtypeMap[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
and eax, 1 | |
test eax, eax | |
jne .L91 | |
mov rax, QWORD PTR -32[rbp] | |
mov BYTE PTR 45[rax], 1 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
test al, al | |
setne al | |
movzx eax, al | |
.L92: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE13: | |
.size parseTimezone, .-parseTimezone | |
.section .rodata | |
.LC6: | |
.string "20c:20e" | |
.LC7: | |
.string "20e" | |
.text | |
.type parseHhMmSs, @function | |
parseHhMmSs: | |
.LFB14: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -48[rbp], rsi | |
pxor xmm0, xmm0 | |
movsd QWORD PTR -8[rbp], xmm0 | |
lea rcx, -24[rbp] | |
lea rdx, -20[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
lea rsi, .LC6[rip] | |
mov rdi, rax | |
mov eax, 0 | |
call getDigits | |
cmp eax, 2 | |
je .L94 | |
mov eax, 1 | |
jmp .L103 | |
.L94: | |
add QWORD PTR -40[rbp], 5 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 58 | |
jne .L96 | |
add QWORD PTR -40[rbp], 1 | |
lea rdx, -28[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
lea rsi, .LC7[rip] | |
mov rdi, rax | |
mov eax, 0 | |
call getDigits | |
cmp eax, 1 | |
je .L97 | |
mov eax, 1 | |
jmp .L103 | |
.L97: | |
add QWORD PTR -40[rbp], 2 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 46 | |
jne .L101 | |
mov rax, QWORD PTR -40[rbp] | |
add rax, 1 | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3CtypeMap[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
and eax, 4 | |
test eax, eax | |
je .L101 | |
movsd xmm0, QWORD PTR .LC8[rip] | |
movsd QWORD PTR -16[rbp], xmm0 | |
add QWORD PTR -40[rbp], 1 | |
jmp .L99 | |
.L100: | |
movsd xmm1, QWORD PTR -8[rbp] | |
movsd xmm0, QWORD PTR .LC9[rip] | |
mulsd xmm1, xmm0 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
pxor xmm0, xmm0 | |
cvtsi2sd xmm0, eax | |
addsd xmm0, xmm1 | |
movsd xmm1, QWORD PTR .LC10[rip] | |
subsd xmm0, xmm1 | |
movsd QWORD PTR -8[rbp], xmm0 | |
movsd xmm1, QWORD PTR -16[rbp] | |
movsd xmm0, QWORD PTR .LC9[rip] | |
mulsd xmm0, xmm1 | |
movsd QWORD PTR -16[rbp], xmm0 | |
add QWORD PTR -40[rbp], 1 | |
.L99: | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3CtypeMap[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
and eax, 4 | |
test eax, eax | |
jne .L100 | |
movsd xmm0, QWORD PTR -8[rbp] | |
divsd xmm0, QWORD PTR -16[rbp] | |
movsd QWORD PTR -8[rbp], xmm0 | |
jmp .L101 | |
.L96: | |
mov DWORD PTR -28[rbp], 0 | |
.L101: | |
mov rax, QWORD PTR -48[rbp] | |
mov BYTE PTR 40[rax], 0 | |
mov rax, QWORD PTR -48[rbp] | |
mov BYTE PTR 41[rax], 0 | |
mov rax, QWORD PTR -48[rbp] | |
mov BYTE PTR 43[rax], 1 | |
mov edx, DWORD PTR -20[rbp] | |
mov rax, QWORD PTR -48[rbp] | |
mov DWORD PTR 20[rax], edx | |
mov edx, DWORD PTR -24[rbp] | |
mov rax, QWORD PTR -48[rbp] | |
mov DWORD PTR 24[rax], edx | |
mov eax, DWORD PTR -28[rbp] | |
pxor xmm0, xmm0 | |
cvtsi2sd xmm0, eax | |
addsd xmm0, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR -48[rbp] | |
movsd QWORD PTR 32[rax], xmm0 | |
mov rdx, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call parseTimezone | |
test eax, eax | |
je .L102 | |
mov eax, 1 | |
jmp .L103 | |
.L102: | |
mov rax, QWORD PTR -48[rbp] | |
mov eax, DWORD PTR 28[rax] | |
test eax, eax | |
setne al | |
mov edx, eax | |
mov rax, QWORD PTR -48[rbp] | |
mov BYTE PTR 44[rax], dl | |
mov eax, 0 | |
.L103: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE14: | |
.size parseHhMmSs, .-parseHhMmSs | |
.type datetimeError, @function | |
datetimeError: | |
.LFB15: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, 48 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 46[rax], 1 | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE15: | |
.size datetimeError, .-datetimeError | |
.type computeJD, @function | |
computeJD: | |
.LFB16: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 40[rax] | |
test al, al | |
jne .L113 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 42[rax] | |
test al, al | |
je .L108 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 8[rax] | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 12[rax] | |
mov DWORD PTR -8[rbp], eax | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 16[rax] | |
mov DWORD PTR -12[rbp], eax | |
jmp .L109 | |
.L108: | |
mov DWORD PTR -4[rbp], 2000 | |
mov DWORD PTR -8[rbp], 1 | |
mov DWORD PTR -12[rbp], 1 | |
.L109: | |
cmp DWORD PTR -4[rbp], -4713 | |
jl .L110 | |
cmp DWORD PTR -4[rbp], 9999 | |
jg .L110 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 41[rax] | |
test al, al | |
je .L111 | |
.L110: | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call datetimeError | |
jmp .L105 | |
.L111: | |
cmp DWORD PTR -8[rbp], 2 | |
jg .L112 | |
sub DWORD PTR -4[rbp], 1 | |
add DWORD PTR -8[rbp], 12 | |
.L112: | |
mov ecx, DWORD PTR -4[rbp] | |
mov edx, 1374389535 | |
mov eax, ecx | |
imul edx | |
sar edx, 5 | |
mov eax, ecx | |
sar eax, 31 | |
sub edx, eax | |
mov eax, edx | |
mov DWORD PTR -16[rbp], eax | |
mov eax, 2 | |
sub eax, DWORD PTR -16[rbp] | |
mov edx, eax | |
mov eax, DWORD PTR -16[rbp] | |
lea ecx, 3[rax] | |
test eax, eax | |
cmovs eax, ecx | |
sar eax, 2 | |
add eax, edx | |
mov DWORD PTR -20[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
add eax, 4716 | |
imul ecx, eax, 36525 | |
mov edx, 1374389535 | |
mov eax, ecx | |
imul edx | |
sar edx, 5 | |
mov eax, ecx | |
sar eax, 31 | |
sub edx, eax | |
mov eax, edx | |
mov DWORD PTR -24[rbp], eax | |
mov eax, DWORD PTR -8[rbp] | |
add eax, 1 | |
imul ecx, eax, 306001 | |
mov edx, 1759218605 | |
mov eax, ecx | |
imul edx | |
sar edx, 12 | |
mov eax, ecx | |
sar eax, 31 | |
sub edx, eax | |
mov eax, edx | |
mov DWORD PTR -28[rbp], eax | |
mov edx, DWORD PTR -24[rbp] | |
mov eax, DWORD PTR -28[rbp] | |
add edx, eax | |
mov eax, DWORD PTR -12[rbp] | |
add edx, eax | |
mov eax, DWORD PTR -20[rbp] | |
add eax, edx | |
pxor xmm0, xmm0 | |
cvtsi2sd xmm0, eax | |
movsd xmm1, QWORD PTR .LC11[rip] | |
subsd xmm0, xmm1 | |
movsd xmm1, QWORD PTR .LC12[rip] | |
mulsd xmm0, xmm1 | |
cvttsd2si rdx, xmm0 | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -40[rbp] | |
mov BYTE PTR 40[rax], 1 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 43[rax] | |
test al, al | |
je .L105 | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 20[rax] | |
imul ecx, eax, 3600000 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 24[rax] | |
imul eax, eax, 60000 | |
add eax, ecx | |
movsx rcx, eax | |
mov rax, QWORD PTR -40[rbp] | |
movsd xmm1, QWORD PTR 32[rax] | |
movsd xmm0, QWORD PTR .LC13[rip] | |
mulsd xmm0, xmm1 | |
cvttsd2si rax, xmm0 | |
add rax, rcx | |
add rdx, rax | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 44[rax] | |
test al, al | |
je .L105 | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 28[rax] | |
imul eax, eax, 60000 | |
cdqe | |
sub rdx, rax | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -40[rbp] | |
mov BYTE PTR 42[rax], 0 | |
mov rax, QWORD PTR -40[rbp] | |
mov BYTE PTR 43[rax], 0 | |
mov rax, QWORD PTR -40[rbp] | |
mov BYTE PTR 44[rax], 0 | |
jmp .L105 | |
.L113: | |
nop | |
.L105: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE16: | |
.size computeJD, .-computeJD | |
.section .rodata | |
.LC14: | |
.string "40f-21a-21d" | |
.text | |
.type parseYyyyMmDd, @function | |
parseYyyyMmDd: | |
.LFB17: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 45 | |
jne .L115 | |
add QWORD PTR -24[rbp], 1 | |
mov DWORD PTR -4[rbp], 1 | |
jmp .L116 | |
.L115: | |
mov DWORD PTR -4[rbp], 0 | |
.L116: | |
lea rsi, -16[rbp] | |
lea rcx, -12[rbp] | |
lea rdx, -8[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov r8, rsi | |
lea rsi, .LC14[rip] | |
mov rdi, rax | |
mov eax, 0 | |
call getDigits | |
cmp eax, 3 | |
je .L117 | |
mov eax, 1 | |
jmp .L126 | |
.L117: | |
add QWORD PTR -24[rbp], 10 | |
jmp .L119 | |
.L120: | |
add QWORD PTR -24[rbp], 1 | |
.L119: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3CtypeMap[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
and eax, 1 | |
test eax, eax | |
jne .L120 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 84 | |
je .L120 | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call parseHhMmSs | |
test eax, eax | |
je .L121 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
test al, al | |
jne .L122 | |
mov rax, QWORD PTR -32[rbp] | |
mov BYTE PTR 43[rax], 0 | |
jmp .L121 | |
.L122: | |
mov eax, 1 | |
jmp .L126 | |
.L121: | |
mov rax, QWORD PTR -32[rbp] | |
mov BYTE PTR 40[rax], 0 | |
mov rax, QWORD PTR -32[rbp] | |
mov BYTE PTR 42[rax], 1 | |
cmp DWORD PTR -4[rbp], 0 | |
je .L123 | |
mov eax, DWORD PTR -8[rbp] | |
neg eax | |
jmp .L124 | |
.L123: | |
mov eax, DWORD PTR -8[rbp] | |
.L124: | |
mov rdx, QWORD PTR -32[rbp] | |
mov DWORD PTR 8[rdx], eax | |
mov edx, DWORD PTR -12[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov DWORD PTR 12[rax], edx | |
mov edx, DWORD PTR -16[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov DWORD PTR 16[rax], edx | |
mov rax, QWORD PTR -32[rbp] | |
movzx eax, BYTE PTR 44[rax] | |
test al, al | |
je .L125 | |
mov rax, QWORD PTR -32[rbp] | |
mov rdi, rax | |
call computeJD | |
.L125: | |
mov eax, 0 | |
.L126: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE17: | |
.size parseYyyyMmDd, .-parseYyyyMmDd | |
.type setDateTimeToCurrent, @function | |
setDateTimeToCurrent: | |
.LFB18: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3StmtCurrentTime | |
mov rdx, rax | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
jle .L128 | |
mov rax, QWORD PTR -16[rbp] | |
mov BYTE PTR 40[rax], 1 | |
mov eax, 0 | |
jmp .L129 | |
.L128: | |
mov eax, 1 | |
.L129: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE18: | |
.size setDateTimeToCurrent, .-setDateTimeToCurrent | |
.type setRawDateNumber, @function | |
setRawDateNumber: | |
.LFB19: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
movsd QWORD PTR -16[rbp], xmm0 | |
mov rax, QWORD PTR -8[rbp] | |
movsd xmm0, QWORD PTR -16[rbp] | |
movsd QWORD PTR 32[rax], xmm0 | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 41[rax], 1 | |
movsd xmm0, QWORD PTR -16[rbp] | |
pxor xmm1, xmm1 | |
ucomisd xmm0, xmm1 | |
jnb .L134 | |
jmp .L136 | |
.L134: | |
movsd xmm0, QWORD PTR .LC15[rip] | |
ucomisd xmm0, QWORD PTR -16[rbp] | |
ja .L135 | |
jmp .L136 | |
.L135: | |
movsd xmm1, QWORD PTR -16[rbp] | |
movsd xmm0, QWORD PTR .LC12[rip] | |
mulsd xmm0, xmm1 | |
movsd xmm1, QWORD PTR .LC16[rip] | |
addsd xmm0, xmm1 | |
cvttsd2si rdx, xmm0 | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 40[rax], 1 | |
.L136: | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE19: | |
.size setRawDateNumber, .-setRawDateNumber | |
.section .rodata | |
.LC17: | |
.string "now" | |
.text | |
.type parseDateOrTime, @function | |
parseDateOrTime: | |
.LFB20: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov QWORD PTR -40[rbp], rdx | |
mov rdx, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call parseYyyyMmDd | |
test eax, eax | |
jne .L138 | |
mov eax, 0 | |
jmp .L143 | |
.L138: | |
mov rdx, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call parseHhMmSs | |
test eax, eax | |
jne .L140 | |
mov eax, 0 | |
jmp .L143 | |
.L140: | |
mov rax, QWORD PTR -32[rbp] | |
lea rsi, .LC17[rip] | |
mov rdi, rax | |
call sqlite3StrICmp | |
test eax, eax | |
jne .L141 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3NotPureFunc | |
test eax, eax | |
je .L141 | |
mov rdx, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call setDateTimeToCurrent | |
jmp .L143 | |
.L141: | |
mov rax, QWORD PTR -32[rbp] | |
mov rdi, rax | |
call sqlite3Strlen30 | |
mov edx, eax | |
lea rsi, -8[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov ecx, 1 | |
mov rdi, rax | |
call sqlite3AtoF | |
test eax, eax | |
je .L142 | |
mov rdx, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR -48[rbp], rdx | |
movsd xmm0, QWORD PTR -48[rbp] | |
mov rdi, rax | |
call setRawDateNumber | |
mov eax, 0 | |
jmp .L143 | |
.L142: | |
mov eax, 1 | |
.L143: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE20: | |
.size parseDateOrTime, .-parseDateOrTime | |
.type validJulianDay, @function | |
validJulianDay: | |
.LFB21: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
cmp QWORD PTR -8[rbp], 0 | |
js .L145 | |
movabs rax, 464269060799999 | |
cmp QWORD PTR -8[rbp], rax | |
jg .L145 | |
mov eax, 1 | |
jmp .L147 | |
.L145: | |
mov eax, 0 | |
.L147: | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE21: | |
.size validJulianDay, .-validJulianDay | |
.type computeYMD, @function | |
computeYMD: | |
.LFB22: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 42[rax] | |
test al, al | |
jne .L158 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 40[rax] | |
test al, al | |
jne .L151 | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 8[rax], 2000 | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 12[rax], 1 | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 16[rax], 1 | |
jmp .L152 | |
.L151: | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rdi, rax | |
call validJulianDay | |
test eax, eax | |
jne .L153 | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call datetimeError | |
jmp .L148 | |
.L153: | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR [rax] | |
lea rcx, 43200000[rax] | |
movabs rdx, 7164004856975580295 | |
mov rax, rcx | |
imul rdx | |
sar rdx, 25 | |
mov rax, rcx | |
sar rax, 63 | |
sub rdx, rax | |
mov rax, rdx | |
mov DWORD PTR -4[rbp], eax | |
pxor xmm0, xmm0 | |
cvtsi2sd xmm0, DWORD PTR -4[rbp] | |
movsd xmm1, QWORD PTR .LC18[rip] | |
subsd xmm0, xmm1 | |
movsd xmm1, QWORD PTR .LC19[rip] | |
divsd xmm0, xmm1 | |
cvttsd2si eax, xmm0 | |
mov DWORD PTR -8[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
lea edx, 1[rax] | |
mov eax, DWORD PTR -8[rbp] | |
lea ecx, [rdx+rax] | |
mov eax, DWORD PTR -8[rbp] | |
lea edx, 3[rax] | |
test eax, eax | |
cmovs eax, edx | |
sar eax, 2 | |
neg eax | |
add eax, ecx | |
mov DWORD PTR -8[rbp], eax | |
mov eax, DWORD PTR -8[rbp] | |
add eax, 1524 | |
mov DWORD PTR -12[rbp], eax | |
pxor xmm0, xmm0 | |
cvtsi2sd xmm0, DWORD PTR -12[rbp] | |
movsd xmm1, QWORD PTR .LC20[rip] | |
subsd xmm0, xmm1 | |
movsd xmm1, QWORD PTR .LC21[rip] | |
divsd xmm0, xmm1 | |
cvttsd2si eax, xmm0 | |
mov DWORD PTR -16[rbp], eax | |
mov eax, DWORD PTR -16[rbp] | |
and eax, 32767 | |
imul ecx, eax, 36525 | |
mov edx, 1374389535 | |
mov eax, ecx | |
imul edx | |
sar edx, 5 | |
mov eax, ecx | |
sar eax, 31 | |
sub edx, eax | |
mov eax, edx | |
mov DWORD PTR -20[rbp], eax | |
mov eax, DWORD PTR -12[rbp] | |
sub eax, DWORD PTR -20[rbp] | |
pxor xmm0, xmm0 | |
cvtsi2sd xmm0, eax | |
movsd xmm1, QWORD PTR .LC22[rip] | |
divsd xmm0, xmm1 | |
cvttsd2si eax, xmm0 | |
mov DWORD PTR -24[rbp], eax | |
pxor xmm0, xmm0 | |
cvtsi2sd xmm0, DWORD PTR -24[rbp] | |
movsd xmm1, QWORD PTR .LC22[rip] | |
mulsd xmm0, xmm1 | |
cvttsd2si eax, xmm0 | |
mov DWORD PTR -28[rbp], eax | |
mov eax, DWORD PTR -12[rbp] | |
sub eax, DWORD PTR -20[rbp] | |
sub eax, DWORD PTR -28[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 16[rax], edx | |
cmp DWORD PTR -24[rbp], 13 | |
jg .L154 | |
mov eax, DWORD PTR -24[rbp] | |
sub eax, 1 | |
jmp .L155 | |
.L154: | |
mov eax, DWORD PTR -24[rbp] | |
sub eax, 13 | |
.L155: | |
mov rdx, QWORD PTR -40[rbp] | |
mov DWORD PTR 12[rdx], eax | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 12[rax] | |
cmp eax, 2 | |
jle .L156 | |
mov eax, DWORD PTR -16[rbp] | |
sub eax, 4716 | |
jmp .L157 | |
.L156: | |
mov eax, DWORD PTR -16[rbp] | |
sub eax, 4715 | |
.L157: | |
mov rdx, QWORD PTR -40[rbp] | |
mov DWORD PTR 8[rdx], eax | |
.L152: | |
mov rax, QWORD PTR -40[rbp] | |
mov BYTE PTR 42[rax], 1 | |
jmp .L148 | |
.L158: | |
nop | |
.L148: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE22: | |
.size computeYMD, .-computeYMD | |
.type computeHMS, @function | |
computeHMS: | |
.LFB23: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 43[rax] | |
test al, al | |
jne .L162 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call computeJD | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
lea rcx, 43200000[rax] | |
movabs rdx, 7164004856975580295 | |
mov rax, rcx | |
imul rdx | |
sar rdx, 25 | |
mov rax, rcx | |
sar rax, 63 | |
sub rdx, rax | |
mov rax, rdx | |
imul rax, rax, 86400000 | |
sub rcx, rax | |
mov rax, rcx | |
mov DWORD PTR -4[rbp], eax | |
pxor xmm0, xmm0 | |
cvtsi2sd xmm0, DWORD PTR -4[rbp] | |
movsd xmm1, QWORD PTR .LC13[rip] | |
divsd xmm0, xmm1 | |
mov rax, QWORD PTR -24[rbp] | |
movsd QWORD PTR 32[rax], xmm0 | |
mov rax, QWORD PTR -24[rbp] | |
movsd xmm0, QWORD PTR 32[rax] | |
cvttsd2si eax, xmm0 | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
movsd xmm1, QWORD PTR 32[rax] | |
pxor xmm0, xmm0 | |
cvtsi2sd xmm0, DWORD PTR -4[rbp] | |
subsd xmm1, xmm0 | |
movapd xmm0, xmm1 | |
mov rax, QWORD PTR -24[rbp] | |
movsd QWORD PTR 32[rax], xmm0 | |
mov ecx, DWORD PTR -4[rbp] | |
mov edx, -1851608123 | |
mov eax, ecx | |
imul edx | |
lea eax, [rdx+rcx] | |
sar eax, 11 | |
mov edx, eax | |
mov eax, ecx | |
sar eax, 31 | |
sub edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 20[rax], edx | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 20[rax] | |
imul eax, eax, -3600 | |
add DWORD PTR -4[rbp], eax | |
mov ecx, DWORD PTR -4[rbp] | |
mov edx, -2004318071 | |
mov eax, ecx | |
imul edx | |
lea eax, [rdx+rcx] | |
sar eax, 5 | |
mov edx, eax | |
mov eax, ecx | |
sar eax, 31 | |
sub edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 24[rax], edx | |
mov rax, QWORD PTR -24[rbp] | |
movsd xmm1, QWORD PTR 32[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR 24[rax] | |
mov eax, edx | |
sal edx, 4 | |
sub eax, edx | |
sal eax, 2 | |
mov edx, eax | |
mov eax, DWORD PTR -4[rbp] | |
add eax, edx | |
pxor xmm0, xmm0 | |
cvtsi2sd xmm0, eax | |
addsd xmm0, xmm1 | |
mov rax, QWORD PTR -24[rbp] | |
movsd QWORD PTR 32[rax], xmm0 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 41[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 43[rax], 1 | |
jmp .L159 | |
.L162: | |
nop | |
.L159: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE23: | |
.size computeHMS, .-computeHMS | |
.type computeYMD_HMS, @function | |
computeYMD_HMS: | |
.LFB24: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call computeYMD | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call computeHMS | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE24: | |
.size computeYMD_HMS, .-computeYMD_HMS | |
.type clearYMD_HMS_TZ, @function | |
clearYMD_HMS_TZ: | |
.LFB25: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 42[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 43[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 44[rax], 0 | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE25: | |
.size clearYMD_HMS_TZ, .-clearYMD_HMS_TZ | |
.type osLocaltime, @function | |
osLocaltime: | |
.LFB26: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -48[rbp], rsi | |
mov edi, 2 | |
call sqlite3MutexAlloc | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call sqlite3_mutex_enter | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call localtime@PLT | |
mov QWORD PTR -8[rbp], rax | |
mov eax, DWORD PTR sqlite3Config[rip+416] | |
test eax, eax | |
je .L166 | |
mov QWORD PTR -8[rbp], 0 | |
.L166: | |
cmp QWORD PTR -8[rbp], 0 | |
je .L167 | |
mov rax, QWORD PTR -48[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rcx, QWORD PTR [rdx] | |
mov QWORD PTR [rax], rcx | |
mov rcx, QWORD PTR 8[rdx] | |
mov QWORD PTR 8[rax], rcx | |
mov rcx, QWORD PTR 16[rdx] | |
mov QWORD PTR 16[rax], rcx | |
mov rcx, QWORD PTR 24[rdx] | |
mov QWORD PTR 24[rax], rcx | |
mov rcx, QWORD PTR 32[rdx] | |
mov QWORD PTR 32[rax], rcx | |
mov rcx, QWORD PTR 40[rdx] | |
mov QWORD PTR 40[rax], rcx | |
mov rdx, QWORD PTR 48[rdx] | |
mov QWORD PTR 48[rax], rdx | |
.L167: | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call sqlite3_mutex_leave | |
cmp QWORD PTR -8[rbp], 0 | |
sete al | |
movzx eax, al | |
mov DWORD PTR -20[rbp], eax | |
mov eax, DWORD PTR -20[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE26: | |
.size osLocaltime, .-osLocaltime | |
.section .rodata | |
.LC23: | |
.string "local time unavailable" | |
.text | |
.type localtimeOffset, @function | |
localtimeOffset: | |
.LFB27: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 208 | |
mov QWORD PTR -184[rbp], rdi | |
mov QWORD PTR -192[rbp], rsi | |
mov QWORD PTR -200[rbp], rdx | |
lea rax, -176[rbp] | |
mov edx, 56 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
mov rax, QWORD PTR -184[rbp] | |
mov rdx, QWORD PTR [rax] | |
mov QWORD PTR -64[rbp], rdx | |
mov rdx, QWORD PTR 8[rax] | |
mov QWORD PTR -56[rbp], rdx | |
mov rdx, QWORD PTR 16[rax] | |
mov QWORD PTR -48[rbp], rdx | |
mov rdx, QWORD PTR 24[rax] | |
mov QWORD PTR -40[rbp], rdx | |
mov rdx, QWORD PTR 32[rax] | |
mov QWORD PTR -32[rbp], rdx | |
mov rax, QWORD PTR 40[rax] | |
mov QWORD PTR -24[rbp], rax | |
lea rax, -64[rbp] | |
mov rdi, rax | |
call computeYMD_HMS | |
mov eax, DWORD PTR -56[rbp] | |
cmp eax, 1970 | |
jle .L170 | |
mov eax, DWORD PTR -56[rbp] | |
cmp eax, 2037 | |
jle .L171 | |
.L170: | |
mov DWORD PTR -56[rbp], 2000 | |
mov DWORD PTR -52[rbp], 1 | |
mov DWORD PTR -48[rbp], 1 | |
mov DWORD PTR -44[rbp], 0 | |
mov DWORD PTR -40[rbp], 0 | |
pxor xmm0, xmm0 | |
movsd QWORD PTR -32[rbp], xmm0 | |
jmp .L172 | |
.L171: | |
movsd xmm1, QWORD PTR -32[rbp] | |
movsd xmm0, QWORD PTR .LC16[rip] | |
addsd xmm0, xmm1 | |
cvttsd2si eax, xmm0 | |
mov DWORD PTR -4[rbp], eax | |
pxor xmm0, xmm0 | |
cvtsi2sd xmm0, DWORD PTR -4[rbp] | |
movsd QWORD PTR -32[rbp], xmm0 | |
.L172: | |
mov DWORD PTR -36[rbp], 0 | |
mov BYTE PTR -24[rbp], 0 | |
lea rax, -64[rbp] | |
mov rdi, rax | |
call computeJD | |
mov rcx, QWORD PTR -64[rbp] | |
movabs rdx, 2361183241434822607 | |
mov rax, rcx | |
imul rdx | |
sar rdx, 7 | |
mov rax, rcx | |
sar rax, 63 | |
sub rdx, rax | |
movabs rax, -210866760000 | |
add rax, rdx | |
mov QWORD PTR -120[rbp], rax | |
lea rdx, -176[rbp] | |
lea rax, -120[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call osLocaltime | |
test eax, eax | |
je .L173 | |
mov rax, QWORD PTR -192[rbp] | |
mov edx, -1 | |
lea rsi, .LC23[rip] | |
mov rdi, rax | |
call sqlite3_result_error | |
mov rax, QWORD PTR -200[rbp] | |
mov DWORD PTR [rax], 1 | |
mov eax, 0 | |
jmp .L175 | |
.L173: | |
mov eax, DWORD PTR -156[rbp] | |
add eax, 1900 | |
mov DWORD PTR -104[rbp], eax | |
mov eax, DWORD PTR -160[rbp] | |
add eax, 1 | |
mov DWORD PTR -100[rbp], eax | |
mov eax, DWORD PTR -164[rbp] | |
mov DWORD PTR -96[rbp], eax | |
mov eax, DWORD PTR -168[rbp] | |
mov DWORD PTR -92[rbp], eax | |
mov eax, DWORD PTR -172[rbp] | |
mov DWORD PTR -88[rbp], eax | |
mov eax, DWORD PTR -176[rbp] | |
pxor xmm0, xmm0 | |
cvtsi2sd xmm0, eax | |
movsd QWORD PTR -80[rbp], xmm0 | |
mov BYTE PTR -70[rbp], 1 | |
mov BYTE PTR -69[rbp], 1 | |
mov BYTE PTR -72[rbp], 0 | |
mov BYTE PTR -71[rbp], 0 | |
mov BYTE PTR -68[rbp], 0 | |
mov BYTE PTR -66[rbp], 0 | |
lea rax, -112[rbp] | |
mov rdi, rax | |
call computeJD | |
mov rax, QWORD PTR -200[rbp] | |
mov DWORD PTR [rax], 0 | |
mov rdx, QWORD PTR -112[rbp] | |
mov rax, QWORD PTR -64[rbp] | |
sub rdx, rax | |
mov rax, rdx | |
.L175: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE27: | |
.size localtimeOffset, .-localtimeOffset | |
.section .rodata | |
.LC24: | |
.string "second" | |
.LC25: | |
.string "minute" | |
.LC26: | |
.string "hour" | |
.LC27: | |
.string "day" | |
.LC28: | |
.string "month" | |
.LC29: | |
.string "year" | |
.section .data.rel.ro.local | |
.align 32 | |
.type aXformType, @object | |
.size aXformType, 192 | |
aXformType: | |
.byte 0 | |
.byte 6 | |
.zero 6 | |
.quad .LC24 | |
.long 3937402880 | |
.long 1113261605 | |
.long 0 | |
.long 1083129856 | |
.byte 0 | |
.byte 6 | |
.zero 6 | |
.quad .LC25 | |
.long 2768240640 | |
.long 1107088219 | |
.long 0 | |
.long 1089293312 | |
.byte 0 | |
.byte 4 | |
.zero 6 | |
.quad .LC26 | |
.long 2952790016 | |
.long 1100922704 | |
.long 0 | |
.long 1095464768 | |
.byte 0 | |
.byte 3 | |
.zero 6 | |
.quad .LC27 | |
.long 1073741824 | |
.long 1096056715 | |
.long 0 | |
.long 1100257648 | |
.byte 1 | |
.byte 5 | |
.zero 6 | |
.quad .LC28 | |
.long 0 | |
.long 1090882832 | |
.long 0 | |
.long 1105416153 | |
.byte 2 | |
.byte 4 | |
.zero 6 | |
.quad .LC29 | |
.long 0 | |
.long 1087159424 | |
.long 2952790016 | |
.long 1109221060 | |
.section .rodata | |
.LC30: | |
.string "localtime" | |
.LC31: | |
.string "unixepoch" | |
.LC34: | |
.string "utc" | |
.LC35: | |
.string "weekday " | |
.LC37: | |
.string "start of " | |
.text | |
.type parseModifier, @function | |
parseModifier: | |
.LFB28: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 160 | |
mov QWORD PTR -136[rbp], rdi | |
mov QWORD PTR -144[rbp], rsi | |
mov DWORD PTR -148[rbp], edx | |
mov QWORD PTR -160[rbp], rcx | |
mov DWORD PTR -60[rbp], 1 | |
mov rax, QWORD PTR -144[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3UpperToLower[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
sub eax, 43 | |
cmp eax, 76 | |
ja .L237 | |
mov eax, eax | |
lea rdx, 0[0+rax*4] | |
lea rax, .L179[rip] | |
mov eax, DWORD PTR [rdx+rax] | |
movsx rdx, eax | |
lea rax, .L179[rip] | |
add rax, rdx | |
jmp rax | |
.section .rodata | |
.align 4 | |
.align 4 | |
.L179: | |
.long .L178-.L179 | |
.long .L237-.L179 | |
.long .L178-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L178-.L179 | |
.long .L178-.L179 | |
.long .L178-.L179 | |
.long .L178-.L179 | |
.long .L178-.L179 | |
.long .L178-.L179 | |
.long .L178-.L179 | |
.long .L178-.L179 | |
.long .L178-.L179 | |
.long .L178-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L180-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L237-.L179 | |
.long .L181-.L179 | |
.long .L237-.L179 | |
.long .L182-.L179 | |
.long .L237-.L179 | |
.long .L183-.L179 | |
.text | |
.L180: | |
mov rax, QWORD PTR -144[rbp] | |
lea rsi, .LC30[rip] | |
mov rdi, rax | |
call sqlite3_stricmp | |
test eax, eax | |
jne .L238 | |
mov rax, QWORD PTR -136[rbp] | |
mov rdi, rax | |
call sqlite3NotPureFunc | |
test eax, eax | |
je .L238 | |
mov rax, QWORD PTR -160[rbp] | |
mov rdi, rax | |
call computeJD | |
lea rdx, -60[rbp] | |
mov rcx, QWORD PTR -136[rbp] | |
mov rax, QWORD PTR -160[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call localtimeOffset | |
mov rdx, rax | |
mov rax, QWORD PTR -160[rbp] | |
mov rax, QWORD PTR [rax] | |
add rdx, rax | |
mov rax, QWORD PTR -160[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -160[rbp] | |
mov rdi, rax | |
call clearYMD_HMS_TZ | |
jmp .L238 | |
.L182: | |
mov rax, QWORD PTR -144[rbp] | |
lea rsi, .LC31[rip] | |
mov rdi, rax | |
call sqlite3_stricmp | |
test eax, eax | |
jne .L186 | |
mov rax, QWORD PTR -160[rbp] | |
movzx eax, BYTE PTR 41[rax] | |
test al, al | |
je .L186 | |
mov rax, QWORD PTR -160[rbp] | |
movsd xmm1, QWORD PTR 32[rax] | |
movsd xmm0, QWORD PTR .LC13[rip] | |
mulsd xmm0, xmm1 | |
movsd xmm1, QWORD PTR .LC32[rip] | |
addsd xmm0, xmm1 | |
movsd QWORD PTR -72[rbp], xmm0 | |
movsd xmm0, QWORD PTR -72[rbp] | |
pxor xmm1, xmm1 | |
ucomisd xmm0, xmm1 | |
jb .L190 | |
movsd xmm1, QWORD PTR -72[rbp] | |
movsd xmm0, QWORD PTR .LC33[rip] | |
ucomisd xmm0, xmm1 | |
ja .L230 | |
jmp .L190 | |
.L230: | |
mov rax, QWORD PTR -160[rbp] | |
mov rdi, rax | |
call clearYMD_HMS_TZ | |
movsd xmm0, QWORD PTR -72[rbp] | |
cvttsd2si rdx, xmm0 | |
mov rax, QWORD PTR -160[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -160[rbp] | |
mov BYTE PTR 40[rax], 1 | |
mov rax, QWORD PTR -160[rbp] | |
mov BYTE PTR 41[rax], 0 | |
mov DWORD PTR -60[rbp], 0 | |
jmp .L190 | |
.L186: | |
mov rax, QWORD PTR -144[rbp] | |
lea rsi, .LC34[rip] | |
mov rdi, rax | |
call sqlite3_stricmp | |
test eax, eax | |
jne .L239 | |
mov rax, QWORD PTR -136[rbp] | |
mov rdi, rax | |
call sqlite3NotPureFunc | |
test eax, eax | |
je .L239 | |
mov rax, QWORD PTR -160[rbp] | |
movzx eax, BYTE PTR 45[rax] | |
test al, al | |
jne .L191 | |
mov rax, QWORD PTR -160[rbp] | |
mov rdi, rax | |
call computeJD | |
lea rdx, -60[rbp] | |
mov rcx, QWORD PTR -136[rbp] | |
mov rax, QWORD PTR -160[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call localtimeOffset | |
mov QWORD PTR -32[rbp], rax | |
mov eax, DWORD PTR -60[rbp] | |
test eax, eax | |
jne .L192 | |
mov rax, QWORD PTR -160[rbp] | |
mov rax, QWORD PTR [rax] | |
sub rax, QWORD PTR -32[rbp] | |
mov rdx, rax | |
mov rax, QWORD PTR -160[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -160[rbp] | |
mov rdi, rax | |
call clearYMD_HMS_TZ | |
lea rdx, -60[rbp] | |
mov rcx, QWORD PTR -136[rbp] | |
mov rax, QWORD PTR -160[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call localtimeOffset | |
mov rdx, rax | |
mov rax, QWORD PTR -32[rbp] | |
sub rax, rdx | |
mov rdx, rax | |
mov rax, QWORD PTR -160[rbp] | |
mov rax, QWORD PTR [rax] | |
add rdx, rax | |
mov rax, QWORD PTR -160[rbp] | |
mov QWORD PTR [rax], rdx | |
.L192: | |
mov rax, QWORD PTR -160[rbp] | |
mov BYTE PTR 45[rax], 1 | |
jmp .L239 | |
.L191: | |
mov DWORD PTR -60[rbp], 0 | |
jmp .L239 | |
.L190: | |
jmp .L239 | |
.L183: | |
mov rax, QWORD PTR -144[rbp] | |
mov edx, 8 | |
lea rsi, .LC35[rip] | |
mov rdi, rax | |
call sqlite3_strnicmp | |
test eax, eax | |
jne .L240 | |
mov rax, QWORD PTR -144[rbp] | |
add rax, 8 | |
mov rdi, rax | |
call sqlite3Strlen30 | |
mov edx, eax | |
mov rax, QWORD PTR -144[rbp] | |
lea rdi, 8[rax] | |
lea rax, -72[rbp] | |
mov ecx, 1 | |
mov rsi, rax | |
call sqlite3AtoF | |
test eax, eax | |
je .L240 | |
movsd xmm0, QWORD PTR -72[rbp] | |
cvttsd2si eax, xmm0 | |
mov DWORD PTR -148[rbp], eax | |
pxor xmm0, xmm0 | |
cvtsi2sd xmm0, DWORD PTR -148[rbp] | |
movsd xmm1, QWORD PTR -72[rbp] | |
ucomisd xmm0, xmm1 | |
jp .L240 | |
ucomisd xmm0, xmm1 | |
je .L231 | |
jmp .L240 | |
.L231: | |
cmp DWORD PTR -148[rbp], 0 | |
js .L240 | |
movsd xmm1, QWORD PTR -72[rbp] | |
movsd xmm0, QWORD PTR .LC36[rip] | |
ucomisd xmm0, xmm1 | |
ja .L232 | |
jmp .L240 | |
.L232: | |
mov rax, QWORD PTR -160[rbp] | |
mov rdi, rax | |
call computeYMD_HMS | |
mov rax, QWORD PTR -160[rbp] | |
mov BYTE PTR 44[rax], 0 | |
mov rax, QWORD PTR -160[rbp] | |
mov BYTE PTR 40[rax], 0 | |
mov rax, QWORD PTR -160[rbp] | |
mov rdi, rax | |
call computeJD | |
mov rax, QWORD PTR -160[rbp] | |
mov rax, QWORD PTR [rax] | |
lea rcx, 129600000[rax] | |
movabs rdx, 7164004856975580295 | |
mov rax, rcx | |
imul rdx | |
sar rdx, 25 | |
mov rax, rcx | |
sar rax, 63 | |
mov rcx, rdx | |
sub rcx, rax | |
movabs rdx, 5270498306774157605 | |
mov rax, rcx | |
imul rdx | |
sar rdx | |
mov rax, rcx | |
sar rax, 63 | |
sub rdx, rax | |
mov rax, rdx | |
mov QWORD PTR -8[rbp], rax | |
mov rdx, QWORD PTR -8[rbp] | |
mov rax, rdx | |
sal rax, 3 | |
sub rax, rdx | |
sub rcx, rax | |
mov rax, rcx | |
mov QWORD PTR -8[rbp], rax | |
mov eax, DWORD PTR -148[rbp] | |
cdqe | |
cmp rax, QWORD PTR -8[rbp] | |
jge .L196 | |
sub QWORD PTR -8[rbp], 7 | |
.L196: | |
mov rax, QWORD PTR -160[rbp] | |
mov rdx, QWORD PTR [rax] | |
mov eax, DWORD PTR -148[rbp] | |
cdqe | |
sub rax, QWORD PTR -8[rbp] | |
imul rax, rax, 86400000 | |
add rdx, rax | |
mov rax, QWORD PTR -160[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -160[rbp] | |
mov rdi, rax | |
call clearYMD_HMS_TZ | |
mov DWORD PTR -60[rbp], 0 | |
jmp .L240 | |
.L181: | |
mov rax, QWORD PTR -144[rbp] | |
mov edx, 9 | |
lea rsi, .LC37[rip] | |
mov rdi, rax | |
call sqlite3_strnicmp | |
test eax, eax | |
jne .L241 | |
mov rax, QWORD PTR -160[rbp] | |
movzx eax, BYTE PTR 40[rax] | |
test al, al | |
jne .L198 | |
mov rax, QWORD PTR -160[rbp] | |
movzx eax, BYTE PTR 42[rax] | |
test al, al | |
jne .L198 | |
mov rax, QWORD PTR -160[rbp] | |
movzx eax, BYTE PTR 43[rax] | |
test al, al | |
je .L242 | |
.L198: | |
add QWORD PTR -144[rbp], 9 | |
mov rax, QWORD PTR -160[rbp] | |
mov rdi, rax | |
call computeYMD | |
mov rax, QWORD PTR -160[rbp] | |
mov BYTE PTR 43[rax], 1 | |
mov rax, QWORD PTR -160[rbp] | |
mov DWORD PTR 24[rax], 0 | |
mov rax, QWORD PTR -160[rbp] | |
mov edx, DWORD PTR 24[rax] | |
mov rax, QWORD PTR -160[rbp] | |
mov DWORD PTR 20[rax], edx | |
mov rax, QWORD PTR -160[rbp] | |
pxor xmm0, xmm0 | |
movsd QWORD PTR 32[rax], xmm0 | |
mov rax, QWORD PTR -160[rbp] | |
mov BYTE PTR 41[rax], 0 | |
mov rax, QWORD PTR -160[rbp] | |
mov BYTE PTR 44[rax], 0 | |
mov rax, QWORD PTR -160[rbp] | |
mov BYTE PTR 40[rax], 0 | |
mov rax, QWORD PTR -144[rbp] | |
lea rsi, .LC28[rip] | |
mov rdi, rax | |
call sqlite3_stricmp | |
test eax, eax | |
jne .L199 | |
mov rax, QWORD PTR -160[rbp] | |
mov DWORD PTR 16[rax], 1 | |
mov DWORD PTR -60[rbp], 0 | |
jmp .L243 | |
.L199: | |
mov rax, QWORD PTR -144[rbp] | |
lea rsi, .LC29[rip] | |
mov rdi, rax | |
call sqlite3_stricmp | |
test eax, eax | |
jne .L201 | |
mov rax, QWORD PTR -160[rbp] | |
mov DWORD PTR 12[rax], 1 | |
mov rax, QWORD PTR -160[rbp] | |
mov DWORD PTR 16[rax], 1 | |
mov DWORD PTR -60[rbp], 0 | |
jmp .L243 | |
.L201: | |
mov rax, QWORD PTR -144[rbp] | |
lea rsi, .LC27[rip] | |
mov rdi, rax | |
call sqlite3_stricmp | |
test eax, eax | |
jne .L243 | |
mov DWORD PTR -60[rbp], 0 | |
jmp .L243 | |
.L178: | |
mov DWORD PTR -148[rbp], 1 | |
jmp .L202 | |
.L204: | |
add DWORD PTR -148[rbp], 1 | |
.L202: | |
mov eax, DWORD PTR -148[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -144[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
test al, al | |
je .L203 | |
mov eax, DWORD PTR -148[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -144[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
cmp al, 58 | |
je .L203 | |
mov eax, DWORD PTR -148[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -144[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3CtypeMap[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
and eax, 1 | |
test eax, eax | |
je .L204 | |
.L203: | |
mov edx, DWORD PTR -148[rbp] | |
lea rsi, -72[rbp] | |
mov rax, QWORD PTR -144[rbp] | |
mov ecx, 1 | |
mov rdi, rax | |
call sqlite3AtoF | |
test eax, eax | |
jne .L205 | |
mov DWORD PTR -60[rbp], 1 | |
jmp .L185 | |
.L205: | |
mov eax, DWORD PTR -148[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -144[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
cmp al, 58 | |
jne .L206 | |
mov rax, QWORD PTR -144[rbp] | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3CtypeMap[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
and eax, 4 | |
test eax, eax | |
jne .L207 | |
add QWORD PTR -24[rbp], 1 | |
.L207: | |
lea rax, -128[rbp] | |
mov edx, 48 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
lea rdx, -128[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call parseHhMmSs | |
test eax, eax | |
jne .L244 | |
lea rax, -128[rbp] | |
mov rdi, rax | |
call computeJD | |
mov rax, QWORD PTR -128[rbp] | |
sub rax, 43200000 | |
mov QWORD PTR -128[rbp], rax | |
mov rcx, QWORD PTR -128[rbp] | |
movabs rdx, 7164004856975580295 | |
mov rax, rcx | |
imul rdx | |
sar rdx, 25 | |
mov rax, rcx | |
sar rax, 63 | |
sub rdx, rax | |
mov rax, rdx | |
mov QWORD PTR -40[rbp], rax | |
mov rdx, QWORD PTR -128[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
imul rax, rax, -86400000 | |
add rax, rdx | |
mov QWORD PTR -128[rbp], rax | |
mov rax, QWORD PTR -144[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 45 | |
jne .L210 | |
mov rax, QWORD PTR -128[rbp] | |
neg rax | |
mov QWORD PTR -128[rbp], rax | |
.L210: | |
mov rax, QWORD PTR -160[rbp] | |
mov rdi, rax | |
call computeJD | |
mov rax, QWORD PTR -160[rbp] | |
mov rdi, rax | |
call clearYMD_HMS_TZ | |
mov rax, QWORD PTR -160[rbp] | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -128[rbp] | |
add rdx, rax | |
mov rax, QWORD PTR -160[rbp] | |
mov QWORD PTR [rax], rdx | |
mov DWORD PTR -60[rbp], 0 | |
nop | |
jmp .L185 | |
.L206: | |
mov eax, DWORD PTR -148[rbp] | |
cdqe | |
add QWORD PTR -144[rbp], rax | |
jmp .L211 | |
.L212: | |
add QWORD PTR -144[rbp], 1 | |
.L211: | |
mov rax, QWORD PTR -144[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3CtypeMap[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
and eax, 1 | |
test eax, eax | |
jne .L212 | |
mov rax, QWORD PTR -144[rbp] | |
mov rdi, rax | |
call sqlite3Strlen30 | |
mov DWORD PTR -148[rbp], eax | |
cmp DWORD PTR -148[rbp], 10 | |
jg .L185 | |
cmp DWORD PTR -148[rbp], 2 | |
jle .L185 | |
mov eax, DWORD PTR -148[rbp] | |
cdqe | |
lea rdx, -1[rax] | |
mov rax, QWORD PTR -144[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3UpperToLower[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
cmp al, 115 | |
jne .L213 | |
sub DWORD PTR -148[rbp], 1 | |
.L213: | |
mov rax, QWORD PTR -160[rbp] | |
mov rdi, rax | |
call computeJD | |
mov DWORD PTR -60[rbp], 1 | |
movsd xmm1, QWORD PTR -72[rbp] | |
pxor xmm0, xmm0 | |
ucomisd xmm0, xmm1 | |
jbe .L236 | |
movsd xmm0, QWORD PTR .LC38[rip] | |
jmp .L216 | |
.L236: | |
movsd xmm0, QWORD PTR .LC16[rip] | |
.L216: | |
movsd QWORD PTR -48[rbp], xmm0 | |
mov DWORD PTR -12[rbp], 0 | |
jmp .L217 | |
.L227: | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
sal rax, 5 | |
mov rdx, rax | |
lea rax, aXformType[rip+1] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
cmp eax, DWORD PTR -148[rbp] | |
jne .L218 | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
sal rax, 5 | |
mov rdx, rax | |
lea rax, aXformType[rip+8] | |
mov rax, QWORD PTR [rdx+rax] | |
mov edx, DWORD PTR -148[rbp] | |
mov rcx, QWORD PTR -144[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3_strnicmp | |
test eax, eax | |
jne .L218 | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
sal rax, 5 | |
mov rdx, rax | |
lea rax, aXformType[rip+16] | |
movsd xmm1, QWORD PTR [rdx+rax] | |
movsd xmm0, QWORD PTR .LC39[rip] | |
xorpd xmm0, xmm1 | |
movsd xmm1, QWORD PTR -72[rbp] | |
ucomisd xmm1, xmm0 | |
jbe .L218 | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
sal rax, 5 | |
mov rdx, rax | |
lea rax, aXformType[rip+16] | |
movsd xmm0, QWORD PTR [rdx+rax] | |
movsd xmm1, QWORD PTR -72[rbp] | |
ucomisd xmm0, xmm1 | |
jbe .L218 | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
sal rax, 5 | |
mov rdx, rax | |
lea rax, aXformType[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
cmp eax, 1 | |
je .L222 | |
cmp eax, 2 | |
je .L223 | |
jmp .L221 | |
.L222: | |
mov rax, QWORD PTR -160[rbp] | |
mov rdi, rax | |
call computeYMD_HMS | |
mov rax, QWORD PTR -160[rbp] | |
mov edx, DWORD PTR 12[rax] | |
movsd xmm0, QWORD PTR -72[rbp] | |
cvttsd2si eax, xmm0 | |
add edx, eax | |
mov rax, QWORD PTR -160[rbp] | |
mov DWORD PTR 12[rax], edx | |
mov rax, QWORD PTR -160[rbp] | |
mov eax, DWORD PTR 12[rax] | |
test eax, eax | |
jle .L224 | |
mov rax, QWORD PTR -160[rbp] | |
mov eax, DWORD PTR 12[rax] | |
lea ecx, -1[rax] | |
mov edx, 715827883 | |
mov eax, ecx | |
imul edx | |
sar edx | |
mov eax, ecx | |
sar eax, 31 | |
sub edx, eax | |
mov eax, edx | |
jmp .L225 | |
.L224: | |
mov rax, QWORD PTR -160[rbp] | |
mov eax, DWORD PTR 12[rax] | |
lea ecx, -12[rax] | |
mov edx, 715827883 | |
mov eax, ecx | |
imul edx | |
sar edx | |
mov eax, ecx | |
sar eax, 31 | |
sub edx, eax | |
mov eax, edx | |
.L225: | |
mov DWORD PTR -52[rbp], eax | |
mov rax, QWORD PTR -160[rbp] | |
mov edx, DWORD PTR 8[rax] | |
mov eax, DWORD PTR -52[rbp] | |
add edx, eax | |
mov rax, QWORD PTR -160[rbp] | |
mov DWORD PTR 8[rax], edx | |
mov rax, QWORD PTR -160[rbp] | |
mov ecx, DWORD PTR 12[rax] | |
mov edx, DWORD PTR -52[rbp] | |
mov eax, edx | |
sal edx, 2 | |
sub eax, edx | |
sal eax, 2 | |
lea edx, [rcx+rax] | |
mov rax, QWORD PTR -160[rbp] | |
mov DWORD PTR 12[rax], edx | |
mov rax, QWORD PTR -160[rbp] | |
mov BYTE PTR 40[rax], 0 | |
movsd xmm1, QWORD PTR -72[rbp] | |
movsd xmm0, QWORD PTR -72[rbp] | |
cvttsd2si eax, xmm0 | |
pxor xmm0, xmm0 | |
cvtsi2sd xmm0, eax | |
subsd xmm1, xmm0 | |
movapd xmm0, xmm1 | |
movsd QWORD PTR -72[rbp], xmm0 | |
jmp .L221 | |
.L223: | |
movsd xmm0, QWORD PTR -72[rbp] | |
cvttsd2si eax, xmm0 | |
mov DWORD PTR -56[rbp], eax | |
mov rax, QWORD PTR -160[rbp] | |
mov rdi, rax | |
call computeYMD_HMS | |
mov rax, QWORD PTR -160[rbp] | |
mov edx, DWORD PTR 8[rax] | |
mov eax, DWORD PTR -56[rbp] | |
add edx, eax | |
mov rax, QWORD PTR -160[rbp] | |
mov DWORD PTR 8[rax], edx | |
mov rax, QWORD PTR -160[rbp] | |
mov BYTE PTR 40[rax], 0 | |
movsd xmm1, QWORD PTR -72[rbp] | |
movsd xmm0, QWORD PTR -72[rbp] | |
cvttsd2si eax, xmm0 | |
pxor xmm0, xmm0 | |
cvtsi2sd xmm0, eax | |
subsd xmm1, xmm0 | |
movapd xmm0, xmm1 | |
movsd QWORD PTR -72[rbp], xmm0 | |
nop | |
.L221: | |
mov rax, QWORD PTR -160[rbp] | |
mov rdi, rax | |
call computeJD | |
mov rax, QWORD PTR -160[rbp] | |
mov rdx, QWORD PTR [rax] | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
sal rax, 5 | |
mov rcx, rax | |
lea rax, aXformType[rip+24] | |
movsd xmm1, QWORD PTR [rcx+rax] | |
movsd xmm0, QWORD PTR -72[rbp] | |
mulsd xmm0, xmm1 | |
addsd xmm0, QWORD PTR -48[rbp] | |
cvttsd2si rax, xmm0 | |
add rdx, rax | |
mov rax, QWORD PTR -160[rbp] | |
mov QWORD PTR [rax], rdx | |
mov DWORD PTR -60[rbp], 0 | |
jmp .L226 | |
.L218: | |
add DWORD PTR -12[rbp], 1 | |
.L217: | |
cmp DWORD PTR -12[rbp], 5 | |
jle .L227 | |
.L226: | |
mov rax, QWORD PTR -160[rbp] | |
mov rdi, rax | |
call clearYMD_HMS_TZ | |
jmp .L185 | |
.L237: | |
nop | |
jmp .L185 | |
.L238: | |
nop | |
jmp .L185 | |
.L239: | |
nop | |
jmp .L185 | |
.L240: | |
nop | |
jmp .L185 | |
.L241: | |
nop | |
jmp .L185 | |
.L242: | |
nop | |
jmp .L185 | |
.L243: | |
nop | |
jmp .L185 | |
.L244: | |
nop | |
.L185: | |
mov eax, DWORD PTR -60[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE28: | |
.size parseModifier, .-parseModifier | |
.type isDate, @function | |
isDate: | |
.LFB29: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov QWORD PTR -56[rbp], rdx | |
mov QWORD PTR -64[rbp], rcx | |
mov rax, QWORD PTR -64[rbp] | |
mov edx, 48 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
cmp DWORD PTR -44[rbp], 0 | |
jne .L246 | |
mov rdx, QWORD PTR -64[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call setDateTimeToCurrent | |
jmp .L247 | |
.L246: | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rdi, rax | |
call sqlite3_value_type | |
mov DWORD PTR -8[rbp], eax | |
cmp DWORD PTR -8[rbp], 2 | |
je .L248 | |
cmp DWORD PTR -8[rbp], 1 | |
jne .L249 | |
.L248: | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rdi, rax | |
call sqlite3_value_double | |
mov rax, QWORD PTR -64[rbp] | |
mov rdi, rax | |
call setRawDateNumber | |
jmp .L250 | |
.L249: | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rdi, rax | |
call sqlite3_value_text | |
mov QWORD PTR -16[rbp], rax | |
cmp QWORD PTR -16[rbp], 0 | |
je .L251 | |
mov rdx, QWORD PTR -64[rbp] | |
mov rcx, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call parseDateOrTime | |
test eax, eax | |
je .L250 | |
.L251: | |
mov eax, 1 | |
jmp .L247 | |
.L250: | |
mov DWORD PTR -4[rbp], 1 | |
jmp .L252 | |
.L255: | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
lea rdx, 0[0+rax*8] | |
mov rax, QWORD PTR -56[rbp] | |
add rax, rdx | |
mov rax, QWORD PTR [rax] | |
mov rdi, rax | |
call sqlite3_value_text | |
mov QWORD PTR -16[rbp], rax | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
lea rdx, 0[0+rax*8] | |
mov rax, QWORD PTR -56[rbp] | |
add rax, rdx | |
mov rax, QWORD PTR [rax] | |
mov rdi, rax | |
call sqlite3_value_bytes | |
mov DWORD PTR -20[rbp], eax | |
cmp QWORD PTR -16[rbp], 0 | |
je .L253 | |
mov rcx, QWORD PTR -64[rbp] | |
mov edx, DWORD PTR -20[rbp] | |
mov rsi, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call parseModifier | |
test eax, eax | |
je .L254 | |
.L253: | |
mov eax, 1 | |
jmp .L247 | |
.L254: | |
add DWORD PTR -4[rbp], 1 | |
.L252: | |
mov eax, DWORD PTR -4[rbp] | |
cmp eax, DWORD PTR -44[rbp] | |
jl .L255 | |
mov rax, QWORD PTR -64[rbp] | |
mov rdi, rax | |
call computeJD | |
mov rax, QWORD PTR -64[rbp] | |
movzx eax, BYTE PTR 46[rax] | |
test al, al | |
jne .L256 | |
mov rax, QWORD PTR -64[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rdi, rax | |
call validJulianDay | |
test eax, eax | |
jne .L257 | |
.L256: | |
mov eax, 1 | |
jmp .L247 | |
.L257: | |
mov eax, 0 | |
.L247: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE29: | |
.size isDate, .-isDate | |
.type juliandayFunc, @function | |
juliandayFunc: | |
.LFB30: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 80 | |
mov QWORD PTR -56[rbp], rdi | |
mov DWORD PTR -60[rbp], esi | |
mov QWORD PTR -72[rbp], rdx | |
lea rcx, -48[rbp] | |
mov rdx, QWORD PTR -72[rbp] | |
mov esi, DWORD PTR -60[rbp] | |
mov rax, QWORD PTR -56[rbp] | |
mov rdi, rax | |
call isDate | |
test eax, eax | |
jne .L260 | |
lea rax, -48[rbp] | |
mov rdi, rax | |
call computeJD | |
mov rax, QWORD PTR -48[rbp] | |
pxor xmm0, xmm0 | |
cvtsi2sdq xmm0, rax | |
movsd xmm1, QWORD PTR .LC12[rip] | |
divsd xmm0, xmm1 | |
mov rax, QWORD PTR -56[rbp] | |
mov rdi, rax | |
call sqlite3_result_double | |
.L260: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE30: | |
.size juliandayFunc, .-juliandayFunc | |
.section .rodata | |
.LC40: | |
.string "%04d-%02d-%02d %02d:%02d:%02d" | |
.text | |
.type datetimeFunc, @function | |
datetimeFunc: | |
.LFB31: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 192 | |
mov QWORD PTR -168[rbp], rdi | |
mov DWORD PTR -172[rbp], esi | |
mov QWORD PTR -184[rbp], rdx | |
lea rcx, -48[rbp] | |
mov rdx, QWORD PTR -184[rbp] | |
mov esi, DWORD PTR -172[rbp] | |
mov rax, QWORD PTR -168[rbp] | |
mov rdi, rax | |
call isDate | |
test eax, eax | |
jne .L263 | |
lea rax, -48[rbp] | |
mov rdi, rax | |
call computeYMD_HMS | |
movsd xmm0, QWORD PTR -16[rbp] | |
cvttsd2si edi, xmm0 | |
mov esi, DWORD PTR -24[rbp] | |
mov ecx, DWORD PTR -28[rbp] | |
mov r9d, DWORD PTR -32[rbp] | |
mov r8d, DWORD PTR -36[rbp] | |
mov edx, DWORD PTR -40[rbp] | |
lea rax, -160[rbp] | |
sub rsp, 8 | |
push rdi | |
push rsi | |
push rcx | |
mov ecx, edx | |
lea rdx, .LC40[rip] | |
mov rsi, rax | |
mov edi, 100 | |
mov eax, 0 | |
call sqlite3_snprintf | |
add rsp, 32 | |
lea rsi, -160[rbp] | |
mov rax, QWORD PTR -168[rbp] | |
mov rcx, -1 | |
mov edx, -1 | |
mov rdi, rax | |
call sqlite3_result_text | |
.L263: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE31: | |
.size datetimeFunc, .-datetimeFunc | |
.section .rodata | |
.LC41: | |
.string "%02d:%02d:%02d" | |
.text | |
.type timeFunc, @function | |
timeFunc: | |
.LFB32: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 192 | |
mov QWORD PTR -168[rbp], rdi | |
mov DWORD PTR -172[rbp], esi | |
mov QWORD PTR -184[rbp], rdx | |
lea rcx, -48[rbp] | |
mov rdx, QWORD PTR -184[rbp] | |
mov esi, DWORD PTR -172[rbp] | |
mov rax, QWORD PTR -168[rbp] | |
mov rdi, rax | |
call isDate | |
test eax, eax | |
jne .L266 | |
lea rax, -48[rbp] | |
mov rdi, rax | |
call computeHMS | |
movsd xmm0, QWORD PTR -16[rbp] | |
cvttsd2si esi, xmm0 | |
mov ecx, DWORD PTR -24[rbp] | |
mov edx, DWORD PTR -28[rbp] | |
lea rax, -160[rbp] | |
mov r9d, esi | |
mov r8d, ecx | |
mov ecx, edx | |
lea rdx, .LC41[rip] | |
mov rsi, rax | |
mov edi, 100 | |
mov eax, 0 | |
call sqlite3_snprintf | |
lea rsi, -160[rbp] | |
mov rax, QWORD PTR -168[rbp] | |
mov rcx, -1 | |
mov edx, -1 | |
mov rdi, rax | |
call sqlite3_result_text | |
.L266: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE32: | |
.size timeFunc, .-timeFunc | |
.section .rodata | |
.LC42: | |
.string "%04d-%02d-%02d" | |
.text | |
.type dateFunc, @function | |
dateFunc: | |
.LFB33: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 192 | |
mov QWORD PTR -168[rbp], rdi | |
mov DWORD PTR -172[rbp], esi | |
mov QWORD PTR -184[rbp], rdx | |
lea rcx, -48[rbp] | |
mov rdx, QWORD PTR -184[rbp] | |
mov esi, DWORD PTR -172[rbp] | |
mov rax, QWORD PTR -168[rbp] | |
mov rdi, rax | |
call isDate | |
test eax, eax | |
jne .L269 | |
lea rax, -48[rbp] | |
mov rdi, rax | |
call computeYMD | |
mov esi, DWORD PTR -32[rbp] | |
mov ecx, DWORD PTR -36[rbp] | |
mov edx, DWORD PTR -40[rbp] | |
lea rax, -160[rbp] | |
mov r9d, esi | |
mov r8d, ecx | |
mov ecx, edx | |
lea rdx, .LC42[rip] | |
mov rsi, rax | |
mov edi, 100 | |
mov eax, 0 | |
call sqlite3_snprintf | |
lea rsi, -160[rbp] | |
mov rax, QWORD PTR -168[rbp] | |
mov rcx, -1 | |
mov edx, -1 | |
mov rdi, rax | |
call sqlite3_result_text | |
.L269: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE33: | |
.size dateFunc, .-dateFunc | |
.section .rodata | |
.LC43: | |
.string "%02d" | |
.LC45: | |
.string "%06.3f" | |
.LC46: | |
.string "%03d" | |
.LC47: | |
.string "%.16g" | |
.LC48: | |
.string "%lld" | |
.LC49: | |
.string "%04d" | |
.text | |
.type strftimeFunc, @function | |
strftimeFunc: | |
.LFB34: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 304 | |
mov QWORD PTR -280[rbp], rdi | |
mov DWORD PTR -284[rbp], esi | |
mov QWORD PTR -296[rbp], rdx | |
cmp DWORD PTR -284[rbp], 0 | |
je .L315 | |
mov rax, QWORD PTR -296[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rdi, rax | |
call sqlite3_value_text | |
mov QWORD PTR -48[rbp], rax | |
cmp QWORD PTR -48[rbp], 0 | |
je .L316 | |
mov rax, QWORD PTR -296[rbp] | |
lea rdi, 8[rax] | |
mov eax, DWORD PTR -284[rbp] | |
lea esi, -1[rax] | |
lea rdx, -112[rbp] | |
mov rax, QWORD PTR -280[rbp] | |
mov rcx, rdx | |
mov rdx, rdi | |
mov rdi, rax | |
call isDate | |
test eax, eax | |
jne .L316 | |
mov rax, QWORD PTR -280[rbp] | |
mov rdi, rax | |
call sqlite3_context_db_handle | |
mov QWORD PTR -56[rbp], rax | |
mov QWORD PTR -16[rbp], 0 | |
mov QWORD PTR -8[rbp], 1 | |
jmp .L275 | |
.L286: | |
mov rdx, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
cmp al, 37 | |
jne .L276 | |
mov rax, QWORD PTR -16[rbp] | |
lea rdx, 1[rax] | |
mov rax, QWORD PTR -48[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
sub eax, 37 | |
cmp eax, 82 | |
ja .L317 | |
mov eax, eax | |
lea rdx, 0[0+rax*4] | |
lea rax, .L279[rip] | |
mov eax, DWORD PTR [rdx+rax] | |
movsx rdx, eax | |
lea rax, .L279[rip] | |
add rax, rdx | |
jmp rax | |
.section .rodata | |
.align 4 | |
.align 4 | |
.L279: | |
.long .L318-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L280-.L279 | |
.long .L317-.L279 | |
.long .L281-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L280-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L280-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L280-.L279 | |
.long .L317-.L279 | |
.long .L282-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L280-.L279 | |
.long .L317-.L279 | |
.long .L283-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L284-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L280-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L281-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L317-.L279 | |
.long .L318-.L279 | |
.text | |
.L280: | |
add QWORD PTR -8[rbp], 1 | |
jmp .L318 | |
.L283: | |
add QWORD PTR -8[rbp], 8 | |
jmp .L285 | |
.L284: | |
add QWORD PTR -8[rbp], 3 | |
jmp .L285 | |
.L282: | |
add QWORD PTR -8[rbp], 8 | |
jmp .L285 | |
.L281: | |
add QWORD PTR -8[rbp], 50 | |
jmp .L285 | |
.L318: | |
nop | |
.L285: | |
add QWORD PTR -16[rbp], 1 | |
.L276: | |
add QWORD PTR -16[rbp], 1 | |
add QWORD PTR -8[rbp], 1 | |
.L275: | |
mov rdx, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
test al, al | |
jne .L286 | |
cmp QWORD PTR -8[rbp], 99 | |
ja .L287 | |
lea rax, -224[rbp] | |
mov QWORD PTR -32[rbp], rax | |
jmp .L288 | |
.L287: | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 124[rax] | |
cdqe | |
cmp rax, QWORD PTR -8[rbp] | |
jnb .L289 | |
mov rax, QWORD PTR -280[rbp] | |
mov rdi, rax | |
call sqlite3_result_error_toobig | |
jmp .L270 | |
.L289: | |
mov rax, QWORD PTR -8[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -56[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DbMallocRawNN | |
mov QWORD PTR -32[rbp], rax | |
cmp QWORD PTR -32[rbp], 0 | |
jne .L288 | |
mov rax, QWORD PTR -280[rbp] | |
mov rdi, rax | |
call sqlite3_result_error_nomem | |
jmp .L270 | |
.L288: | |
lea rax, -112[rbp] | |
mov rdi, rax | |
call computeJD | |
lea rax, -112[rbp] | |
mov rdi, rax | |
call computeYMD_HMS | |
mov QWORD PTR -24[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -16[rbp], rax | |
jmp .L290 | |
.L310: | |
mov rdx, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
cmp al, 37 | |
je .L291 | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov rdx, QWORD PTR -32[rbp] | |
add rdx, rax | |
mov rcx, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
add rax, rcx | |
movzx eax, BYTE PTR [rax] | |
mov BYTE PTR [rdx], al | |
jmp .L292 | |
.L291: | |
add QWORD PTR -16[rbp], 1 | |
mov rdx, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
sub eax, 72 | |
cmp eax, 47 | |
ja .L293 | |
mov eax, eax | |
lea rdx, 0[0+rax*4] | |
lea rax, .L295[rip] | |
mov eax, DWORD PTR [rdx+rax] | |
movsx rdx, eax | |
lea rax, .L295[rip] | |
add rax, rdx | |
jmp rax | |
.section .rodata | |
.align 4 | |
.align 4 | |
.L295: | |
.long .L294-.L295 | |
.long .L293-.L295 | |
.long .L296-.L295 | |
.long .L293-.L295 | |
.long .L293-.L295 | |
.long .L297-.L295 | |
.long .L293-.L295 | |
.long .L293-.L295 | |
.long .L293-.L295 | |
.long .L293-.L295 | |
.long .L293-.L295 | |
.long .L298-.L295 | |
.long .L293-.L295 | |
.long .L293-.L295 | |
.long .L293-.L295 | |
.long .L299-.L295 | |
.long .L293-.L295 | |
.long .L300-.L295 | |
.long .L293-.L295 | |
.long .L293-.L295 | |
.long .L293-.L295 | |
.long .L293-.L295 | |
.long .L293-.L295 | |
.long .L293-.L295 | |
.long .L293-.L295 | |
.long .L293-.L295 | |
.long .L293-.L295 | |
.long .L293-.L295 | |
.long .L301-.L295 | |
.long .L293-.L295 | |
.long .L302-.L295 | |
.long .L293-.L295 | |
.long .L293-.L295 | |
.long .L293-.L295 | |
.long .L299-.L295 | |
.long .L293-.L295 | |
.long .L293-.L295 | |
.long .L303-.L295 | |
.long .L293-.L295 | |
.long .L293-.L295 | |
.long .L293-.L295 | |
.long .L293-.L295 | |
.long .L293-.L295 | |
.long .L304-.L295 | |
.long .L293-.L295 | |
.long .L293-.L295 | |
.long .L293-.L295 | |
.long .L305-.L295 | |
.text | |
.L301: | |
mov eax, DWORD PTR -96[rbp] | |
mov rcx, QWORD PTR -32[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
lea rsi, [rcx+rdx] | |
mov ecx, eax | |
lea rdx, .LC43[rip] | |
mov edi, 3 | |
mov eax, 0 | |
call sqlite3_snprintf | |
add QWORD PTR -24[rbp], 2 | |
jmp .L292 | |
.L302: | |
movsd xmm0, QWORD PTR -80[rbp] | |
movsd QWORD PTR -40[rbp], xmm0 | |
movsd xmm0, QWORD PTR -40[rbp] | |
ucomisd xmm0, QWORD PTR .LC44[rip] | |
jbe .L306 | |
movsd xmm0, QWORD PTR .LC44[rip] | |
movsd QWORD PTR -40[rbp], xmm0 | |
.L306: | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
lea rcx, [rdx+rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR -304[rbp], rax | |
movsd xmm0, QWORD PTR -304[rbp] | |
lea rdx, .LC45[rip] | |
mov rsi, rcx | |
mov edi, 7 | |
mov eax, 1 | |
call sqlite3_snprintf | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
mov rdi, rax | |
call sqlite3Strlen30 | |
cdqe | |
add QWORD PTR -24[rbp], rax | |
jmp .L292 | |
.L294: | |
mov eax, DWORD PTR -92[rbp] | |
mov rcx, QWORD PTR -32[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
lea rsi, [rcx+rdx] | |
mov ecx, eax | |
lea rdx, .LC43[rip] | |
mov edi, 3 | |
mov eax, 0 | |
call sqlite3_snprintf | |
add QWORD PTR -24[rbp], 2 | |
jmp .L292 | |
.L299: | |
mov rax, QWORD PTR -112[rbp] | |
mov QWORD PTR -272[rbp], rax | |
mov rax, QWORD PTR -104[rbp] | |
mov QWORD PTR -264[rbp], rax | |
mov rax, QWORD PTR -96[rbp] | |
mov QWORD PTR -256[rbp], rax | |
mov rax, QWORD PTR -88[rbp] | |
mov QWORD PTR -248[rbp], rax | |
mov rax, QWORD PTR -80[rbp] | |
mov QWORD PTR -240[rbp], rax | |
mov rax, QWORD PTR -72[rbp] | |
mov QWORD PTR -232[rbp], rax | |
mov BYTE PTR -232[rbp], 0 | |
mov DWORD PTR -260[rbp], 1 | |
mov DWORD PTR -256[rbp], 1 | |
lea rax, -272[rbp] | |
mov rdi, rax | |
call computeJD | |
mov rdx, QWORD PTR -112[rbp] | |
mov rax, QWORD PTR -272[rbp] | |
sub rdx, rax | |
mov rax, rdx | |
lea rcx, 43200000[rax] | |
movabs rdx, 7164004856975580295 | |
mov rax, rcx | |
imul rdx | |
sar rdx, 25 | |
mov rax, rcx | |
sar rax, 63 | |
sub rdx, rax | |
mov rax, rdx | |
mov DWORD PTR -60[rbp], eax | |
mov rdx, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
cmp al, 87 | |
jne .L308 | |
mov rax, QWORD PTR -112[rbp] | |
lea rcx, 43200000[rax] | |
movabs rdx, 7164004856975580295 | |
mov rax, rcx | |
imul rdx | |
sar rdx, 25 | |
mov rax, rcx | |
sar rax, 63 | |
mov rcx, rdx | |
sub rcx, rax | |
movabs rdx, 5270498306774157605 | |
mov rax, rcx | |
imul rdx | |
sar rdx | |
mov rax, rcx | |
sar rax, 63 | |
sub rdx, rax | |
mov rax, rdx | |
mov rdx, rax | |
sal rdx, 3 | |
sub rdx, rax | |
mov rax, rcx | |
sub rax, rdx | |
mov DWORD PTR -64[rbp], eax | |
mov eax, DWORD PTR -60[rbp] | |
add eax, 7 | |
sub eax, DWORD PTR -64[rbp] | |
mov ecx, eax | |
mov edx, -1840700269 | |
mov eax, ecx | |
imul edx | |
lea eax, [rdx+rcx] | |
sar eax, 2 | |
mov edx, eax | |
mov eax, ecx | |
sar eax, 31 | |
sub edx, eax | |
mov rcx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rcx | |
mov ecx, edx | |
lea rdx, .LC43[rip] | |
mov rsi, rax | |
mov edi, 3 | |
mov eax, 0 | |
call sqlite3_snprintf | |
add QWORD PTR -24[rbp], 2 | |
jmp .L292 | |
.L308: | |
mov eax, DWORD PTR -60[rbp] | |
lea edx, 1[rax] | |
mov rcx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rcx | |
mov ecx, edx | |
lea rdx, .LC46[rip] | |
mov rsi, rax | |
mov edi, 4 | |
mov eax, 0 | |
call sqlite3_snprintf | |
add QWORD PTR -24[rbp], 3 | |
nop | |
jmp .L292 | |
.L296: | |
mov rax, QWORD PTR -112[rbp] | |
pxor xmm0, xmm0 | |
cvtsi2sdq xmm0, rax | |
movsd xmm1, QWORD PTR .LC12[rip] | |
divsd xmm0, xmm1 | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
lea rdx, .LC47[rip] | |
mov rsi, rax | |
mov edi, 20 | |
mov eax, 1 | |
call sqlite3_snprintf | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
mov rdi, rax | |
call sqlite3Strlen30 | |
cdqe | |
add QWORD PTR -24[rbp], rax | |
jmp .L292 | |
.L303: | |
mov eax, DWORD PTR -100[rbp] | |
mov rcx, QWORD PTR -32[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
lea rsi, [rcx+rdx] | |
mov ecx, eax | |
lea rdx, .LC43[rip] | |
mov edi, 3 | |
mov eax, 0 | |
call sqlite3_snprintf | |
add QWORD PTR -24[rbp], 2 | |
jmp .L292 | |
.L297: | |
mov eax, DWORD PTR -88[rbp] | |
mov rcx, QWORD PTR -32[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
lea rsi, [rcx+rdx] | |
mov ecx, eax | |
lea rdx, .LC43[rip] | |
mov edi, 3 | |
mov eax, 0 | |
call sqlite3_snprintf | |
add QWORD PTR -24[rbp], 2 | |
jmp .L292 | |
.L304: | |
mov rcx, QWORD PTR -112[rbp] | |
movabs rdx, 2361183241434822607 | |
mov rax, rcx | |
imul rdx | |
sar rdx, 7 | |
mov rax, rcx | |
sar rax, 63 | |
sub rdx, rax | |
movabs rax, -210866760000 | |
add rdx, rax | |
mov rcx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rcx | |
mov rcx, rdx | |
lea rdx, .LC48[rip] | |
mov rsi, rax | |
mov edi, 30 | |
mov eax, 0 | |
call sqlite3_snprintf | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
mov rdi, rax | |
call sqlite3Strlen30 | |
cdqe | |
add QWORD PTR -24[rbp], rax | |
jmp .L292 | |
.L298: | |
movsd xmm0, QWORD PTR -80[rbp] | |
cvttsd2si eax, xmm0 | |
mov rcx, QWORD PTR -32[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
lea rsi, [rcx+rdx] | |
mov ecx, eax | |
lea rdx, .LC43[rip] | |
mov edi, 3 | |
mov eax, 0 | |
call sqlite3_snprintf | |
add QWORD PTR -24[rbp], 2 | |
jmp .L292 | |
.L305: | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov rdx, QWORD PTR -32[rbp] | |
lea rsi, [rax+rdx] | |
mov rax, QWORD PTR -112[rbp] | |
lea rcx, 129600000[rax] | |
movabs rdx, 7164004856975580295 | |
mov rax, rcx | |
imul rdx | |
sar rdx, 25 | |
mov rax, rcx | |
sar rax, 63 | |
mov rcx, rdx | |
sub rcx, rax | |
movabs rdx, 5270498306774157605 | |
mov rax, rcx | |
imul rdx | |
sar rdx | |
mov rax, rcx | |
sar rax, 63 | |
sub rdx, rax | |
mov rax, rdx | |
mov rdx, rax | |
sal rdx, 3 | |
sub rdx, rax | |
mov rax, rcx | |
sub rax, rdx | |
add eax, 48 | |
mov BYTE PTR [rsi], al | |
jmp .L292 | |
.L300: | |
mov eax, DWORD PTR -104[rbp] | |
mov rcx, QWORD PTR -32[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
lea rsi, [rcx+rdx] | |
mov ecx, eax | |
lea rdx, .LC49[rip] | |
mov edi, 5 | |
mov eax, 0 | |
call sqlite3_snprintf | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
mov rdi, rax | |
call sqlite3Strlen30 | |
cdqe | |
add QWORD PTR -24[rbp], rax | |
jmp .L292 | |
.L293: | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov rdx, QWORD PTR -32[rbp] | |
add rax, rdx | |
mov BYTE PTR [rax], 37 | |
nop | |
.L292: | |
add QWORD PTR -16[rbp], 1 | |
.L290: | |
mov rdx, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
test al, al | |
jne .L310 | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
mov BYTE PTR [rax], 0 | |
lea rax, -224[rbp] | |
cmp QWORD PTR -32[rbp], rax | |
je .L311 | |
lea rax, sqlite3MallocSize[rip] | |
jmp .L312 | |
.L311: | |
mov rax, -1 | |
.L312: | |
mov rsi, QWORD PTR -32[rbp] | |
mov rdi, QWORD PTR -280[rbp] | |
mov rcx, rax | |
mov edx, -1 | |
call sqlite3_result_text | |
jmp .L270 | |
.L315: | |
nop | |
jmp .L270 | |
.L316: | |
nop | |
jmp .L270 | |
.L317: | |
nop | |
.L270: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE34: | |
.size strftimeFunc, .-strftimeFunc | |
.type ctimeFunc, @function | |
ctimeFunc: | |
.LFB35: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov QWORD PTR -24[rbp], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, 0 | |
mov esi, 0 | |
mov rdi, rax | |
call timeFunc | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE35: | |
.size ctimeFunc, .-ctimeFunc | |
.type cdateFunc, @function | |
cdateFunc: | |
.LFB36: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov QWORD PTR -24[rbp], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, 0 | |
mov esi, 0 | |
mov rdi, rax | |
call dateFunc | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE36: | |
.size cdateFunc, .-cdateFunc | |
.type ctimestampFunc, @function | |
ctimestampFunc: | |
.LFB37: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov QWORD PTR -24[rbp], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, 0 | |
mov esi, 0 | |
mov rdi, rax | |
call datetimeFunc | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE37: | |
.size ctimestampFunc, .-ctimestampFunc | |
.type sqlite3RegisterDateTimeFunctions, @function | |
sqlite3RegisterDateTimeFunctions: | |
.LFB38: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov esi, 8 | |
lea rdi, aDateTimeFuncs.8897[rip] | |
call sqlite3InsertBuiltinFuncs | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE38: | |
.size sqlite3RegisterDateTimeFunctions, .-sqlite3RegisterDateTimeFunctions | |
.type sqlite3OsClose, @function | |
sqlite3OsClose: | |
.LFB39: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
je .L325 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rax, QWORD PTR 8[rax] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rdi, rdx | |
call rax | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], 0 | |
.L325: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE39: | |
.size sqlite3OsClose, .-sqlite3OsClose | |
.type sqlite3OsRead, @function | |
sqlite3OsRead: | |
.LFB40: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov DWORD PTR -20[rbp], edx | |
mov QWORD PTR -32[rbp], rcx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rax, QWORD PTR 16[rax] | |
mov rcx, QWORD PTR -32[rbp] | |
mov edx, DWORD PTR -20[rbp] | |
mov rsi, QWORD PTR -16[rbp] | |
mov rdi, QWORD PTR -8[rbp] | |
call rax | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE40: | |
.size sqlite3OsRead, .-sqlite3OsRead | |
.type sqlite3OsWrite, @function | |
sqlite3OsWrite: | |
.LFB41: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov DWORD PTR -20[rbp], edx | |
mov QWORD PTR -32[rbp], rcx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rax, QWORD PTR 24[rax] | |
mov rcx, QWORD PTR -32[rbp] | |
mov edx, DWORD PTR -20[rbp] | |
mov rsi, QWORD PTR -16[rbp] | |
mov rdi, QWORD PTR -8[rbp] | |
call rax | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE41: | |
.size sqlite3OsWrite, .-sqlite3OsWrite | |
.type sqlite3OsTruncate, @function | |
sqlite3OsTruncate: | |
.LFB42: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rax, QWORD PTR 32[rax] | |
mov rcx, QWORD PTR -16[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rsi, rcx | |
mov rdi, rdx | |
call rax | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE42: | |
.size sqlite3OsTruncate, .-sqlite3OsTruncate | |
.type sqlite3OsSync, @function | |
sqlite3OsSync: | |
.LFB43: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
cmp DWORD PTR -12[rbp], 0 | |
je .L333 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rax, QWORD PTR 40[rax] | |
mov ecx, DWORD PTR -12[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov esi, ecx | |
mov rdi, rdx | |
call rax | |
jmp .L335 | |
.L333: | |
mov eax, 0 | |
.L335: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE43: | |
.size sqlite3OsSync, .-sqlite3OsSync | |
.type sqlite3OsFileSize, @function | |
sqlite3OsFileSize: | |
.LFB44: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rax, QWORD PTR 48[rax] | |
mov rcx, QWORD PTR -16[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rsi, rcx | |
mov rdi, rdx | |
call rax | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE44: | |
.size sqlite3OsFileSize, .-sqlite3OsFileSize | |
.type sqlite3OsLock, @function | |
sqlite3OsLock: | |
.LFB45: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rax, QWORD PTR 56[rax] | |
mov ecx, DWORD PTR -12[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov esi, ecx | |
mov rdi, rdx | |
call rax | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE45: | |
.size sqlite3OsLock, .-sqlite3OsLock | |
.type sqlite3OsUnlock, @function | |
sqlite3OsUnlock: | |
.LFB46: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rax, QWORD PTR 64[rax] | |
mov ecx, DWORD PTR -12[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov esi, ecx | |
mov rdi, rdx | |
call rax | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE46: | |
.size sqlite3OsUnlock, .-sqlite3OsUnlock | |
.type sqlite3OsCheckReservedLock, @function | |
sqlite3OsCheckReservedLock: | |
.LFB47: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rax, QWORD PTR 72[rax] | |
mov rcx, QWORD PTR -16[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rsi, rcx | |
mov rdi, rdx | |
call rax | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE47: | |
.size sqlite3OsCheckReservedLock, .-sqlite3OsCheckReservedLock | |
.type sqlite3OsFileControl, @function | |
sqlite3OsFileControl: | |
.LFB48: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov QWORD PTR -24[rbp], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rax, QWORD PTR 80[rax] | |
mov rdx, QWORD PTR -24[rbp] | |
mov esi, DWORD PTR -12[rbp] | |
mov rcx, QWORD PTR -8[rbp] | |
mov rdi, rcx | |
call rax | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE48: | |
.size sqlite3OsFileControl, .-sqlite3OsFileControl | |
.type sqlite3OsFileControlHint, @function | |
sqlite3OsFileControlHint: | |
.LFB49: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov QWORD PTR -24[rbp], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rax, QWORD PTR 80[rax] | |
mov rdx, QWORD PTR -24[rbp] | |
mov esi, DWORD PTR -12[rbp] | |
mov rcx, QWORD PTR -8[rbp] | |
mov rdi, rcx | |
call rax | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE49: | |
.size sqlite3OsFileControlHint, .-sqlite3OsFileControlHint | |
.type sqlite3OsSectorSize, @function | |
sqlite3OsSectorSize: | |
.LFB50: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rax, QWORD PTR 88[rax] | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
je .L348 | |
mov rdx, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rdx | |
call rax | |
jmp .L350 | |
.L348: | |
mov eax, 4096 | |
.L350: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE50: | |
.size sqlite3OsSectorSize, .-sqlite3OsSectorSize | |
.type sqlite3OsDeviceCharacteristics, @function | |
sqlite3OsDeviceCharacteristics: | |
.LFB51: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rax, QWORD PTR 96[rax] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rdi, rdx | |
call rax | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE51: | |
.size sqlite3OsDeviceCharacteristics, .-sqlite3OsDeviceCharacteristics | |
.type sqlite3OsShmLock, @function | |
sqlite3OsShmLock: | |
.LFB52: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov DWORD PTR -16[rbp], edx | |
mov DWORD PTR -20[rbp], ecx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rax, QWORD PTR 112[rax] | |
mov ecx, DWORD PTR -20[rbp] | |
mov edx, DWORD PTR -16[rbp] | |
mov esi, DWORD PTR -12[rbp] | |
mov rdi, QWORD PTR -8[rbp] | |
call rax | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE52: | |
.size sqlite3OsShmLock, .-sqlite3OsShmLock | |
.type sqlite3OsShmBarrier, @function | |
sqlite3OsShmBarrier: | |
.LFB53: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rax, QWORD PTR 120[rax] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rdi, rdx | |
call rax | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE53: | |
.size sqlite3OsShmBarrier, .-sqlite3OsShmBarrier | |
.type sqlite3OsShmUnmap, @function | |
sqlite3OsShmUnmap: | |
.LFB54: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rax, QWORD PTR 128[rax] | |
mov ecx, DWORD PTR -12[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov esi, ecx | |
mov rdi, rdx | |
call rax | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE54: | |
.size sqlite3OsShmUnmap, .-sqlite3OsShmUnmap | |
.type sqlite3OsShmMap, @function | |
sqlite3OsShmMap: | |
.LFB55: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov DWORD PTR -16[rbp], edx | |
mov DWORD PTR -20[rbp], ecx | |
mov QWORD PTR -32[rbp], r8 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rax, QWORD PTR 104[rax] | |
mov r8, QWORD PTR -32[rbp] | |
mov ecx, DWORD PTR -20[rbp] | |
mov edx, DWORD PTR -16[rbp] | |
mov esi, DWORD PTR -12[rbp] | |
mov rdi, QWORD PTR -8[rbp] | |
call rax | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE55: | |
.size sqlite3OsShmMap, .-sqlite3OsShmMap | |
.type sqlite3OsFetch, @function | |
sqlite3OsFetch: | |
.LFB56: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov DWORD PTR -20[rbp], edx | |
mov QWORD PTR -32[rbp], rcx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rax, QWORD PTR 136[rax] | |
mov rcx, QWORD PTR -32[rbp] | |
mov edx, DWORD PTR -20[rbp] | |
mov rsi, QWORD PTR -16[rbp] | |
mov rdi, QWORD PTR -8[rbp] | |
call rax | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE56: | |
.size sqlite3OsFetch, .-sqlite3OsFetch | |
.type sqlite3OsUnfetch, @function | |
sqlite3OsUnfetch: | |
.LFB57: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov QWORD PTR -24[rbp], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rax, QWORD PTR 144[rax] | |
mov rdx, QWORD PTR -24[rbp] | |
mov rsi, QWORD PTR -16[rbp] | |
mov rcx, QWORD PTR -8[rbp] | |
mov rdi, rcx | |
call rax | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE57: | |
.size sqlite3OsUnfetch, .-sqlite3OsUnfetch | |
.type sqlite3OsOpen, @function | |
sqlite3OsOpen: | |
.LFB58: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov QWORD PTR -40[rbp], rdx | |
mov DWORD PTR -44[rbp], ecx | |
mov QWORD PTR -56[rbp], r8 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 40[rax] | |
mov edx, DWORD PTR -44[rbp] | |
mov ecx, edx | |
and ecx, 556927 | |
mov r8, QWORD PTR -56[rbp] | |
mov rdx, QWORD PTR -40[rbp] | |
mov rsi, QWORD PTR -32[rbp] | |
mov rdi, QWORD PTR -24[rbp] | |
call rax | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE58: | |
.size sqlite3OsOpen, .-sqlite3OsOpen | |
.type sqlite3OsDelete, @function | |
sqlite3OsDelete: | |
.LFB59: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov DWORD PTR -20[rbp], edx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov edx, DWORD PTR -20[rbp] | |
mov rsi, QWORD PTR -16[rbp] | |
mov rcx, QWORD PTR -8[rbp] | |
mov rdi, rcx | |
call rax | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE59: | |
.size sqlite3OsDelete, .-sqlite3OsDelete | |
.type sqlite3OsAccess, @function | |
sqlite3OsAccess: | |
.LFB60: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov DWORD PTR -20[rbp], edx | |
mov QWORD PTR -32[rbp], rcx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 56[rax] | |
mov rcx, QWORD PTR -32[rbp] | |
mov edx, DWORD PTR -20[rbp] | |
mov rsi, QWORD PTR -16[rbp] | |
mov rdi, QWORD PTR -8[rbp] | |
call rax | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE60: | |
.size sqlite3OsAccess, .-sqlite3OsAccess | |
.type sqlite3OsFullPathname, @function | |
sqlite3OsFullPathname: | |
.LFB61: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov DWORD PTR -20[rbp], edx | |
mov QWORD PTR -32[rbp], rcx | |
mov rax, QWORD PTR -32[rbp] | |
mov BYTE PTR [rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov rcx, QWORD PTR -32[rbp] | |
mov edx, DWORD PTR -20[rbp] | |
mov rsi, QWORD PTR -16[rbp] | |
mov rdi, QWORD PTR -8[rbp] | |
call rax | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE61: | |
.size sqlite3OsFullPathname, .-sqlite3OsFullPathname | |
.type sqlite3OsDlOpen, @function | |
sqlite3OsDlOpen: | |
.LFB62: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rcx, QWORD PTR -16[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rsi, rcx | |
mov rdi, rdx | |
call rax | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE62: | |
.size sqlite3OsDlOpen, .-sqlite3OsDlOpen | |
.type sqlite3OsDlError, @function | |
sqlite3OsDlError: | |
.LFB63: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov QWORD PTR -24[rbp], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rdx, QWORD PTR -24[rbp] | |
mov esi, DWORD PTR -12[rbp] | |
mov rcx, QWORD PTR -8[rbp] | |
mov rdi, rcx | |
call rax | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE63: | |
.size sqlite3OsDlError, .-sqlite3OsDlError | |
.type sqlite3OsDlSym, @function | |
sqlite3OsDlSym: | |
.LFB64: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov QWORD PTR -24[rbp], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 88[rax] | |
mov rdx, QWORD PTR -24[rbp] | |
mov rsi, QWORD PTR -16[rbp] | |
mov rcx, QWORD PTR -8[rbp] | |
mov rdi, rcx | |
call rax | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE64: | |
.size sqlite3OsDlSym, .-sqlite3OsDlSym | |
.type sqlite3OsDlClose, @function | |
sqlite3OsDlClose: | |
.LFB65: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 96[rax] | |
mov rcx, QWORD PTR -16[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rsi, rcx | |
mov rdi, rdx | |
call rax | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE65: | |
.size sqlite3OsDlClose, .-sqlite3OsDlClose | |
.type sqlite3OsRandomness, @function | |
sqlite3OsRandomness: | |
.LFB66: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov QWORD PTR -24[rbp], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 104[rax] | |
mov rdx, QWORD PTR -24[rbp] | |
mov esi, DWORD PTR -12[rbp] | |
mov rcx, QWORD PTR -8[rbp] | |
mov rdi, rcx | |
call rax | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE66: | |
.size sqlite3OsRandomness, .-sqlite3OsRandomness | |
.type sqlite3OsSleep, @function | |
sqlite3OsSleep: | |
.LFB67: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 112[rax] | |
mov ecx, DWORD PTR -12[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov esi, ecx | |
mov rdi, rdx | |
call rax | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE67: | |
.size sqlite3OsSleep, .-sqlite3OsSleep | |
.type sqlite3OsGetLastError, @function | |
sqlite3OsGetLastError: | |
.LFB68: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 128[rax] | |
test rax, rax | |
je .L383 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 128[rax] | |
mov rcx, QWORD PTR -8[rbp] | |
mov edx, 0 | |
mov esi, 0 | |
mov rdi, rcx | |
call rax | |
jmp .L385 | |
.L383: | |
mov eax, 0 | |
.L385: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE68: | |
.size sqlite3OsGetLastError, .-sqlite3OsGetLastError | |
.type sqlite3OsCurrentTimeInt64, @function | |
sqlite3OsCurrentTimeInt64: | |
.LFB69: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp eax, 1 | |
jle .L387 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 136[rax] | |
test rax, rax | |
je .L387 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 136[rax] | |
mov rcx, QWORD PTR -32[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov rsi, rcx | |
mov rdi, rdx | |
call rax | |
mov DWORD PTR -4[rbp], eax | |
jmp .L388 | |
.L387: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 120[rax] | |
lea rcx, -16[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov rsi, rcx | |
mov rdi, rdx | |
call rax | |
mov DWORD PTR -4[rbp], eax | |
movsd xmm1, QWORD PTR -16[rbp] | |
movsd xmm0, QWORD PTR .LC12[rip] | |
mulsd xmm0, xmm1 | |
cvttsd2si rdx, xmm0 | |
mov rax, QWORD PTR -32[rbp] | |
mov QWORD PTR [rax], rdx | |
.L388: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE69: | |
.size sqlite3OsCurrentTimeInt64, .-sqlite3OsCurrentTimeInt64 | |
.type sqlite3OsOpenMalloc, @function | |
sqlite3OsOpenMalloc: | |
.LFB70: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov QWORD PTR -40[rbp], rdx | |
mov DWORD PTR -44[rbp], ecx | |
mov QWORD PTR -56[rbp], r8 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 4[rax] | |
cdqe | |
mov rdi, rax | |
call sqlite3MallocZero | |
mov QWORD PTR -16[rbp], rax | |
cmp QWORD PTR -16[rbp], 0 | |
je .L391 | |
mov rdi, QWORD PTR -56[rbp] | |
mov ecx, DWORD PTR -44[rbp] | |
mov rdx, QWORD PTR -16[rbp] | |
mov rsi, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov r8, rdi | |
mov rdi, rax | |
call sqlite3OsOpen | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L392 | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
jmp .L394 | |
.L392: | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR -16[rbp] | |
mov QWORD PTR [rax], rdx | |
jmp .L394 | |
.L391: | |
mov DWORD PTR -4[rbp], 7 | |
.L394: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE70: | |
.size sqlite3OsOpenMalloc, .-sqlite3OsOpenMalloc | |
.type sqlite3OsCloseFree, @function | |
sqlite3OsCloseFree: | |
.LFB71: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3OsClose | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE71: | |
.size sqlite3OsCloseFree, .-sqlite3OsCloseFree | |
.type sqlite3OsInit, @function | |
sqlite3OsInit: | |
.LFB72: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov edi, 10 | |
call sqlite3_malloc | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L398 | |
mov eax, 7 | |
jmp .L399 | |
.L398: | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
call sqlite3_os_init | |
.L399: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE72: | |
.size sqlite3OsInit, .-sqlite3OsInit | |
.local vfsList | |
.comm vfsList,8,8 | |
.globl sqlite3_vfs_find | |
.type sqlite3_vfs_find, @function | |
sqlite3_vfs_find: | |
.LFB73: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -8[rbp], 0 | |
call sqlite3_initialize | |
mov DWORD PTR -12[rbp], eax | |
cmp DWORD PTR -12[rbp], 0 | |
je .L401 | |
mov eax, 0 | |
jmp .L402 | |
.L401: | |
mov edi, 2 | |
call sqlite3MutexAlloc | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3_mutex_enter | |
mov rax, QWORD PTR vfsList[rip] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L403 | |
.L407: | |
cmp QWORD PTR -40[rbp], 0 | |
je .L408 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 24[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call strcmp@PLT | |
test eax, eax | |
je .L409 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -8[rbp], rax | |
.L403: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L407 | |
jmp .L405 | |
.L408: | |
nop | |
jmp .L405 | |
.L409: | |
nop | |
.L405: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3_mutex_leave | |
mov rax, QWORD PTR -8[rbp] | |
.L402: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE73: | |
.size sqlite3_vfs_find, .-sqlite3_vfs_find | |
.type vfsUnlink, @function | |
vfsUnlink: | |
.LFB74: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
cmp QWORD PTR -24[rbp], 0 | |
je .L416 | |
mov rax, QWORD PTR vfsList[rip] | |
cmp rax, QWORD PTR -24[rbp] | |
jne .L412 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR vfsList[rip], rax | |
jmp .L416 | |
.L412: | |
mov rax, QWORD PTR vfsList[rip] | |
test rax, rax | |
je .L416 | |
mov rax, QWORD PTR vfsList[rip] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L413 | |
.L415: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -8[rbp], rax | |
.L413: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 16[rax] | |
test rax, rax | |
je .L414 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 16[rax] | |
cmp rax, QWORD PTR -24[rbp] | |
jne .L415 | |
.L414: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 16[rax] | |
cmp rax, QWORD PTR -24[rbp] | |
jne .L416 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 16[rax], rdx | |
.L416: | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE74: | |
.size vfsUnlink, .-vfsUnlink | |
.globl sqlite3_vfs_register | |
.type sqlite3_vfs_register, @function | |
sqlite3_vfs_register: | |
.LFB75: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
call sqlite3_initialize | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L418 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L419 | |
.L418: | |
mov edi, 2 | |
call sqlite3MutexAlloc | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call sqlite3_mutex_enter | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call vfsUnlink | |
cmp DWORD PTR -28[rbp], 0 | |
jne .L420 | |
mov rax, QWORD PTR vfsList[rip] | |
test rax, rax | |
jne .L421 | |
.L420: | |
mov rdx, QWORD PTR vfsList[rip] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 16[rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR vfsList[rip], rax | |
jmp .L422 | |
.L421: | |
mov rax, QWORD PTR vfsList[rip] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 16[rax], rdx | |
mov rax, QWORD PTR vfsList[rip] | |
mov rdx, QWORD PTR -24[rbp] | |
mov QWORD PTR 16[rax], rdx | |
.L422: | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call sqlite3_mutex_leave | |
mov eax, 0 | |
.L419: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE75: | |
.size sqlite3_vfs_register, .-sqlite3_vfs_register | |
.globl sqlite3_vfs_unregister | |
.type sqlite3_vfs_unregister, @function | |
sqlite3_vfs_unregister: | |
.LFB76: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov edi, 2 | |
call sqlite3MutexAlloc | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3_mutex_enter | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call vfsUnlink | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3_mutex_leave | |
mov eax, 0 | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE76: | |
.size sqlite3_vfs_unregister, .-sqlite3_vfs_unregister | |
.local sqlite3Hooks | |
.comm sqlite3Hooks,16,16 | |
.type sqlite3BenignMallocHooks, @function | |
sqlite3BenignMallocHooks: | |
.LFB77: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR sqlite3Hooks[rip], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR sqlite3Hooks[rip+8], rax | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE77: | |
.size sqlite3BenignMallocHooks, .-sqlite3BenignMallocHooks | |
.type sqlite3BeginBenignMalloc, @function | |
sqlite3BeginBenignMalloc: | |
.LFB78: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov rax, QWORD PTR sqlite3Hooks[rip] | |
test rax, rax | |
je .L428 | |
mov rax, QWORD PTR sqlite3Hooks[rip] | |
call rax | |
.L428: | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE78: | |
.size sqlite3BeginBenignMalloc, .-sqlite3BeginBenignMalloc | |
.type sqlite3EndBenignMalloc, @function | |
sqlite3EndBenignMalloc: | |
.LFB79: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov rax, QWORD PTR sqlite3Hooks[rip+8] | |
test rax, rax | |
je .L431 | |
mov rax, QWORD PTR sqlite3Hooks[rip+8] | |
call rax | |
.L431: | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE79: | |
.size sqlite3EndBenignMalloc, .-sqlite3EndBenignMalloc | |
.section .rodata | |
.align 8 | |
.LC50: | |
.string "failed to allocate %u bytes of memory" | |
.text | |
.type sqlite3MemMalloc, @function | |
sqlite3MemMalloc: | |
.LFB80: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov DWORD PTR -20[rbp], edi | |
mov eax, DWORD PTR -20[rbp] | |
add eax, 8 | |
cdqe | |
mov rdi, rax | |
call malloc@PLT | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
je .L433 | |
mov eax, DWORD PTR -20[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], rdx | |
add QWORD PTR -8[rbp], 8 | |
jmp .L434 | |
.L433: | |
mov eax, DWORD PTR -20[rbp] | |
mov edx, eax | |
lea rsi, .LC50[rip] | |
mov edi, 7 | |
mov eax, 0 | |
call sqlite3_log | |
.L434: | |
mov rax, QWORD PTR -8[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE80: | |
.size sqlite3MemMalloc, .-sqlite3MemMalloc | |
.type sqlite3MemFree, @function | |
sqlite3MemFree: | |
.LFB81: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -8[rbp], rax | |
sub QWORD PTR -8[rbp], 8 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call free@PLT | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE81: | |
.size sqlite3MemFree, .-sqlite3MemFree | |
.type sqlite3MemSize, @function | |
sqlite3MemSize: | |
.LFB82: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -8[rbp], rax | |
sub QWORD PTR -8[rbp], 8 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE82: | |
.size sqlite3MemSize, .-sqlite3MemSize | |
.section .rodata | |
.align 8 | |
.LC51: | |
.string "failed memory resize %u to %u bytes" | |
.text | |
.type sqlite3MemRealloc, @function | |
sqlite3MemRealloc: | |
.LFB83: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -8[rbp], rax | |
sub QWORD PTR -8[rbp], 8 | |
mov eax, DWORD PTR -28[rbp] | |
add eax, 8 | |
movsx rdx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call realloc@PLT | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
je .L440 | |
mov eax, DWORD PTR -28[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], rdx | |
add QWORD PTR -8[rbp], 8 | |
jmp .L441 | |
.L440: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3MemSize | |
mov edx, eax | |
mov eax, DWORD PTR -28[rbp] | |
mov ecx, eax | |
lea rsi, .LC51[rip] | |
mov edi, 7 | |
mov eax, 0 | |
call sqlite3_log | |
.L441: | |
mov rax, QWORD PTR -8[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE83: | |
.size sqlite3MemRealloc, .-sqlite3MemRealloc | |
.type sqlite3MemRoundup, @function | |
sqlite3MemRoundup: | |
.LFB84: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov DWORD PTR -4[rbp], edi | |
mov eax, DWORD PTR -4[rbp] | |
add eax, 7 | |
and eax, -8 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE84: | |
.size sqlite3MemRoundup, .-sqlite3MemRoundup | |
.type sqlite3MemInit, @function | |
sqlite3MemInit: | |
.LFB85: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov eax, 0 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE85: | |
.size sqlite3MemInit, .-sqlite3MemInit | |
.type sqlite3MemShutdown, @function | |
sqlite3MemShutdown: | |
.LFB86: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE86: | |
.size sqlite3MemShutdown, .-sqlite3MemShutdown | |
.type sqlite3MemSetDefault, @function | |
sqlite3MemSetDefault: | |
.LFB87: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
lea rsi, defaultMethods.9139[rip] | |
mov edi, 4 | |
mov eax, 0 | |
call sqlite3_config | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE87: | |
.size sqlite3MemSetDefault, .-sqlite3MemSetDefault | |
.type sqlite3MutexInit, @function | |
sqlite3MutexInit: | |
.LFB88: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov DWORD PTR -12[rbp], 0 | |
mov rax, QWORD PTR sqlite3Config[rip+128] | |
test rax, rax | |
jne .L451 | |
lea rax, sqlite3Config[rip+112] | |
mov QWORD PTR -24[rbp], rax | |
mov eax, DWORD PTR sqlite3Config[rip+4] | |
test eax, eax | |
je .L452 | |
call sqlite3DefaultMutex | |
mov QWORD PTR -8[rbp], rax | |
jmp .L453 | |
.L452: | |
call sqlite3NoopMutex | |
mov QWORD PTR -8[rbp], rax | |
.L453: | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 8[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 24[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 24[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 32[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 32[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 40[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 40[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 48[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 48[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 56[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 56[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 64[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 64[rax], rdx | |
call sqlite3MemoryBarrier | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 16[rax], rdx | |
.L451: | |
mov rax, QWORD PTR sqlite3Config[rip+112] | |
call rax | |
mov DWORD PTR -12[rbp], eax | |
mov eax, DWORD PTR -12[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE88: | |
.size sqlite3MutexInit, .-sqlite3MutexInit | |
.type sqlite3MutexEnd, @function | |
sqlite3MutexEnd: | |
.LFB89: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR sqlite3Config[rip+120] | |
test rax, rax | |
je .L456 | |
mov rax, QWORD PTR sqlite3Config[rip+120] | |
call rax | |
mov DWORD PTR -4[rbp], eax | |
.L456: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE89: | |
.size sqlite3MutexEnd, .-sqlite3MutexEnd | |
.globl sqlite3_mutex_alloc | |
.type sqlite3_mutex_alloc, @function | |
sqlite3_mutex_alloc: | |
.LFB90: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov DWORD PTR -4[rbp], edi | |
cmp DWORD PTR -4[rbp], 1 | |
jg .L459 | |
call sqlite3_initialize | |
test eax, eax | |
je .L459 | |
mov eax, 0 | |
jmp .L460 | |
.L459: | |
cmp DWORD PTR -4[rbp], 1 | |
jle .L461 | |
call sqlite3MutexInit | |
test eax, eax | |
je .L461 | |
mov eax, 0 | |
jmp .L460 | |
.L461: | |
mov rax, QWORD PTR sqlite3Config[rip+128] | |
mov edx, DWORD PTR -4[rbp] | |
mov edi, edx | |
call rax | |
.L460: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE90: | |
.size sqlite3_mutex_alloc, .-sqlite3_mutex_alloc | |
.type sqlite3MutexAlloc, @function | |
sqlite3MutexAlloc: | |
.LFB91: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov DWORD PTR -4[rbp], edi | |
mov eax, DWORD PTR sqlite3Config[rip+4] | |
test eax, eax | |
jne .L463 | |
mov eax, 0 | |
jmp .L464 | |
.L463: | |
mov rax, QWORD PTR sqlite3Config[rip+128] | |
mov edx, DWORD PTR -4[rbp] | |
mov edi, edx | |
call rax | |
.L464: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE91: | |
.size sqlite3MutexAlloc, .-sqlite3MutexAlloc | |
.globl sqlite3_mutex_free | |
.type sqlite3_mutex_free, @function | |
sqlite3_mutex_free: | |
.LFB92: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
cmp QWORD PTR -8[rbp], 0 | |
je .L467 | |
mov rax, QWORD PTR sqlite3Config[rip+136] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rdi, rdx | |
call rax | |
.L467: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE92: | |
.size sqlite3_mutex_free, .-sqlite3_mutex_free | |
.globl sqlite3_mutex_enter | |
.type sqlite3_mutex_enter, @function | |
sqlite3_mutex_enter: | |
.LFB93: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
cmp QWORD PTR -8[rbp], 0 | |
je .L470 | |
mov rax, QWORD PTR sqlite3Config[rip+144] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rdi, rdx | |
call rax | |
.L470: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE93: | |
.size sqlite3_mutex_enter, .-sqlite3_mutex_enter | |
.globl sqlite3_mutex_try | |
.type sqlite3_mutex_try, @function | |
sqlite3_mutex_try: | |
.LFB94: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -4[rbp], 0 | |
cmp QWORD PTR -24[rbp], 0 | |
je .L472 | |
mov rax, QWORD PTR sqlite3Config[rip+152] | |
mov rdx, QWORD PTR -24[rbp] | |
mov rdi, rdx | |
call rax | |
jmp .L473 | |
.L472: | |
mov eax, DWORD PTR -4[rbp] | |
.L473: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE94: | |
.size sqlite3_mutex_try, .-sqlite3_mutex_try | |
.globl sqlite3_mutex_leave | |
.type sqlite3_mutex_leave, @function | |
sqlite3_mutex_leave: | |
.LFB95: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
cmp QWORD PTR -8[rbp], 0 | |
je .L476 | |
mov rax, QWORD PTR sqlite3Config[rip+160] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rdi, rdx | |
call rax | |
.L476: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE95: | |
.size sqlite3_mutex_leave, .-sqlite3_mutex_leave | |
.type noopMutexInit, @function | |
noopMutexInit: | |
.LFB96: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov eax, 0 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE96: | |
.size noopMutexInit, .-noopMutexInit | |
.type noopMutexEnd, @function | |
noopMutexEnd: | |
.LFB97: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov eax, 0 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE97: | |
.size noopMutexEnd, .-noopMutexEnd | |
.type noopMutexAlloc, @function | |
noopMutexAlloc: | |
.LFB98: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov DWORD PTR -4[rbp], edi | |
mov eax, 8 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE98: | |
.size noopMutexAlloc, .-noopMutexAlloc | |
.type noopMutexFree, @function | |
noopMutexFree: | |
.LFB99: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE99: | |
.size noopMutexFree, .-noopMutexFree | |
.type noopMutexEnter, @function | |
noopMutexEnter: | |
.LFB100: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE100: | |
.size noopMutexEnter, .-noopMutexEnter | |
.type noopMutexTry, @function | |
noopMutexTry: | |
.LFB101: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov eax, 0 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE101: | |
.size noopMutexTry, .-noopMutexTry | |
.type noopMutexLeave, @function | |
noopMutexLeave: | |
.LFB102: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE102: | |
.size noopMutexLeave, .-noopMutexLeave | |
.type sqlite3NoopMutex, @function | |
sqlite3NoopMutex: | |
.LFB103: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
lea rax, sMutex.9193[rip] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE103: | |
.size sqlite3NoopMutex, .-sqlite3NoopMutex | |
.type sqlite3MemoryBarrier, @function | |
sqlite3MemoryBarrier: | |
.LFB104: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mfence | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE104: | |
.size sqlite3MemoryBarrier, .-sqlite3MemoryBarrier | |
.type pthreadMutexInit, @function | |
pthreadMutexInit: | |
.LFB105: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov eax, 0 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE105: | |
.size pthreadMutexInit, .-pthreadMutexInit | |
.type pthreadMutexEnd, @function | |
pthreadMutexEnd: | |
.LFB106: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov eax, 0 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE106: | |
.size pthreadMutexEnd, .-pthreadMutexEnd | |
.type pthreadMutexAlloc, @function | |
pthreadMutexAlloc: | |
.LFB107: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov DWORD PTR -20[rbp], edi | |
mov eax, DWORD PTR -20[rbp] | |
test eax, eax | |
je .L500 | |
cmp eax, 1 | |
jne .L506 | |
mov edi, 40 | |
call sqlite3MallocZero | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
je .L507 | |
lea rax, -12[rbp] | |
mov rdi, rax | |
call pthread_mutexattr_init@PLT | |
lea rax, -12[rbp] | |
mov esi, 1 | |
mov rdi, rax | |
call pthread_mutexattr_settype@PLT | |
mov rax, QWORD PTR -8[rbp] | |
lea rdx, -12[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call pthread_mutex_init@PLT | |
lea rax, -12[rbp] | |
mov rdi, rax | |
call pthread_mutexattr_destroy@PLT | |
jmp .L507 | |
.L500: | |
mov edi, 40 | |
call sqlite3MallocZero | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
je .L508 | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call pthread_mutex_init@PLT | |
jmp .L508 | |
.L506: | |
mov eax, DWORD PTR -20[rbp] | |
sub eax, 2 | |
movsx rdx, eax | |
mov rax, rdx | |
sal rax, 2 | |
add rax, rdx | |
sal rax, 3 | |
lea rdx, staticMutexes.9670[rip] | |
add rax, rdx | |
mov QWORD PTR -8[rbp], rax | |
jmp .L503 | |
.L507: | |
nop | |
jmp .L503 | |
.L508: | |
nop | |
.L503: | |
mov rax, QWORD PTR -8[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE107: | |
.size pthreadMutexAlloc, .-pthreadMutexAlloc | |
.type pthreadMutexFree, @function | |
pthreadMutexFree: | |
.LFB108: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call pthread_mutex_destroy@PLT | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE108: | |
.size pthreadMutexFree, .-pthreadMutexFree | |
.type pthreadMutexEnter, @function | |
pthreadMutexEnter: | |
.LFB109: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call pthread_mutex_lock@PLT | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE109: | |
.size pthreadMutexEnter, .-pthreadMutexEnter | |
.type pthreadMutexTry, @function | |
pthreadMutexTry: | |
.LFB110: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call pthread_mutex_trylock@PLT | |
test eax, eax | |
jne .L512 | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L513 | |
.L512: | |
mov DWORD PTR -4[rbp], 5 | |
.L513: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE110: | |
.size pthreadMutexTry, .-pthreadMutexTry | |
.type pthreadMutexLeave, @function | |
pthreadMutexLeave: | |
.LFB111: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call pthread_mutex_unlock@PLT | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE111: | |
.size pthreadMutexLeave, .-pthreadMutexLeave | |
.type sqlite3DefaultMutex, @function | |
sqlite3DefaultMutex: | |
.LFB112: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
lea rax, sMutex.9693[rip] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE112: | |
.size sqlite3DefaultMutex, .-sqlite3DefaultMutex | |
.globl sqlite3_release_memory | |
.type sqlite3_release_memory, @function | |
sqlite3_release_memory: | |
.LFB113: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov DWORD PTR -4[rbp], edi | |
mov eax, 0 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE113: | |
.size sqlite3_release_memory, .-sqlite3_release_memory | |
.local mem0 | |
.comm mem0,24,16 | |
.type sqlite3MallocMutex, @function | |
sqlite3MallocMutex: | |
.LFB114: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov rax, QWORD PTR mem0[rip] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE114: | |
.size sqlite3MallocMutex, .-sqlite3MallocMutex | |
.globl sqlite3_memory_alarm | |
.type sqlite3_memory_alarm, @function | |
sqlite3_memory_alarm: | |
.LFB115: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov QWORD PTR -24[rbp], rdx | |
mov eax, 0 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE115: | |
.size sqlite3_memory_alarm, .-sqlite3_memory_alarm | |
.globl sqlite3_soft_heap_limit64 | |
.type sqlite3_soft_heap_limit64, @function | |
sqlite3_soft_heap_limit64: | |
.LFB116: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
call sqlite3_initialize | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L525 | |
mov rax, -1 | |
jmp .L526 | |
.L525: | |
mov rax, QWORD PTR mem0[rip] | |
mov rdi, rax | |
call sqlite3_mutex_enter | |
mov rax, QWORD PTR mem0[rip+8] | |
mov QWORD PTR -16[rbp], rax | |
cmp QWORD PTR -40[rbp], 0 | |
jns .L527 | |
mov rax, QWORD PTR mem0[rip] | |
mov rdi, rax | |
call sqlite3_mutex_leave | |
mov rax, QWORD PTR -16[rbp] | |
jmp .L526 | |
.L527: | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR mem0[rip+8], rax | |
mov edi, 0 | |
call sqlite3StatusValue | |
mov QWORD PTR -24[rbp], rax | |
cmp QWORD PTR -40[rbp], 0 | |
jle .L528 | |
mov rax, QWORD PTR -40[rbp] | |
cmp rax, QWORD PTR -24[rbp] | |
jg .L528 | |
mov eax, 1 | |
jmp .L529 | |
.L528: | |
mov eax, 0 | |
.L529: | |
mov DWORD PTR mem0[rip+16], eax | |
mov rax, QWORD PTR mem0[rip] | |
mov rdi, rax | |
call sqlite3_mutex_leave | |
call sqlite3_memory_used | |
sub rax, QWORD PTR -40[rbp] | |
mov QWORD PTR -32[rbp], rax | |
cmp QWORD PTR -32[rbp], 0 | |
jle .L530 | |
mov rax, QWORD PTR -32[rbp] | |
and eax, 2147483647 | |
mov edi, eax | |
call sqlite3_release_memory | |
.L530: | |
mov rax, QWORD PTR -16[rbp] | |
.L526: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE116: | |
.size sqlite3_soft_heap_limit64, .-sqlite3_soft_heap_limit64 | |
.globl sqlite3_soft_heap_limit | |
.type sqlite3_soft_heap_limit, @function | |
sqlite3_soft_heap_limit: | |
.LFB117: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov DWORD PTR -4[rbp], edi | |
cmp DWORD PTR -4[rbp], 0 | |
jns .L532 | |
mov DWORD PTR -4[rbp], 0 | |
.L532: | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
mov rdi, rax | |
call sqlite3_soft_heap_limit64 | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE117: | |
.size sqlite3_soft_heap_limit, .-sqlite3_soft_heap_limit | |
.type sqlite3MallocInit, @function | |
sqlite3MallocInit: | |
.LFB118: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov rax, QWORD PTR sqlite3Config[rip+48] | |
test rax, rax | |
jne .L534 | |
call sqlite3MemSetDefault | |
.L534: | |
mov edx, 24 | |
mov esi, 0 | |
lea rdi, mem0[rip] | |
call memset@PLT | |
mov edi, 3 | |
call sqlite3MutexAlloc | |
mov QWORD PTR mem0[rip], rax | |
mov rax, QWORD PTR sqlite3Config[rip+328] | |
test rax, rax | |
je .L535 | |
mov eax, DWORD PTR sqlite3Config[rip+336] | |
cmp eax, 511 | |
jle .L535 | |
mov eax, DWORD PTR sqlite3Config[rip+340] | |
test eax, eax | |
jg .L536 | |
.L535: | |
mov QWORD PTR sqlite3Config[rip+328], 0 | |
mov DWORD PTR sqlite3Config[rip+336], 0 | |
.L536: | |
mov rax, QWORD PTR sqlite3Config[rip+88] | |
mov rdx, QWORD PTR sqlite3Config[rip+104] | |
mov rdi, rdx | |
call rax | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L537 | |
mov edx, 24 | |
mov esi, 0 | |
lea rdi, mem0[rip] | |
call memset@PLT | |
.L537: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE118: | |
.size sqlite3MallocInit, .-sqlite3MallocInit | |
.type sqlite3HeapNearlyFull, @function | |
sqlite3HeapNearlyFull: | |
.LFB119: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov eax, DWORD PTR mem0[rip+16] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE119: | |
.size sqlite3HeapNearlyFull, .-sqlite3HeapNearlyFull | |
.type sqlite3MallocEnd, @function | |
sqlite3MallocEnd: | |
.LFB120: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov rax, QWORD PTR sqlite3Config[rip+96] | |
test rax, rax | |
je .L542 | |
mov rax, QWORD PTR sqlite3Config[rip+96] | |
mov rdx, QWORD PTR sqlite3Config[rip+104] | |
mov rdi, rdx | |
call rax | |
.L542: | |
mov edx, 24 | |
mov esi, 0 | |
lea rdi, mem0[rip] | |
call memset@PLT | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE120: | |
.size sqlite3MallocEnd, .-sqlite3MallocEnd | |
.globl sqlite3_memory_used | |
.type sqlite3_memory_used, @function | |
sqlite3_memory_used: | |
.LFB121: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
lea rdx, -16[rbp] | |
lea rax, -8[rbp] | |
mov ecx, 0 | |
mov rsi, rax | |
mov edi, 0 | |
call sqlite3_status64 | |
mov rax, QWORD PTR -8[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE121: | |
.size sqlite3_memory_used, .-sqlite3_memory_used | |
.globl sqlite3_memory_highwater | |
.type sqlite3_memory_highwater, @function | |
sqlite3_memory_highwater: | |
.LFB122: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov DWORD PTR -20[rbp], edi | |
mov ecx, DWORD PTR -20[rbp] | |
lea rdx, -16[rbp] | |
lea rax, -8[rbp] | |
mov rsi, rax | |
mov edi, 0 | |
call sqlite3_status64 | |
mov rax, QWORD PTR -16[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE122: | |
.size sqlite3_memory_highwater, .-sqlite3_memory_highwater | |
.type sqlite3MallocAlarm, @function | |
sqlite3MallocAlarm: | |
.LFB123: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov DWORD PTR -4[rbp], edi | |
mov rax, QWORD PTR mem0[rip+8] | |
test rax, rax | |
jle .L550 | |
mov rax, QWORD PTR mem0[rip] | |
mov rdi, rax | |
call sqlite3_mutex_leave | |
mov eax, DWORD PTR -4[rbp] | |
mov edi, eax | |
call sqlite3_release_memory | |
mov rax, QWORD PTR mem0[rip] | |
mov rdi, rax | |
call sqlite3_mutex_enter | |
jmp .L547 | |
.L550: | |
nop | |
.L547: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE123: | |
.size sqlite3MallocAlarm, .-sqlite3MallocAlarm | |
.type mallocWithAlarm, @function | |
mallocWithAlarm: | |
.LFB124: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov DWORD PTR -36[rbp], edi | |
mov QWORD PTR -48[rbp], rsi | |
mov rax, QWORD PTR sqlite3Config[rip+80] | |
mov edx, DWORD PTR -36[rbp] | |
mov edi, edx | |
call rax | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -36[rbp] | |
mov esi, eax | |
mov edi, 5 | |
call sqlite3StatusHighwater | |
mov rax, QWORD PTR mem0[rip+8] | |
test rax, rax | |
jle .L552 | |
mov edi, 0 | |
call sqlite3StatusValue | |
mov QWORD PTR -16[rbp], rax | |
mov rdx, QWORD PTR mem0[rip+8] | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
sub rdx, rax | |
mov rax, rdx | |
cmp rax, QWORD PTR -16[rbp] | |
jg .L553 | |
mov DWORD PTR mem0[rip+16], 1 | |
mov eax, DWORD PTR -4[rbp] | |
mov edi, eax | |
call sqlite3MallocAlarm | |
jmp .L552 | |
.L553: | |
mov DWORD PTR mem0[rip+16], 0 | |
.L552: | |
mov rax, QWORD PTR sqlite3Config[rip+48] | |
mov edx, DWORD PTR -4[rbp] | |
mov edi, edx | |
call rax | |
mov QWORD PTR -24[rbp], rax | |
cmp QWORD PTR -24[rbp], 0 | |
je .L554 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3MallocSize | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
mov esi, eax | |
mov edi, 0 | |
call sqlite3StatusUp | |
mov esi, 1 | |
mov edi, 9 | |
call sqlite3StatusUp | |
.L554: | |
mov rax, QWORD PTR -48[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov QWORD PTR [rax], rdx | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE124: | |
.size mallocWithAlarm, .-mallocWithAlarm | |
.type sqlite3Malloc, @function | |
sqlite3Malloc: | |
.LFB125: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
cmp QWORD PTR -24[rbp], 0 | |
je .L556 | |
cmp QWORD PTR -24[rbp], 2147483391 | |
jbe .L557 | |
.L556: | |
mov QWORD PTR -8[rbp], 0 | |
jmp .L558 | |
.L557: | |
mov eax, DWORD PTR sqlite3Config[rip] | |
test eax, eax | |
je .L559 | |
mov rax, QWORD PTR mem0[rip] | |
mov rdi, rax | |
call sqlite3_mutex_enter | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, eax | |
lea rax, -8[rbp] | |
mov rsi, rax | |
mov edi, edx | |
call mallocWithAlarm | |
mov rax, QWORD PTR mem0[rip] | |
mov rdi, rax | |
call sqlite3_mutex_leave | |
jmp .L558 | |
.L559: | |
mov rax, QWORD PTR sqlite3Config[rip+48] | |
mov rdx, QWORD PTR -24[rbp] | |
mov edi, edx | |
call rax | |
mov QWORD PTR -8[rbp], rax | |
.L558: | |
mov rax, QWORD PTR -8[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE125: | |
.size sqlite3Malloc, .-sqlite3Malloc | |
.globl sqlite3_malloc | |
.type sqlite3_malloc, @function | |
sqlite3_malloc: | |
.LFB126: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov DWORD PTR -4[rbp], edi | |
call sqlite3_initialize | |
test eax, eax | |
je .L562 | |
mov eax, 0 | |
jmp .L563 | |
.L562: | |
cmp DWORD PTR -4[rbp], 0 | |
jle .L564 | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
mov rdi, rax | |
call sqlite3Malloc | |
jmp .L563 | |
.L564: | |
mov eax, 0 | |
.L563: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE126: | |
.size sqlite3_malloc, .-sqlite3_malloc | |
.globl sqlite3_malloc64 | |
.type sqlite3_malloc64, @function | |
sqlite3_malloc64: | |
.LFB127: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
call sqlite3_initialize | |
test eax, eax | |
je .L567 | |
mov eax, 0 | |
jmp .L568 | |
.L567: | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3Malloc | |
.L568: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE127: | |
.size sqlite3_malloc64, .-sqlite3_malloc64 | |
.type isLookaside, @function | |
isLookaside: | |
.LFB128: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 392[rax] | |
mov rdx, rax | |
mov rax, QWORD PTR -16[rbp] | |
cmp rdx, rax | |
ja .L570 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 400[rax] | |
mov rdx, rax | |
mov rax, QWORD PTR -16[rbp] | |
cmp rdx, rax | |
jbe .L570 | |
mov eax, 1 | |
jmp .L572 | |
.L570: | |
mov eax, 0 | |
.L572: | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE128: | |
.size isLookaside, .-isLookaside | |
.type sqlite3MallocSize, @function | |
sqlite3MallocSize: | |
.LFB129: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR sqlite3Config[rip+72] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rdi, rdx | |
call rax | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE129: | |
.size sqlite3MallocSize, .-sqlite3MallocSize | |
.type sqlite3DbMallocSize, @function | |
sqlite3DbMallocSize: | |
.LFB130: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
cmp QWORD PTR -8[rbp], 0 | |
je .L576 | |
mov rdx, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call isLookaside | |
test eax, eax | |
jne .L577 | |
.L576: | |
mov rax, QWORD PTR sqlite3Config[rip+72] | |
mov rdx, QWORD PTR -16[rbp] | |
mov rdi, rdx | |
call rax | |
jmp .L578 | |
.L577: | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 356[rax] | |
movzx eax, ax | |
.L578: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE130: | |
.size sqlite3DbMallocSize, .-sqlite3DbMallocSize | |
.globl sqlite3_msize | |
.type sqlite3_msize, @function | |
sqlite3_msize: | |
.LFB131: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
cmp QWORD PTR -8[rbp], 0 | |
je .L580 | |
mov rax, QWORD PTR sqlite3Config[rip+72] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rdi, rdx | |
call rax | |
cdqe | |
jmp .L582 | |
.L580: | |
mov eax, 0 | |
.L582: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE131: | |
.size sqlite3_msize, .-sqlite3_msize | |
.globl sqlite3_free | |
.type sqlite3_free, @function | |
sqlite3_free: | |
.LFB132: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
cmp QWORD PTR -8[rbp], 0 | |
je .L587 | |
mov eax, DWORD PTR sqlite3Config[rip] | |
test eax, eax | |
je .L586 | |
mov rax, QWORD PTR mem0[rip] | |
mov rdi, rax | |
call sqlite3_mutex_enter | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3MallocSize | |
mov esi, eax | |
mov edi, 0 | |
call sqlite3StatusDown | |
mov esi, 1 | |
mov edi, 9 | |
call sqlite3StatusDown | |
mov rax, QWORD PTR sqlite3Config[rip+56] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rdi, rdx | |
call rax | |
mov rax, QWORD PTR mem0[rip] | |
mov rdi, rax | |
call sqlite3_mutex_leave | |
jmp .L583 | |
.L586: | |
mov rax, QWORD PTR sqlite3Config[rip+56] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rdi, rdx | |
call rax | |
jmp .L583 | |
.L587: | |
nop | |
.L583: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE132: | |
.size sqlite3_free, .-sqlite3_free | |
.type measureAllocationSize, @function | |
measureAllocationSize: | |
.LFB133: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov rdx, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DbMallocSize | |
mov ecx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 672[rax] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 672[rdx] | |
mov edx, DWORD PTR [rdx] | |
add edx, ecx | |
mov DWORD PTR [rax], edx | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE133: | |
.size measureAllocationSize, .-measureAllocationSize | |
.type sqlite3DbFreeNN, @function | |
sqlite3DbFreeNN: | |
.LFB134: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
cmp QWORD PTR -24[rbp], 0 | |
je .L590 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 672[rax] | |
test rax, rax | |
je .L591 | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call measureAllocationSize | |
jmp .L589 | |
.L591: | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call isLookaside | |
test eax, eax | |
je .L590 | |
mov rax, QWORD PTR -32[rbp] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 384[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov QWORD PTR 384[rax], rdx | |
jmp .L589 | |
.L590: | |
mov rax, QWORD PTR -32[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
.L589: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE134: | |
.size sqlite3DbFreeNN, .-sqlite3DbFreeNN | |
.type sqlite3DbFree, @function | |
sqlite3DbFree: | |
.LFB135: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
cmp QWORD PTR -16[rbp], 0 | |
je .L595 | |
mov rdx, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DbFreeNN | |
.L595: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE135: | |
.size sqlite3DbFree, .-sqlite3DbFree | |
.type sqlite3Realloc, @function | |
sqlite3Realloc: | |
.LFB136: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -48[rbp], rsi | |
cmp QWORD PTR -40[rbp], 0 | |
jne .L597 | |
mov rax, QWORD PTR -48[rbp] | |
mov rdi, rax | |
call sqlite3Malloc | |
jmp .L598 | |
.L597: | |
cmp QWORD PTR -48[rbp], 0 | |
jne .L599 | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
mov eax, 0 | |
jmp .L598 | |
.L599: | |
cmp QWORD PTR -48[rbp], 2147483391 | |
jbe .L600 | |
mov eax, 0 | |
jmp .L598 | |
.L600: | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call sqlite3MallocSize | |
mov DWORD PTR -12[rbp], eax | |
mov rax, QWORD PTR sqlite3Config[rip+80] | |
mov rdx, QWORD PTR -48[rbp] | |
mov edi, edx | |
call rax | |
mov DWORD PTR -16[rbp], eax | |
mov eax, DWORD PTR -12[rbp] | |
cmp eax, DWORD PTR -16[rbp] | |
jne .L601 | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L602 | |
.L601: | |
mov eax, DWORD PTR sqlite3Config[rip] | |
test eax, eax | |
je .L603 | |
mov rax, QWORD PTR mem0[rip] | |
mov rdi, rax | |
call sqlite3_mutex_enter | |
mov rax, QWORD PTR -48[rbp] | |
mov esi, eax | |
mov edi, 5 | |
call sqlite3StatusHighwater | |
mov eax, DWORD PTR -16[rbp] | |
sub eax, DWORD PTR -12[rbp] | |
mov DWORD PTR -20[rbp], eax | |
cmp DWORD PTR -20[rbp], 0 | |
jle .L604 | |
mov edi, 0 | |
call sqlite3StatusValue | |
mov rcx, rax | |
mov rdx, QWORD PTR mem0[rip+8] | |
mov eax, DWORD PTR -20[rbp] | |
cdqe | |
sub rdx, rax | |
mov rax, rdx | |
cmp rcx, rax | |
jl .L604 | |
mov eax, DWORD PTR -20[rbp] | |
mov edi, eax | |
call sqlite3MallocAlarm | |
.L604: | |
mov rax, QWORD PTR sqlite3Config[rip+64] | |
mov ecx, DWORD PTR -16[rbp] | |
mov rdx, QWORD PTR -40[rbp] | |
mov esi, ecx | |
mov rdi, rdx | |
call rax | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L605 | |
mov rax, QWORD PTR mem0[rip+8] | |
test rax, rax | |
jle .L605 | |
mov rax, QWORD PTR -48[rbp] | |
mov edi, eax | |
call sqlite3MallocAlarm | |
mov rax, QWORD PTR sqlite3Config[rip+64] | |
mov ecx, DWORD PTR -16[rbp] | |
mov rdx, QWORD PTR -40[rbp] | |
mov esi, ecx | |
mov rdi, rdx | |
call rax | |
mov QWORD PTR -8[rbp], rax | |
.L605: | |
cmp QWORD PTR -8[rbp], 0 | |
je .L606 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3MallocSize | |
mov DWORD PTR -16[rbp], eax | |
mov eax, DWORD PTR -16[rbp] | |
sub eax, DWORD PTR -12[rbp] | |
mov esi, eax | |
mov edi, 0 | |
call sqlite3StatusUp | |
.L606: | |
mov rax, QWORD PTR mem0[rip] | |
mov rdi, rax | |
call sqlite3_mutex_leave | |
jmp .L602 | |
.L603: | |
mov rax, QWORD PTR sqlite3Config[rip+64] | |
mov ecx, DWORD PTR -16[rbp] | |
mov rdx, QWORD PTR -40[rbp] | |
mov esi, ecx | |
mov rdi, rdx | |
call rax | |
mov QWORD PTR -8[rbp], rax | |
.L602: | |
mov rax, QWORD PTR -8[rbp] | |
.L598: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE136: | |
.size sqlite3Realloc, .-sqlite3Realloc | |
.globl sqlite3_realloc | |
.type sqlite3_realloc, @function | |
sqlite3_realloc: | |
.LFB137: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
call sqlite3_initialize | |
test eax, eax | |
je .L608 | |
mov eax, 0 | |
jmp .L609 | |
.L608: | |
cmp DWORD PTR -12[rbp], 0 | |
jns .L610 | |
mov DWORD PTR -12[rbp], 0 | |
.L610: | |
mov eax, DWORD PTR -12[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3Realloc | |
.L609: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE137: | |
.size sqlite3_realloc, .-sqlite3_realloc | |
.globl sqlite3_realloc64 | |
.type sqlite3_realloc64, @function | |
sqlite3_realloc64: | |
.LFB138: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
call sqlite3_initialize | |
test eax, eax | |
je .L612 | |
mov eax, 0 | |
jmp .L613 | |
.L612: | |
mov rdx, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3Realloc | |
.L613: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE138: | |
.size sqlite3_realloc64, .-sqlite3_realloc64 | |
.type sqlite3MallocZero, @function | |
sqlite3MallocZero: | |
.LFB139: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3Malloc | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
je .L615 | |
mov rdx, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
.L615: | |
mov rax, QWORD PTR -8[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE139: | |
.size sqlite3MallocZero, .-sqlite3MallocZero | |
.type sqlite3DbMallocZero, @function | |
sqlite3DbMallocZero: | |
.LFB140: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DbMallocRaw | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
je .L618 | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
.L618: | |
mov rax, QWORD PTR -8[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE140: | |
.size sqlite3DbMallocZero, .-sqlite3DbMallocZero | |
.type dbMallocRawFinish, @function | |
dbMallocRawFinish: | |
.LFB141: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov rax, QWORD PTR -32[rbp] | |
mov rdi, rax | |
call sqlite3Malloc | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L621 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3OomFault | |
.L621: | |
mov rax, QWORD PTR -8[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE141: | |
.size dbMallocRawFinish, .-dbMallocRawFinish | |
.type sqlite3DbMallocRaw, @function | |
sqlite3DbMallocRaw: | |
.LFB142: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
cmp QWORD PTR -24[rbp], 0 | |
je .L624 | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DbMallocRawNN | |
jmp .L625 | |
.L624: | |
mov rax, QWORD PTR -32[rbp] | |
mov rdi, rax | |
call sqlite3Malloc | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
.L625: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE142: | |
.size sqlite3DbMallocRaw, .-sqlite3DbMallocRaw | |
.type sqlite3DbMallocRawNN, @function | |
sqlite3DbMallocRawNN: | |
.LFB143: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 352[rax] | |
test eax, eax | |
jne .L627 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, WORD PTR 356[rax] | |
movzx eax, ax | |
cmp rax, QWORD PTR -32[rbp] | |
jnb .L628 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 368[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 368[rax], edx | |
jmp .L633 | |
.L628: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 384[rax] | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
je .L630 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 384[rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 364[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 364[rax], edx | |
mov rax, QWORD PTR -8[rbp] | |
jmp .L631 | |
.L630: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 376[rax] | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
je .L632 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 376[rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 364[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 364[rax], edx | |
mov rax, QWORD PTR -8[rbp] | |
jmp .L631 | |
.L632: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 372[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 372[rax], edx | |
jmp .L633 | |
.L627: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 97[rax] | |
test al, al | |
je .L633 | |
mov eax, 0 | |
jmp .L631 | |
.L633: | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call dbMallocRawFinish | |
.L631: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE143: | |
.size sqlite3DbMallocRawNN, .-sqlite3DbMallocRawNN | |
.type sqlite3DbRealloc, @function | |
sqlite3DbRealloc: | |
.LFB144: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov QWORD PTR -24[rbp], rdx | |
cmp QWORD PTR -16[rbp], 0 | |
jne .L635 | |
mov rdx, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DbMallocRawNN | |
jmp .L636 | |
.L635: | |
mov rdx, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call isLookaside | |
test eax, eax | |
je .L637 | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 356[rax] | |
movzx eax, ax | |
cmp rax, QWORD PTR -24[rbp] | |
jb .L637 | |
mov rax, QWORD PTR -16[rbp] | |
jmp .L636 | |
.L637: | |
mov rdx, QWORD PTR -24[rbp] | |
mov rcx, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call dbReallocFinish | |
.L636: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE144: | |
.size sqlite3DbRealloc, .-sqlite3DbRealloc | |
.type dbReallocFinish, @function | |
dbReallocFinish: | |
.LFB145: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov QWORD PTR -40[rbp], rdx | |
mov QWORD PTR -8[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 97[rax] | |
test al, al | |
jne .L639 | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call isLookaside | |
test eax, eax | |
je .L640 | |
mov rdx, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DbMallocRawNN | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
je .L639 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, WORD PTR 356[rax] | |
movzx edx, ax | |
mov rcx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call memcpy@PLT | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DbFree | |
jmp .L639 | |
.L640: | |
mov rdx, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3_realloc64 | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L639 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3OomFault | |
.L639: | |
mov rax, QWORD PTR -8[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE145: | |
.size dbReallocFinish, .-dbReallocFinish | |
.type sqlite3DbReallocOrFree, @function | |
sqlite3DbReallocOrFree: | |
.LFB146: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov QWORD PTR -40[rbp], rdx | |
mov rdx, QWORD PTR -40[rbp] | |
mov rcx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3DbRealloc | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L644 | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DbFree | |
.L644: | |
mov rax, QWORD PTR -8[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE146: | |
.size sqlite3DbReallocOrFree, .-sqlite3DbReallocOrFree | |
.type sqlite3DbStrDup, @function | |
sqlite3DbStrDup: | |
.LFB147: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
cmp QWORD PTR -32[rbp], 0 | |
jne .L647 | |
mov eax, 0 | |
jmp .L648 | |
.L647: | |
mov rax, QWORD PTR -32[rbp] | |
mov rdi, rax | |
call strlen@PLT | |
add rax, 1 | |
mov QWORD PTR -8[rbp], rax | |
mov rdx, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DbMallocRaw | |
mov QWORD PTR -16[rbp], rax | |
cmp QWORD PTR -16[rbp], 0 | |
je .L649 | |
mov rdx, QWORD PTR -8[rbp] | |
mov rcx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call memcpy@PLT | |
.L649: | |
mov rax, QWORD PTR -16[rbp] | |
.L648: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE147: | |
.size sqlite3DbStrDup, .-sqlite3DbStrDup | |
.type sqlite3DbStrNDup, @function | |
sqlite3DbStrNDup: | |
.LFB148: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov QWORD PTR -40[rbp], rdx | |
cmp QWORD PTR -32[rbp], 0 | |
jne .L651 | |
mov eax, 0 | |
jmp .L652 | |
.L651: | |
mov rax, QWORD PTR -40[rbp] | |
lea rdx, 1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DbMallocRawNN | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
je .L653 | |
mov rdx, QWORD PTR -40[rbp] | |
mov rcx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call memcpy@PLT | |
mov rdx, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
add rax, rdx | |
mov BYTE PTR [rax], 0 | |
.L653: | |
mov rax, QWORD PTR -8[rbp] | |
.L652: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE148: | |
.size sqlite3DbStrNDup, .-sqlite3DbStrNDup | |
.type sqlite3DbSpanDup, @function | |
sqlite3DbSpanDup: | |
.LFB149: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov QWORD PTR -40[rbp], rdx | |
jmp .L655 | |
.L656: | |
add QWORD PTR -32[rbp], 1 | |
.L655: | |
mov rax, QWORD PTR -32[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3CtypeMap[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
and eax, 1 | |
test eax, eax | |
jne .L656 | |
mov rdx, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
sub rdx, rax | |
mov rax, rdx | |
mov DWORD PTR -4[rbp], eax | |
jmp .L657 | |
.L659: | |
sub DWORD PTR -4[rbp], 1 | |
.L657: | |
cmp DWORD PTR -4[rbp], 0 | |
jle .L658 | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
lea rdx, -1[rax] | |
mov rax, QWORD PTR -32[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3CtypeMap[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
and eax, 1 | |
test eax, eax | |
jne .L659 | |
.L658: | |
mov eax, DWORD PTR -4[rbp] | |
movsx rdx, eax | |
mov rcx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3DbStrNDup | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE149: | |
.size sqlite3DbSpanDup, .-sqlite3DbSpanDup | |
.type sqlite3SetString, @function | |
sqlite3SetString: | |
.LFB150: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov QWORD PTR -24[rbp], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DbFree | |
mov rdx, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DbStrDup | |
mov rdx, rax | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], rdx | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE150: | |
.size sqlite3SetString, .-sqlite3SetString | |
.type sqlite3OomFault, @function | |
sqlite3OomFault: | |
.LFB151: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 97[rax] | |
test al, al | |
jne .L665 | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 98[rax] | |
test al, al | |
jne .L665 | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 97[rax], 1 | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 196[rax] | |
test eax, eax | |
jle .L664 | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 344[rax], 1 | |
.L664: | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 352[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 352[rax], edx | |
.L665: | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE151: | |
.size sqlite3OomFault, .-sqlite3OomFault | |
.type sqlite3OomClear, @function | |
sqlite3OomClear: | |
.LFB152: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 97[rax] | |
test al, al | |
je .L668 | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 196[rax] | |
test eax, eax | |
jne .L668 | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 97[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 344[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 352[rax] | |
lea edx, -1[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 352[rax], edx | |
.L668: | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE152: | |
.size sqlite3OomClear, .-sqlite3OomClear | |
.type apiOomError, @function | |
apiOomError: | |
.LFB153: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3OomClear | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, 7 | |
mov rdi, rax | |
call sqlite3Error | |
mov eax, 7 | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE153: | |
.size apiOomError, .-apiOomError | |
.type sqlite3ApiExit, @function | |
sqlite3ApiExit: | |
.LFB154: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 97[rax] | |
test al, al | |
jne .L672 | |
cmp DWORD PTR -12[rbp], 3082 | |
jne .L673 | |
.L672: | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call apiOomError | |
jmp .L674 | |
.L673: | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 84[rax] | |
and eax, DWORD PTR -12[rbp] | |
.L674: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE154: | |
.size sqlite3ApiExit, .-sqlite3ApiExit | |
.section .rodata | |
.align 32 | |
.type aDigits, @object | |
.size aDigits, 33 | |
aDigits: | |
.string "0123456789ABCDEF0123456789abcdef" | |
.type aPrefix, @object | |
.size aPrefix, 7 | |
aPrefix: | |
.string "-x0" | |
.string "X0" | |
.align 32 | |
.type fmtinfo, @object | |
.size fmtinfo, 138 | |
fmtinfo: | |
.byte 100 | |
.byte 10 | |
.byte 1 | |
.byte 16 | |
.byte 0 | |
.byte 0 | |
.byte 115 | |
.byte 0 | |
.byte 4 | |
.byte 5 | |
.byte 0 | |
.byte 0 | |
.byte 103 | |
.byte 0 | |
.byte 1 | |
.byte 3 | |
.byte 30 | |
.byte 0 | |
.byte 122 | |
.byte 0 | |
.byte 4 | |
.byte 6 | |
.byte 0 | |
.byte 0 | |
.byte 113 | |
.byte 0 | |
.byte 4 | |
.byte 9 | |
.byte 0 | |
.byte 0 | |
.byte 81 | |
.byte 0 | |
.byte 4 | |
.byte 10 | |
.byte 0 | |
.byte 0 | |
.byte 119 | |
.byte 0 | |
.byte 4 | |
.byte 14 | |
.byte 0 | |
.byte 0 | |
.byte 99 | |
.byte 0 | |
.byte 0 | |
.byte 8 | |
.byte 0 | |
.byte 0 | |
.byte 111 | |
.byte 8 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 2 | |
.byte 117 | |
.byte 10 | |
.byte 0 | |
.byte 16 | |
.byte 0 | |
.byte 0 | |
.byte 120 | |
.byte 16 | |
.byte 0 | |
.byte 0 | |
.byte 16 | |
.byte 1 | |
.byte 88 | |
.byte 16 | |
.byte 0 | |
.byte 0 | |
.byte 0 | |
.byte 4 | |
.byte 102 | |
.byte 0 | |
.byte 1 | |
.byte 1 | |
.byte 0 | |
.byte 0 | |
.byte 101 | |
.byte 0 | |
.byte 1 | |
.byte 2 | |
.byte 30 | |
.byte 0 | |
.byte 69 | |
.byte 0 | |
.byte 1 | |
.byte 2 | |
.byte 14 | |
.byte 0 | |
.byte 71 | |
.byte 0 | |
.byte 1 | |
.byte 3 | |
.byte 14 | |
.byte 0 | |
.byte 105 | |
.byte 10 | |
.byte 1 | |
.byte 16 | |
.byte 0 | |
.byte 0 | |
.byte 110 | |
.byte 0 | |
.byte 0 | |
.byte 4 | |
.byte 0 | |
.byte 0 | |
.byte 37 | |
.byte 0 | |
.byte 0 | |
.byte 7 | |
.byte 0 | |
.byte 0 | |
.byte 112 | |
.byte 16 | |
.byte 0 | |
.byte 13 | |
.byte 0 | |
.byte 1 | |
.byte 84 | |
.byte 0 | |
.byte 0 | |
.byte 11 | |
.byte 0 | |
.byte 0 | |
.byte 83 | |
.byte 0 | |
.byte 0 | |
.byte 12 | |
.byte 0 | |
.byte 0 | |
.byte 114 | |
.byte 10 | |
.byte 1 | |
.byte 15 | |
.byte 0 | |
.byte 0 | |
.text | |
.type et_getdigit, @function | |
et_getdigit: | |
.LFB155: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -48[rbp], rsi | |
mov rax, QWORD PTR -48[rbp] | |
mov eax, DWORD PTR [rax] | |
test eax, eax | |
jg .L676 | |
mov eax, 48 | |
jmp .L677 | |
.L676: | |
mov rax, QWORD PTR -48[rbp] | |
mov eax, DWORD PTR [rax] | |
lea edx, -1[rax] | |
mov rax, QWORD PTR -48[rbp] | |
mov DWORD PTR [rax], edx | |
mov rax, QWORD PTR -40[rbp] | |
fld TBYTE PTR [rax] | |
fnstcw WORD PTR -50[rbp] | |
movzx eax, WORD PTR -50[rbp] | |
or ah, 12 | |
mov WORD PTR -52[rbp], ax | |
fldcw WORD PTR -52[rbp] | |
fistp DWORD PTR -4[rbp] | |
fldcw WORD PTR -50[rbp] | |
fild DWORD PTR -4[rbp] | |
fstp TBYTE PTR -32[rbp] | |
add DWORD PTR -4[rbp], 48 | |
mov rax, QWORD PTR -40[rbp] | |
fld TBYTE PTR [rax] | |
fld TBYTE PTR -32[rbp] | |
fsubp st(1), st | |
fld TBYTE PTR .LC52[rip] | |
fmulp st(1), st | |
mov rax, QWORD PTR -40[rbp] | |
fstp TBYTE PTR [rax] | |
mov eax, DWORD PTR -4[rbp] | |
.L677: | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE155: | |
.size et_getdigit, .-et_getdigit | |
.type setStrAccumError, @function | |
setStrAccumError: | |
.LFB156: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov eax, esi | |
mov BYTE PTR -12[rbp], al | |
mov rax, QWORD PTR -8[rbp] | |
movzx edx, BYTE PTR -12[rbp] | |
mov BYTE PTR 28[rax], dl | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 16[rax], 0 | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE156: | |
.size setStrAccumError, .-setStrAccumError | |
.type getIntArg, @function | |
getIntArg: | |
.LFB157: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 4[rax] | |
cmp edx, eax | |
jg .L680 | |
mov eax, 0 | |
jmp .L681 | |
.L680: | |
mov rax, QWORD PTR -8[rbp] | |
mov rsi, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 4[rax] | |
lea ecx, 1[rax] | |
mov rdx, QWORD PTR -8[rbp] | |
mov DWORD PTR 4[rdx], ecx | |
cdqe | |
sal rax, 3 | |
add rax, rsi | |
mov rax, QWORD PTR [rax] | |
mov rdi, rax | |
call sqlite3_value_int64 | |
.L681: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE157: | |
.size getIntArg, .-getIntArg | |
.type getDoubleArg, @function | |
getDoubleArg: | |
.LFB158: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 4[rax] | |
cmp edx, eax | |
jg .L683 | |
mov rax, QWORD PTR .LC5[rip] | |
jmp .L684 | |
.L683: | |
mov rax, QWORD PTR -8[rbp] | |
mov rsi, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 4[rax] | |
lea ecx, 1[rax] | |
mov rdx, QWORD PTR -8[rbp] | |
mov DWORD PTR 4[rdx], ecx | |
cdqe | |
sal rax, 3 | |
add rax, rsi | |
mov rax, QWORD PTR [rax] | |
mov rdi, rax | |
call sqlite3_value_double | |
movq rax, xmm0 | |
.L684: | |
mov QWORD PTR -16[rbp], rax | |
movsd xmm0, QWORD PTR -16[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE158: | |
.size getDoubleArg, .-getDoubleArg | |
.type getTextArg, @function | |
getTextArg: | |
.LFB159: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 4[rax] | |
cmp edx, eax | |
jg .L686 | |
mov eax, 0 | |
jmp .L687 | |
.L686: | |
mov rax, QWORD PTR -8[rbp] | |
mov rsi, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 4[rax] | |
lea ecx, 1[rax] | |
mov rdx, QWORD PTR -8[rbp] | |
mov DWORD PTR 4[rdx], ecx | |
cdqe | |
sal rax, 3 | |
add rax, rsi | |
mov rax, QWORD PTR [rax] | |
mov rdi, rax | |
call sqlite3_value_text | |
.L687: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE159: | |
.size getTextArg, .-getTextArg | |
.section .rodata | |
.LC54: | |
.string "%" | |
.LC57: | |
.string "NaN" | |
.LC63: | |
.string "Inf" | |
.LC65: | |
.string "" | |
.LC66: | |
.string "NULL" | |
.LC67: | |
.string "(NULL)" | |
.LC68: | |
.string "." | |
.text | |
.type sqlite3VXPrintf, @function | |
sqlite3VXPrintf: | |
.LFB160: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
push rbx | |
sub rsp, 424 | |
.cfi_offset 3, -24 | |
mov QWORD PTR -392[rbp], rdi | |
mov QWORD PTR -400[rbp], rsi | |
mov QWORD PTR -408[rbp], rdx | |
mov BYTE PTR -57[rbp], 17 | |
mov QWORD PTR -104[rbp], 0 | |
mov QWORD PTR -136[rbp], 0 | |
mov QWORD PTR -32[rbp], 0 | |
mov rax, QWORD PTR -392[rbp] | |
movzx eax, BYTE PTR 29[rax] | |
movzx eax, al | |
and eax, 2 | |
test eax, eax | |
je .L689 | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp eax, 47 | |
ja .L690 | |
mov rax, QWORD PTR -408[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
mov eax, eax | |
add rax, rdx | |
mov rdx, QWORD PTR -408[rbp] | |
mov edx, DWORD PTR [rdx] | |
lea ecx, 8[rdx] | |
mov rdx, QWORD PTR -408[rbp] | |
mov DWORD PTR [rdx], ecx | |
jmp .L691 | |
.L690: | |
mov rax, QWORD PTR -408[rbp] | |
mov rax, QWORD PTR 8[rax] | |
lea rcx, 8[rax] | |
mov rdx, QWORD PTR -408[rbp] | |
mov QWORD PTR 8[rdx], rcx | |
.L691: | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -136[rbp], rax | |
mov BYTE PTR -58[rbp], 1 | |
jmp .L693 | |
.L689: | |
mov BYTE PTR -58[rbp], 0 | |
jmp .L693 | |
.L930: | |
cmp DWORD PTR -20[rbp], 37 | |
je .L694 | |
mov rax, QWORD PTR -400[rbp] | |
mov QWORD PTR -32[rbp], rax | |
.L696: | |
add QWORD PTR -400[rbp], 1 | |
mov rax, QWORD PTR -400[rbp] | |
movzx eax, BYTE PTR [rax] | |
test al, al | |
je .L695 | |
mov rax, QWORD PTR -400[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 37 | |
jne .L696 | |
.L695: | |
mov rdx, QWORD PTR -400[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
sub rdx, rax | |
mov rax, rdx | |
mov edx, eax | |
mov rcx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -392[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3StrAccumAppend | |
mov rax, QWORD PTR -400[rbp] | |
movzx eax, BYTE PTR [rax] | |
test al, al | |
je .L939 | |
.L694: | |
add QWORD PTR -400[rbp], 1 | |
mov rax, QWORD PTR -400[rbp] | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
mov DWORD PTR -20[rbp], eax | |
cmp DWORD PTR -20[rbp], 0 | |
jne .L698 | |
mov rax, QWORD PTR -392[rbp] | |
mov edx, 1 | |
lea rsi, .LC54[rip] | |
mov rdi, rax | |
call sqlite3StrAccumAppend | |
jmp .L688 | |
.L698: | |
mov BYTE PTR -53[rbp], 0 | |
movzx eax, BYTE PTR -53[rbp] | |
mov BYTE PTR -52[rbp], al | |
movzx eax, BYTE PTR -52[rbp] | |
mov BYTE PTR -51[rbp], al | |
movzx eax, BYTE PTR -51[rbp] | |
mov BYTE PTR -56[rbp], al | |
movzx eax, BYTE PTR -56[rbp] | |
mov BYTE PTR -50[rbp], al | |
movzx eax, BYTE PTR -50[rbp] | |
mov BYTE PTR -49[rbp], al | |
mov BYTE PTR -55[rbp], 0 | |
.L710: | |
mov eax, DWORD PTR -20[rbp] | |
sub eax, 32 | |
cmp eax, 16 | |
ja .L699 | |
mov eax, eax | |
lea rdx, 0[0+rax*4] | |
lea rax, .L701[rip] | |
mov eax, DWORD PTR [rdx+rax] | |
movsx rdx, eax | |
lea rax, .L701[rip] | |
add rax, rdx | |
jmp rax | |
.section .rodata | |
.align 4 | |
.align 4 | |
.L701: | |
.long .L700-.L701 | |
.long .L702-.L701 | |
.long .L699-.L701 | |
.long .L703-.L701 | |
.long .L699-.L701 | |
.long .L699-.L701 | |
.long .L699-.L701 | |
.long .L699-.L701 | |
.long .L699-.L701 | |
.long .L699-.L701 | |
.long .L699-.L701 | |
.long .L704-.L701 | |
.long .L705-.L701 | |
.long .L706-.L701 | |
.long .L699-.L701 | |
.long .L699-.L701 | |
.long .L707-.L701 | |
.text | |
.L706: | |
mov BYTE PTR -49[rbp], 1 | |
jmp .L708 | |
.L704: | |
mov BYTE PTR -50[rbp], 43 | |
jmp .L708 | |
.L700: | |
mov BYTE PTR -50[rbp], 32 | |
jmp .L708 | |
.L703: | |
mov BYTE PTR -51[rbp], 1 | |
jmp .L708 | |
.L702: | |
mov BYTE PTR -52[rbp], 1 | |
jmp .L708 | |
.L707: | |
mov BYTE PTR -53[rbp], 1 | |
jmp .L708 | |
.L705: | |
mov BYTE PTR -56[rbp], 44 | |
jmp .L708 | |
.L699: | |
mov BYTE PTR -55[rbp], 1 | |
nop | |
.L708: | |
cmp BYTE PTR -55[rbp], 0 | |
jne .L709 | |
add QWORD PTR -400[rbp], 1 | |
mov rax, QWORD PTR -400[rbp] | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
mov DWORD PTR -20[rbp], eax | |
cmp DWORD PTR -20[rbp], 0 | |
jne .L710 | |
.L709: | |
cmp DWORD PTR -20[rbp], 42 | |
jne .L711 | |
cmp BYTE PTR -58[rbp], 0 | |
je .L712 | |
mov rax, QWORD PTR -136[rbp] | |
mov rdi, rax | |
call getIntArg | |
mov DWORD PTR -48[rbp], eax | |
jmp .L713 | |
.L712: | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp eax, 47 | |
ja .L714 | |
mov rax, QWORD PTR -408[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
mov eax, eax | |
add rax, rdx | |
mov rdx, QWORD PTR -408[rbp] | |
mov edx, DWORD PTR [rdx] | |
lea ecx, 8[rdx] | |
mov rdx, QWORD PTR -408[rbp] | |
mov DWORD PTR [rdx], ecx | |
jmp .L715 | |
.L714: | |
mov rax, QWORD PTR -408[rbp] | |
mov rax, QWORD PTR 8[rax] | |
lea rcx, 8[rax] | |
mov rdx, QWORD PTR -408[rbp] | |
mov QWORD PTR 8[rdx], rcx | |
.L715: | |
mov eax, DWORD PTR [rax] | |
mov DWORD PTR -48[rbp], eax | |
.L713: | |
cmp DWORD PTR -48[rbp], 0 | |
jns .L716 | |
mov BYTE PTR -49[rbp], 1 | |
cmp DWORD PTR -48[rbp], -2147483648 | |
je .L717 | |
mov eax, DWORD PTR -48[rbp] | |
neg eax | |
jmp .L718 | |
.L717: | |
mov eax, 0 | |
.L718: | |
mov DWORD PTR -48[rbp], eax | |
.L716: | |
add QWORD PTR -400[rbp], 1 | |
mov rax, QWORD PTR -400[rbp] | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
mov DWORD PTR -20[rbp], eax | |
jmp .L719 | |
.L711: | |
mov DWORD PTR -140[rbp], 0 | |
jmp .L720 | |
.L722: | |
mov edx, DWORD PTR -140[rbp] | |
mov eax, edx | |
sal eax, 2 | |
add eax, edx | |
add eax, eax | |
mov edx, eax | |
mov eax, DWORD PTR -20[rbp] | |
add eax, edx | |
sub eax, 48 | |
mov DWORD PTR -140[rbp], eax | |
add QWORD PTR -400[rbp], 1 | |
mov rax, QWORD PTR -400[rbp] | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
mov DWORD PTR -20[rbp], eax | |
.L720: | |
cmp DWORD PTR -20[rbp], 47 | |
jle .L721 | |
cmp DWORD PTR -20[rbp], 57 | |
jle .L722 | |
.L721: | |
mov eax, DWORD PTR -140[rbp] | |
and eax, 2147483647 | |
mov DWORD PTR -48[rbp], eax | |
.L719: | |
cmp DWORD PTR -20[rbp], 46 | |
jne .L723 | |
add QWORD PTR -400[rbp], 1 | |
mov rax, QWORD PTR -400[rbp] | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
mov DWORD PTR -20[rbp], eax | |
cmp DWORD PTR -20[rbp], 42 | |
jne .L724 | |
cmp BYTE PTR -58[rbp], 0 | |
je .L725 | |
mov rax, QWORD PTR -136[rbp] | |
mov rdi, rax | |
call getIntArg | |
mov DWORD PTR -36[rbp], eax | |
jmp .L726 | |
.L725: | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp eax, 47 | |
ja .L727 | |
mov rax, QWORD PTR -408[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
mov eax, eax | |
add rax, rdx | |
mov rdx, QWORD PTR -408[rbp] | |
mov edx, DWORD PTR [rdx] | |
lea ecx, 8[rdx] | |
mov rdx, QWORD PTR -408[rbp] | |
mov DWORD PTR [rdx], ecx | |
jmp .L728 | |
.L727: | |
mov rax, QWORD PTR -408[rbp] | |
mov rax, QWORD PTR 8[rax] | |
lea rcx, 8[rax] | |
mov rdx, QWORD PTR -408[rbp] | |
mov QWORD PTR 8[rdx], rcx | |
.L728: | |
mov eax, DWORD PTR [rax] | |
mov DWORD PTR -36[rbp], eax | |
.L726: | |
add QWORD PTR -400[rbp], 1 | |
mov rax, QWORD PTR -400[rbp] | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
mov DWORD PTR -20[rbp], eax | |
cmp DWORD PTR -36[rbp], 0 | |
jns .L736 | |
cmp DWORD PTR -36[rbp], -2147483648 | |
je .L730 | |
mov eax, DWORD PTR -36[rbp] | |
neg eax | |
jmp .L731 | |
.L730: | |
mov eax, -1 | |
.L731: | |
mov DWORD PTR -36[rbp], eax | |
jmp .L736 | |
.L724: | |
mov DWORD PTR -144[rbp], 0 | |
jmp .L733 | |
.L735: | |
mov edx, DWORD PTR -144[rbp] | |
mov eax, edx | |
sal eax, 2 | |
add eax, edx | |
add eax, eax | |
mov edx, eax | |
mov eax, DWORD PTR -20[rbp] | |
add eax, edx | |
sub eax, 48 | |
mov DWORD PTR -144[rbp], eax | |
add QWORD PTR -400[rbp], 1 | |
mov rax, QWORD PTR -400[rbp] | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
mov DWORD PTR -20[rbp], eax | |
.L733: | |
cmp DWORD PTR -20[rbp], 47 | |
jle .L734 | |
cmp DWORD PTR -20[rbp], 57 | |
jle .L735 | |
.L734: | |
mov eax, DWORD PTR -144[rbp] | |
and eax, 2147483647 | |
mov DWORD PTR -36[rbp], eax | |
jmp .L736 | |
.L723: | |
mov DWORD PTR -36[rbp], -1 | |
.L736: | |
cmp DWORD PTR -20[rbp], 108 | |
jne .L737 | |
mov BYTE PTR -54[rbp], 1 | |
add QWORD PTR -400[rbp], 1 | |
mov rax, QWORD PTR -400[rbp] | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
mov DWORD PTR -20[rbp], eax | |
cmp DWORD PTR -20[rbp], 108 | |
jne .L739 | |
mov BYTE PTR -54[rbp], 2 | |
add QWORD PTR -400[rbp], 1 | |
mov rax, QWORD PTR -400[rbp] | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
mov DWORD PTR -20[rbp], eax | |
jmp .L739 | |
.L737: | |
mov BYTE PTR -54[rbp], 0 | |
.L739: | |
lea rax, fmtinfo[rip] | |
mov QWORD PTR -80[rbp], rax | |
mov BYTE PTR -57[rbp], 17 | |
mov DWORD PTR -44[rbp], 0 | |
jmp .L740 | |
.L743: | |
mov eax, DWORD PTR -44[rbp] | |
movsx rdx, eax | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
add rax, rax | |
mov rdx, rax | |
lea rax, fmtinfo[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movsx eax, al | |
cmp eax, DWORD PTR -20[rbp] | |
jne .L741 | |
mov eax, DWORD PTR -44[rbp] | |
movsx rdx, eax | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
add rax, rax | |
lea rdx, fmtinfo[rip] | |
add rax, rdx | |
mov QWORD PTR -80[rbp], rax | |
mov rax, QWORD PTR -80[rbp] | |
movzx eax, BYTE PTR 3[rax] | |
mov BYTE PTR -57[rbp], al | |
jmp .L742 | |
.L741: | |
add DWORD PTR -44[rbp], 1 | |
.L740: | |
cmp DWORD PTR -44[rbp], 22 | |
jle .L743 | |
.L742: | |
movzx eax, BYTE PTR -57[rbp] | |
cmp eax, 16 | |
ja .L940 | |
mov eax, eax | |
lea rdx, 0[0+rax*4] | |
lea rax, .L746[rip] | |
mov eax, DWORD PTR [rdx+rax] | |
movsx rdx, eax | |
lea rax, .L746[rip] | |
add rax, rdx | |
jmp rax | |
.section .rodata | |
.align 4 | |
.align 4 | |
.L746: | |
.long .L745-.L746 | |
.long .L747-.L746 | |
.long .L747-.L746 | |
.long .L747-.L746 | |
.long .L748-.L746 | |
.long .L749-.L746 | |
.long .L749-.L746 | |
.long .L750-.L746 | |
.long .L751-.L746 | |
.long .L752-.L746 | |
.long .L752-.L746 | |
.long .L753-.L746 | |
.long .L754-.L746 | |
.long .L755-.L746 | |
.long .L752-.L746 | |
.long .L745-.L746 | |
.long .L756-.L746 | |
.text | |
.L755: | |
mov BYTE PTR -54[rbp], 2 | |
.L745: | |
mov BYTE PTR -56[rbp], 0 | |
.L756: | |
mov rax, QWORD PTR -80[rbp] | |
movzx eax, BYTE PTR 2[rax] | |
movzx eax, al | |
and eax, 1 | |
test eax, eax | |
je .L757 | |
cmp BYTE PTR -58[rbp], 0 | |
je .L758 | |
mov rax, QWORD PTR -136[rbp] | |
mov rdi, rax | |
call getIntArg | |
mov QWORD PTR -152[rbp], rax | |
jmp .L759 | |
.L758: | |
cmp BYTE PTR -54[rbp], 0 | |
je .L760 | |
cmp BYTE PTR -54[rbp], 2 | |
jne .L761 | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp eax, 47 | |
ja .L762 | |
mov rax, QWORD PTR -408[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
mov eax, eax | |
add rax, rdx | |
mov rdx, QWORD PTR -408[rbp] | |
mov edx, DWORD PTR [rdx] | |
lea ecx, 8[rdx] | |
mov rdx, QWORD PTR -408[rbp] | |
mov DWORD PTR [rdx], ecx | |
jmp .L763 | |
.L762: | |
mov rax, QWORD PTR -408[rbp] | |
mov rax, QWORD PTR 8[rax] | |
lea rcx, 8[rax] | |
mov rdx, QWORD PTR -408[rbp] | |
mov QWORD PTR 8[rdx], rcx | |
.L763: | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -152[rbp], rax | |
jmp .L759 | |
.L761: | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp eax, 47 | |
ja .L765 | |
mov rax, QWORD PTR -408[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
mov eax, eax | |
add rax, rdx | |
mov rdx, QWORD PTR -408[rbp] | |
mov edx, DWORD PTR [rdx] | |
lea ecx, 8[rdx] | |
mov rdx, QWORD PTR -408[rbp] | |
mov DWORD PTR [rdx], ecx | |
jmp .L766 | |
.L765: | |
mov rax, QWORD PTR -408[rbp] | |
mov rax, QWORD PTR 8[rax] | |
lea rcx, 8[rax] | |
mov rdx, QWORD PTR -408[rbp] | |
mov QWORD PTR 8[rdx], rcx | |
.L766: | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -152[rbp], rax | |
jmp .L759 | |
.L760: | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp eax, 47 | |
ja .L767 | |
mov rax, QWORD PTR -408[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
mov eax, eax | |
add rax, rdx | |
mov rdx, QWORD PTR -408[rbp] | |
mov edx, DWORD PTR [rdx] | |
lea ecx, 8[rdx] | |
mov rdx, QWORD PTR -408[rbp] | |
mov DWORD PTR [rdx], ecx | |
jmp .L768 | |
.L767: | |
mov rax, QWORD PTR -408[rbp] | |
mov rax, QWORD PTR 8[rax] | |
lea rcx, 8[rax] | |
mov rdx, QWORD PTR -408[rbp] | |
mov QWORD PTR 8[rdx], rcx | |
.L768: | |
mov eax, DWORD PTR [rax] | |
cdqe | |
mov QWORD PTR -152[rbp], rax | |
.L759: | |
cmp QWORD PTR -152[rbp], 0 | |
jns .L769 | |
movabs rax, -9223372036854775808 | |
cmp QWORD PTR -152[rbp], rax | |
jne .L770 | |
movabs rax, -9223372036854775808 | |
mov QWORD PTR -72[rbp], rax | |
jmp .L771 | |
.L770: | |
mov rax, QWORD PTR -152[rbp] | |
neg rax | |
mov QWORD PTR -72[rbp], rax | |
.L771: | |
mov BYTE PTR -59[rbp], 45 | |
jmp .L773 | |
.L769: | |
mov rax, QWORD PTR -152[rbp] | |
mov QWORD PTR -72[rbp], rax | |
movzx eax, BYTE PTR -50[rbp] | |
mov BYTE PTR -59[rbp], al | |
jmp .L773 | |
.L757: | |
cmp BYTE PTR -58[rbp], 0 | |
je .L774 | |
mov rax, QWORD PTR -136[rbp] | |
mov rdi, rax | |
call getIntArg | |
mov QWORD PTR -72[rbp], rax | |
jmp .L775 | |
.L774: | |
cmp BYTE PTR -54[rbp], 0 | |
je .L776 | |
cmp BYTE PTR -54[rbp], 2 | |
jne .L777 | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp eax, 47 | |
ja .L778 | |
mov rax, QWORD PTR -408[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
mov eax, eax | |
add rax, rdx | |
mov rdx, QWORD PTR -408[rbp] | |
mov edx, DWORD PTR [rdx] | |
lea ecx, 8[rdx] | |
mov rdx, QWORD PTR -408[rbp] | |
mov DWORD PTR [rdx], ecx | |
jmp .L779 | |
.L778: | |
mov rax, QWORD PTR -408[rbp] | |
mov rax, QWORD PTR 8[rax] | |
lea rcx, 8[rax] | |
mov rdx, QWORD PTR -408[rbp] | |
mov QWORD PTR 8[rdx], rcx | |
.L779: | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -72[rbp], rax | |
jmp .L775 | |
.L777: | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp eax, 47 | |
ja .L781 | |
mov rax, QWORD PTR -408[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
mov eax, eax | |
add rax, rdx | |
mov rdx, QWORD PTR -408[rbp] | |
mov edx, DWORD PTR [rdx] | |
lea ecx, 8[rdx] | |
mov rdx, QWORD PTR -408[rbp] | |
mov DWORD PTR [rdx], ecx | |
jmp .L782 | |
.L781: | |
mov rax, QWORD PTR -408[rbp] | |
mov rax, QWORD PTR 8[rax] | |
lea rcx, 8[rax] | |
mov rdx, QWORD PTR -408[rbp] | |
mov QWORD PTR 8[rdx], rcx | |
.L782: | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -72[rbp], rax | |
jmp .L775 | |
.L776: | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp eax, 47 | |
ja .L783 | |
mov rax, QWORD PTR -408[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
mov eax, eax | |
add rax, rdx | |
mov rdx, QWORD PTR -408[rbp] | |
mov edx, DWORD PTR [rdx] | |
lea ecx, 8[rdx] | |
mov rdx, QWORD PTR -408[rbp] | |
mov DWORD PTR [rdx], ecx | |
jmp .L784 | |
.L783: | |
mov rax, QWORD PTR -408[rbp] | |
mov rax, QWORD PTR 8[rax] | |
lea rcx, 8[rax] | |
mov rdx, QWORD PTR -408[rbp] | |
mov QWORD PTR 8[rdx], rcx | |
.L784: | |
mov eax, DWORD PTR [rax] | |
mov eax, eax | |
mov QWORD PTR -72[rbp], rax | |
.L775: | |
mov BYTE PTR -59[rbp], 0 | |
.L773: | |
cmp QWORD PTR -72[rbp], 0 | |
jne .L785 | |
mov BYTE PTR -51[rbp], 0 | |
.L785: | |
cmp BYTE PTR -53[rbp], 0 | |
je .L786 | |
cmp BYTE PTR -59[rbp], 0 | |
setne al | |
movzx eax, al | |
mov edx, DWORD PTR -48[rbp] | |
sub edx, eax | |
mov eax, edx | |
cmp eax, DWORD PTR -36[rbp] | |
jle .L786 | |
cmp BYTE PTR -59[rbp], 0 | |
setne al | |
movzx eax, al | |
mov edx, DWORD PTR -48[rbp] | |
sub edx, eax | |
mov eax, edx | |
mov DWORD PTR -36[rbp], eax | |
.L786: | |
cmp DWORD PTR -36[rbp], 36 | |
jg .L787 | |
mov DWORD PTR -92[rbp], 70 | |
lea rax, -384[rbp] | |
mov QWORD PTR -88[rbp], rax | |
jmp .L788 | |
.L787: | |
mov eax, DWORD PTR -36[rbp] | |
movsx rsi, eax | |
mov ecx, DWORD PTR -36[rbp] | |
mov edx, 1431655766 | |
mov eax, ecx | |
imul edx | |
mov eax, ecx | |
sar eax, 31 | |
sub edx, eax | |
mov eax, edx | |
cdqe | |
add rax, rsi | |
add rax, 10 | |
mov QWORD PTR -232[rbp], rax | |
mov rax, QWORD PTR -232[rbp] | |
mov rdi, rax | |
call sqlite3Malloc | |
mov QWORD PTR -104[rbp], rax | |
mov rax, QWORD PTR -104[rbp] | |
mov QWORD PTR -88[rbp], rax | |
cmp QWORD PTR -88[rbp], 0 | |
jne .L789 | |
mov rax, QWORD PTR -392[rbp] | |
mov esi, 1 | |
mov rdi, rax | |
call setStrAccumError | |
jmp .L688 | |
.L789: | |
mov rax, QWORD PTR -232[rbp] | |
mov DWORD PTR -92[rbp], eax | |
.L788: | |
mov eax, DWORD PTR -92[rbp] | |
cdqe | |
lea rdx, -1[rax] | |
mov rax, QWORD PTR -88[rbp] | |
add rax, rdx | |
mov QWORD PTR -32[rbp], rax | |
cmp BYTE PTR -57[rbp], 15 | |
jne .L791 | |
mov rcx, QWORD PTR -72[rbp] | |
movabs rdx, -3689348814741910323 | |
mov rax, rcx | |
mul rdx | |
shr rdx, 3 | |
mov rax, rdx | |
sal rax, 2 | |
add rax, rdx | |
add rax, rax | |
sub rcx, rax | |
mov rdx, rcx | |
mov DWORD PTR -156[rbp], edx | |
cmp DWORD PTR -156[rbp], 3 | |
jg .L792 | |
mov rax, QWORD PTR -72[rbp] | |
movabs rdx, -3689348814741910323 | |
mul rdx | |
mov rcx, rdx | |
shr rcx, 3 | |
movabs rdx, -3689348814741910323 | |
mov rax, rcx | |
mul rdx | |
shr rdx, 3 | |
mov rax, rdx | |
sal rax, 2 | |
add rax, rdx | |
add rax, rax | |
sub rcx, rax | |
mov rdx, rcx | |
cmp rdx, 1 | |
jne .L793 | |
.L792: | |
mov DWORD PTR -156[rbp], 0 | |
.L793: | |
sub QWORD PTR -32[rbp], 1 | |
mov eax, DWORD PTR -156[rbp] | |
add eax, eax | |
add eax, 1 | |
movsx rdx, eax | |
lea rax, zOrd.9994[rip] | |
movzx edx, BYTE PTR [rdx+rax] | |
mov rax, QWORD PTR -32[rbp] | |
mov BYTE PTR [rax], dl | |
sub QWORD PTR -32[rbp], 1 | |
mov eax, DWORD PTR -156[rbp] | |
add eax, eax | |
movsx rdx, eax | |
lea rax, zOrd.9994[rip] | |
movzx edx, BYTE PTR [rdx+rax] | |
mov rax, QWORD PTR -32[rbp] | |
mov BYTE PTR [rax], dl | |
.L791: | |
mov rax, QWORD PTR -80[rbp] | |
movzx eax, BYTE PTR 4[rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, aDigits[rip] | |
add rax, rdx | |
mov QWORD PTR -240[rbp], rax | |
mov rax, QWORD PTR -80[rbp] | |
movzx eax, BYTE PTR 1[rax] | |
mov BYTE PTR -241[rbp], al | |
.L794: | |
sub QWORD PTR -32[rbp], 1 | |
movzx ecx, BYTE PTR -241[rbp] | |
mov rax, QWORD PTR -72[rbp] | |
mov edx, 0 | |
div rcx | |
mov rax, QWORD PTR -240[rbp] | |
add rax, rdx | |
movzx edx, BYTE PTR [rax] | |
mov rax, QWORD PTR -32[rbp] | |
mov BYTE PTR [rax], dl | |
movzx ebx, BYTE PTR -241[rbp] | |
mov rax, QWORD PTR -72[rbp] | |
mov edx, 0 | |
div rbx | |
mov QWORD PTR -72[rbp], rax | |
cmp QWORD PTR -72[rbp], 0 | |
jne .L794 | |
mov eax, DWORD PTR -92[rbp] | |
cdqe | |
lea rdx, -1[rax] | |
mov rax, QWORD PTR -88[rbp] | |
add rax, rdx | |
mov rdx, rax | |
mov rax, QWORD PTR -32[rbp] | |
sub rdx, rax | |
mov rax, rdx | |
mov DWORD PTR -40[rbp], eax | |
jmp .L795 | |
.L796: | |
sub QWORD PTR -32[rbp], 1 | |
mov rax, QWORD PTR -32[rbp] | |
mov BYTE PTR [rax], 48 | |
add DWORD PTR -40[rbp], 1 | |
.L795: | |
mov eax, DWORD PTR -36[rbp] | |
cmp eax, DWORD PTR -40[rbp] | |
jg .L796 | |
cmp BYTE PTR -56[rbp], 0 | |
je .L797 | |
mov eax, DWORD PTR -40[rbp] | |
lea ecx, -1[rax] | |
mov edx, 1431655766 | |
mov eax, ecx | |
imul edx | |
mov eax, ecx | |
sar eax, 31 | |
sub edx, eax | |
mov eax, edx | |
mov DWORD PTR -160[rbp], eax | |
mov eax, DWORD PTR -40[rbp] | |
lea ecx, -1[rax] | |
mov edx, 1431655766 | |
mov eax, ecx | |
imul edx | |
mov eax, ecx | |
sar eax, 31 | |
sub edx, eax | |
mov eax, edx | |
add eax, eax | |
add eax, edx | |
sub ecx, eax | |
mov edx, ecx | |
lea eax, 1[rdx] | |
mov DWORD PTR -164[rbp], eax | |
mov eax, DWORD PTR -160[rbp] | |
cdqe | |
neg rax | |
add QWORD PTR -32[rbp], rax | |
mov DWORD PTR -44[rbp], 0 | |
jmp .L798 | |
.L800: | |
mov eax, DWORD PTR -44[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -32[rbp] | |
add rdx, rax | |
mov ecx, DWORD PTR -44[rbp] | |
mov eax, DWORD PTR -160[rbp] | |
add eax, ecx | |
movsx rcx, eax | |
mov rax, QWORD PTR -32[rbp] | |
add rax, rcx | |
movzx eax, BYTE PTR [rax] | |
mov BYTE PTR [rdx], al | |
sub DWORD PTR -164[rbp], 1 | |
cmp DWORD PTR -164[rbp], 0 | |
jne .L799 | |
add DWORD PTR -44[rbp], 1 | |
mov eax, DWORD PTR -44[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -32[rbp] | |
add rdx, rax | |
movzx eax, BYTE PTR -56[rbp] | |
mov BYTE PTR [rdx], al | |
sub DWORD PTR -160[rbp], 1 | |
mov DWORD PTR -164[rbp], 3 | |
.L799: | |
add DWORD PTR -44[rbp], 1 | |
.L798: | |
cmp DWORD PTR -160[rbp], 0 | |
jg .L800 | |
.L797: | |
cmp BYTE PTR -59[rbp], 0 | |
je .L801 | |
sub QWORD PTR -32[rbp], 1 | |
mov rax, QWORD PTR -32[rbp] | |
movzx edx, BYTE PTR -59[rbp] | |
mov BYTE PTR [rax], dl | |
.L801: | |
cmp BYTE PTR -51[rbp], 0 | |
je .L802 | |
mov rax, QWORD PTR -80[rbp] | |
movzx eax, BYTE PTR 5[rax] | |
test al, al | |
je .L802 | |
mov rax, QWORD PTR -80[rbp] | |
movzx eax, BYTE PTR 5[rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, aPrefix[rip] | |
add rax, rdx | |
mov QWORD PTR -176[rbp], rax | |
jmp .L803 | |
.L804: | |
sub QWORD PTR -32[rbp], 1 | |
mov rax, QWORD PTR -32[rbp] | |
movzx edx, BYTE PTR -242[rbp] | |
mov BYTE PTR [rax], dl | |
add QWORD PTR -176[rbp], 1 | |
.L803: | |
mov rax, QWORD PTR -176[rbp] | |
movzx eax, BYTE PTR [rax] | |
mov BYTE PTR -242[rbp], al | |
cmp BYTE PTR -242[rbp], 0 | |
jne .L804 | |
.L802: | |
mov eax, DWORD PTR -92[rbp] | |
cdqe | |
lea rdx, -1[rax] | |
mov rax, QWORD PTR -88[rbp] | |
add rax, rdx | |
mov rdx, rax | |
mov rax, QWORD PTR -32[rbp] | |
sub rdx, rax | |
mov rax, rdx | |
mov DWORD PTR -40[rbp], eax | |
jmp .L805 | |
.L747: | |
cmp BYTE PTR -58[rbp], 0 | |
je .L806 | |
mov rax, QWORD PTR -136[rbp] | |
mov rdi, rax | |
call getDoubleArg | |
movsd QWORD PTR -424[rbp], xmm0 | |
fld QWORD PTR -424[rbp] | |
fstp TBYTE PTR -304[rbp] | |
jmp .L807 | |
.L806: | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR 4[rax] | |
cmp eax, 175 | |
ja .L808 | |
mov rax, QWORD PTR -408[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR 4[rax] | |
mov eax, eax | |
add rax, rdx | |
mov rdx, QWORD PTR -408[rbp] | |
mov edx, DWORD PTR 4[rdx] | |
lea ecx, 16[rdx] | |
mov rdx, QWORD PTR -408[rbp] | |
mov DWORD PTR 4[rdx], ecx | |
jmp .L809 | |
.L808: | |
mov rax, QWORD PTR -408[rbp] | |
mov rax, QWORD PTR 8[rax] | |
lea rcx, 8[rax] | |
mov rdx, QWORD PTR -408[rbp] | |
mov QWORD PTR 8[rdx], rcx | |
.L809: | |
fld QWORD PTR [rax] | |
fstp TBYTE PTR -304[rbp] | |
.L807: | |
cmp DWORD PTR -36[rbp], 0 | |
jns .L810 | |
mov DWORD PTR -36[rbp], 6 | |
.L810: | |
fld TBYTE PTR -304[rbp] | |
fldz | |
fucomip st, st(1) | |
fstp st(0) | |
jbe .L938 | |
fld TBYTE PTR -304[rbp] | |
fchs | |
fstp TBYTE PTR -304[rbp] | |
mov BYTE PTR -59[rbp], 45 | |
jmp .L813 | |
.L938: | |
movzx eax, BYTE PTR -50[rbp] | |
mov BYTE PTR -59[rbp], al | |
.L813: | |
cmp BYTE PTR -57[rbp], 3 | |
jne .L814 | |
cmp DWORD PTR -36[rbp], 0 | |
jle .L814 | |
sub DWORD PTR -36[rbp], 1 | |
.L814: | |
mov eax, DWORD PTR -36[rbp] | |
and eax, 4095 | |
mov DWORD PTR -44[rbp], eax | |
movsd xmm0, QWORD PTR .LC16[rip] | |
movsd QWORD PTR -120[rbp], xmm0 | |
jmp .L815 | |
.L816: | |
sub DWORD PTR -44[rbp], 1 | |
movsd xmm1, QWORD PTR -120[rbp] | |
movsd xmm0, QWORD PTR .LC56[rip] | |
mulsd xmm0, xmm1 | |
movsd QWORD PTR -120[rbp], xmm0 | |
.L815: | |
cmp DWORD PTR -44[rbp], 0 | |
jg .L816 | |
cmp BYTE PTR -57[rbp], 1 | |
jne .L817 | |
fld QWORD PTR -120[rbp] | |
fld TBYTE PTR -304[rbp] | |
faddp st(1), st | |
fstp TBYTE PTR -304[rbp] | |
.L817: | |
mov DWORD PTR -108[rbp], 0 | |
fld TBYTE PTR -304[rbp] | |
fstp QWORD PTR -416[rbp] | |
movsd xmm0, QWORD PTR -416[rbp] | |
call sqlite3IsNaN | |
test eax, eax | |
je .L818 | |
lea rax, .LC57[rip] | |
mov QWORD PTR -32[rbp], rax | |
mov DWORD PTR -40[rbp], 3 | |
jmp .L805 | |
.L818: | |
fld TBYTE PTR -304[rbp] | |
fldz | |
fxch st(1) | |
fucomip st, st(1) | |
fstp st(0) | |
jbe .L819 | |
fld1 | |
fstp TBYTE PTR -192[rbp] | |
jmp .L821 | |
.L824: | |
fld TBYTE PTR -192[rbp] | |
fld TBYTE PTR .LC59[rip] | |
fmulp st(1), st | |
fstp TBYTE PTR -192[rbp] | |
add DWORD PTR -108[rbp], 100 | |
.L821: | |
fld TBYTE PTR -192[rbp] | |
fld TBYTE PTR .LC59[rip] | |
fmulp st(1), st | |
fld TBYTE PTR -304[rbp] | |
fucomip st, st(1) | |
fstp st(0) | |
jb .L822 | |
cmp DWORD PTR -108[rbp], 350 | |
jle .L824 | |
.L822: | |
jmp .L825 | |
.L828: | |
fld TBYTE PTR -192[rbp] | |
fld TBYTE PTR .LC60[rip] | |
fmulp st(1), st | |
fstp TBYTE PTR -192[rbp] | |
add DWORD PTR -108[rbp], 10 | |
.L825: | |
fld TBYTE PTR -192[rbp] | |
fld TBYTE PTR .LC60[rip] | |
fmulp st(1), st | |
fld TBYTE PTR -304[rbp] | |
fucomip st, st(1) | |
fstp st(0) | |
jb .L826 | |
cmp DWORD PTR -108[rbp], 350 | |
jle .L828 | |
.L826: | |
jmp .L829 | |
.L832: | |
fld TBYTE PTR -192[rbp] | |
fld TBYTE PTR .LC52[rip] | |
fmulp st(1), st | |
fstp TBYTE PTR -192[rbp] | |
add DWORD PTR -108[rbp], 1 | |
.L829: | |
fld TBYTE PTR -192[rbp] | |
fld TBYTE PTR .LC52[rip] | |
fmulp st(1), st | |
fld TBYTE PTR -304[rbp] | |
fucomip st, st(1) | |
fstp st(0) | |
jb .L830 | |
cmp DWORD PTR -108[rbp], 350 | |
jle .L832 | |
.L830: | |
fld TBYTE PTR -304[rbp] | |
fld TBYTE PTR -192[rbp] | |
fdivp st(1), st | |
fstp TBYTE PTR -304[rbp] | |
jmp .L833 | |
.L834: | |
fld TBYTE PTR -304[rbp] | |
fld TBYTE PTR .LC61[rip] | |
fmulp st(1), st | |
fstp TBYTE PTR -304[rbp] | |
sub DWORD PTR -108[rbp], 8 | |
.L833: | |
fld TBYTE PTR -304[rbp] | |
fld TBYTE PTR .LC62[rip] | |
fucomip st, st(1) | |
fstp st(0) | |
ja .L834 | |
jmp .L835 | |
.L836: | |
fld TBYTE PTR -304[rbp] | |
fld TBYTE PTR .LC52[rip] | |
fmulp st(1), st | |
fstp TBYTE PTR -304[rbp] | |
sub DWORD PTR -108[rbp], 1 | |
.L835: | |
fld TBYTE PTR -304[rbp] | |
fld1 | |
fucomip st, st(1) | |
fstp st(0) | |
ja .L836 | |
cmp DWORD PTR -108[rbp], 350 | |
jle .L819 | |
lea rax, -384[rbp] | |
mov QWORD PTR -32[rbp], rax | |
movzx eax, BYTE PTR -59[rbp] | |
mov BYTE PTR -384[rbp], al | |
cmp BYTE PTR -59[rbp], 0 | |
setne al | |
movzx eax, al | |
lea rdx, -384[rbp] | |
add rax, rdx | |
mov edx, 4 | |
lea rsi, .LC63[rip] | |
mov rdi, rax | |
call memcpy@PLT | |
cmp BYTE PTR -59[rbp], 0 | |
je .L837 | |
mov eax, 4 | |
jmp .L838 | |
.L837: | |
mov eax, 3 | |
.L838: | |
mov DWORD PTR -40[rbp], eax | |
jmp .L805 | |
.L819: | |
lea rax, -384[rbp] | |
mov QWORD PTR -32[rbp], rax | |
cmp BYTE PTR -57[rbp], 1 | |
je .L839 | |
fld QWORD PTR -120[rbp] | |
fld TBYTE PTR -304[rbp] | |
faddp st(1), st | |
fstp TBYTE PTR -304[rbp] | |
fld TBYTE PTR -304[rbp] | |
fld TBYTE PTR .LC52[rip] | |
fxch st(1) | |
fucomip st, st(1) | |
fstp st(0) | |
jb .L839 | |
fld TBYTE PTR -304[rbp] | |
fld TBYTE PTR .LC64[rip] | |
fmulp st(1), st | |
fstp TBYTE PTR -304[rbp] | |
add DWORD PTR -108[rbp], 1 | |
.L839: | |
cmp BYTE PTR -57[rbp], 3 | |
jne .L841 | |
cmp BYTE PTR -51[rbp], 0 | |
sete al | |
mov BYTE PTR -121[rbp], al | |
cmp DWORD PTR -108[rbp], -4 | |
jl .L842 | |
mov eax, DWORD PTR -108[rbp] | |
cmp eax, DWORD PTR -36[rbp] | |
jle .L843 | |
.L842: | |
mov BYTE PTR -57[rbp], 2 | |
jmp .L845 | |
.L843: | |
mov eax, DWORD PTR -108[rbp] | |
sub DWORD PTR -36[rbp], eax | |
mov BYTE PTR -57[rbp], 1 | |
jmp .L845 | |
.L841: | |
movzx eax, BYTE PTR -52[rbp] | |
mov BYTE PTR -121[rbp], al | |
.L845: | |
cmp BYTE PTR -57[rbp], 2 | |
jne .L846 | |
mov DWORD PTR -112[rbp], 0 | |
jmp .L847 | |
.L846: | |
mov eax, DWORD PTR -108[rbp] | |
mov DWORD PTR -112[rbp], eax | |
.L847: | |
mov eax, 0 | |
cmp DWORD PTR -112[rbp], 0 | |
cmovns eax, DWORD PTR -112[rbp] | |
movsx rdx, eax | |
mov eax, DWORD PTR -36[rbp] | |
cdqe | |
add rdx, rax | |
mov eax, DWORD PTR -48[rbp] | |
cdqe | |
add rax, rdx | |
cmp rax, 55 | |
jle .L848 | |
mov eax, 0 | |
cmp DWORD PTR -112[rbp], 0 | |
cmovns eax, DWORD PTR -112[rbp] | |
movsx rdx, eax | |
mov eax, DWORD PTR -36[rbp] | |
cdqe | |
add rdx, rax | |
mov eax, DWORD PTR -48[rbp] | |
cdqe | |
add rax, rdx | |
add rax, 15 | |
mov rdi, rax | |
call sqlite3Malloc | |
mov QWORD PTR -104[rbp], rax | |
mov rax, QWORD PTR -104[rbp] | |
mov QWORD PTR -32[rbp], rax | |
cmp QWORD PTR -32[rbp], 0 | |
jne .L848 | |
mov rax, QWORD PTR -392[rbp] | |
mov esi, 1 | |
mov rdi, rax | |
call setStrAccumError | |
jmp .L688 | |
.L848: | |
mov rax, QWORD PTR -32[rbp] | |
mov QWORD PTR -88[rbp], rax | |
movzx edx, BYTE PTR -52[rbp] | |
mov eax, edx | |
sal eax, 2 | |
add eax, edx | |
add eax, eax | |
add eax, 16 | |
mov DWORD PTR -308[rbp], eax | |
cmp DWORD PTR -36[rbp], 0 | |
setg al | |
mov edx, eax | |
movzx eax, BYTE PTR -51[rbp] | |
or edx, eax | |
movzx eax, BYTE PTR -52[rbp] | |
or eax, edx | |
mov BYTE PTR -243[rbp], al | |
cmp BYTE PTR -59[rbp], 0 | |
je .L849 | |
mov rax, QWORD PTR -32[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -32[rbp], rdx | |
movzx edx, BYTE PTR -59[rbp] | |
mov BYTE PTR [rax], dl | |
.L849: | |
cmp DWORD PTR -112[rbp], 0 | |
jns .L852 | |
mov rax, QWORD PTR -32[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -32[rbp], rdx | |
mov BYTE PTR [rax], 48 | |
jmp .L851 | |
.L853: | |
mov rbx, QWORD PTR -32[rbp] | |
lea rax, 1[rbx] | |
mov QWORD PTR -32[rbp], rax | |
lea rdx, -308[rbp] | |
lea rax, -304[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call et_getdigit | |
mov BYTE PTR [rbx], al | |
sub DWORD PTR -112[rbp], 1 | |
.L852: | |
cmp DWORD PTR -112[rbp], 0 | |
jns .L853 | |
.L851: | |
cmp BYTE PTR -243[rbp], 0 | |
je .L854 | |
mov rax, QWORD PTR -32[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -32[rbp], rdx | |
mov BYTE PTR [rax], 46 | |
.L854: | |
add DWORD PTR -112[rbp], 1 | |
jmp .L855 | |
.L856: | |
mov rax, QWORD PTR -32[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -32[rbp], rdx | |
mov BYTE PTR [rax], 48 | |
sub DWORD PTR -36[rbp], 1 | |
add DWORD PTR -112[rbp], 1 | |
.L855: | |
cmp DWORD PTR -112[rbp], 0 | |
js .L856 | |
jmp .L857 | |
.L858: | |
mov rbx, QWORD PTR -32[rbp] | |
lea rax, 1[rbx] | |
mov QWORD PTR -32[rbp], rax | |
lea rdx, -308[rbp] | |
lea rax, -304[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call et_getdigit | |
mov BYTE PTR [rbx], al | |
.L857: | |
mov eax, DWORD PTR -36[rbp] | |
lea edx, -1[rax] | |
mov DWORD PTR -36[rbp], edx | |
test eax, eax | |
jg .L858 | |
cmp BYTE PTR -121[rbp], 0 | |
je .L859 | |
cmp BYTE PTR -243[rbp], 0 | |
je .L859 | |
jmp .L860 | |
.L861: | |
sub QWORD PTR -32[rbp], 1 | |
mov rax, QWORD PTR -32[rbp] | |
mov BYTE PTR [rax], 0 | |
.L860: | |
mov rax, QWORD PTR -32[rbp] | |
sub rax, 1 | |
movzx eax, BYTE PTR [rax] | |
cmp al, 48 | |
je .L861 | |
mov rax, QWORD PTR -32[rbp] | |
sub rax, 1 | |
movzx eax, BYTE PTR [rax] | |
cmp al, 46 | |
jne .L859 | |
cmp BYTE PTR -52[rbp], 0 | |
je .L862 | |
mov rax, QWORD PTR -32[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -32[rbp], rdx | |
mov BYTE PTR [rax], 48 | |
jmp .L859 | |
.L862: | |
sub QWORD PTR -32[rbp], 1 | |
mov rax, QWORD PTR -32[rbp] | |
mov BYTE PTR [rax], 0 | |
.L859: | |
cmp BYTE PTR -57[rbp], 2 | |
jne .L863 | |
mov rax, QWORD PTR -32[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -32[rbp], rdx | |
mov rdx, QWORD PTR -80[rbp] | |
movzx edx, BYTE PTR 4[rdx] | |
movzx edx, dl | |
movsx rcx, edx | |
lea rdx, aDigits[rip] | |
movzx edx, BYTE PTR [rcx+rdx] | |
mov BYTE PTR [rax], dl | |
cmp DWORD PTR -108[rbp], 0 | |
jns .L864 | |
mov rax, QWORD PTR -32[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -32[rbp], rdx | |
mov BYTE PTR [rax], 45 | |
neg DWORD PTR -108[rbp] | |
jmp .L865 | |
.L864: | |
mov rax, QWORD PTR -32[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -32[rbp], rdx | |
mov BYTE PTR [rax], 43 | |
.L865: | |
cmp DWORD PTR -108[rbp], 99 | |
jle .L866 | |
mov rcx, QWORD PTR -32[rbp] | |
lea rax, 1[rcx] | |
mov QWORD PTR -32[rbp], rax | |
mov esi, DWORD PTR -108[rbp] | |
mov edx, 1374389535 | |
mov eax, esi | |
imul edx | |
sar edx, 5 | |
mov eax, esi | |
sar eax, 31 | |
sub edx, eax | |
mov eax, edx | |
add eax, 48 | |
mov BYTE PTR [rcx], al | |
mov ecx, DWORD PTR -108[rbp] | |
mov edx, 1374389535 | |
mov eax, ecx | |
imul edx | |
sar edx, 5 | |
mov eax, ecx | |
sar eax, 31 | |
sub edx, eax | |
mov eax, edx | |
imul eax, eax, 100 | |
sub ecx, eax | |
mov eax, ecx | |
mov DWORD PTR -108[rbp], eax | |
.L866: | |
mov rcx, QWORD PTR -32[rbp] | |
lea rax, 1[rcx] | |
mov QWORD PTR -32[rbp], rax | |
mov esi, DWORD PTR -108[rbp] | |
mov edx, 1717986919 | |
mov eax, esi | |
imul edx | |
sar edx, 2 | |
mov eax, esi | |
sar eax, 31 | |
sub edx, eax | |
mov eax, edx | |
add eax, 48 | |
mov BYTE PTR [rcx], al | |
mov rsi, QWORD PTR -32[rbp] | |
lea rax, 1[rsi] | |
mov QWORD PTR -32[rbp], rax | |
mov ecx, DWORD PTR -108[rbp] | |
mov edx, 1717986919 | |
mov eax, ecx | |
imul edx | |
sar edx, 2 | |
mov eax, ecx | |
sar eax, 31 | |
sub edx, eax | |
mov eax, edx | |
sal eax, 2 | |
add eax, edx | |
add eax, eax | |
sub ecx, eax | |
mov edx, ecx | |
mov eax, edx | |
add eax, 48 | |
mov BYTE PTR [rsi], al | |
.L863: | |
mov rax, QWORD PTR -32[rbp] | |
mov BYTE PTR [rax], 0 | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -88[rbp] | |
sub rdx, rax | |
mov rax, rdx | |
mov DWORD PTR -40[rbp], eax | |
mov rax, QWORD PTR -88[rbp] | |
mov QWORD PTR -32[rbp], rax | |
cmp BYTE PTR -53[rbp], 0 | |
je .L941 | |
cmp BYTE PTR -49[rbp], 0 | |
jne .L941 | |
mov eax, DWORD PTR -40[rbp] | |
cmp eax, DWORD PTR -48[rbp] | |
jge .L941 | |
mov eax, DWORD PTR -48[rbp] | |
sub eax, DWORD PTR -40[rbp] | |
mov DWORD PTR -200[rbp], eax | |
mov eax, DWORD PTR -48[rbp] | |
mov DWORD PTR -196[rbp], eax | |
jmp .L868 | |
.L869: | |
mov eax, DWORD PTR -196[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -32[rbp] | |
add rdx, rax | |
mov eax, DWORD PTR -196[rbp] | |
sub eax, DWORD PTR -200[rbp] | |
movsx rcx, eax | |
mov rax, QWORD PTR -32[rbp] | |
add rax, rcx | |
movzx eax, BYTE PTR [rax] | |
mov BYTE PTR [rdx], al | |
sub DWORD PTR -196[rbp], 1 | |
.L868: | |
mov eax, DWORD PTR -196[rbp] | |
cmp eax, DWORD PTR -200[rbp] | |
jge .L869 | |
cmp BYTE PTR -59[rbp], 0 | |
setne al | |
movzx eax, al | |
mov DWORD PTR -196[rbp], eax | |
jmp .L870 | |
.L871: | |
mov eax, DWORD PTR -196[rbp] | |
lea edx, 1[rax] | |
mov DWORD PTR -196[rbp], edx | |
movsx rdx, eax | |
mov rax, QWORD PTR -32[rbp] | |
add rax, rdx | |
mov BYTE PTR [rax], 48 | |
.L870: | |
mov eax, DWORD PTR -200[rbp] | |
lea edx, -1[rax] | |
mov DWORD PTR -200[rbp], edx | |
test eax, eax | |
jne .L871 | |
mov eax, DWORD PTR -48[rbp] | |
mov DWORD PTR -40[rbp], eax | |
jmp .L941 | |
.L748: | |
cmp BYTE PTR -58[rbp], 0 | |
jne .L872 | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp eax, 47 | |
ja .L873 | |
mov rax, QWORD PTR -408[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
mov eax, eax | |
add rax, rdx | |
mov rdx, QWORD PTR -408[rbp] | |
mov edx, DWORD PTR [rdx] | |
lea ecx, 8[rdx] | |
mov rdx, QWORD PTR -408[rbp] | |
mov DWORD PTR [rdx], ecx | |
jmp .L874 | |
.L873: | |
mov rax, QWORD PTR -408[rbp] | |
mov rax, QWORD PTR 8[rax] | |
lea rcx, 8[rax] | |
mov rdx, QWORD PTR -408[rbp] | |
mov QWORD PTR 8[rdx], rcx | |
.L874: | |
mov rax, QWORD PTR [rax] | |
mov rdx, QWORD PTR -392[rbp] | |
mov edx, DWORD PTR 24[rdx] | |
mov DWORD PTR [rax], edx | |
.L872: | |
mov DWORD PTR -48[rbp], 0 | |
mov eax, DWORD PTR -48[rbp] | |
mov DWORD PTR -40[rbp], eax | |
jmp .L805 | |
.L750: | |
mov BYTE PTR -384[rbp], 37 | |
lea rax, -384[rbp] | |
mov QWORD PTR -32[rbp], rax | |
mov DWORD PTR -40[rbp], 1 | |
jmp .L805 | |
.L751: | |
cmp BYTE PTR -58[rbp], 0 | |
je .L875 | |
mov rax, QWORD PTR -136[rbp] | |
mov rdi, rax | |
call getTextArg | |
mov QWORD PTR -32[rbp], rax | |
cmp QWORD PTR -32[rbp], 0 | |
je .L876 | |
mov rax, QWORD PTR -32[rbp] | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
jmp .L877 | |
.L876: | |
mov eax, 0 | |
.L877: | |
mov DWORD PTR -20[rbp], eax | |
jmp .L878 | |
.L875: | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp eax, 47 | |
ja .L879 | |
mov rax, QWORD PTR -408[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
mov eax, eax | |
add rax, rdx | |
mov rdx, QWORD PTR -408[rbp] | |
mov edx, DWORD PTR [rdx] | |
lea ecx, 8[rdx] | |
mov rdx, QWORD PTR -408[rbp] | |
mov DWORD PTR [rdx], ecx | |
jmp .L880 | |
.L879: | |
mov rax, QWORD PTR -408[rbp] | |
mov rax, QWORD PTR 8[rax] | |
lea rcx, 8[rax] | |
mov rdx, QWORD PTR -408[rbp] | |
mov QWORD PTR 8[rdx], rcx | |
.L880: | |
mov eax, DWORD PTR [rax] | |
mov DWORD PTR -20[rbp], eax | |
.L878: | |
cmp DWORD PTR -36[rbp], 1 | |
jle .L881 | |
mov eax, DWORD PTR -36[rbp] | |
sub eax, 1 | |
sub DWORD PTR -48[rbp], eax | |
cmp DWORD PTR -48[rbp], 1 | |
jle .L882 | |
cmp BYTE PTR -49[rbp], 0 | |
jne .L882 | |
mov eax, DWORD PTR -48[rbp] | |
lea ecx, -1[rax] | |
mov rax, QWORD PTR -392[rbp] | |
mov edx, 32 | |
mov esi, ecx | |
mov rdi, rax | |
call sqlite3AppendChar | |
mov DWORD PTR -48[rbp], 0 | |
.L882: | |
mov eax, DWORD PTR -20[rbp] | |
movsx edx, al | |
mov eax, DWORD PTR -36[rbp] | |
lea ecx, -1[rax] | |
mov rax, QWORD PTR -392[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call sqlite3AppendChar | |
.L881: | |
mov DWORD PTR -40[rbp], 1 | |
mov eax, DWORD PTR -20[rbp] | |
mov BYTE PTR -384[rbp], al | |
lea rax, -384[rbp] | |
mov QWORD PTR -32[rbp], rax | |
jmp .L805 | |
.L749: | |
cmp BYTE PTR -58[rbp], 0 | |
je .L883 | |
mov rax, QWORD PTR -136[rbp] | |
mov rdi, rax | |
call getTextArg | |
mov QWORD PTR -32[rbp], rax | |
mov BYTE PTR -57[rbp], 5 | |
jmp .L884 | |
.L883: | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp eax, 47 | |
ja .L885 | |
mov rax, QWORD PTR -408[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
mov eax, eax | |
add rax, rdx | |
mov rdx, QWORD PTR -408[rbp] | |
mov edx, DWORD PTR [rdx] | |
lea ecx, 8[rdx] | |
mov rdx, QWORD PTR -408[rbp] | |
mov DWORD PTR [rdx], ecx | |
jmp .L886 | |
.L885: | |
mov rax, QWORD PTR -408[rbp] | |
mov rax, QWORD PTR 8[rax] | |
lea rcx, 8[rax] | |
mov rdx, QWORD PTR -408[rbp] | |
mov QWORD PTR 8[rdx], rcx | |
.L886: | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -32[rbp], rax | |
.L884: | |
cmp QWORD PTR -32[rbp], 0 | |
jne .L887 | |
lea rax, .LC65[rip] | |
mov QWORD PTR -32[rbp], rax | |
jmp .L888 | |
.L887: | |
cmp BYTE PTR -57[rbp], 6 | |
jne .L888 | |
mov rax, QWORD PTR -32[rbp] | |
mov QWORD PTR -104[rbp], rax | |
.L888: | |
cmp DWORD PTR -36[rbp], 0 | |
js .L889 | |
mov DWORD PTR -40[rbp], 0 | |
jmp .L890 | |
.L892: | |
add DWORD PTR -40[rbp], 1 | |
.L890: | |
mov eax, DWORD PTR -40[rbp] | |
cmp eax, DWORD PTR -36[rbp] | |
jge .L942 | |
mov eax, DWORD PTR -40[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -32[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
test al, al | |
jne .L892 | |
jmp .L942 | |
.L889: | |
mov rax, QWORD PTR -32[rbp] | |
mov rdi, rax | |
call strlen@PLT | |
and eax, 2147483647 | |
mov DWORD PTR -40[rbp], eax | |
jmp .L942 | |
.L752: | |
cmp BYTE PTR -57[rbp], 14 | |
jne .L893 | |
mov eax, 34 | |
jmp .L894 | |
.L893: | |
mov eax, 39 | |
.L894: | |
mov BYTE PTR -244[rbp], al | |
cmp BYTE PTR -58[rbp], 0 | |
je .L895 | |
mov rax, QWORD PTR -136[rbp] | |
mov rdi, rax | |
call getTextArg | |
mov QWORD PTR -224[rbp], rax | |
jmp .L896 | |
.L895: | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp eax, 47 | |
ja .L897 | |
mov rax, QWORD PTR -408[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
mov eax, eax | |
add rax, rdx | |
mov rdx, QWORD PTR -408[rbp] | |
mov edx, DWORD PTR [rdx] | |
lea ecx, 8[rdx] | |
mov rdx, QWORD PTR -408[rbp] | |
mov DWORD PTR [rdx], ecx | |
jmp .L898 | |
.L897: | |
mov rax, QWORD PTR -408[rbp] | |
mov rax, QWORD PTR 8[rax] | |
lea rcx, 8[rax] | |
mov rdx, QWORD PTR -408[rbp] | |
mov QWORD PTR 8[rdx], rcx | |
.L898: | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -224[rbp], rax | |
.L896: | |
cmp QWORD PTR -224[rbp], 0 | |
sete al | |
movzx eax, al | |
mov DWORD PTR -248[rbp], eax | |
cmp DWORD PTR -248[rbp], 0 | |
je .L899 | |
cmp BYTE PTR -57[rbp], 10 | |
jne .L900 | |
lea rax, .LC66[rip] | |
jmp .L901 | |
.L900: | |
lea rax, .LC67[rip] | |
.L901: | |
mov QWORD PTR -224[rbp], rax | |
.L899: | |
mov eax, DWORD PTR -36[rbp] | |
mov DWORD PTR -212[rbp], eax | |
mov DWORD PTR -216[rbp], 0 | |
mov eax, DWORD PTR -216[rbp] | |
mov DWORD PTR -204[rbp], eax | |
jmp .L902 | |
.L905: | |
movzx eax, BYTE PTR -249[rbp] | |
cmp al, BYTE PTR -244[rbp] | |
jne .L903 | |
add DWORD PTR -216[rbp], 1 | |
.L903: | |
add DWORD PTR -204[rbp], 1 | |
sub DWORD PTR -212[rbp], 1 | |
.L902: | |
cmp DWORD PTR -212[rbp], 0 | |
je .L904 | |
mov eax, DWORD PTR -204[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -224[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
mov BYTE PTR -249[rbp], al | |
cmp BYTE PTR -249[rbp], 0 | |
jne .L905 | |
.L904: | |
cmp DWORD PTR -248[rbp], 0 | |
jne .L906 | |
cmp BYTE PTR -57[rbp], 10 | |
jne .L906 | |
mov eax, 1 | |
jmp .L907 | |
.L906: | |
mov eax, 0 | |
.L907: | |
mov DWORD PTR -256[rbp], eax | |
mov eax, DWORD PTR -204[rbp] | |
add eax, 3 | |
add DWORD PTR -216[rbp], eax | |
cmp DWORD PTR -216[rbp], 70 | |
jle .L908 | |
mov eax, DWORD PTR -216[rbp] | |
cdqe | |
mov rdi, rax | |
call sqlite3Malloc | |
mov QWORD PTR -104[rbp], rax | |
mov rax, QWORD PTR -104[rbp] | |
mov QWORD PTR -32[rbp], rax | |
cmp QWORD PTR -32[rbp], 0 | |
jne .L909 | |
mov rax, QWORD PTR -392[rbp] | |
mov esi, 1 | |
mov rdi, rax | |
call setStrAccumError | |
jmp .L688 | |
.L908: | |
lea rax, -384[rbp] | |
mov QWORD PTR -32[rbp], rax | |
.L909: | |
mov DWORD PTR -208[rbp], 0 | |
cmp DWORD PTR -256[rbp], 0 | |
je .L910 | |
mov eax, DWORD PTR -208[rbp] | |
lea edx, 1[rax] | |
mov DWORD PTR -208[rbp], edx | |
movsx rdx, eax | |
mov rax, QWORD PTR -32[rbp] | |
add rdx, rax | |
movzx eax, BYTE PTR -244[rbp] | |
mov BYTE PTR [rdx], al | |
.L910: | |
mov eax, DWORD PTR -204[rbp] | |
mov DWORD PTR -212[rbp], eax | |
mov DWORD PTR -204[rbp], 0 | |
jmp .L911 | |
.L913: | |
mov eax, DWORD PTR -208[rbp] | |
lea edx, 1[rax] | |
mov DWORD PTR -208[rbp], edx | |
movsx rdx, eax | |
mov rax, QWORD PTR -32[rbp] | |
add rdx, rax | |
mov eax, DWORD PTR -204[rbp] | |
movsx rcx, eax | |
mov rax, QWORD PTR -224[rbp] | |
add rax, rcx | |
movzx eax, BYTE PTR [rax] | |
mov BYTE PTR -249[rbp], al | |
movzx eax, BYTE PTR -249[rbp] | |
mov BYTE PTR [rdx], al | |
movzx eax, BYTE PTR -249[rbp] | |
cmp al, BYTE PTR -244[rbp] | |
jne .L912 | |
mov eax, DWORD PTR -208[rbp] | |
lea edx, 1[rax] | |
mov DWORD PTR -208[rbp], edx | |
movsx rdx, eax | |
mov rax, QWORD PTR -32[rbp] | |
add rdx, rax | |
movzx eax, BYTE PTR -249[rbp] | |
mov BYTE PTR [rdx], al | |
.L912: | |
add DWORD PTR -204[rbp], 1 | |
.L911: | |
mov eax, DWORD PTR -204[rbp] | |
cmp eax, DWORD PTR -212[rbp] | |
jl .L913 | |
cmp DWORD PTR -256[rbp], 0 | |
je .L914 | |
mov eax, DWORD PTR -208[rbp] | |
lea edx, 1[rax] | |
mov DWORD PTR -208[rbp], edx | |
movsx rdx, eax | |
mov rax, QWORD PTR -32[rbp] | |
add rdx, rax | |
movzx eax, BYTE PTR -244[rbp] | |
mov BYTE PTR [rdx], al | |
.L914: | |
mov eax, DWORD PTR -208[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -32[rbp] | |
add rax, rdx | |
mov BYTE PTR [rax], 0 | |
mov eax, DWORD PTR -208[rbp] | |
mov DWORD PTR -40[rbp], eax | |
jmp .L805 | |
.L753: | |
mov rax, QWORD PTR -392[rbp] | |
movzx eax, BYTE PTR 29[rax] | |
movzx eax, al | |
and eax, 1 | |
test eax, eax | |
je .L943 | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp eax, 47 | |
ja .L916 | |
mov rax, QWORD PTR -408[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
mov eax, eax | |
add rax, rdx | |
mov rdx, QWORD PTR -408[rbp] | |
mov edx, DWORD PTR [rdx] | |
lea ecx, 8[rdx] | |
mov rdx, QWORD PTR -408[rbp] | |
mov DWORD PTR [rdx], ecx | |
jmp .L917 | |
.L916: | |
mov rax, QWORD PTR -408[rbp] | |
mov rax, QWORD PTR 8[rax] | |
lea rcx, 8[rax] | |
mov rdx, QWORD PTR -408[rbp] | |
mov QWORD PTR 8[rdx], rcx | |
.L917: | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -264[rbp], rax | |
cmp QWORD PTR -264[rbp], 0 | |
je .L918 | |
mov rax, QWORD PTR -264[rbp] | |
mov eax, DWORD PTR 8[rax] | |
test eax, eax | |
je .L918 | |
mov rax, QWORD PTR -264[rbp] | |
mov eax, DWORD PTR 8[rax] | |
mov edx, eax | |
mov rax, QWORD PTR -264[rbp] | |
mov rcx, QWORD PTR [rax] | |
mov rax, QWORD PTR -392[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3StrAccumAppend | |
.L918: | |
mov DWORD PTR -48[rbp], 0 | |
mov eax, DWORD PTR -48[rbp] | |
mov DWORD PTR -40[rbp], eax | |
jmp .L805 | |
.L754: | |
mov rax, QWORD PTR -392[rbp] | |
movzx eax, BYTE PTR 29[rax] | |
movzx eax, al | |
and eax, 1 | |
test eax, eax | |
je .L944 | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp eax, 47 | |
ja .L920 | |
mov rax, QWORD PTR -408[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
mov eax, eax | |
add rax, rdx | |
mov rdx, QWORD PTR -408[rbp] | |
mov edx, DWORD PTR [rdx] | |
lea ecx, 8[rdx] | |
mov rdx, QWORD PTR -408[rbp] | |
mov DWORD PTR [rdx], ecx | |
jmp .L921 | |
.L920: | |
mov rax, QWORD PTR -408[rbp] | |
mov rax, QWORD PTR 8[rax] | |
lea rcx, 8[rax] | |
mov rdx, QWORD PTR -408[rbp] | |
mov QWORD PTR 8[rdx], rcx | |
.L921: | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -272[rbp], rax | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp eax, 47 | |
ja .L922 | |
mov rax, QWORD PTR -408[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -408[rbp] | |
mov eax, DWORD PTR [rax] | |
mov eax, eax | |
add rax, rdx | |
mov rdx, QWORD PTR -408[rbp] | |
mov edx, DWORD PTR [rdx] | |
lea ecx, 8[rdx] | |
mov rdx, QWORD PTR -408[rbp] | |
mov DWORD PTR [rdx], ecx | |
jmp .L923 | |
.L922: | |
mov rax, QWORD PTR -408[rbp] | |
mov rax, QWORD PTR 8[rax] | |
lea rcx, 8[rax] | |
mov rdx, QWORD PTR -408[rbp] | |
mov QWORD PTR 8[rdx], rcx | |
.L923: | |
mov eax, DWORD PTR [rax] | |
mov DWORD PTR -276[rbp], eax | |
mov eax, DWORD PTR -276[rbp] | |
movsx rdx, eax | |
mov rax, rdx | |
sal rax, 3 | |
sub rax, rdx | |
sal rax, 4 | |
mov rdx, QWORD PTR -272[rbp] | |
add rax, rdx | |
add rax, 8 | |
mov QWORD PTR -288[rbp], rax | |
mov rax, QWORD PTR -288[rbp] | |
mov rax, QWORD PTR 8[rax] | |
test rax, rax | |
je .L924 | |
mov rax, QWORD PTR -288[rbp] | |
mov rdx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -392[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3StrAccumAppendAll | |
mov rax, QWORD PTR -392[rbp] | |
mov edx, 1 | |
lea rsi, .LC68[rip] | |
mov rdi, rax | |
call sqlite3StrAccumAppend | |
.L924: | |
mov rax, QWORD PTR -288[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -392[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3StrAccumAppendAll | |
mov DWORD PTR -48[rbp], 0 | |
mov eax, DWORD PTR -48[rbp] | |
mov DWORD PTR -40[rbp], eax | |
jmp .L805 | |
.L941: | |
nop | |
jmp .L805 | |
.L942: | |
nop | |
.L805: | |
mov eax, DWORD PTR -40[rbp] | |
sub DWORD PTR -48[rbp], eax | |
cmp DWORD PTR -48[rbp], 0 | |
jle .L925 | |
cmp BYTE PTR -49[rbp], 0 | |
jne .L926 | |
mov ecx, DWORD PTR -48[rbp] | |
mov rax, QWORD PTR -392[rbp] | |
mov edx, 32 | |
mov esi, ecx | |
mov rdi, rax | |
call sqlite3AppendChar | |
.L926: | |
mov edx, DWORD PTR -40[rbp] | |
mov rcx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -392[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3StrAccumAppend | |
cmp BYTE PTR -49[rbp], 0 | |
je .L928 | |
mov ecx, DWORD PTR -48[rbp] | |
mov rax, QWORD PTR -392[rbp] | |
mov edx, 32 | |
mov esi, ecx | |
mov rdi, rax | |
call sqlite3AppendChar | |
jmp .L928 | |
.L925: | |
mov edx, DWORD PTR -40[rbp] | |
mov rcx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -392[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3StrAccumAppend | |
.L928: | |
cmp QWORD PTR -104[rbp], 0 | |
je .L929 | |
mov rax, QWORD PTR -392[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rdx, QWORD PTR -104[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DbFree | |
mov QWORD PTR -104[rbp], 0 | |
.L929: | |
add QWORD PTR -400[rbp], 1 | |
.L693: | |
mov rax, QWORD PTR -400[rbp] | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
mov DWORD PTR -20[rbp], eax | |
cmp DWORD PTR -20[rbp], 0 | |
jne .L930 | |
jmp .L688 | |
.L939: | |
nop | |
jmp .L688 | |
.L940: | |
nop | |
jmp .L688 | |
.L943: | |
nop | |
jmp .L688 | |
.L944: | |
nop | |
.L688: | |
add rsp, 424 | |
pop rbx | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE160: | |
.size sqlite3VXPrintf, .-sqlite3VXPrintf | |
.type sqlite3StrAccumEnlarge, @function | |
sqlite3StrAccumEnlarge: | |
.LFB161: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 28[rax] | |
test al, al | |
je .L946 | |
mov eax, 0 | |
jmp .L947 | |
.L946: | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 20[rax] | |
test eax, eax | |
jne .L948 | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR 16[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 24[rax] | |
sub edx, eax | |
mov eax, edx | |
sub eax, 1 | |
mov DWORD PTR -44[rbp], eax | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, 2 | |
mov rdi, rax | |
call setStrAccumError | |
mov eax, DWORD PTR -44[rbp] | |
jmp .L947 | |
.L948: | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 29[rax] | |
movzx eax, al | |
and eax, 4 | |
test eax, eax | |
je .L949 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 8[rax] | |
jmp .L950 | |
.L949: | |
mov eax, 0 | |
.L950: | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 24[rax] | |
mov eax, eax | |
mov QWORD PTR -16[rbp], rax | |
mov eax, DWORD PTR -44[rbp] | |
add eax, 1 | |
cdqe | |
add QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 24[rax] | |
mov edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
add rdx, rax | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 20[rax] | |
mov eax, eax | |
cmp rdx, rax | |
jg .L951 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 24[rax] | |
mov eax, eax | |
add QWORD PTR -16[rbp], rax | |
.L951: | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 20[rax] | |
mov eax, eax | |
cmp rax, QWORD PTR -16[rbp] | |
jge .L952 | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call sqlite3StrAccumReset | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, 2 | |
mov rdi, rax | |
call setStrAccumError | |
mov eax, 0 | |
jmp .L947 | |
.L952: | |
mov rax, QWORD PTR -16[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 16[rax], edx | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
je .L953 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 16[rax] | |
mov edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rcx, QWORD PTR -24[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3DbRealloc | |
mov QWORD PTR -8[rbp], rax | |
jmp .L954 | |
.L953: | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 16[rax] | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3_realloc64 | |
mov QWORD PTR -8[rbp], rax | |
.L954: | |
cmp QWORD PTR -8[rbp], 0 | |
je .L955 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 29[rax] | |
movzx eax, al | |
and eax, 4 | |
test eax, eax | |
jne .L956 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 24[rax] | |
test eax, eax | |
je .L956 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 24[rax] | |
mov edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov rcx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call memcpy@PLT | |
.L956: | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov QWORD PTR 8[rax], rdx | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DbMallocSize | |
mov edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 16[rax], edx | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 29[rax] | |
or eax, 4 | |
mov edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov BYTE PTR 29[rax], dl | |
mov eax, DWORD PTR -44[rbp] | |
jmp .L947 | |
.L955: | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call sqlite3StrAccumReset | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, 1 | |
mov rdi, rax | |
call setStrAccumError | |
mov eax, 0 | |
.L947: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE161: | |
.size sqlite3StrAccumEnlarge, .-sqlite3StrAccumEnlarge | |
.type sqlite3AppendChar, @function | |
sqlite3AppendChar: | |
.LFB162: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov eax, edx | |
mov BYTE PTR -16[rbp], al | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 24[rax] | |
mov edx, eax | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
add rdx, rax | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 16[rax] | |
mov eax, eax | |
cmp rdx, rax | |
jl .L961 | |
mov edx, DWORD PTR -12[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3StrAccumEnlarge | |
mov DWORD PTR -12[rbp], eax | |
cmp DWORD PTR -12[rbp], 0 | |
jle .L963 | |
jmp .L961 | |
.L962: | |
mov rax, QWORD PTR -8[rbp] | |
mov rsi, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 24[rax] | |
lea ecx, 1[rax] | |
mov rdx, QWORD PTR -8[rbp] | |
mov DWORD PTR 24[rdx], ecx | |
mov eax, eax | |
lea rdx, [rsi+rax] | |
movzx eax, BYTE PTR -16[rbp] | |
mov BYTE PTR [rdx], al | |
.L961: | |
mov eax, DWORD PTR -12[rbp] | |
lea edx, -1[rax] | |
mov DWORD PTR -12[rbp], edx | |
test eax, eax | |
jg .L962 | |
jmp .L958 | |
.L963: | |
nop | |
.L958: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE162: | |
.size sqlite3AppendChar, .-sqlite3AppendChar | |
.type enlargeAndAppend, @function | |
enlargeAndAppend: | |
.LFB163: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov DWORD PTR -20[rbp], edx | |
mov edx, DWORD PTR -20[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3StrAccumEnlarge | |
mov DWORD PTR -20[rbp], eax | |
cmp DWORD PTR -20[rbp], 0 | |
jle .L966 | |
mov eax, DWORD PTR -20[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov rcx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 24[rax] | |
mov eax, eax | |
add rcx, rax | |
mov rax, QWORD PTR -16[rbp] | |
mov rsi, rax | |
mov rdi, rcx | |
call memcpy@PLT | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, DWORD PTR 24[rax] | |
mov eax, DWORD PTR -20[rbp] | |
add edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 24[rax], edx | |
.L966: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE163: | |
.size enlargeAndAppend, .-enlargeAndAppend | |
.type sqlite3StrAccumAppend, @function | |
sqlite3StrAccumAppend: | |
.LFB164: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov DWORD PTR -20[rbp], edx | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, DWORD PTR 24[rax] | |
mov eax, DWORD PTR -20[rbp] | |
add edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 16[rax] | |
cmp edx, eax | |
jb .L968 | |
mov edx, DWORD PTR -20[rbp] | |
mov rcx, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call enlargeAndAppend | |
jmp .L970 | |
.L968: | |
cmp DWORD PTR -20[rbp], 0 | |
je .L970 | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, DWORD PTR 24[rax] | |
mov eax, DWORD PTR -20[rbp] | |
add edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 24[rax], edx | |
mov eax, DWORD PTR -20[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov rcx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, DWORD PTR 24[rax] | |
mov eax, DWORD PTR -20[rbp] | |
sub esi, eax | |
mov eax, esi | |
mov eax, eax | |
add rcx, rax | |
mov rax, QWORD PTR -16[rbp] | |
mov rsi, rax | |
mov rdi, rcx | |
call memcpy@PLT | |
.L970: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE164: | |
.size sqlite3StrAccumAppend, .-sqlite3StrAccumAppend | |
.type sqlite3StrAccumAppendAll, @function | |
sqlite3StrAccumAppendAll: | |
.LFB165: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call sqlite3Strlen30 | |
mov edx, eax | |
mov rcx, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3StrAccumAppend | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE165: | |
.size sqlite3StrAccumAppendAll, .-sqlite3StrAccumAppendAll | |
.type strAccumFinishRealloc, @function | |
strAccumFinishRealloc: | |
.LFB166: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 24[rax] | |
add eax, 1 | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DbMallocRaw | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
je .L973 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 24[rax] | |
add eax, 1 | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov rcx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call memcpy@PLT | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 29[rax] | |
or eax, 4 | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 29[rax], dl | |
jmp .L974 | |
.L973: | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 1 | |
mov rdi, rax | |
call setStrAccumError | |
.L974: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov QWORD PTR 8[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE166: | |
.size strAccumFinishRealloc, .-strAccumFinishRealloc | |
.type sqlite3StrAccumFinish, @function | |
sqlite3StrAccumFinish: | |
.LFB167: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 8[rax] | |
test rax, rax | |
je .L977 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 24[rax] | |
mov eax, eax | |
add rax, rdx | |
mov BYTE PTR [rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 20[rax] | |
test eax, eax | |
je .L977 | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 29[rax] | |
movzx eax, al | |
and eax, 4 | |
test eax, eax | |
jne .L977 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call strAccumFinishRealloc | |
jmp .L978 | |
.L977: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 8[rax] | |
.L978: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE167: | |
.size sqlite3StrAccumFinish, .-sqlite3StrAccumFinish | |
.type sqlite3StrAccumReset, @function | |
sqlite3StrAccumReset: | |
.LFB168: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 29[rax] | |
movzx eax, al | |
and eax, 4 | |
test eax, eax | |
je .L980 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DbFree | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 29[rax] | |
and eax, -5 | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 29[rax], dl | |
.L980: | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 8[rax], 0 | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE168: | |
.size sqlite3StrAccumReset, .-sqlite3StrAccumReset | |
.type sqlite3StrAccumInit, @function | |
sqlite3StrAccumInit: | |
.LFB169: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov QWORD PTR -24[rbp], rdx | |
mov DWORD PTR -28[rbp], ecx | |
mov DWORD PTR -32[rbp], r8d | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov QWORD PTR 8[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -16[rbp] | |
mov QWORD PTR [rax], rdx | |
mov edx, DWORD PTR -28[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 16[rax], edx | |
mov edx, DWORD PTR -32[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 20[rax], edx | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 24[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 28[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 29[rax], 0 | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE169: | |
.size sqlite3StrAccumInit, .-sqlite3StrAccumInit | |
.type sqlite3VMPrintf, @function | |
sqlite3VMPrintf: | |
.LFB170: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 144 | |
mov QWORD PTR -120[rbp], rdi | |
mov QWORD PTR -128[rbp], rsi | |
mov QWORD PTR -136[rbp], rdx | |
mov rax, QWORD PTR -120[rbp] | |
mov ecx, DWORD PTR 124[rax] | |
lea rdx, -80[rbp] | |
mov rsi, QWORD PTR -120[rbp] | |
lea rax, -112[rbp] | |
mov r8d, ecx | |
mov ecx, 70 | |
mov rdi, rax | |
call sqlite3StrAccumInit | |
mov BYTE PTR -83[rbp], 1 | |
mov rdx, QWORD PTR -136[rbp] | |
mov rcx, QWORD PTR -128[rbp] | |
lea rax, -112[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3VXPrintf | |
lea rax, -112[rbp] | |
mov rdi, rax | |
call sqlite3StrAccumFinish | |
mov QWORD PTR -8[rbp], rax | |
movzx eax, BYTE PTR -84[rbp] | |
cmp al, 1 | |
jne .L983 | |
mov rax, QWORD PTR -120[rbp] | |
mov rdi, rax | |
call sqlite3OomFault | |
.L983: | |
mov rax, QWORD PTR -8[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE170: | |
.size sqlite3VMPrintf, .-sqlite3VMPrintf | |
.type sqlite3MPrintf, @function | |
sqlite3MPrintf: | |
.LFB171: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 224 | |
mov QWORD PTR -216[rbp], rdi | |
mov QWORD PTR -224[rbp], rsi | |
mov QWORD PTR -160[rbp], rdx | |
mov QWORD PTR -152[rbp], rcx | |
mov QWORD PTR -144[rbp], r8 | |
mov QWORD PTR -136[rbp], r9 | |
test al, al | |
je .L988 | |
movaps XMMWORD PTR -128[rbp], xmm0 | |
movaps XMMWORD PTR -112[rbp], xmm1 | |
movaps XMMWORD PTR -96[rbp], xmm2 | |
movaps XMMWORD PTR -80[rbp], xmm3 | |
movaps XMMWORD PTR -64[rbp], xmm4 | |
movaps XMMWORD PTR -48[rbp], xmm5 | |
movaps XMMWORD PTR -32[rbp], xmm6 | |
movaps XMMWORD PTR -16[rbp], xmm7 | |
.L988: | |
mov DWORD PTR -208[rbp], 16 | |
mov DWORD PTR -204[rbp], 48 | |
lea rax, 16[rbp] | |
mov QWORD PTR -200[rbp], rax | |
lea rax, -176[rbp] | |
mov QWORD PTR -192[rbp], rax | |
lea rdx, -208[rbp] | |
mov rcx, QWORD PTR -224[rbp] | |
mov rax, QWORD PTR -216[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3VMPrintf | |
mov QWORD PTR -184[rbp], rax | |
mov rax, QWORD PTR -184[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE171: | |
.size sqlite3MPrintf, .-sqlite3MPrintf | |
.globl sqlite3_vmprintf | |
.type sqlite3_vmprintf, @function | |
sqlite3_vmprintf: | |
.LFB172: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
add rsp, -128 | |
mov QWORD PTR -120[rbp], rdi | |
mov QWORD PTR -128[rbp], rsi | |
call sqlite3_initialize | |
test eax, eax | |
je .L990 | |
mov eax, 0 | |
jmp .L992 | |
.L990: | |
lea rdx, -80[rbp] | |
lea rax, -112[rbp] | |
mov r8d, 1000000000 | |
mov ecx, 70 | |
mov esi, 0 | |
mov rdi, rax | |
call sqlite3StrAccumInit | |
mov rdx, QWORD PTR -128[rbp] | |
mov rcx, QWORD PTR -120[rbp] | |
lea rax, -112[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3VXPrintf | |
lea rax, -112[rbp] | |
mov rdi, rax | |
call sqlite3StrAccumFinish | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
.L992: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE172: | |
.size sqlite3_vmprintf, .-sqlite3_vmprintf | |
.globl sqlite3_mprintf | |
.type sqlite3_mprintf, @function | |
sqlite3_mprintf: | |
.LFB173: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 224 | |
mov QWORD PTR -216[rbp], rdi | |
mov QWORD PTR -168[rbp], rsi | |
mov QWORD PTR -160[rbp], rdx | |
mov QWORD PTR -152[rbp], rcx | |
mov QWORD PTR -144[rbp], r8 | |
mov QWORD PTR -136[rbp], r9 | |
test al, al | |
je .L998 | |
movaps XMMWORD PTR -128[rbp], xmm0 | |
movaps XMMWORD PTR -112[rbp], xmm1 | |
movaps XMMWORD PTR -96[rbp], xmm2 | |
movaps XMMWORD PTR -80[rbp], xmm3 | |
movaps XMMWORD PTR -64[rbp], xmm4 | |
movaps XMMWORD PTR -48[rbp], xmm5 | |
movaps XMMWORD PTR -32[rbp], xmm6 | |
movaps XMMWORD PTR -16[rbp], xmm7 | |
.L998: | |
call sqlite3_initialize | |
test eax, eax | |
je .L995 | |
mov eax, 0 | |
jmp .L997 | |
.L995: | |
mov DWORD PTR -208[rbp], 8 | |
mov DWORD PTR -204[rbp], 48 | |
lea rax, 16[rbp] | |
mov QWORD PTR -200[rbp], rax | |
lea rax, -176[rbp] | |
mov QWORD PTR -192[rbp], rax | |
lea rdx, -208[rbp] | |
mov rax, QWORD PTR -216[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3_vmprintf | |
mov QWORD PTR -184[rbp], rax | |
mov rax, QWORD PTR -184[rbp] | |
.L997: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE173: | |
.size sqlite3_mprintf, .-sqlite3_mprintf | |
.globl sqlite3_vsnprintf | |
.type sqlite3_vsnprintf, @function | |
sqlite3_vsnprintf: | |
.LFB174: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov DWORD PTR -36[rbp], edi | |
mov QWORD PTR -48[rbp], rsi | |
mov QWORD PTR -56[rbp], rdx | |
mov QWORD PTR -64[rbp], rcx | |
cmp DWORD PTR -36[rbp], 0 | |
jg .L1000 | |
mov rax, QWORD PTR -48[rbp] | |
jmp .L1002 | |
.L1000: | |
mov ecx, DWORD PTR -36[rbp] | |
mov rdx, QWORD PTR -48[rbp] | |
lea rax, -32[rbp] | |
mov r8d, 0 | |
mov esi, 0 | |
mov rdi, rax | |
call sqlite3StrAccumInit | |
mov rdx, QWORD PTR -64[rbp] | |
mov rcx, QWORD PTR -56[rbp] | |
lea rax, -32[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3VXPrintf | |
mov eax, DWORD PTR -8[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -48[rbp] | |
add rax, rdx | |
mov BYTE PTR [rax], 0 | |
mov rax, QWORD PTR -48[rbp] | |
.L1002: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE174: | |
.size sqlite3_vsnprintf, .-sqlite3_vsnprintf | |
.globl sqlite3_snprintf | |
.type sqlite3_snprintf, @function | |
sqlite3_snprintf: | |
.LFB175: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 240 | |
mov DWORD PTR -212[rbp], edi | |
mov QWORD PTR -224[rbp], rsi | |
mov QWORD PTR -232[rbp], rdx | |
mov QWORD PTR -152[rbp], rcx | |
mov QWORD PTR -144[rbp], r8 | |
mov QWORD PTR -136[rbp], r9 | |
test al, al | |
je .L1006 | |
movaps XMMWORD PTR -128[rbp], xmm0 | |
movaps XMMWORD PTR -112[rbp], xmm1 | |
movaps XMMWORD PTR -96[rbp], xmm2 | |
movaps XMMWORD PTR -80[rbp], xmm3 | |
movaps XMMWORD PTR -64[rbp], xmm4 | |
movaps XMMWORD PTR -48[rbp], xmm5 | |
movaps XMMWORD PTR -32[rbp], xmm6 | |
movaps XMMWORD PTR -16[rbp], xmm7 | |
.L1006: | |
mov DWORD PTR -208[rbp], 24 | |
mov DWORD PTR -204[rbp], 48 | |
lea rax, 16[rbp] | |
mov QWORD PTR -200[rbp], rax | |
lea rax, -176[rbp] | |
mov QWORD PTR -192[rbp], rax | |
lea rcx, -208[rbp] | |
mov rdx, QWORD PTR -232[rbp] | |
mov rsi, QWORD PTR -224[rbp] | |
mov eax, DWORD PTR -212[rbp] | |
mov edi, eax | |
call sqlite3_vsnprintf | |
mov QWORD PTR -184[rbp], rax | |
mov rax, QWORD PTR -184[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE175: | |
.size sqlite3_snprintf, .-sqlite3_snprintf | |
.type renderLogMsg, @function | |
renderLogMsg: | |
.LFB176: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
push rbx | |
sub rsp, 296 | |
.cfi_offset 3, -24 | |
mov DWORD PTR -276[rbp], edi | |
mov QWORD PTR -288[rbp], rsi | |
mov QWORD PTR -296[rbp], rdx | |
lea rdx, -272[rbp] | |
lea rax, -48[rbp] | |
mov r8d, 0 | |
mov ecx, 210 | |
mov esi, 0 | |
mov rdi, rax | |
call sqlite3StrAccumInit | |
mov rdx, QWORD PTR -296[rbp] | |
mov rcx, QWORD PTR -288[rbp] | |
lea rax, -48[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3VXPrintf | |
mov rbx, QWORD PTR sqlite3Config[rip+392] | |
lea rax, -48[rbp] | |
mov rdi, rax | |
call sqlite3StrAccumFinish | |
mov rdx, rax | |
mov rax, QWORD PTR sqlite3Config[rip+400] | |
mov ecx, DWORD PTR -276[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call rbx | |
nop | |
add rsp, 296 | |
pop rbx | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE176: | |
.size renderLogMsg, .-renderLogMsg | |
.globl sqlite3_log | |
.type sqlite3_log, @function | |
sqlite3_log: | |
.LFB177: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 224 | |
mov DWORD PTR -212[rbp], edi | |
mov QWORD PTR -224[rbp], rsi | |
mov QWORD PTR -160[rbp], rdx | |
mov QWORD PTR -152[rbp], rcx | |
mov QWORD PTR -144[rbp], r8 | |
mov QWORD PTR -136[rbp], r9 | |
test al, al | |
je .L1011 | |
movaps XMMWORD PTR -128[rbp], xmm0 | |
movaps XMMWORD PTR -112[rbp], xmm1 | |
movaps XMMWORD PTR -96[rbp], xmm2 | |
movaps XMMWORD PTR -80[rbp], xmm3 | |
movaps XMMWORD PTR -64[rbp], xmm4 | |
movaps XMMWORD PTR -48[rbp], xmm5 | |
movaps XMMWORD PTR -32[rbp], xmm6 | |
movaps XMMWORD PTR -16[rbp], xmm7 | |
.L1011: | |
mov rax, QWORD PTR sqlite3Config[rip+392] | |
test rax, rax | |
je .L1012 | |
mov DWORD PTR -200[rbp], 16 | |
mov DWORD PTR -196[rbp], 48 | |
lea rax, 16[rbp] | |
mov QWORD PTR -192[rbp], rax | |
lea rax, -176[rbp] | |
mov QWORD PTR -184[rbp], rax | |
lea rdx, -200[rbp] | |
mov rcx, QWORD PTR -224[rbp] | |
mov eax, DWORD PTR -212[rbp] | |
mov rsi, rcx | |
mov edi, eax | |
call renderLogMsg | |
.L1012: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE177: | |
.size sqlite3_log, .-sqlite3_log | |
.type sqlite3XPrintf, @function | |
sqlite3XPrintf: | |
.LFB178: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 224 | |
mov QWORD PTR -216[rbp], rdi | |
mov QWORD PTR -224[rbp], rsi | |
mov QWORD PTR -160[rbp], rdx | |
mov QWORD PTR -152[rbp], rcx | |
mov QWORD PTR -144[rbp], r8 | |
mov QWORD PTR -136[rbp], r9 | |
test al, al | |
je .L1015 | |
movaps XMMWORD PTR -128[rbp], xmm0 | |
movaps XMMWORD PTR -112[rbp], xmm1 | |
movaps XMMWORD PTR -96[rbp], xmm2 | |
movaps XMMWORD PTR -80[rbp], xmm3 | |
movaps XMMWORD PTR -64[rbp], xmm4 | |
movaps XMMWORD PTR -48[rbp], xmm5 | |
movaps XMMWORD PTR -32[rbp], xmm6 | |
movaps XMMWORD PTR -16[rbp], xmm7 | |
.L1015: | |
mov DWORD PTR -200[rbp], 16 | |
mov DWORD PTR -196[rbp], 48 | |
lea rax, 16[rbp] | |
mov QWORD PTR -192[rbp], rax | |
lea rax, -176[rbp] | |
mov QWORD PTR -184[rbp], rax | |
lea rdx, -200[rbp] | |
mov rcx, QWORD PTR -224[rbp] | |
mov rax, QWORD PTR -216[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3VXPrintf | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE178: | |
.size sqlite3XPrintf, .-sqlite3XPrintf | |
.local sqlite3Prng | |
.comm sqlite3Prng,259,32 | |
.globl sqlite3_randomness | |
.type sqlite3_randomness, @function | |
sqlite3_randomness: | |
.LFB179: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 304 | |
mov DWORD PTR -292[rbp], edi | |
mov QWORD PTR -304[rbp], rsi | |
mov rax, QWORD PTR -304[rbp] | |
mov QWORD PTR -8[rbp], rax | |
call sqlite3_initialize | |
test eax, eax | |
jne .L1026 | |
mov edi, 5 | |
call sqlite3MutexAlloc | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3_mutex_enter | |
cmp DWORD PTR -292[rbp], 0 | |
jle .L1019 | |
cmp QWORD PTR -304[rbp], 0 | |
jne .L1020 | |
.L1019: | |
mov BYTE PTR sqlite3Prng[rip], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3_mutex_leave | |
jmp .L1016 | |
.L1020: | |
movzx eax, BYTE PTR sqlite3Prng[rip] | |
test al, al | |
jne .L1021 | |
mov BYTE PTR sqlite3Prng[rip+2], 0 | |
mov BYTE PTR sqlite3Prng[rip+1], 0 | |
mov edi, 0 | |
call sqlite3_vfs_find | |
mov rcx, rax | |
lea rax, -288[rbp] | |
mov rdx, rax | |
mov esi, 256 | |
mov rdi, rcx | |
call sqlite3OsRandomness | |
mov DWORD PTR -12[rbp], 0 | |
jmp .L1022 | |
.L1023: | |
mov eax, DWORD PTR -12[rbp] | |
mov ecx, eax | |
mov eax, DWORD PTR -12[rbp] | |
movsx rdx, eax | |
lea rax, sqlite3Prng[rip+3] | |
mov BYTE PTR [rdx+rax], cl | |
add DWORD PTR -12[rbp], 1 | |
.L1022: | |
cmp DWORD PTR -12[rbp], 255 | |
jle .L1023 | |
mov DWORD PTR -12[rbp], 0 | |
jmp .L1024 | |
.L1025: | |
movzx ecx, BYTE PTR sqlite3Prng[rip+2] | |
mov eax, DWORD PTR -12[rbp] | |
movsx rdx, eax | |
lea rax, sqlite3Prng[rip+3] | |
movzx edx, BYTE PTR [rdx+rax] | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
movzx eax, BYTE PTR -288[rbp+rax] | |
add eax, edx | |
add eax, ecx | |
mov BYTE PTR sqlite3Prng[rip+2], al | |
movzx eax, BYTE PTR sqlite3Prng[rip+2] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3Prng[rip+3] | |
movzx eax, BYTE PTR [rdx+rax] | |
mov BYTE PTR -25[rbp], al | |
movzx eax, BYTE PTR sqlite3Prng[rip+2] | |
movzx esi, al | |
mov eax, DWORD PTR -12[rbp] | |
movsx rdx, eax | |
lea rax, sqlite3Prng[rip+3] | |
movzx ecx, BYTE PTR [rdx+rax] | |
movsx rdx, esi | |
lea rax, sqlite3Prng[rip+3] | |
mov BYTE PTR [rdx+rax], cl | |
mov eax, DWORD PTR -12[rbp] | |
movsx rdx, eax | |
lea rax, sqlite3Prng[rip+3] | |
movzx ecx, BYTE PTR -25[rbp] | |
mov BYTE PTR [rdx+rax], cl | |
add DWORD PTR -12[rbp], 1 | |
.L1024: | |
cmp DWORD PTR -12[rbp], 255 | |
jle .L1025 | |
mov BYTE PTR sqlite3Prng[rip], 1 | |
.L1021: | |
movzx eax, BYTE PTR sqlite3Prng[rip+1] | |
add eax, 1 | |
mov BYTE PTR sqlite3Prng[rip+1], al | |
movzx eax, BYTE PTR sqlite3Prng[rip+1] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3Prng[rip+3] | |
movzx eax, BYTE PTR [rdx+rax] | |
mov BYTE PTR -25[rbp], al | |
movzx edx, BYTE PTR sqlite3Prng[rip+2] | |
movzx eax, BYTE PTR -25[rbp] | |
add eax, edx | |
mov BYTE PTR sqlite3Prng[rip+2], al | |
movzx eax, BYTE PTR sqlite3Prng[rip+1] | |
movzx esi, al | |
movzx eax, BYTE PTR sqlite3Prng[rip+2] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3Prng[rip+3] | |
movzx ecx, BYTE PTR [rdx+rax] | |
movsx rdx, esi | |
lea rax, sqlite3Prng[rip+3] | |
mov BYTE PTR [rdx+rax], cl | |
movzx eax, BYTE PTR sqlite3Prng[rip+2] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3Prng[rip+3] | |
movzx ecx, BYTE PTR -25[rbp] | |
mov BYTE PTR [rdx+rax], cl | |
movzx eax, BYTE PTR sqlite3Prng[rip+1] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3Prng[rip+3] | |
movzx eax, BYTE PTR [rdx+rax] | |
add BYTE PTR -25[rbp], al | |
mov rax, QWORD PTR -8[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -8[rbp], rdx | |
movzx edx, BYTE PTR -25[rbp] | |
movsx rcx, edx | |
lea rdx, sqlite3Prng[rip+3] | |
movzx edx, BYTE PTR [rcx+rdx] | |
mov BYTE PTR [rax], dl | |
sub DWORD PTR -292[rbp], 1 | |
cmp DWORD PTR -292[rbp], 0 | |
jne .L1021 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3_mutex_leave | |
jmp .L1016 | |
.L1026: | |
nop | |
.L1016: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE179: | |
.size sqlite3_randomness, .-sqlite3_randomness | |
.local sqlite3SavedPrng | |
.comm sqlite3SavedPrng,259,32 | |
.type sqlite3PrngSaveState, @function | |
sqlite3PrngSaveState: | |
.LFB180: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
lea rdx, sqlite3SavedPrng[rip] | |
lea rax, sqlite3Prng[rip] | |
mov ecx, 32 | |
mov rdi, rdx | |
mov rsi, rax | |
rep movsq | |
mov rax, rsi | |
mov rdx, rdi | |
movzx ecx, WORD PTR [rax] | |
mov WORD PTR [rdx], cx | |
lea rdx, 2[rdx] | |
lea rax, 2[rax] | |
movzx ecx, BYTE PTR [rax] | |
mov BYTE PTR [rdx], cl | |
lea rdx, 1[rdx] | |
lea rax, 1[rax] | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE180: | |
.size sqlite3PrngSaveState, .-sqlite3PrngSaveState | |
.type sqlite3PrngRestoreState, @function | |
sqlite3PrngRestoreState: | |
.LFB181: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
lea rdx, sqlite3Prng[rip] | |
lea rax, sqlite3SavedPrng[rip] | |
mov ecx, 32 | |
mov rdi, rdx | |
mov rsi, rax | |
rep movsq | |
mov rax, rsi | |
mov rdx, rdi | |
movzx ecx, WORD PTR [rax] | |
mov WORD PTR [rdx], cx | |
lea rdx, 2[rdx] | |
lea rax, 2[rax] | |
movzx ecx, BYTE PTR [rax] | |
mov BYTE PTR [rdx], cl | |
lea rdx, 1[rdx] | |
lea rax, 1[rax] | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE181: | |
.size sqlite3PrngRestoreState, .-sqlite3PrngRestoreState | |
.type sqlite3ThreadCreate, @function | |
sqlite3ThreadCreate: | |
.LFB182: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov QWORD PTR -40[rbp], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR [rax], 0 | |
mov edi, 40 | |
call sqlite3Malloc | |
mov QWORD PTR -16[rbp], rax | |
cmp QWORD PTR -16[rbp], 0 | |
jne .L1030 | |
mov eax, 7 | |
jmp .L1031 | |
.L1030: | |
mov rax, QWORD PTR -16[rbp] | |
mov edx, 40 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
mov rax, QWORD PTR -16[rbp] | |
mov rdx, QWORD PTR -32[rbp] | |
mov QWORD PTR 24[rax], rdx | |
mov rax, QWORD PTR -16[rbp] | |
mov rdx, QWORD PTR -40[rbp] | |
mov QWORD PTR 32[rax], rdx | |
mov edi, 200 | |
call sqlite3FaultSim | |
test eax, eax | |
je .L1032 | |
mov DWORD PTR -4[rbp], 1 | |
jmp .L1033 | |
.L1032: | |
mov rax, QWORD PTR -16[rbp] | |
mov rcx, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR -32[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call pthread_create@PLT | |
mov DWORD PTR -4[rbp], eax | |
.L1033: | |
cmp DWORD PTR -4[rbp], 0 | |
je .L1034 | |
mov rax, QWORD PTR -16[rbp] | |
mov DWORD PTR 8[rax], 1 | |
mov rdx, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov rdi, rdx | |
call rax | |
mov rdx, rax | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR 16[rax], rdx | |
.L1034: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -16[rbp] | |
mov QWORD PTR [rax], rdx | |
mov eax, 0 | |
.L1031: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE182: | |
.size sqlite3ThreadCreate, .-sqlite3ThreadCreate | |
.type sqlite3ThreadJoin, @function | |
sqlite3ThreadJoin: | |
.LFB183: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
cmp QWORD PTR -24[rbp], 0 | |
jne .L1036 | |
mov eax, 7 | |
jmp .L1037 | |
.L1036: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 8[rax] | |
test eax, eax | |
je .L1038 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -32[rbp] | |
mov QWORD PTR [rax], rdx | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L1039 | |
.L1038: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rdx, QWORD PTR -32[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call pthread_join@PLT | |
test eax, eax | |
setne al | |
movzx eax, al | |
mov DWORD PTR -4[rbp], eax | |
.L1039: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
mov eax, DWORD PTR -4[rbp] | |
.L1037: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE183: | |
.size sqlite3ThreadJoin, .-sqlite3ThreadJoin | |
.section .rodata | |
.align 32 | |
.type sqlite3Utf8Trans1, @object | |
.size sqlite3Utf8Trans1, 64 | |
sqlite3Utf8Trans1: | |
.byte 0 | |
.byte 1 | |
.byte 2 | |
.byte 3 | |
.byte 4 | |
.byte 5 | |
.byte 6 | |
.byte 7 | |
.byte 8 | |
.byte 9 | |
.byte 10 | |
.byte 11 | |
.byte 12 | |
.byte 13 | |
.byte 14 | |
.byte 15 | |
.byte 16 | |
.byte 17 | |
.byte 18 | |
.byte 19 | |
.byte 20 | |
.byte 21 | |
.byte 22 | |
.byte 23 | |
.byte 24 | |
.byte 25 | |
.byte 26 | |
.byte 27 | |
.byte 28 | |
.byte 29 | |
.byte 30 | |
.byte 31 | |
.byte 0 | |
.byte 1 | |
.byte 2 | |
.byte 3 | |
.byte 4 | |
.byte 5 | |
.byte 6 | |
.byte 7 | |
.byte 8 | |
.byte 9 | |
.byte 10 | |
.byte 11 | |
.byte 12 | |
.byte 13 | |
.byte 14 | |
.byte 15 | |
.byte 0 | |
.byte 1 | |
.byte 2 | |
.byte 3 | |
.byte 4 | |
.byte 5 | |
.byte 6 | |
.byte 7 | |
.byte 0 | |
.byte 1 | |
.byte 2 | |
.byte 3 | |
.byte 0 | |
.byte 1 | |
.byte 0 | |
.byte 0 | |
.text | |
.type sqlite3Utf8Read, @function | |
sqlite3Utf8Read: | |
.LFB184: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
lea rcx, 1[rax] | |
mov rdx, QWORD PTR -24[rbp] | |
mov QWORD PTR [rdx], rcx | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 191 | |
jbe .L1041 | |
mov eax, DWORD PTR -4[rbp] | |
sub eax, 192 | |
mov edx, eax | |
lea rax, sqlite3Utf8Trans1[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
mov DWORD PTR -4[rbp], eax | |
jmp .L1042 | |
.L1043: | |
mov eax, DWORD PTR -4[rbp] | |
sal eax, 6 | |
mov esi, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
lea rcx, 1[rax] | |
mov rdx, QWORD PTR -24[rbp] | |
mov QWORD PTR [rdx], rcx | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
and eax, 63 | |
add eax, esi | |
mov DWORD PTR -4[rbp], eax | |
.L1042: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
and eax, 192 | |
cmp eax, 128 | |
je .L1043 | |
cmp DWORD PTR -4[rbp], 127 | |
jbe .L1044 | |
mov eax, DWORD PTR -4[rbp] | |
and eax, -2048 | |
cmp eax, 55296 | |
je .L1044 | |
mov eax, DWORD PTR -4[rbp] | |
and eax, -2 | |
cmp eax, 65534 | |
jne .L1041 | |
.L1044: | |
mov DWORD PTR -4[rbp], 65533 | |
.L1041: | |
mov eax, DWORD PTR -4[rbp] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE184: | |
.size sqlite3Utf8Read, .-sqlite3Utf8Read | |
.type sqlite3VdbeMemTranslate, @function | |
sqlite3VdbeMemTranslate: | |
.LFB185: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 80 | |
mov QWORD PTR -72[rbp], rdi | |
mov eax, esi | |
mov BYTE PTR -76[rbp], al | |
mov rax, QWORD PTR -72[rbp] | |
movzx eax, BYTE PTR 10[rax] | |
cmp al, 1 | |
je .L1047 | |
cmp BYTE PTR -76[rbp], 1 | |
je .L1047 | |
mov rax, QWORD PTR -72[rbp] | |
mov rdi, rax | |
call sqlite3VdbeMemMakeWriteable | |
mov DWORD PTR -32[rbp], eax | |
cmp DWORD PTR -32[rbp], 0 | |
je .L1048 | |
mov eax, 7 | |
jmp .L1049 | |
.L1048: | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 12[rax] | |
and eax, -2 | |
movsx rdx, eax | |
mov rax, QWORD PTR -16[rbp] | |
add rax, rdx | |
mov QWORD PTR -40[rbp], rax | |
jmp .L1050 | |
.L1051: | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, BYTE PTR [rax] | |
mov BYTE PTR -41[rbp], al | |
mov rax, QWORD PTR -16[rbp] | |
movzx edx, BYTE PTR 1[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov BYTE PTR [rax], dl | |
add QWORD PTR -16[rbp], 1 | |
mov rax, QWORD PTR -16[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -16[rbp], rdx | |
movzx edx, BYTE PTR -41[rbp] | |
mov BYTE PTR [rax], dl | |
.L1050: | |
mov rax, QWORD PTR -16[rbp] | |
cmp rax, QWORD PTR -40[rbp] | |
jb .L1051 | |
mov rax, QWORD PTR -72[rbp] | |
movzx edx, BYTE PTR -76[rbp] | |
mov BYTE PTR 10[rax], dl | |
jmp .L1052 | |
.L1047: | |
cmp BYTE PTR -76[rbp], 1 | |
jne .L1053 | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 12[rax] | |
and eax, -2 | |
mov edx, eax | |
mov rax, QWORD PTR -72[rbp] | |
mov DWORD PTR 12[rax], edx | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 12[rax] | |
add eax, eax | |
add eax, 1 | |
mov DWORD PTR -4[rbp], eax | |
jmp .L1054 | |
.L1053: | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 12[rax] | |
add eax, 1 | |
add eax, eax | |
mov DWORD PTR -4[rbp], eax | |
.L1054: | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 12[rax] | |
movsx rdx, eax | |
mov rax, QWORD PTR -16[rbp] | |
add rax, rdx | |
mov QWORD PTR -40[rbp], rax | |
mov eax, DWORD PTR -4[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 40[rax] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DbMallocRaw | |
mov QWORD PTR -56[rbp], rax | |
cmp QWORD PTR -56[rbp], 0 | |
jne .L1055 | |
mov eax, 7 | |
jmp .L1049 | |
.L1055: | |
mov rax, QWORD PTR -56[rbp] | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -72[rbp] | |
movzx eax, BYTE PTR 10[rax] | |
cmp al, 1 | |
jne .L1056 | |
cmp BYTE PTR -76[rbp], 2 | |
jne .L1067 | |
jmp .L1058 | |
.L1065: | |
mov rax, QWORD PTR -16[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -16[rbp], rdx | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
mov DWORD PTR -28[rbp], eax | |
cmp DWORD PTR -28[rbp], 191 | |
jbe .L1059 | |
mov eax, DWORD PTR -28[rbp] | |
sub eax, 192 | |
mov edx, eax | |
lea rax, sqlite3Utf8Trans1[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
mov DWORD PTR -28[rbp], eax | |
jmp .L1060 | |
.L1062: | |
mov eax, DWORD PTR -28[rbp] | |
sal eax, 6 | |
mov ecx, eax | |
mov rax, QWORD PTR -16[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -16[rbp], rdx | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
and eax, 63 | |
add eax, ecx | |
mov DWORD PTR -28[rbp], eax | |
.L1060: | |
mov rax, QWORD PTR -16[rbp] | |
cmp rax, QWORD PTR -40[rbp] | |
je .L1061 | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
and eax, 192 | |
cmp eax, 128 | |
je .L1062 | |
.L1061: | |
cmp DWORD PTR -28[rbp], 127 | |
jbe .L1063 | |
mov eax, DWORD PTR -28[rbp] | |
and eax, -2048 | |
cmp eax, 55296 | |
je .L1063 | |
mov eax, DWORD PTR -28[rbp] | |
and eax, -2 | |
cmp eax, 65534 | |
jne .L1059 | |
.L1063: | |
mov DWORD PTR -28[rbp], 65533 | |
.L1059: | |
cmp DWORD PTR -28[rbp], 65535 | |
ja .L1064 | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
mov BYTE PTR [rax], dl | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
shr edx, 8 | |
mov BYTE PTR [rax], dl | |
jmp .L1058 | |
.L1064: | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
shr edx, 10 | |
mov ecx, edx | |
and ecx, 63 | |
mov edx, DWORD PTR -28[rbp] | |
sub edx, 65536 | |
shr edx, 10 | |
and edx, -64 | |
or edx, ecx | |
mov BYTE PTR [rax], dl | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
sub edx, 65536 | |
shr edx, 18 | |
and edx, 3 | |
sub edx, 40 | |
mov BYTE PTR [rax], dl | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
mov BYTE PTR [rax], dl | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
shr edx, 8 | |
and edx, 3 | |
sub edx, 36 | |
mov BYTE PTR [rax], dl | |
.L1058: | |
mov rax, QWORD PTR -16[rbp] | |
cmp rax, QWORD PTR -40[rbp] | |
jb .L1065 | |
jmp .L1066 | |
.L1074: | |
mov rax, QWORD PTR -16[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -16[rbp], rdx | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
mov DWORD PTR -28[rbp], eax | |
cmp DWORD PTR -28[rbp], 191 | |
jbe .L1068 | |
mov eax, DWORD PTR -28[rbp] | |
sub eax, 192 | |
mov edx, eax | |
lea rax, sqlite3Utf8Trans1[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
mov DWORD PTR -28[rbp], eax | |
jmp .L1069 | |
.L1071: | |
mov eax, DWORD PTR -28[rbp] | |
sal eax, 6 | |
mov ecx, eax | |
mov rax, QWORD PTR -16[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -16[rbp], rdx | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
and eax, 63 | |
add eax, ecx | |
mov DWORD PTR -28[rbp], eax | |
.L1069: | |
mov rax, QWORD PTR -16[rbp] | |
cmp rax, QWORD PTR -40[rbp] | |
je .L1070 | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
and eax, 192 | |
cmp eax, 128 | |
je .L1071 | |
.L1070: | |
cmp DWORD PTR -28[rbp], 127 | |
jbe .L1072 | |
mov eax, DWORD PTR -28[rbp] | |
and eax, -2048 | |
cmp eax, 55296 | |
je .L1072 | |
mov eax, DWORD PTR -28[rbp] | |
and eax, -2 | |
cmp eax, 65534 | |
jne .L1068 | |
.L1072: | |
mov DWORD PTR -28[rbp], 65533 | |
.L1068: | |
cmp DWORD PTR -28[rbp], 65535 | |
ja .L1073 | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
shr edx, 8 | |
mov BYTE PTR [rax], dl | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
mov BYTE PTR [rax], dl | |
jmp .L1067 | |
.L1073: | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
sub edx, 65536 | |
shr edx, 18 | |
and edx, 3 | |
sub edx, 40 | |
mov BYTE PTR [rax], dl | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
shr edx, 10 | |
mov ecx, edx | |
and ecx, 63 | |
mov edx, DWORD PTR -28[rbp] | |
sub edx, 65536 | |
shr edx, 10 | |
and edx, -64 | |
or edx, ecx | |
mov BYTE PTR [rax], dl | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
shr edx, 8 | |
and edx, 3 | |
sub edx, 36 | |
mov BYTE PTR [rax], dl | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
mov BYTE PTR [rax], dl | |
.L1067: | |
mov rax, QWORD PTR -16[rbp] | |
cmp rax, QWORD PTR -40[rbp] | |
jb .L1074 | |
.L1066: | |
mov rdx, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR -56[rbp] | |
sub rdx, rax | |
mov rax, rdx | |
mov edx, eax | |
mov rax, QWORD PTR -72[rbp] | |
mov DWORD PTR 12[rax], edx | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov BYTE PTR [rax], 0 | |
jmp .L1075 | |
.L1056: | |
mov rax, QWORD PTR -72[rbp] | |
movzx eax, BYTE PTR 10[rax] | |
cmp al, 2 | |
jne .L1084 | |
jmp .L1077 | |
.L1082: | |
mov rax, QWORD PTR -16[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -16[rbp], rdx | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
mov DWORD PTR -28[rbp], eax | |
mov rax, QWORD PTR -16[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -16[rbp], rdx | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
sal eax, 8 | |
add DWORD PTR -28[rbp], eax | |
cmp DWORD PTR -28[rbp], 55295 | |
jbe .L1078 | |
cmp DWORD PTR -28[rbp], 57343 | |
ja .L1078 | |
mov rax, QWORD PTR -16[rbp] | |
cmp rax, QWORD PTR -40[rbp] | |
jnb .L1078 | |
mov rax, QWORD PTR -16[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -16[rbp], rdx | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
mov DWORD PTR -60[rbp], eax | |
mov rax, QWORD PTR -16[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -16[rbp], rdx | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
sal eax, 8 | |
add DWORD PTR -60[rbp], eax | |
mov eax, DWORD PTR -60[rbp] | |
and eax, 1023 | |
mov edx, eax | |
mov eax, DWORD PTR -28[rbp] | |
sal eax, 10 | |
movzx eax, ax | |
add edx, eax | |
mov eax, DWORD PTR -28[rbp] | |
and eax, 960 | |
add eax, 64 | |
sal eax, 10 | |
add eax, edx | |
mov DWORD PTR -28[rbp], eax | |
.L1078: | |
cmp DWORD PTR -28[rbp], 127 | |
ja .L1079 | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
mov BYTE PTR [rax], dl | |
jmp .L1077 | |
.L1079: | |
cmp DWORD PTR -28[rbp], 2047 | |
ja .L1080 | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
shr edx, 6 | |
and edx, 31 | |
sub edx, 64 | |
mov BYTE PTR [rax], dl | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
and edx, 63 | |
add edx, -128 | |
mov BYTE PTR [rax], dl | |
jmp .L1077 | |
.L1080: | |
cmp DWORD PTR -28[rbp], 65535 | |
ja .L1081 | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
shr edx, 12 | |
and edx, 15 | |
sub edx, 32 | |
mov BYTE PTR [rax], dl | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
shr edx, 6 | |
and edx, 63 | |
add edx, -128 | |
mov BYTE PTR [rax], dl | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
and edx, 63 | |
add edx, -128 | |
mov BYTE PTR [rax], dl | |
jmp .L1077 | |
.L1081: | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
shr edx, 18 | |
and edx, 7 | |
sub edx, 16 | |
mov BYTE PTR [rax], dl | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
shr edx, 12 | |
and edx, 63 | |
add edx, -128 | |
mov BYTE PTR [rax], dl | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
shr edx, 6 | |
and edx, 63 | |
add edx, -128 | |
mov BYTE PTR [rax], dl | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
and edx, 63 | |
add edx, -128 | |
mov BYTE PTR [rax], dl | |
.L1077: | |
mov rax, QWORD PTR -16[rbp] | |
cmp rax, QWORD PTR -40[rbp] | |
jb .L1082 | |
jmp .L1083 | |
.L1089: | |
mov rax, QWORD PTR -16[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -16[rbp], rdx | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
sal eax, 8 | |
mov DWORD PTR -28[rbp], eax | |
mov rax, QWORD PTR -16[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -16[rbp], rdx | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
add DWORD PTR -28[rbp], eax | |
cmp DWORD PTR -28[rbp], 55295 | |
jbe .L1085 | |
cmp DWORD PTR -28[rbp], 57343 | |
ja .L1085 | |
mov rax, QWORD PTR -16[rbp] | |
cmp rax, QWORD PTR -40[rbp] | |
jnb .L1085 | |
mov rax, QWORD PTR -16[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -16[rbp], rdx | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
sal eax, 8 | |
mov DWORD PTR -64[rbp], eax | |
mov rax, QWORD PTR -16[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -16[rbp], rdx | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
add DWORD PTR -64[rbp], eax | |
mov eax, DWORD PTR -64[rbp] | |
and eax, 1023 | |
mov edx, eax | |
mov eax, DWORD PTR -28[rbp] | |
sal eax, 10 | |
movzx eax, ax | |
add edx, eax | |
mov eax, DWORD PTR -28[rbp] | |
and eax, 960 | |
add eax, 64 | |
sal eax, 10 | |
add eax, edx | |
mov DWORD PTR -28[rbp], eax | |
.L1085: | |
cmp DWORD PTR -28[rbp], 127 | |
ja .L1086 | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
mov BYTE PTR [rax], dl | |
jmp .L1084 | |
.L1086: | |
cmp DWORD PTR -28[rbp], 2047 | |
ja .L1087 | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
shr edx, 6 | |
and edx, 31 | |
sub edx, 64 | |
mov BYTE PTR [rax], dl | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
and edx, 63 | |
add edx, -128 | |
mov BYTE PTR [rax], dl | |
jmp .L1084 | |
.L1087: | |
cmp DWORD PTR -28[rbp], 65535 | |
ja .L1088 | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
shr edx, 12 | |
and edx, 15 | |
sub edx, 32 | |
mov BYTE PTR [rax], dl | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
shr edx, 6 | |
and edx, 63 | |
add edx, -128 | |
mov BYTE PTR [rax], dl | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
and edx, 63 | |
add edx, -128 | |
mov BYTE PTR [rax], dl | |
jmp .L1084 | |
.L1088: | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
shr edx, 18 | |
and edx, 7 | |
sub edx, 16 | |
mov BYTE PTR [rax], dl | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
shr edx, 12 | |
and edx, 63 | |
add edx, -128 | |
mov BYTE PTR [rax], dl | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
shr edx, 6 | |
and edx, 63 | |
add edx, -128 | |
mov BYTE PTR [rax], dl | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
mov edx, DWORD PTR -28[rbp] | |
and edx, 63 | |
add edx, -128 | |
mov BYTE PTR [rax], dl | |
.L1084: | |
mov rax, QWORD PTR -16[rbp] | |
cmp rax, QWORD PTR -40[rbp] | |
jb .L1089 | |
.L1083: | |
mov rdx, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR -56[rbp] | |
sub rdx, rax | |
mov rax, rdx | |
mov edx, eax | |
mov rax, QWORD PTR -72[rbp] | |
mov DWORD PTR 12[rax], edx | |
.L1075: | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR [rax], 0 | |
mov rax, QWORD PTR -72[rbp] | |
movzx eax, WORD PTR 8[rax] | |
movzx eax, ax | |
mov DWORD PTR -28[rbp], eax | |
mov rax, QWORD PTR -72[rbp] | |
mov rdi, rax | |
call sqlite3VdbeMemRelease | |
mov eax, DWORD PTR -28[rbp] | |
and ax, -32739 | |
or ax, 514 | |
mov edx, eax | |
mov rax, QWORD PTR -72[rbp] | |
mov WORD PTR 8[rax], dx | |
mov rax, QWORD PTR -72[rbp] | |
movzx edx, BYTE PTR -76[rbp] | |
mov BYTE PTR 10[rax], dl | |
mov rax, QWORD PTR -72[rbp] | |
mov rdx, QWORD PTR -56[rbp] | |
mov QWORD PTR 16[rax], rdx | |
mov rax, QWORD PTR -72[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -72[rbp] | |
mov QWORD PTR 24[rax], rdx | |
mov rax, QWORD PTR -72[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 40[rax] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DbMallocSize | |
mov edx, eax | |
mov rax, QWORD PTR -72[rbp] | |
mov DWORD PTR 32[rax], edx | |
.L1052: | |
mov eax, 0 | |
.L1049: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE185: | |
.size sqlite3VdbeMemTranslate, .-sqlite3VdbeMemTranslate | |
.type sqlite3VdbeMemHandleBom, @function | |
sqlite3VdbeMemHandleBom: | |
.LFB186: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -4[rbp], 0 | |
mov BYTE PTR -5[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 12[rax] | |
cmp eax, 1 | |
jle .L1091 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 16[rax] | |
movzx eax, BYTE PTR [rax] | |
mov BYTE PTR -6[rbp], al | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 16[rax] | |
movzx eax, BYTE PTR 1[rax] | |
mov BYTE PTR -7[rbp], al | |
cmp BYTE PTR -6[rbp], -2 | |
jne .L1092 | |
cmp BYTE PTR -7[rbp], -1 | |
jne .L1092 | |
mov BYTE PTR -5[rbp], 3 | |
.L1092: | |
cmp BYTE PTR -6[rbp], -1 | |
jne .L1091 | |
cmp BYTE PTR -7[rbp], -2 | |
jne .L1091 | |
mov BYTE PTR -5[rbp], 2 | |
.L1091: | |
cmp BYTE PTR -5[rbp], 0 | |
je .L1093 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3VdbeMemMakeWriteable | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L1093 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 12[rax] | |
lea edx, -2[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 12[rax], edx | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 12[rax] | |
movsx rdx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 16[rax] | |
lea rcx, 2[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov rsi, rcx | |
mov rdi, rax | |
call memmove@PLT | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 12[rax] | |
cdqe | |
add rax, rdx | |
mov BYTE PTR [rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 12[rax] | |
cdqe | |
add rax, 1 | |
add rax, rdx | |
mov BYTE PTR [rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, WORD PTR 8[rax] | |
or ah, 2 | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov WORD PTR 8[rax], dx | |
mov rax, QWORD PTR -24[rbp] | |
movzx edx, BYTE PTR -5[rbp] | |
mov BYTE PTR 10[rax], dl | |
.L1093: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE186: | |
.size sqlite3VdbeMemHandleBom, .-sqlite3VdbeMemHandleBom | |
.type sqlite3Utf8CharLen, @function | |
sqlite3Utf8CharLen: | |
.LFB187: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR -16[rbp], rax | |
cmp DWORD PTR -44[rbp], 0 | |
js .L1096 | |
mov eax, DWORD PTR -44[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -16[rbp] | |
add rax, rdx | |
mov QWORD PTR -24[rbp], rax | |
jmp .L1098 | |
.L1096: | |
mov QWORD PTR -24[rbp], -1 | |
jmp .L1098 | |
.L1103: | |
mov rax, QWORD PTR -16[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -16[rbp], rdx | |
movzx eax, BYTE PTR [rax] | |
cmp al, -65 | |
jbe .L1099 | |
jmp .L1100 | |
.L1101: | |
add QWORD PTR -16[rbp], 1 | |
.L1100: | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
and eax, 192 | |
cmp eax, 128 | |
je .L1101 | |
.L1099: | |
add DWORD PTR -4[rbp], 1 | |
.L1098: | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, BYTE PTR [rax] | |
test al, al | |
je .L1102 | |
mov rax, QWORD PTR -16[rbp] | |
cmp rax, QWORD PTR -24[rbp] | |
jb .L1103 | |
.L1102: | |
mov eax, DWORD PTR -4[rbp] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE187: | |
.size sqlite3Utf8CharLen, .-sqlite3Utf8CharLen | |
.type sqlite3Utf16to8, @function | |
sqlite3Utf16to8: | |
.LFB188: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 96 | |
mov QWORD PTR -72[rbp], rdi | |
mov QWORD PTR -80[rbp], rsi | |
mov DWORD PTR -84[rbp], edx | |
mov eax, ecx | |
mov BYTE PTR -88[rbp], al | |
lea rax, -64[rbp] | |
mov edx, 56 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
mov rax, QWORD PTR -72[rbp] | |
mov QWORD PTR -24[rbp], rax | |
movzx ecx, BYTE PTR -88[rbp] | |
mov edx, DWORD PTR -84[rbp] | |
mov rsi, QWORD PTR -80[rbp] | |
lea rax, -64[rbp] | |
mov r8d, 0 | |
mov rdi, rax | |
call sqlite3VdbeMemSetStr | |
lea rax, -64[rbp] | |
mov esi, 1 | |
mov rdi, rax | |
call sqlite3VdbeChangeEncoding | |
mov rax, QWORD PTR -72[rbp] | |
movzx eax, BYTE PTR 97[rax] | |
test al, al | |
je .L1106 | |
lea rax, -64[rbp] | |
mov rdi, rax | |
call sqlite3VdbeMemRelease | |
mov QWORD PTR -48[rbp], 0 | |
.L1106: | |
mov rax, QWORD PTR -48[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE188: | |
.size sqlite3Utf16to8, .-sqlite3Utf16to8 | |
.type sqlite3Utf16ByteLen, @function | |
sqlite3Utf16ByteLen: | |
.LFB189: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR -8[rbp], rax | |
mov DWORD PTR -12[rbp], 0 | |
jmp .L1109 | |
.L1111: | |
mov rax, QWORD PTR -8[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -8[rbp], rdx | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
mov DWORD PTR -16[rbp], eax | |
mov rax, QWORD PTR -8[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -8[rbp], rdx | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
sal eax, 8 | |
add DWORD PTR -16[rbp], eax | |
cmp DWORD PTR -16[rbp], 55295 | |
jle .L1110 | |
cmp DWORD PTR -16[rbp], 57343 | |
jg .L1110 | |
mov rax, QWORD PTR -8[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -8[rbp], rdx | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
mov DWORD PTR -20[rbp], eax | |
mov rax, QWORD PTR -8[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -8[rbp], rdx | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
sal eax, 8 | |
add DWORD PTR -20[rbp], eax | |
mov eax, DWORD PTR -20[rbp] | |
and eax, 1023 | |
mov edx, eax | |
mov eax, DWORD PTR -16[rbp] | |
sal eax, 10 | |
movzx eax, ax | |
add edx, eax | |
mov eax, DWORD PTR -16[rbp] | |
and eax, 960 | |
add eax, 64 | |
sal eax, 10 | |
add eax, edx | |
mov DWORD PTR -16[rbp], eax | |
.L1110: | |
add DWORD PTR -12[rbp], 1 | |
.L1109: | |
mov eax, DWORD PTR -12[rbp] | |
cmp eax, DWORD PTR -44[rbp] | |
jl .L1111 | |
mov rdx, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
sub rdx, rax | |
mov rax, rdx | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE189: | |
.size sqlite3Utf16ByteLen, .-sqlite3Utf16ByteLen | |
.type sqlite3FaultSim, @function | |
sqlite3FaultSim: | |
.LFB190: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov DWORD PTR -20[rbp], edi | |
mov rax, QWORD PTR sqlite3Config[rip+408] | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
je .L1114 | |
mov edx, DWORD PTR -20[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov edi, edx | |
call rax | |
jmp .L1116 | |
.L1114: | |
mov eax, 0 | |
.L1116: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE190: | |
.size sqlite3FaultSim, .-sqlite3FaultSim | |
.type sqlite3IsNaN, @function | |
sqlite3IsNaN: | |
.LFB191: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
movsd QWORD PTR -40[rbp], xmm0 | |
movsd xmm0, QWORD PTR -40[rbp] | |
movsd QWORD PTR -16[rbp], xmm0 | |
movsd xmm0, QWORD PTR -16[rbp] | |
movsd QWORD PTR -24[rbp], xmm0 | |
movsd xmm0, QWORD PTR -16[rbp] | |
movsd xmm1, QWORD PTR -24[rbp] | |
ucomisd xmm0, xmm1 | |
setp al | |
mov edx, 1 | |
ucomisd xmm0, xmm1 | |
cmovne eax, edx | |
movzx eax, al | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE191: | |
.size sqlite3IsNaN, .-sqlite3IsNaN | |
.type sqlite3Strlen30, @function | |
sqlite3Strlen30: | |
.LFB192: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L1120 | |
mov eax, 0 | |
jmp .L1121 | |
.L1120: | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call strlen@PLT | |
and eax, 1073741823 | |
.L1121: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE192: | |
.size sqlite3Strlen30, .-sqlite3Strlen30 | |
.type sqlite3ColumnType, @function | |
sqlite3ColumnType: | |
.LFB193: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
push rbx | |
sub rsp, 24 | |
.cfi_offset 3, -24 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 27[rax] | |
movzx eax, al | |
and eax, 4 | |
test eax, eax | |
jne .L1123 | |
mov rax, QWORD PTR -32[rbp] | |
jmp .L1124 | |
.L1123: | |
mov rax, QWORD PTR -24[rbp] | |
mov rbx, QWORD PTR [rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rdi, rax | |
call strlen@PLT | |
add rax, 1 | |
add rax, rbx | |
.L1124: | |
add rsp, 24 | |
pop rbx | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE193: | |
.size sqlite3ColumnType, .-sqlite3ColumnType | |
.type sqlite3ErrorFinish, @function | |
sqlite3ErrorFinish: | |
.LFB194: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 336[rax] | |
test rax, rax | |
je .L1126 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 336[rax] | |
mov rdi, rax | |
call sqlite3ValueSetNull | |
.L1126: | |
mov edx, DWORD PTR -12[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3SystemError | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE194: | |
.size sqlite3ErrorFinish, .-sqlite3ErrorFinish | |
.type sqlite3Error, @function | |
sqlite3Error: | |
.LFB195: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, DWORD PTR -12[rbp] | |
mov DWORD PTR 80[rax], edx | |
cmp DWORD PTR -12[rbp], 0 | |
jne .L1128 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 336[rax] | |
test rax, rax | |
je .L1130 | |
.L1128: | |
mov edx, DWORD PTR -12[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3ErrorFinish | |
.L1130: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE195: | |
.size sqlite3Error, .-sqlite3Error | |
.type sqlite3SystemError, @function | |
sqlite3SystemError: | |
.LFB196: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
cmp DWORD PTR -12[rbp], 3082 | |
je .L1135 | |
and DWORD PTR -12[rbp], 255 | |
cmp DWORD PTR -12[rbp], 14 | |
je .L1134 | |
cmp DWORD PTR -12[rbp], 10 | |
jne .L1131 | |
.L1134: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rdi, rax | |
call sqlite3OsGetLastError | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 88[rax], edx | |
jmp .L1131 | |
.L1135: | |
nop | |
.L1131: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE196: | |
.size sqlite3SystemError, .-sqlite3SystemError | |
.type sqlite3ErrorWithMsg, @function | |
sqlite3ErrorWithMsg: | |
.LFB197: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 240 | |
mov QWORD PTR -216[rbp], rdi | |
mov DWORD PTR -220[rbp], esi | |
mov QWORD PTR -232[rbp], rdx | |
mov QWORD PTR -152[rbp], rcx | |
mov QWORD PTR -144[rbp], r8 | |
mov QWORD PTR -136[rbp], r9 | |
test al, al | |
je .L1141 | |
movaps XMMWORD PTR -128[rbp], xmm0 | |
movaps XMMWORD PTR -112[rbp], xmm1 | |
movaps XMMWORD PTR -96[rbp], xmm2 | |
movaps XMMWORD PTR -80[rbp], xmm3 | |
movaps XMMWORD PTR -64[rbp], xmm4 | |
movaps XMMWORD PTR -48[rbp], xmm5 | |
movaps XMMWORD PTR -32[rbp], xmm6 | |
movaps XMMWORD PTR -16[rbp], xmm7 | |
.L1141: | |
mov rax, QWORD PTR -216[rbp] | |
mov edx, DWORD PTR -220[rbp] | |
mov DWORD PTR 80[rax], edx | |
mov edx, DWORD PTR -220[rbp] | |
mov rax, QWORD PTR -216[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3SystemError | |
cmp QWORD PTR -232[rbp], 0 | |
jne .L1138 | |
mov edx, DWORD PTR -220[rbp] | |
mov rax, QWORD PTR -216[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3Error | |
jmp .L1142 | |
.L1138: | |
mov rax, QWORD PTR -216[rbp] | |
mov rax, QWORD PTR 336[rax] | |
test rax, rax | |
jne .L1140 | |
mov rax, QWORD PTR -216[rbp] | |
mov rdi, rax | |
call sqlite3ValueNew | |
mov rdx, rax | |
mov rax, QWORD PTR -216[rbp] | |
mov QWORD PTR 336[rax], rdx | |
mov rax, QWORD PTR -216[rbp] | |
mov rax, QWORD PTR 336[rax] | |
test rax, rax | |
je .L1142 | |
.L1140: | |
mov DWORD PTR -208[rbp], 24 | |
mov DWORD PTR -204[rbp], 48 | |
lea rax, 16[rbp] | |
mov QWORD PTR -200[rbp], rax | |
lea rax, -176[rbp] | |
mov QWORD PTR -192[rbp], rax | |
lea rdx, -208[rbp] | |
mov rcx, QWORD PTR -232[rbp] | |
mov rax, QWORD PTR -216[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3VMPrintf | |
mov QWORD PTR -184[rbp], rax | |
mov rax, QWORD PTR -216[rbp] | |
mov rax, QWORD PTR 336[rax] | |
mov rdx, QWORD PTR -184[rbp] | |
lea r8, sqlite3MallocSize[rip] | |
mov ecx, 1 | |
mov esi, -1 | |
mov rdi, rax | |
call sqlite3ValueSetStr | |
.L1142: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE197: | |
.size sqlite3ErrorWithMsg, .-sqlite3ErrorWithMsg | |
.type sqlite3ErrorMsg, @function | |
sqlite3ErrorMsg: | |
.LFB198: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 240 | |
mov QWORD PTR -232[rbp], rdi | |
mov QWORD PTR -240[rbp], rsi | |
mov QWORD PTR -160[rbp], rdx | |
mov QWORD PTR -152[rbp], rcx | |
mov QWORD PTR -144[rbp], r8 | |
mov QWORD PTR -136[rbp], r9 | |
test al, al | |
je .L1147 | |
movaps XMMWORD PTR -128[rbp], xmm0 | |
movaps XMMWORD PTR -112[rbp], xmm1 | |
movaps XMMWORD PTR -96[rbp], xmm2 | |
movaps XMMWORD PTR -80[rbp], xmm3 | |
movaps XMMWORD PTR -64[rbp], xmm4 | |
movaps XMMWORD PTR -48[rbp], xmm5 | |
movaps XMMWORD PTR -32[rbp], xmm6 | |
movaps XMMWORD PTR -16[rbp], xmm7 | |
.L1147: | |
mov rax, QWORD PTR -232[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -184[rbp], rax | |
mov DWORD PTR -216[rbp], 16 | |
mov DWORD PTR -212[rbp], 48 | |
lea rax, 16[rbp] | |
mov QWORD PTR -208[rbp], rax | |
lea rax, -176[rbp] | |
mov QWORD PTR -200[rbp], rax | |
lea rdx, -216[rbp] | |
mov rcx, QWORD PTR -240[rbp] | |
mov rax, QWORD PTR -184[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3VMPrintf | |
mov QWORD PTR -192[rbp], rax | |
mov rax, QWORD PTR -184[rbp] | |
movzx eax, BYTE PTR 101[rax] | |
test al, al | |
je .L1145 | |
mov rdx, QWORD PTR -192[rbp] | |
mov rax, QWORD PTR -184[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DbFree | |
jmp .L1148 | |
.L1145: | |
mov rax, QWORD PTR -232[rbp] | |
mov eax, DWORD PTR 48[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -232[rbp] | |
mov DWORD PTR 48[rax], edx | |
mov rax, QWORD PTR -232[rbp] | |
mov rdx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -184[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DbFree | |
mov rax, QWORD PTR -232[rbp] | |
mov rdx, QWORD PTR -192[rbp] | |
mov QWORD PTR 8[rax], rdx | |
mov rax, QWORD PTR -232[rbp] | |
mov DWORD PTR 24[rax], 1 | |
.L1148: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE198: | |
.size sqlite3ErrorMsg, .-sqlite3ErrorMsg | |
.type sqlite3Dequote, @function | |
sqlite3Dequote: | |
.LFB199: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
cmp QWORD PTR -24[rbp], 0 | |
je .L1159 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
mov BYTE PTR -1[rbp], al | |
movzx eax, BYTE PTR -1[rbp] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3CtypeMap[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
test al, al | |
jns .L1160 | |
cmp BYTE PTR -1[rbp], 91 | |
jne .L1153 | |
mov BYTE PTR -1[rbp], 93 | |
.L1153: | |
mov DWORD PTR -8[rbp], 1 | |
mov DWORD PTR -12[rbp], 0 | |
.L1158: | |
mov eax, DWORD PTR -8[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
cmp al, BYTE PTR -1[rbp] | |
jne .L1154 | |
mov eax, DWORD PTR -8[rbp] | |
cdqe | |
lea rdx, 1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
cmp al, BYTE PTR -1[rbp] | |
jne .L1161 | |
mov eax, DWORD PTR -12[rbp] | |
lea edx, 1[rax] | |
mov DWORD PTR -12[rbp], edx | |
movsx rdx, eax | |
mov rax, QWORD PTR -24[rbp] | |
add rdx, rax | |
movzx eax, BYTE PTR -1[rbp] | |
mov BYTE PTR [rdx], al | |
add DWORD PTR -8[rbp], 1 | |
jmp .L1156 | |
.L1154: | |
mov eax, DWORD PTR -12[rbp] | |
lea edx, 1[rax] | |
mov DWORD PTR -12[rbp], edx | |
movsx rdx, eax | |
mov rax, QWORD PTR -24[rbp] | |
add rdx, rax | |
mov eax, DWORD PTR -8[rbp] | |
movsx rcx, eax | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rcx | |
movzx eax, BYTE PTR [rax] | |
mov BYTE PTR [rdx], al | |
.L1156: | |
add DWORD PTR -8[rbp], 1 | |
jmp .L1158 | |
.L1161: | |
nop | |
mov eax, DWORD PTR -12[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
mov BYTE PTR [rax], 0 | |
jmp .L1149 | |
.L1159: | |
nop | |
jmp .L1149 | |
.L1160: | |
nop | |
.L1149: | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE199: | |
.size sqlite3Dequote, .-sqlite3Dequote | |
.type sqlite3TokenInit, @function | |
sqlite3TokenInit: | |
.LFB200: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -16[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call sqlite3Strlen30 | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 8[rax], edx | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE200: | |
.size sqlite3TokenInit, .-sqlite3TokenInit | |
.globl sqlite3_stricmp | |
.type sqlite3_stricmp, @function | |
sqlite3_stricmp: | |
.LFB201: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L1164 | |
cmp QWORD PTR -16[rbp], 0 | |
je .L1165 | |
mov eax, -1 | |
jmp .L1167 | |
.L1165: | |
mov eax, 0 | |
jmp .L1167 | |
.L1164: | |
cmp QWORD PTR -16[rbp], 0 | |
jne .L1168 | |
mov eax, 1 | |
jmp .L1167 | |
.L1168: | |
mov rdx, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3StrICmp | |
.L1167: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE201: | |
.size sqlite3_stricmp, .-sqlite3_stricmp | |
.type sqlite3StrICmp, @function | |
sqlite3StrICmp: | |
.LFB202: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -48[rbp], rsi | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -48[rbp] | |
mov QWORD PTR -16[rbp], rax | |
.L1171: | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3UpperToLower[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx ecx, al | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3UpperToLower[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
sub ecx, eax | |
mov eax, ecx | |
mov DWORD PTR -20[rbp], eax | |
cmp DWORD PTR -20[rbp], 0 | |
jne .L1170 | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR [rax] | |
test al, al | |
je .L1170 | |
add QWORD PTR -8[rbp], 1 | |
add QWORD PTR -16[rbp], 1 | |
jmp .L1171 | |
.L1170: | |
mov eax, DWORD PTR -20[rbp] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE202: | |
.size sqlite3StrICmp, .-sqlite3StrICmp | |
.globl sqlite3_strnicmp | |
.type sqlite3_strnicmp, @function | |
sqlite3_strnicmp: | |
.LFB203: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
push r12 | |
push rbx | |
.cfi_offset 12, -24 | |
.cfi_offset 3, -32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov DWORD PTR -36[rbp], edx | |
cmp QWORD PTR -24[rbp], 0 | |
jne .L1174 | |
cmp QWORD PTR -32[rbp], 0 | |
je .L1175 | |
mov eax, -1 | |
jmp .L1177 | |
.L1175: | |
mov eax, 0 | |
jmp .L1177 | |
.L1174: | |
cmp QWORD PTR -32[rbp], 0 | |
jne .L1178 | |
mov eax, 1 | |
jmp .L1177 | |
.L1178: | |
mov rbx, QWORD PTR -24[rbp] | |
mov r12, QWORD PTR -32[rbp] | |
jmp .L1179 | |
.L1181: | |
add rbx, 1 | |
add r12, 1 | |
.L1179: | |
mov eax, DWORD PTR -36[rbp] | |
lea edx, -1[rax] | |
mov DWORD PTR -36[rbp], edx | |
test eax, eax | |
jle .L1180 | |
movzx eax, BYTE PTR [rbx] | |
test al, al | |
je .L1180 | |
movzx eax, BYTE PTR [rbx] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3UpperToLower[rip] | |
movzx ecx, BYTE PTR [rdx+rax] | |
movzx eax, BYTE PTR [r12] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3UpperToLower[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
cmp cl, al | |
je .L1181 | |
.L1180: | |
cmp DWORD PTR -36[rbp], 0 | |
js .L1182 | |
movzx eax, BYTE PTR [rbx] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3UpperToLower[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx ecx, al | |
movzx eax, BYTE PTR [r12] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3UpperToLower[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
sub ecx, eax | |
mov eax, ecx | |
jmp .L1177 | |
.L1182: | |
mov eax, 0 | |
.L1177: | |
pop rbx | |
pop r12 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE203: | |
.size sqlite3_strnicmp, .-sqlite3_strnicmp | |
.type sqlite3Pow10, @function | |
sqlite3Pow10: | |
.LFB204: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov DWORD PTR -36[rbp], edi | |
fld TBYTE PTR .LC52[rip] | |
fstp TBYTE PTR -16[rbp] | |
fld1 | |
fstp TBYTE PTR -32[rbp] | |
.L1188: | |
mov eax, DWORD PTR -36[rbp] | |
and eax, 1 | |
test eax, eax | |
je .L1185 | |
fld TBYTE PTR -32[rbp] | |
fld TBYTE PTR -16[rbp] | |
fmulp st(1), st | |
fstp TBYTE PTR -32[rbp] | |
.L1185: | |
sar DWORD PTR -36[rbp] | |
cmp DWORD PTR -36[rbp], 0 | |
je .L1191 | |
fld TBYTE PTR -16[rbp] | |
fld TBYTE PTR -16[rbp] | |
fmulp st(1), st | |
fstp TBYTE PTR -16[rbp] | |
jmp .L1188 | |
.L1191: | |
nop | |
fld TBYTE PTR -32[rbp] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE204: | |
.size sqlite3Pow10, .-sqlite3Pow10 | |
.type sqlite3AtoF, @function | |
sqlite3AtoF: | |
.LFB205: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 160 | |
mov QWORD PTR -120[rbp], rdi | |
mov QWORD PTR -128[rbp], rsi | |
mov DWORD PTR -132[rbp], edx | |
mov eax, ecx | |
mov BYTE PTR -136[rbp], al | |
mov eax, DWORD PTR -132[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -120[rbp] | |
add rax, rdx | |
mov QWORD PTR -16[rbp], rax | |
mov DWORD PTR -20[rbp], 1 | |
mov QWORD PTR -32[rbp], 0 | |
mov DWORD PTR -36[rbp], 0 | |
mov DWORD PTR -40[rbp], 1 | |
mov DWORD PTR -44[rbp], 0 | |
mov DWORD PTR -48[rbp], 1 | |
mov DWORD PTR -60[rbp], 0 | |
mov DWORD PTR -64[rbp], 0 | |
mov rax, QWORD PTR -128[rbp] | |
pxor xmm0, xmm0 | |
movsd QWORD PTR [rax], xmm0 | |
cmp BYTE PTR -136[rbp], 1 | |
jne .L1193 | |
mov DWORD PTR -4[rbp], 1 | |
jmp .L1198 | |
.L1193: | |
mov DWORD PTR -4[rbp], 2 | |
movzx eax, BYTE PTR -136[rbp] | |
mov edx, 3 | |
sub edx, eax | |
mov eax, edx | |
mov DWORD PTR -68[rbp], eax | |
jmp .L1195 | |
.L1197: | |
add DWORD PTR -68[rbp], 2 | |
.L1195: | |
mov eax, DWORD PTR -68[rbp] | |
cmp eax, DWORD PTR -132[rbp] | |
jge .L1196 | |
mov eax, DWORD PTR -68[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -120[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
test al, al | |
je .L1197 | |
.L1196: | |
mov eax, DWORD PTR -68[rbp] | |
cmp eax, DWORD PTR -132[rbp] | |
setl al | |
movzx eax, al | |
mov DWORD PTR -64[rbp], eax | |
mov eax, DWORD PTR -68[rbp] | |
xor eax, 1 | |
movsx rdx, eax | |
mov rax, QWORD PTR -120[rbp] | |
add rax, rdx | |
mov QWORD PTR -16[rbp], rax | |
movzx eax, BYTE PTR -136[rbp] | |
and eax, 1 | |
add QWORD PTR -120[rbp], rax | |
jmp .L1198 | |
.L1200: | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add QWORD PTR -120[rbp], rax | |
.L1198: | |
mov rax, QWORD PTR -120[rbp] | |
cmp rax, QWORD PTR -16[rbp] | |
jnb .L1199 | |
mov rax, QWORD PTR -120[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3CtypeMap[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
and eax, 1 | |
test eax, eax | |
jne .L1200 | |
.L1199: | |
mov rax, QWORD PTR -120[rbp] | |
cmp rax, QWORD PTR -16[rbp] | |
jb .L1201 | |
mov eax, 0 | |
jmp .L1202 | |
.L1201: | |
mov rax, QWORD PTR -120[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 45 | |
jne .L1203 | |
mov DWORD PTR -20[rbp], -1 | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add QWORD PTR -120[rbp], rax | |
jmp .L1205 | |
.L1203: | |
mov rax, QWORD PTR -120[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 43 | |
jne .L1205 | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add QWORD PTR -120[rbp], rax | |
jmp .L1205 | |
.L1207: | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, rdx | |
sal rax, 2 | |
add rax, rdx | |
add rax, rax | |
mov rdx, rax | |
mov rax, QWORD PTR -120[rbp] | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
sub eax, 48 | |
cdqe | |
add rax, rdx | |
mov QWORD PTR -32[rbp], rax | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add QWORD PTR -120[rbp], rax | |
add DWORD PTR -60[rbp], 1 | |
.L1205: | |
mov rax, QWORD PTR -120[rbp] | |
cmp rax, QWORD PTR -16[rbp] | |
jnb .L1208 | |
mov rax, QWORD PTR -120[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3CtypeMap[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
and eax, 4 | |
test eax, eax | |
je .L1208 | |
movabs rax, 922337203685477578 | |
cmp QWORD PTR -32[rbp], rax | |
jle .L1207 | |
jmp .L1208 | |
.L1210: | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add QWORD PTR -120[rbp], rax | |
add DWORD PTR -60[rbp], 1 | |
add DWORD PTR -36[rbp], 1 | |
.L1208: | |
mov rax, QWORD PTR -120[rbp] | |
cmp rax, QWORD PTR -16[rbp] | |
jnb .L1209 | |
mov rax, QWORD PTR -120[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3CtypeMap[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
and eax, 4 | |
test eax, eax | |
jne .L1210 | |
.L1209: | |
mov rax, QWORD PTR -120[rbp] | |
cmp rax, QWORD PTR -16[rbp] | |
jnb .L1254 | |
mov rax, QWORD PTR -120[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 46 | |
jne .L1213 | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add QWORD PTR -120[rbp], rax | |
jmp .L1214 | |
.L1216: | |
movabs rax, 922337203685477578 | |
cmp QWORD PTR -32[rbp], rax | |
jg .L1215 | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, rdx | |
sal rax, 2 | |
add rax, rdx | |
add rax, rax | |
mov rdx, rax | |
mov rax, QWORD PTR -120[rbp] | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
sub eax, 48 | |
cdqe | |
add rax, rdx | |
mov QWORD PTR -32[rbp], rax | |
sub DWORD PTR -36[rbp], 1 | |
.L1215: | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add QWORD PTR -120[rbp], rax | |
add DWORD PTR -60[rbp], 1 | |
.L1214: | |
mov rax, QWORD PTR -120[rbp] | |
cmp rax, QWORD PTR -16[rbp] | |
jnb .L1213 | |
mov rax, QWORD PTR -120[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3CtypeMap[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
and eax, 4 | |
test eax, eax | |
jne .L1216 | |
.L1213: | |
mov rax, QWORD PTR -120[rbp] | |
cmp rax, QWORD PTR -16[rbp] | |
jnb .L1255 | |
mov rax, QWORD PTR -120[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 101 | |
je .L1218 | |
mov rax, QWORD PTR -120[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 69 | |
jne .L1227 | |
.L1218: | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add QWORD PTR -120[rbp], rax | |
mov DWORD PTR -48[rbp], 0 | |
mov rax, QWORD PTR -120[rbp] | |
cmp rax, QWORD PTR -16[rbp] | |
jnb .L1256 | |
mov rax, QWORD PTR -120[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 45 | |
jne .L1221 | |
mov DWORD PTR -40[rbp], -1 | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add QWORD PTR -120[rbp], rax | |
jmp .L1223 | |
.L1221: | |
mov rax, QWORD PTR -120[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 43 | |
jne .L1223 | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add QWORD PTR -120[rbp], rax | |
jmp .L1223 | |
.L1226: | |
cmp DWORD PTR -44[rbp], 9999 | |
jg .L1224 | |
mov edx, DWORD PTR -44[rbp] | |
mov eax, edx | |
sal eax, 2 | |
add eax, edx | |
add eax, eax | |
mov edx, eax | |
mov rax, QWORD PTR -120[rbp] | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
sub eax, 48 | |
add eax, edx | |
jmp .L1225 | |
.L1224: | |
mov eax, 10000 | |
.L1225: | |
mov DWORD PTR -44[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add QWORD PTR -120[rbp], rax | |
mov DWORD PTR -48[rbp], 1 | |
.L1223: | |
mov rax, QWORD PTR -120[rbp] | |
cmp rax, QWORD PTR -16[rbp] | |
jnb .L1227 | |
mov rax, QWORD PTR -120[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3CtypeMap[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
and eax, 4 | |
test eax, eax | |
jne .L1226 | |
jmp .L1227 | |
.L1228: | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add QWORD PTR -120[rbp], rax | |
.L1227: | |
mov rax, QWORD PTR -120[rbp] | |
cmp rax, QWORD PTR -16[rbp] | |
jnb .L1212 | |
mov rax, QWORD PTR -120[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3CtypeMap[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
and eax, 1 | |
test eax, eax | |
jne .L1228 | |
jmp .L1212 | |
.L1254: | |
nop | |
jmp .L1212 | |
.L1255: | |
nop | |
jmp .L1212 | |
.L1256: | |
nop | |
.L1212: | |
mov eax, DWORD PTR -44[rbp] | |
imul eax, DWORD PTR -40[rbp] | |
mov edx, eax | |
mov eax, DWORD PTR -36[rbp] | |
add eax, edx | |
mov DWORD PTR -44[rbp], eax | |
cmp DWORD PTR -44[rbp], 0 | |
jns .L1229 | |
mov DWORD PTR -40[rbp], -1 | |
neg DWORD PTR -44[rbp] | |
jmp .L1230 | |
.L1229: | |
mov DWORD PTR -40[rbp], 1 | |
.L1230: | |
cmp QWORD PTR -32[rbp], 0 | |
jne .L1235 | |
cmp DWORD PTR -20[rbp], 0 | |
jns .L1232 | |
movsd xmm0, QWORD PTR .LC69[rip] | |
jmp .L1233 | |
.L1232: | |
pxor xmm0, xmm0 | |
.L1233: | |
movsd QWORD PTR -56[rbp], xmm0 | |
jmp .L1234 | |
.L1241: | |
cmp DWORD PTR -40[rbp], 0 | |
jle .L1236 | |
movabs rax, 922337203685477579 | |
cmp QWORD PTR -32[rbp], rax | |
jg .L1257 | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, rdx | |
sal rax, 2 | |
add rax, rdx | |
add rax, rax | |
mov QWORD PTR -32[rbp], rax | |
jmp .L1239 | |
.L1236: | |
mov rcx, QWORD PTR -32[rbp] | |
movabs rdx, 7378697629483820647 | |
mov rax, rcx | |
imul rdx | |
sar rdx, 2 | |
mov rax, rcx | |
sar rax, 63 | |
sub rdx, rax | |
mov rax, rdx | |
sal rax, 2 | |
add rax, rdx | |
add rax, rax | |
sub rcx, rax | |
mov rdx, rcx | |
test rdx, rdx | |
jne .L1258 | |
mov rcx, QWORD PTR -32[rbp] | |
movabs rdx, 7378697629483820647 | |
mov rax, rcx | |
imul rdx | |
sar rdx, 2 | |
mov rax, rcx | |
sar rax, 63 | |
sub rdx, rax | |
mov rax, rdx | |
mov QWORD PTR -32[rbp], rax | |
.L1239: | |
sub DWORD PTR -44[rbp], 1 | |
.L1235: | |
cmp DWORD PTR -44[rbp], 0 | |
jg .L1241 | |
jmp .L1238 | |
.L1257: | |
nop | |
jmp .L1238 | |
.L1258: | |
nop | |
.L1238: | |
cmp DWORD PTR -20[rbp], 0 | |
jns .L1242 | |
mov rax, QWORD PTR -32[rbp] | |
neg rax | |
jmp .L1243 | |
.L1242: | |
mov rax, QWORD PTR -32[rbp] | |
.L1243: | |
mov QWORD PTR -32[rbp], rax | |
cmp DWORD PTR -44[rbp], 0 | |
jne .L1244 | |
pxor xmm0, xmm0 | |
cvtsi2sdq xmm0, QWORD PTR -32[rbp] | |
movsd QWORD PTR -56[rbp], xmm0 | |
jmp .L1234 | |
.L1244: | |
cmp DWORD PTR -44[rbp], 307 | |
jle .L1245 | |
cmp DWORD PTR -44[rbp], 341 | |
jg .L1246 | |
mov eax, DWORD PTR -44[rbp] | |
sub eax, 308 | |
mov edi, eax | |
call sqlite3Pow10 | |
fstp TBYTE PTR -160[rbp] | |
mov rax, QWORD PTR -160[rbp] | |
mov edx, DWORD PTR -152[rbp] | |
mov QWORD PTR -96[rbp], rax | |
mov DWORD PTR -88[rbp], edx | |
cmp DWORD PTR -40[rbp], 0 | |
jns .L1247 | |
fild QWORD PTR -32[rbp] | |
fld TBYTE PTR -96[rbp] | |
fdivp st(1), st | |
fstp QWORD PTR -56[rbp] | |
movsd xmm0, QWORD PTR -56[rbp] | |
movsd xmm1, QWORD PTR .LC70[rip] | |
divsd xmm0, xmm1 | |
movsd QWORD PTR -56[rbp], xmm0 | |
jmp .L1234 | |
.L1247: | |
fild QWORD PTR -32[rbp] | |
fld TBYTE PTR -96[rbp] | |
fmulp st(1), st | |
fstp QWORD PTR -56[rbp] | |
movsd xmm1, QWORD PTR -56[rbp] | |
movsd xmm0, QWORD PTR .LC70[rip] | |
mulsd xmm0, xmm1 | |
movsd QWORD PTR -56[rbp], xmm0 | |
jmp .L1234 | |
.L1246: | |
cmp DWORD PTR -40[rbp], 0 | |
jns .L1250 | |
pxor xmm0, xmm0 | |
cvtsi2sdq xmm0, QWORD PTR -32[rbp] | |
pxor xmm1, xmm1 | |
mulsd xmm0, xmm1 | |
movsd QWORD PTR -56[rbp], xmm0 | |
jmp .L1234 | |
.L1250: | |
pxor xmm1, xmm1 | |
cvtsi2sdq xmm1, QWORD PTR -32[rbp] | |
movsd xmm2, QWORD PTR .LC70[rip] | |
movsd xmm0, QWORD PTR .LC70[rip] | |
mulsd xmm0, xmm2 | |
mulsd xmm0, xmm1 | |
movsd QWORD PTR -56[rbp], xmm0 | |
jmp .L1234 | |
.L1245: | |
mov eax, DWORD PTR -44[rbp] | |
mov edi, eax | |
call sqlite3Pow10 | |
fstp TBYTE PTR -160[rbp] | |
mov rax, QWORD PTR -160[rbp] | |
mov edx, DWORD PTR -152[rbp] | |
mov QWORD PTR -112[rbp], rax | |
mov DWORD PTR -104[rbp], edx | |
cmp DWORD PTR -40[rbp], 0 | |
jns .L1251 | |
fild QWORD PTR -32[rbp] | |
fld TBYTE PTR -112[rbp] | |
fdivp st(1), st | |
fstp QWORD PTR -56[rbp] | |
jmp .L1234 | |
.L1251: | |
fild QWORD PTR -32[rbp] | |
fld TBYTE PTR -112[rbp] | |
fmulp st(1), st | |
fstp QWORD PTR -56[rbp] | |
.L1234: | |
mov rax, QWORD PTR -128[rbp] | |
movsd xmm0, QWORD PTR -56[rbp] | |
movsd QWORD PTR [rax], xmm0 | |
mov rax, QWORD PTR -120[rbp] | |
cmp rax, QWORD PTR -16[rbp] | |
jne .L1252 | |
cmp DWORD PTR -60[rbp], 0 | |
jle .L1252 | |
cmp DWORD PTR -48[rbp], 0 | |
je .L1252 | |
cmp DWORD PTR -64[rbp], 0 | |
jne .L1252 | |
mov eax, 1 | |
jmp .L1202 | |
.L1252: | |
mov eax, 0 | |
.L1202: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE205: | |
.size sqlite3AtoF, .-sqlite3AtoF | |
.section .rodata | |
.LC71: | |
.string "922337203685477580" | |
.text | |
.type compare2pow63, @function | |
compare2pow63: | |
.LFB206: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov DWORD PTR -4[rbp], 0 | |
lea rax, .LC71[rip] | |
mov QWORD PTR -16[rbp], rax | |
mov DWORD PTR -8[rbp], 0 | |
jmp .L1260 | |
.L1262: | |
mov eax, DWORD PTR -8[rbp] | |
imul eax, DWORD PTR -28[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
movsx edx, al | |
mov eax, DWORD PTR -8[rbp] | |
movsx rcx, eax | |
mov rax, QWORD PTR -16[rbp] | |
add rax, rcx | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
sub edx, eax | |
mov eax, edx | |
sal eax, 2 | |
add eax, edx | |
add eax, eax | |
mov DWORD PTR -4[rbp], eax | |
add DWORD PTR -8[rbp], 1 | |
.L1260: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L1261 | |
cmp DWORD PTR -8[rbp], 17 | |
jle .L1262 | |
.L1261: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L1263 | |
mov edx, DWORD PTR -28[rbp] | |
mov eax, edx | |
sal eax, 3 | |
add eax, edx | |
add eax, eax | |
movsx rdx, eax | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
sub eax, 56 | |
mov DWORD PTR -4[rbp], eax | |
.L1263: | |
mov eax, DWORD PTR -4[rbp] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE206: | |
.size compare2pow63, .-compare2pow63 | |
.type sqlite3Atoi64, @function | |
sqlite3Atoi64: | |
.LFB207: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 88 | |
mov QWORD PTR -72[rbp], rdi | |
mov QWORD PTR -80[rbp], rsi | |
mov DWORD PTR -84[rbp], edx | |
mov eax, ecx | |
mov BYTE PTR -88[rbp], al | |
mov QWORD PTR -16[rbp], 0 | |
mov DWORD PTR -20[rbp], 0 | |
mov DWORD PTR -44[rbp], 0 | |
mov DWORD PTR -28[rbp], 0 | |
mov eax, DWORD PTR -84[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -72[rbp] | |
add rax, rdx | |
mov QWORD PTR -40[rbp], rax | |
cmp BYTE PTR -88[rbp], 1 | |
jne .L1266 | |
mov DWORD PTR -4[rbp], 1 | |
jmp .L1271 | |
.L1266: | |
mov DWORD PTR -4[rbp], 2 | |
movzx eax, BYTE PTR -88[rbp] | |
mov edx, 3 | |
sub edx, eax | |
mov eax, edx | |
mov DWORD PTR -24[rbp], eax | |
jmp .L1268 | |
.L1270: | |
add DWORD PTR -24[rbp], 2 | |
.L1268: | |
mov eax, DWORD PTR -24[rbp] | |
cmp eax, DWORD PTR -84[rbp] | |
jge .L1269 | |
mov eax, DWORD PTR -24[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -72[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
test al, al | |
je .L1270 | |
.L1269: | |
mov eax, DWORD PTR -24[rbp] | |
cmp eax, DWORD PTR -84[rbp] | |
setl al | |
movzx eax, al | |
mov DWORD PTR -28[rbp], eax | |
mov eax, DWORD PTR -24[rbp] | |
xor eax, 1 | |
movsx rdx, eax | |
mov rax, QWORD PTR -72[rbp] | |
add rax, rdx | |
mov QWORD PTR -40[rbp], rax | |
movzx eax, BYTE PTR -88[rbp] | |
and eax, 1 | |
add QWORD PTR -72[rbp], rax | |
jmp .L1271 | |
.L1273: | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add QWORD PTR -72[rbp], rax | |
.L1271: | |
mov rax, QWORD PTR -72[rbp] | |
cmp rax, QWORD PTR -40[rbp] | |
jnb .L1272 | |
mov rax, QWORD PTR -72[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3CtypeMap[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
and eax, 1 | |
test eax, eax | |
jne .L1273 | |
.L1272: | |
mov rax, QWORD PTR -72[rbp] | |
cmp rax, QWORD PTR -40[rbp] | |
jnb .L1274 | |
mov rax, QWORD PTR -72[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 45 | |
jne .L1275 | |
mov DWORD PTR -20[rbp], 1 | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add QWORD PTR -72[rbp], rax | |
jmp .L1274 | |
.L1275: | |
mov rax, QWORD PTR -72[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 43 | |
jne .L1274 | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add QWORD PTR -72[rbp], rax | |
.L1274: | |
mov rax, QWORD PTR -72[rbp] | |
mov QWORD PTR -56[rbp], rax | |
jmp .L1276 | |
.L1278: | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add QWORD PTR -72[rbp], rax | |
.L1276: | |
mov rax, QWORD PTR -72[rbp] | |
cmp rax, QWORD PTR -40[rbp] | |
jnb .L1277 | |
mov rax, QWORD PTR -72[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 48 | |
je .L1278 | |
.L1277: | |
mov DWORD PTR -24[rbp], 0 | |
jmp .L1279 | |
.L1281: | |
mov rdx, QWORD PTR -16[rbp] | |
mov rax, rdx | |
sal rax, 2 | |
add rax, rdx | |
add rax, rax | |
mov rdx, rax | |
mov eax, DWORD PTR -44[rbp] | |
cdqe | |
add rax, rdx | |
sub rax, 48 | |
mov QWORD PTR -16[rbp], rax | |
mov eax, DWORD PTR -4[rbp] | |
add DWORD PTR -24[rbp], eax | |
.L1279: | |
mov eax, DWORD PTR -24[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -72[rbp] | |
add rax, rdx | |
cmp rax, QWORD PTR -40[rbp] | |
jnb .L1280 | |
mov eax, DWORD PTR -24[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -72[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
mov DWORD PTR -44[rbp], eax | |
cmp DWORD PTR -44[rbp], 47 | |
jle .L1280 | |
cmp DWORD PTR -44[rbp], 57 | |
jle .L1281 | |
.L1280: | |
mov rax, QWORD PTR -16[rbp] | |
test rax, rax | |
jns .L1282 | |
cmp DWORD PTR -20[rbp], 0 | |
je .L1283 | |
movabs rax, -9223372036854775808 | |
jmp .L1284 | |
.L1283: | |
movabs rax, 9223372036854775807 | |
.L1284: | |
mov rdx, QWORD PTR -80[rbp] | |
mov QWORD PTR [rdx], rax | |
jmp .L1285 | |
.L1282: | |
cmp DWORD PTR -20[rbp], 0 | |
je .L1286 | |
mov rax, QWORD PTR -16[rbp] | |
neg rax | |
mov rdx, rax | |
mov rax, QWORD PTR -80[rbp] | |
mov QWORD PTR [rax], rdx | |
jmp .L1285 | |
.L1286: | |
mov rdx, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -80[rbp] | |
mov QWORD PTR [rax], rdx | |
.L1285: | |
mov eax, DWORD PTR -24[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -72[rbp] | |
add rax, rdx | |
cmp rax, QWORD PTR -40[rbp] | |
jb .L1287 | |
cmp DWORD PTR -24[rbp], 0 | |
jne .L1288 | |
mov rax, QWORD PTR -56[rbp] | |
cmp rax, QWORD PTR -72[rbp] | |
je .L1287 | |
.L1288: | |
cmp DWORD PTR -28[rbp], 0 | |
je .L1289 | |
.L1287: | |
mov DWORD PTR -32[rbp], 1 | |
jmp .L1290 | |
.L1289: | |
mov DWORD PTR -32[rbp], 0 | |
.L1290: | |
mov edx, DWORD PTR -4[rbp] | |
mov eax, edx | |
sal eax, 3 | |
add eax, edx | |
add eax, eax | |
add eax, edx | |
cmp eax, DWORD PTR -24[rbp] | |
jge .L1291 | |
mov eax, 2 | |
jmp .L1292 | |
.L1291: | |
mov edx, DWORD PTR -4[rbp] | |
mov eax, edx | |
sal eax, 3 | |
add eax, edx | |
add eax, eax | |
add eax, edx | |
cmp eax, DWORD PTR -24[rbp] | |
jle .L1293 | |
mov eax, DWORD PTR -32[rbp] | |
jmp .L1292 | |
.L1293: | |
mov edx, DWORD PTR -4[rbp] | |
mov rax, QWORD PTR -72[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call compare2pow63 | |
mov DWORD PTR -44[rbp], eax | |
cmp DWORD PTR -44[rbp], 0 | |
jns .L1294 | |
mov eax, DWORD PTR -32[rbp] | |
jmp .L1292 | |
.L1294: | |
cmp DWORD PTR -44[rbp], 0 | |
jle .L1295 | |
mov eax, 2 | |
jmp .L1292 | |
.L1295: | |
cmp DWORD PTR -20[rbp], 0 | |
je .L1296 | |
mov eax, DWORD PTR -32[rbp] | |
jmp .L1292 | |
.L1296: | |
mov eax, 3 | |
.L1292: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE207: | |
.size sqlite3Atoi64, .-sqlite3Atoi64 | |
.type sqlite3DecOrHexToI64, @function | |
sqlite3DecOrHexToI64: | |
.LFB208: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
push rbx | |
sub rsp, 40 | |
.cfi_offset 3, -24 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -48[rbp], rsi | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 48 | |
jne .L1299 | |
mov rax, QWORD PTR -40[rbp] | |
add rax, 1 | |
movzx eax, BYTE PTR [rax] | |
cmp al, 120 | |
je .L1300 | |
mov rax, QWORD PTR -40[rbp] | |
add rax, 1 | |
movzx eax, BYTE PTR [rax] | |
cmp al, 88 | |
jne .L1299 | |
.L1300: | |
mov QWORD PTR -32[rbp], 0 | |
mov DWORD PTR -20[rbp], 2 | |
jmp .L1301 | |
.L1302: | |
add DWORD PTR -20[rbp], 1 | |
.L1301: | |
mov eax, DWORD PTR -20[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -40[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
cmp al, 48 | |
je .L1302 | |
mov eax, DWORD PTR -20[rbp] | |
mov DWORD PTR -24[rbp], eax | |
jmp .L1303 | |
.L1304: | |
mov rax, QWORD PTR -32[rbp] | |
sal rax, 4 | |
mov rbx, rax | |
mov eax, DWORD PTR -24[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -40[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
mov edi, eax | |
call sqlite3HexToInt | |
movzx eax, al | |
add rax, rbx | |
mov QWORD PTR -32[rbp], rax | |
add DWORD PTR -24[rbp], 1 | |
.L1303: | |
mov eax, DWORD PTR -24[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -40[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3CtypeMap[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
and eax, 8 | |
test eax, eax | |
jne .L1304 | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -48[rbp] | |
mov QWORD PTR [rax], rdx | |
mov eax, DWORD PTR -24[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -40[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
test al, al | |
jne .L1305 | |
mov eax, DWORD PTR -24[rbp] | |
sub eax, DWORD PTR -20[rbp] | |
cmp eax, 16 | |
jg .L1305 | |
mov eax, 0 | |
jmp .L1307 | |
.L1305: | |
mov eax, 2 | |
jmp .L1307 | |
.L1299: | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call sqlite3Strlen30 | |
mov edx, eax | |
mov rsi, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov ecx, 1 | |
mov rdi, rax | |
call sqlite3Atoi64 | |
.L1307: | |
add rsp, 40 | |
pop rbx | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE208: | |
.size sqlite3DecOrHexToI64, .-sqlite3DecOrHexToI64 | |
.type sqlite3GetInt32, @function | |
sqlite3GetInt32: | |
.LFB209: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
push rbx | |
sub rsp, 56 | |
.cfi_offset 3, -24 | |
mov QWORD PTR -56[rbp], rdi | |
mov QWORD PTR -64[rbp], rsi | |
mov QWORD PTR -24[rbp], 0 | |
mov DWORD PTR -32[rbp], 0 | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 45 | |
jne .L1309 | |
mov DWORD PTR -32[rbp], 1 | |
add QWORD PTR -56[rbp], 1 | |
jmp .L1310 | |
.L1309: | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 43 | |
jne .L1311 | |
add QWORD PTR -56[rbp], 1 | |
jmp .L1310 | |
.L1311: | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 48 | |
jne .L1310 | |
mov rax, QWORD PTR -56[rbp] | |
add rax, 1 | |
movzx eax, BYTE PTR [rax] | |
cmp al, 120 | |
je .L1312 | |
mov rax, QWORD PTR -56[rbp] | |
add rax, 1 | |
movzx eax, BYTE PTR [rax] | |
cmp al, 88 | |
jne .L1310 | |
.L1312: | |
mov rax, QWORD PTR -56[rbp] | |
add rax, 2 | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3CtypeMap[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
and eax, 8 | |
test eax, eax | |
je .L1310 | |
mov DWORD PTR -40[rbp], 0 | |
add QWORD PTR -56[rbp], 2 | |
jmp .L1313 | |
.L1314: | |
add QWORD PTR -56[rbp], 1 | |
.L1313: | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 48 | |
je .L1314 | |
mov DWORD PTR -28[rbp], 0 | |
jmp .L1315 | |
.L1317: | |
mov eax, DWORD PTR -40[rbp] | |
sal eax, 4 | |
mov ebx, eax | |
mov eax, DWORD PTR -28[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -56[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
mov edi, eax | |
call sqlite3HexToInt | |
movzx eax, al | |
add eax, ebx | |
mov DWORD PTR -40[rbp], eax | |
add DWORD PTR -28[rbp], 1 | |
.L1315: | |
mov eax, DWORD PTR -28[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -56[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3CtypeMap[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
and eax, 8 | |
test eax, eax | |
je .L1316 | |
cmp DWORD PTR -28[rbp], 7 | |
jle .L1317 | |
.L1316: | |
mov eax, DWORD PTR -40[rbp] | |
test eax, eax | |
js .L1318 | |
mov eax, DWORD PTR -28[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -56[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3CtypeMap[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
and eax, 8 | |
test eax, eax | |
jne .L1318 | |
mov edx, DWORD PTR -40[rbp] | |
mov rax, QWORD PTR -64[rbp] | |
mov DWORD PTR [rax], edx | |
mov eax, 1 | |
jmp .L1320 | |
.L1318: | |
mov eax, 0 | |
jmp .L1320 | |
.L1310: | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
movsx rdx, eax | |
lea rax, sqlite3CtypeMap[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
and eax, 4 | |
test eax, eax | |
jne .L1322 | |
mov eax, 0 | |
jmp .L1320 | |
.L1323: | |
add QWORD PTR -56[rbp], 1 | |
.L1322: | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 48 | |
je .L1323 | |
mov DWORD PTR -28[rbp], 0 | |
jmp .L1324 | |
.L1326: | |
mov rdx, QWORD PTR -24[rbp] | |
mov rax, rdx | |
sal rax, 2 | |
add rax, rdx | |
add rax, rax | |
mov rdx, rax | |
mov eax, DWORD PTR -36[rbp] | |
cdqe | |
add rax, rdx | |
mov QWORD PTR -24[rbp], rax | |
add DWORD PTR -28[rbp], 1 | |
.L1324: | |
cmp DWORD PTR -28[rbp], 10 | |
jg .L1325 | |
mov eax, DWORD PTR -28[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -56[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
sub eax, 48 | |
mov DWORD PTR -36[rbp], eax | |
cmp DWORD PTR -36[rbp], 0 | |
js .L1325 | |
cmp DWORD PTR -36[rbp], 9 | |
jle .L1326 | |
.L1325: | |
cmp DWORD PTR -28[rbp], 10 | |
jle .L1327 | |
mov eax, 0 | |
jmp .L1320 | |
.L1327: | |
mov eax, DWORD PTR -32[rbp] | |
cdqe | |
mov rdx, QWORD PTR -24[rbp] | |
sub rdx, rax | |
mov rax, rdx | |
cmp rax, 2147483647 | |
jle .L1328 | |
mov eax, 0 | |
jmp .L1320 | |
.L1328: | |
cmp DWORD PTR -32[rbp], 0 | |
je .L1329 | |
neg QWORD PTR -24[rbp] | |
.L1329: | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -64[rbp] | |
mov DWORD PTR [rax], edx | |
mov eax, 1 | |
.L1320: | |
add rsp, 56 | |
pop rbx | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE209: | |
.size sqlite3GetInt32, .-sqlite3GetInt32 | |
.type sqlite3Atoi, @function | |
sqlite3Atoi: | |
.LFB210: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -4[rbp], 0 | |
cmp QWORD PTR -24[rbp], 0 | |
je .L1331 | |
lea rdx, -4[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3GetInt32 | |
.L1331: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE210: | |
.size sqlite3Atoi, .-sqlite3Atoi | |
.type putVarint64, @function | |
putVarint64: | |
.LFB211: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -48[rbp], rsi | |
movabs rax, -72057594037927936 | |
and rax, QWORD PTR -48[rbp] | |
test rax, rax | |
je .L1334 | |
mov rax, QWORD PTR -40[rbp] | |
add rax, 8 | |
mov rdx, QWORD PTR -48[rbp] | |
mov BYTE PTR [rax], dl | |
shr QWORD PTR -48[rbp], 8 | |
mov DWORD PTR -4[rbp], 7 | |
jmp .L1335 | |
.L1336: | |
mov eax, DWORD PTR -4[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -40[rbp] | |
add rax, rdx | |
mov rdx, QWORD PTR -48[rbp] | |
or edx, -128 | |
mov BYTE PTR [rax], dl | |
shr QWORD PTR -48[rbp], 7 | |
sub DWORD PTR -4[rbp], 1 | |
.L1335: | |
cmp DWORD PTR -4[rbp], 0 | |
jns .L1336 | |
mov eax, 9 | |
jmp .L1341 | |
.L1334: | |
mov DWORD PTR -12[rbp], 0 | |
.L1338: | |
mov eax, DWORD PTR -12[rbp] | |
lea edx, 1[rax] | |
mov DWORD PTR -12[rbp], edx | |
mov rdx, QWORD PTR -48[rbp] | |
or edx, -128 | |
cdqe | |
mov BYTE PTR -22[rbp+rax], dl | |
shr QWORD PTR -48[rbp], 7 | |
cmp QWORD PTR -48[rbp], 0 | |
jne .L1338 | |
movzx eax, BYTE PTR -22[rbp] | |
and eax, 127 | |
mov BYTE PTR -22[rbp], al | |
mov DWORD PTR -4[rbp], 0 | |
mov eax, DWORD PTR -12[rbp] | |
sub eax, 1 | |
mov DWORD PTR -8[rbp], eax | |
jmp .L1339 | |
.L1340: | |
mov eax, DWORD PTR -4[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -40[rbp] | |
add rdx, rax | |
mov eax, DWORD PTR -8[rbp] | |
cdqe | |
movzx eax, BYTE PTR -22[rbp+rax] | |
mov BYTE PTR [rdx], al | |
sub DWORD PTR -8[rbp], 1 | |
add DWORD PTR -4[rbp], 1 | |
.L1339: | |
cmp DWORD PTR -8[rbp], 0 | |
jns .L1340 | |
mov eax, DWORD PTR -12[rbp] | |
.L1341: | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE211: | |
.size putVarint64, .-putVarint64 | |
.type sqlite3PutVarint, @function | |
sqlite3PutVarint: | |
.LFB212: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
cmp QWORD PTR -16[rbp], 127 | |
ja .L1343 | |
mov rax, QWORD PTR -16[rbp] | |
and eax, 127 | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR [rax], dl | |
mov eax, 1 | |
jmp .L1344 | |
.L1343: | |
cmp QWORD PTR -16[rbp], 16383 | |
ja .L1345 | |
mov rax, QWORD PTR -16[rbp] | |
shr rax, 7 | |
or eax, -128 | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR [rax], dl | |
mov rax, QWORD PTR -8[rbp] | |
add rax, 1 | |
mov rdx, QWORD PTR -16[rbp] | |
and edx, 127 | |
mov BYTE PTR [rax], dl | |
mov eax, 2 | |
jmp .L1344 | |
.L1345: | |
mov rdx, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call putVarint64 | |
.L1344: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE212: | |
.size sqlite3PutVarint, .-sqlite3PutVarint | |
.type sqlite3GetVarint, @function | |
sqlite3GetVarint: | |
.LFB213: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
and eax, 128 | |
test eax, eax | |
jne .L1347 | |
mov edx, DWORD PTR -4[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov QWORD PTR [rax], rdx | |
mov eax, 1 | |
jmp .L1348 | |
.L1347: | |
add QWORD PTR -24[rbp], 1 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
mov DWORD PTR -8[rbp], eax | |
mov eax, DWORD PTR -8[rbp] | |
and eax, 128 | |
test eax, eax | |
jne .L1349 | |
and DWORD PTR -4[rbp], 127 | |
sal DWORD PTR -4[rbp], 7 | |
mov eax, DWORD PTR -8[rbp] | |
or DWORD PTR -4[rbp], eax | |
mov edx, DWORD PTR -4[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov QWORD PTR [rax], rdx | |
mov eax, 2 | |
jmp .L1348 | |
.L1349: | |
add QWORD PTR -24[rbp], 1 | |
sal DWORD PTR -4[rbp], 14 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
or DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
and eax, 128 | |
test eax, eax | |
jne .L1350 | |
and DWORD PTR -4[rbp], 2080895 | |
and DWORD PTR -8[rbp], 127 | |
sal DWORD PTR -8[rbp], 7 | |
mov eax, DWORD PTR -8[rbp] | |
or DWORD PTR -4[rbp], eax | |
mov edx, DWORD PTR -4[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov QWORD PTR [rax], rdx | |
mov eax, 3 | |
jmp .L1348 | |
.L1350: | |
and DWORD PTR -4[rbp], 2080895 | |
add QWORD PTR -24[rbp], 1 | |
sal DWORD PTR -8[rbp], 14 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
or DWORD PTR -8[rbp], eax | |
mov eax, DWORD PTR -8[rbp] | |
and eax, 128 | |
test eax, eax | |
jne .L1351 | |
and DWORD PTR -8[rbp], 2080895 | |
sal DWORD PTR -4[rbp], 7 | |
mov eax, DWORD PTR -8[rbp] | |
or DWORD PTR -4[rbp], eax | |
mov edx, DWORD PTR -4[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov QWORD PTR [rax], rdx | |
mov eax, 4 | |
jmp .L1348 | |
.L1351: | |
and DWORD PTR -8[rbp], 2080895 | |
mov eax, DWORD PTR -4[rbp] | |
mov DWORD PTR -12[rbp], eax | |
add QWORD PTR -24[rbp], 1 | |
sal DWORD PTR -4[rbp], 14 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
or DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
and eax, 128 | |
test eax, eax | |
jne .L1352 | |
sal DWORD PTR -8[rbp], 7 | |
mov eax, DWORD PTR -8[rbp] | |
or DWORD PTR -4[rbp], eax | |
shr DWORD PTR -12[rbp], 18 | |
mov eax, DWORD PTR -12[rbp] | |
sal rax, 32 | |
mov rdx, rax | |
mov eax, DWORD PTR -4[rbp] | |
or rdx, rax | |
mov rax, QWORD PTR -32[rbp] | |
mov QWORD PTR [rax], rdx | |
mov eax, 5 | |
jmp .L1348 | |
.L1352: | |
sal DWORD PTR -12[rbp], 7 | |
mov eax, DWORD PTR -8[rbp] | |
or DWORD PTR -12[rbp], eax | |
add QWORD PTR -24[rbp], 1 | |
sal DWORD PTR -8[rbp], 14 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
or DWORD PTR -8[rbp], eax | |
mov eax, DWORD PTR -8[rbp] | |
and eax, 128 | |
test eax, eax | |
jne .L1353 | |
and DWORD PTR -4[rbp], 2080895 | |
sal DWORD PTR -4[rbp], 7 | |
mov eax, DWORD PTR -8[rbp] | |
or DWORD PTR -4[rbp], eax | |
shr DWORD PTR -12[rbp], 18 | |
mov eax, DWORD PTR -12[rbp] | |
sal rax, 32 | |
mov rdx, rax | |
mov eax, DWORD PTR -4[rbp] | |
or rdx, rax | |
mov rax, QWORD PTR -32[rbp] | |
mov QWORD PTR [rax], rdx | |
mov eax, 6 | |
jmp .L1348 | |
.L1353: | |
add QWORD PTR -24[rbp], 1 | |
sal DWORD PTR -4[rbp], 14 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
or DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
and eax, 128 | |
test eax, eax | |
jne .L1354 | |
and DWORD PTR -4[rbp], -266354561 | |
and DWORD PTR -8[rbp], 2080895 | |
sal DWORD PTR -8[rbp], 7 | |
mov eax, DWORD PTR -8[rbp] | |
or DWORD PTR -4[rbp], eax | |
shr DWORD PTR -12[rbp], 11 | |
mov eax, DWORD PTR -12[rbp] | |
sal rax, 32 | |
mov rdx, rax | |
mov eax, DWORD PTR -4[rbp] | |
or rdx, rax | |
mov rax, QWORD PTR -32[rbp] | |
mov QWORD PTR [rax], rdx | |
mov eax, 7 | |
jmp .L1348 | |
.L1354: | |
and DWORD PTR -4[rbp], 2080895 | |
add QWORD PTR -24[rbp], 1 | |
sal DWORD PTR -8[rbp], 14 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
or DWORD PTR -8[rbp], eax | |
mov eax, DWORD PTR -8[rbp] | |
and eax, 128 | |
test eax, eax | |
jne .L1355 | |
and DWORD PTR -8[rbp], -266354561 | |
sal DWORD PTR -4[rbp], 7 | |
mov eax, DWORD PTR -8[rbp] | |
or DWORD PTR -4[rbp], eax | |
shr DWORD PTR -12[rbp], 4 | |
mov eax, DWORD PTR -12[rbp] | |
sal rax, 32 | |
mov rdx, rax | |
mov eax, DWORD PTR -4[rbp] | |
or rdx, rax | |
mov rax, QWORD PTR -32[rbp] | |
mov QWORD PTR [rax], rdx | |
mov eax, 8 | |
jmp .L1348 | |
.L1355: | |
add QWORD PTR -24[rbp], 1 | |
sal DWORD PTR -4[rbp], 15 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
or DWORD PTR -4[rbp], eax | |
and DWORD PTR -8[rbp], 2080895 | |
sal DWORD PTR -8[rbp], 8 | |
mov eax, DWORD PTR -8[rbp] | |
or DWORD PTR -4[rbp], eax | |
sal DWORD PTR -12[rbp], 4 | |
mov rax, QWORD PTR -24[rbp] | |
sub rax, 4 | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
mov DWORD PTR -8[rbp], eax | |
and DWORD PTR -8[rbp], 127 | |
shr DWORD PTR -8[rbp], 3 | |
mov eax, DWORD PTR -8[rbp] | |
or DWORD PTR -12[rbp], eax | |
mov eax, DWORD PTR -12[rbp] | |
sal rax, 32 | |
mov rdx, rax | |
mov eax, DWORD PTR -4[rbp] | |
or rdx, rax | |
mov rax, QWORD PTR -32[rbp] | |
mov QWORD PTR [rax], rdx | |
mov eax, 9 | |
.L1348: | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE213: | |
.size sqlite3GetVarint, .-sqlite3GetVarint | |
.type sqlite3GetVarint32, @function | |
sqlite3GetVarint32: | |
.LFB214: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -48[rbp], rsi | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
mov DWORD PTR -4[rbp], eax | |
add QWORD PTR -40[rbp], 1 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
mov DWORD PTR -8[rbp], eax | |
mov eax, DWORD PTR -8[rbp] | |
and eax, 128 | |
test eax, eax | |
jne .L1357 | |
and DWORD PTR -4[rbp], 127 | |
sal DWORD PTR -4[rbp], 7 | |
mov eax, DWORD PTR -4[rbp] | |
or eax, DWORD PTR -8[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -48[rbp] | |
mov DWORD PTR [rax], edx | |
mov eax, 2 | |
jmp .L1358 | |
.L1357: | |
add QWORD PTR -40[rbp], 1 | |
sal DWORD PTR -4[rbp], 14 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
or DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
and eax, 128 | |
test eax, eax | |
jne .L1359 | |
and DWORD PTR -4[rbp], 2080895 | |
and DWORD PTR -8[rbp], 127 | |
sal DWORD PTR -8[rbp], 7 | |
mov eax, DWORD PTR -4[rbp] | |
or eax, DWORD PTR -8[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -48[rbp] | |
mov DWORD PTR [rax], edx | |
mov eax, 3 | |
jmp .L1358 | |
.L1359: | |
sub QWORD PTR -40[rbp], 2 | |
lea rdx, -24[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3GetVarint | |
mov BYTE PTR -9[rbp], al | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
cmp rdx, rax | |
je .L1360 | |
mov rax, QWORD PTR -48[rbp] | |
mov DWORD PTR [rax], -1 | |
jmp .L1361 | |
.L1360: | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -48[rbp] | |
mov DWORD PTR [rax], edx | |
.L1361: | |
movzx eax, BYTE PTR -9[rbp] | |
.L1358: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE214: | |
.size sqlite3GetVarint32, .-sqlite3GetVarint32 | |
.type sqlite3VarintLen, @function | |
sqlite3VarintLen: | |
.LFB215: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -4[rbp], 1 | |
jmp .L1363 | |
.L1364: | |
add DWORD PTR -4[rbp], 1 | |
.L1363: | |
shr QWORD PTR -24[rbp], 7 | |
cmp QWORD PTR -24[rbp], 0 | |
jne .L1364 | |
mov eax, DWORD PTR -4[rbp] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE215: | |
.size sqlite3VarintLen, .-sqlite3VarintLen | |
.type sqlite3Get4byte, @function | |
sqlite3Get4byte: | |
.LFB216: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR [rax] | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
bswap eax | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE216: | |
.size sqlite3Get4byte, .-sqlite3Get4byte | |
.type sqlite3Put4byte, @function | |
sqlite3Put4byte: | |
.LFB217: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov eax, DWORD PTR -28[rbp] | |
bswap eax | |
mov DWORD PTR -4[rbp], eax | |
mov edx, DWORD PTR -4[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR [rax], edx | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE217: | |
.size sqlite3Put4byte, .-sqlite3Put4byte | |
.type sqlite3HexToInt, @function | |
sqlite3HexToInt: | |
.LFB218: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov DWORD PTR -4[rbp], edi | |
mov eax, DWORD PTR -4[rbp] | |
sar eax, 6 | |
and eax, 1 | |
mov edx, eax | |
mov eax, edx | |
sal eax, 3 | |
add eax, edx | |
add DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
and eax, 15 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE218: | |
.size sqlite3HexToInt, .-sqlite3HexToInt | |
.type sqlite3HexToBlob, @function | |
sqlite3HexToBlob: | |
.LFB219: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
push r12 | |
push rbx | |
sub rsp, 48 | |
.cfi_offset 12, -24 | |
.cfi_offset 3, -32 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -48[rbp], rsi | |
mov DWORD PTR -52[rbp], edx | |
mov eax, DWORD PTR -52[rbp] | |
mov edx, eax | |
shr edx, 31 | |
add eax, edx | |
sar eax | |
add eax, 1 | |
movsx rdx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DbMallocRawNN | |
mov QWORD PTR -32[rbp], rax | |
sub DWORD PTR -52[rbp], 1 | |
cmp QWORD PTR -32[rbp], 0 | |
je .L1372 | |
mov DWORD PTR -20[rbp], 0 | |
jmp .L1373 | |
.L1374: | |
mov eax, DWORD PTR -20[rbp] | |
mov edx, eax | |
shr edx, 31 | |
add eax, edx | |
sar eax | |
movsx rdx, eax | |
mov rax, QWORD PTR -32[rbp] | |
lea rbx, [rdx+rax] | |
mov eax, DWORD PTR -20[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -48[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
mov edi, eax | |
call sqlite3HexToInt | |
movzx eax, al | |
sal eax, 4 | |
mov r12d, eax | |
mov eax, DWORD PTR -20[rbp] | |
cdqe | |
lea rdx, 1[rax] | |
mov rax, QWORD PTR -48[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
mov edi, eax | |
call sqlite3HexToInt | |
or eax, r12d | |
mov BYTE PTR [rbx], al | |
add DWORD PTR -20[rbp], 2 | |
.L1373: | |
mov eax, DWORD PTR -20[rbp] | |
cmp eax, DWORD PTR -52[rbp] | |
jl .L1374 | |
mov eax, DWORD PTR -20[rbp] | |
mov edx, eax | |
shr edx, 31 | |
add eax, edx | |
sar eax | |
movsx rdx, eax | |
mov rax, QWORD PTR -32[rbp] | |
add rax, rdx | |
mov BYTE PTR [rax], 0 | |
.L1372: | |
mov rax, QWORD PTR -32[rbp] | |
add rsp, 48 | |
pop rbx | |
pop r12 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE219: | |
.size sqlite3HexToBlob, .-sqlite3HexToBlob | |
.section .rodata | |
.align 8 | |
.LC72: | |
.string "API call with %s database connection pointer" | |
.text | |
.type logBadConnection, @function | |
logBadConnection: | |
.LFB220: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, rax | |
lea rsi, .LC72[rip] | |
mov edi, 21 | |
mov eax, 0 | |
call sqlite3_log | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE220: | |
.size logBadConnection, .-logBadConnection | |
.section .rodata | |
.LC73: | |
.string "unopened" | |
.text | |
.type sqlite3SafetyCheckOk, @function | |
sqlite3SafetyCheckOk: | |
.LFB221: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
cmp QWORD PTR -24[rbp], 0 | |
jne .L1378 | |
lea rdi, .LC66[rip] | |
call logBadConnection | |
mov eax, 0 | |
jmp .L1379 | |
.L1378: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 112[rax] | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], -1607883113 | |
je .L1380 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3SafetyCheckSickOrOk | |
test eax, eax | |
je .L1381 | |
lea rdi, .LC73[rip] | |
call logBadConnection | |
.L1381: | |
mov eax, 0 | |
jmp .L1379 | |
.L1380: | |
mov eax, 1 | |
.L1379: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE221: | |
.size sqlite3SafetyCheckOk, .-sqlite3SafetyCheckOk | |
.section .rodata | |
.LC74: | |
.string "invalid" | |
.text | |
.type sqlite3SafetyCheckSickOrOk, @function | |
sqlite3SafetyCheckSickOrOk: | |
.LFB222: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 112[rax] | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 1266094736 | |
je .L1383 | |
cmp DWORD PTR -4[rbp], -1607883113 | |
je .L1383 | |
cmp DWORD PTR -4[rbp], -264537850 | |
je .L1383 | |
lea rdi, .LC74[rip] | |
call logBadConnection | |
mov eax, 0 | |
jmp .L1384 | |
.L1383: | |
mov eax, 1 | |
.L1384: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE222: | |
.size sqlite3SafetyCheckSickOrOk, .-sqlite3SafetyCheckSickOrOk | |
.type sqlite3AddInt64, @function | |
sqlite3AddInt64: | |
.LFB223: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR [rax] | |
mov ecx, 0 | |
mov rax, QWORD PTR -16[rbp] | |
add rax, rdx | |
jno .L1386 | |
mov ecx, 1 | |
.L1386: | |
mov rdx, rax | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, rcx | |
and eax, 1 | |
movzx eax, al | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE223: | |
.size sqlite3AddInt64, .-sqlite3AddInt64 | |
.type sqlite3SubInt64, @function | |
sqlite3SubInt64: | |
.LFB224: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov edx, 0 | |
sub rax, QWORD PTR -16[rbp] | |
jno .L1390 | |
mov edx, 1 | |
.L1390: | |
mov rcx, rax | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], rcx | |
mov rax, rdx | |
and eax, 1 | |
movzx eax, al | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE224: | |
.size sqlite3SubInt64, .-sqlite3SubInt64 | |
.type sqlite3MulInt64, @function | |
sqlite3MulInt64: | |
.LFB225: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov edx, 0 | |
imul rax, QWORD PTR -16[rbp] | |
jno .L1394 | |
mov edx, 1 | |
.L1394: | |
mov rcx, rax | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], rcx | |
mov rax, rdx | |
and eax, 1 | |
movzx eax, al | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE225: | |
.size sqlite3MulInt64, .-sqlite3MulInt64 | |
.type sqlite3AbsInt32, @function | |
sqlite3AbsInt32: | |
.LFB226: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov DWORD PTR -4[rbp], edi | |
cmp DWORD PTR -4[rbp], 0 | |
js .L1398 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L1399 | |
.L1398: | |
cmp DWORD PTR -4[rbp], -2147483648 | |
jne .L1400 | |
mov eax, 2147483647 | |
jmp .L1399 | |
.L1400: | |
mov eax, DWORD PTR -4[rbp] | |
neg eax | |
.L1399: | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE226: | |
.size sqlite3AbsInt32, .-sqlite3AbsInt32 | |
.type sqlite3LogEstAdd, @function | |
sqlite3LogEstAdd: | |
.LFB227: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov edx, edi | |
mov eax, esi | |
mov WORD PTR -4[rbp], dx | |
mov WORD PTR -8[rbp], ax | |
movzx eax, WORD PTR -4[rbp] | |
cmp ax, WORD PTR -8[rbp] | |
jl .L1402 | |
movsx eax, WORD PTR -4[rbp] | |
movsx edx, WORD PTR -8[rbp] | |
add edx, 49 | |
cmp eax, edx | |
jle .L1403 | |
movzx eax, WORD PTR -4[rbp] | |
jmp .L1404 | |
.L1403: | |
movsx eax, WORD PTR -4[rbp] | |
movsx edx, WORD PTR -8[rbp] | |
add edx, 31 | |
cmp eax, edx | |
jle .L1405 | |
movzx eax, WORD PTR -4[rbp] | |
add eax, 1 | |
jmp .L1404 | |
.L1405: | |
movsx edx, WORD PTR -4[rbp] | |
movsx eax, WORD PTR -8[rbp] | |
sub edx, eax | |
mov eax, edx | |
movsx rdx, eax | |
lea rax, x.10629[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx edx, al | |
movzx eax, WORD PTR -4[rbp] | |
add eax, edx | |
jmp .L1404 | |
.L1402: | |
movsx eax, WORD PTR -8[rbp] | |
movsx edx, WORD PTR -4[rbp] | |
add edx, 49 | |
cmp eax, edx | |
jle .L1406 | |
movzx eax, WORD PTR -8[rbp] | |
jmp .L1404 | |
.L1406: | |
movsx eax, WORD PTR -8[rbp] | |
movsx edx, WORD PTR -4[rbp] | |
add edx, 31 | |
cmp eax, edx | |
jle .L1407 | |
movzx eax, WORD PTR -8[rbp] | |
add eax, 1 | |
jmp .L1404 | |
.L1407: | |
movsx edx, WORD PTR -8[rbp] | |
movsx eax, WORD PTR -4[rbp] | |
sub edx, eax | |
mov eax, edx | |
movsx rdx, eax | |
lea rax, x.10629[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx edx, al | |
movzx eax, WORD PTR -8[rbp] | |
add eax, edx | |
.L1404: | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE227: | |
.size sqlite3LogEstAdd, .-sqlite3LogEstAdd | |
.type sqlite3LogEst, @function | |
sqlite3LogEst: | |
.LFB228: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov WORD PTR -2[rbp], 40 | |
cmp QWORD PTR -24[rbp], 7 | |
ja .L1409 | |
cmp QWORD PTR -24[rbp], 1 | |
ja .L1412 | |
mov eax, 0 | |
jmp .L1411 | |
.L1413: | |
movzx eax, WORD PTR -2[rbp] | |
sub eax, 10 | |
mov WORD PTR -2[rbp], ax | |
sal QWORD PTR -24[rbp] | |
.L1412: | |
cmp QWORD PTR -24[rbp], 7 | |
jbe .L1413 | |
jmp .L1414 | |
.L1409: | |
bsr rax, QWORD PTR -24[rbp] | |
xor rax, 63 | |
mov edx, 60 | |
sub edx, eax | |
mov eax, edx | |
mov DWORD PTR -8[rbp], eax | |
mov eax, DWORD PTR -8[rbp] | |
mov edx, eax | |
mov eax, edx | |
sal eax, 2 | |
add eax, edx | |
add eax, eax | |
mov edx, eax | |
movzx eax, WORD PTR -2[rbp] | |
add eax, edx | |
mov WORD PTR -2[rbp], ax | |
mov eax, DWORD PTR -8[rbp] | |
mov ecx, eax | |
shr QWORD PTR -24[rbp], cl | |
.L1414: | |
mov rax, QWORD PTR -24[rbp] | |
and eax, 7 | |
lea rdx, [rax+rax] | |
lea rax, a.10633[rip] | |
movzx eax, WORD PTR [rdx+rax] | |
mov edx, eax | |
movzx eax, WORD PTR -2[rbp] | |
add eax, edx | |
sub eax, 10 | |
.L1411: | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE228: | |
.size sqlite3LogEst, .-sqlite3LogEst | |
.type sqlite3LogEstFromDouble, @function | |
sqlite3LogEstFromDouble: | |
.LFB229: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 24 | |
movsd QWORD PTR -24[rbp], xmm0 | |
movsd xmm1, QWORD PTR -24[rbp] | |
movsd xmm0, QWORD PTR .LC8[rip] | |
ucomisd xmm0, xmm1 | |
jb .L1426 | |
mov eax, 0 | |
jmp .L1423 | |
.L1426: | |
movsd xmm1, QWORD PTR -24[rbp] | |
movsd xmm0, QWORD PTR .LC75[rip] | |
ucomisd xmm0, xmm1 | |
jb .L1427 | |
movsd xmm0, QWORD PTR -24[rbp] | |
ucomisd xmm0, QWORD PTR .LC76[rip] | |
jnb .L1421 | |
cvttsd2si rax, xmm0 | |
jmp .L1422 | |
.L1421: | |
movsd xmm1, QWORD PTR .LC76[rip] | |
subsd xmm0, xmm1 | |
cvttsd2si rax, xmm0 | |
movabs rdx, -9223372036854775808 | |
xor rax, rdx | |
.L1422: | |
mov rdi, rax | |
call sqlite3LogEst | |
jmp .L1423 | |
.L1427: | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
shr rax, 52 | |
sub ax, 1022 | |
mov WORD PTR -2[rbp], ax | |
movzx edx, WORD PTR -2[rbp] | |
mov eax, edx | |
sal eax, 2 | |
add eax, edx | |
add eax, eax | |
.L1423: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE229: | |
.size sqlite3LogEstFromDouble, .-sqlite3LogEstFromDouble | |
.type sqlite3VListAdd, @function | |
sqlite3VListAdd: | |
.LFB230: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -48[rbp], rsi | |
mov QWORD PTR -56[rbp], rdx | |
mov DWORD PTR -60[rbp], ecx | |
mov DWORD PTR -64[rbp], r8d | |
mov eax, DWORD PTR -60[rbp] | |
lea edx, 3[rax] | |
test eax, eax | |
cmovs eax, edx | |
sar eax, 2 | |
add eax, 3 | |
mov DWORD PTR -4[rbp], eax | |
cmp QWORD PTR -48[rbp], 0 | |
je .L1429 | |
mov rax, QWORD PTR -48[rbp] | |
add rax, 4 | |
mov edx, DWORD PTR [rax] | |
mov eax, DWORD PTR -4[rbp] | |
add edx, eax | |
mov rax, QWORD PTR -48[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp edx, eax | |
jle .L1430 | |
.L1429: | |
cmp QWORD PTR -48[rbp], 0 | |
je .L1431 | |
mov rax, QWORD PTR -48[rbp] | |
mov eax, DWORD PTR [rax] | |
lea edx, [rax+rax] | |
jmp .L1432 | |
.L1431: | |
mov edx, 10 | |
.L1432: | |
mov eax, DWORD PTR -4[rbp] | |
add eax, edx | |
mov DWORD PTR -8[rbp], eax | |
mov eax, DWORD PTR -8[rbp] | |
cdqe | |
lea rdx, 0[0+rax*4] | |
mov rcx, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3DbRealloc | |
mov QWORD PTR -16[rbp], rax | |
cmp QWORD PTR -16[rbp], 0 | |
jne .L1433 | |
mov rax, QWORD PTR -48[rbp] | |
jmp .L1434 | |
.L1433: | |
cmp QWORD PTR -48[rbp], 0 | |
jne .L1435 | |
mov rax, QWORD PTR -16[rbp] | |
add rax, 4 | |
mov DWORD PTR [rax], 2 | |
.L1435: | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR -48[rbp], rax | |
mov rax, QWORD PTR -48[rbp] | |
mov edx, DWORD PTR -8[rbp] | |
mov DWORD PTR [rax], edx | |
.L1430: | |
mov rax, QWORD PTR -48[rbp] | |
mov eax, DWORD PTR 4[rax] | |
mov DWORD PTR -20[rbp], eax | |
mov eax, DWORD PTR -20[rbp] | |
cdqe | |
lea rdx, 0[0+rax*4] | |
mov rax, QWORD PTR -48[rbp] | |
add rdx, rax | |
mov eax, DWORD PTR -64[rbp] | |
mov DWORD PTR [rdx], eax | |
mov eax, DWORD PTR -20[rbp] | |
cdqe | |
add rax, 1 | |
lea rdx, 0[0+rax*4] | |
mov rax, QWORD PTR -48[rbp] | |
add rdx, rax | |
mov eax, DWORD PTR -4[rbp] | |
mov DWORD PTR [rdx], eax | |
mov eax, DWORD PTR -20[rbp] | |
cdqe | |
add rax, 2 | |
lea rdx, 0[0+rax*4] | |
mov rax, QWORD PTR -48[rbp] | |
add rax, rdx | |
mov QWORD PTR -32[rbp], rax | |
mov rax, QWORD PTR -48[rbp] | |
add rax, 4 | |
mov ecx, DWORD PTR -20[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
add edx, ecx | |
mov DWORD PTR [rax], edx | |
mov eax, DWORD PTR -60[rbp] | |
movsx rdx, eax | |
mov rcx, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call memcpy@PLT | |
mov eax, DWORD PTR -60[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -32[rbp] | |
add rax, rdx | |
mov BYTE PTR [rax], 0 | |
mov rax, QWORD PTR -48[rbp] | |
.L1434: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE230: | |
.size sqlite3VListAdd, .-sqlite3VListAdd | |
.type sqlite3VListNumToName, @function | |
sqlite3VListNumToName: | |
.LFB231: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
cmp QWORD PTR -24[rbp], 0 | |
jne .L1437 | |
mov eax, 0 | |
jmp .L1438 | |
.L1437: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 4[rax] | |
mov DWORD PTR -8[rbp], eax | |
mov DWORD PTR -4[rbp], 2 | |
.L1440: | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
lea rdx, 0[0+rax*4] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
mov eax, DWORD PTR [rax] | |
cmp eax, DWORD PTR -28[rbp] | |
jne .L1439 | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add rax, 2 | |
lea rdx, 0[0+rax*4] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
jmp .L1438 | |
.L1439: | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add rax, 1 | |
lea rdx, 0[0+rax*4] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
mov eax, DWORD PTR [rax] | |
add DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
cmp eax, DWORD PTR -8[rbp] | |
jl .L1440 | |
mov eax, 0 | |
.L1438: | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE231: | |
.size sqlite3VListNumToName, .-sqlite3VListNumToName | |
.type sqlite3VListNameToNum, @function | |
sqlite3VListNameToNum: | |
.LFB232: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov DWORD PTR -36[rbp], edx | |
cmp QWORD PTR -24[rbp], 0 | |
jne .L1442 | |
mov eax, 0 | |
jmp .L1443 | |
.L1442: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 4[rax] | |
mov DWORD PTR -8[rbp], eax | |
mov DWORD PTR -4[rbp], 2 | |
.L1445: | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add rax, 2 | |
lea rdx, 0[0+rax*4] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
mov QWORD PTR -16[rbp], rax | |
mov eax, DWORD PTR -36[rbp] | |
movsx rdx, eax | |
mov rcx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call strncmp@PLT | |
test eax, eax | |
jne .L1444 | |
mov eax, DWORD PTR -36[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -16[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
test al, al | |
jne .L1444 | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
lea rdx, 0[0+rax*4] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
mov eax, DWORD PTR [rax] | |
jmp .L1443 | |
.L1444: | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add rax, 1 | |
lea rdx, 0[0+rax*4] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
mov eax, DWORD PTR [rax] | |
add DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
cmp eax, DWORD PTR -8[rbp] | |
jl .L1445 | |
mov eax, 0 | |
.L1443: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE232: | |
.size sqlite3VListNameToNum, .-sqlite3VListNameToNum | |
.type sqlite3HashInit, @function | |
sqlite3HashInit: | |
.LFB233: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 8[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 4[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR [rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 16[rax], 0 | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE233: | |
.size sqlite3HashInit, .-sqlite3HashInit | |
.type sqlite3HashClear, @function | |
sqlite3HashClear: | |
.LFB234: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 8[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov rdi, rax | |
call sqlite3_free | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 16[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR [rax], 0 | |
jmp .L1448 | |
.L1449: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR -8[rbp], rax | |
.L1448: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L1449 | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 4[rax], 0 | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE234: | |
.size sqlite3HashClear, .-sqlite3HashClear | |
.type strHash, @function | |
strHash: | |
.LFB235: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L1451 | |
.L1452: | |
movzx eax, BYTE PTR -5[rbp] | |
movsx rdx, eax | |
lea rax, sqlite3UpperToLower[rip] | |
movzx eax, BYTE PTR [rdx+rax] | |
movzx eax, al | |
add DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
imul eax, eax, -1640531535 | |
mov DWORD PTR -4[rbp], eax | |
.L1451: | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 1[rax] | |
mov QWORD PTR -24[rbp], rdx | |
movzx eax, BYTE PTR [rax] | |
mov BYTE PTR -5[rbp], al | |
cmp BYTE PTR -5[rbp], 0 | |
jne .L1452 | |
mov eax, DWORD PTR -4[rbp] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE235: | |
.size strHash, .-strHash | |
.type insertElement, @function | |
insertElement: | |
.LFB236: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov QWORD PTR -40[rbp], rdx | |
cmp QWORD PTR -32[rbp], 0 | |
je .L1455 | |
mov rax, QWORD PTR -32[rbp] | |
mov eax, DWORD PTR [rax] | |
test eax, eax | |
je .L1456 | |
mov rax, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR 8[rax] | |
jmp .L1457 | |
.L1456: | |
mov eax, 0 | |
.L1457: | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -32[rbp] | |
mov eax, DWORD PTR [rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -32[rbp] | |
mov DWORD PTR [rax], edx | |
mov rax, QWORD PTR -32[rbp] | |
mov rdx, QWORD PTR -40[rbp] | |
mov QWORD PTR 8[rax], rdx | |
jmp .L1458 | |
.L1455: | |
mov QWORD PTR -8[rbp], 0 | |
.L1458: | |
cmp QWORD PTR -8[rbp], 0 | |
je .L1459 | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR 8[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 8[rax] | |
test rax, rax | |
je .L1460 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rdx, QWORD PTR -40[rbp] | |
mov QWORD PTR [rax], rdx | |
jmp .L1461 | |
.L1460: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -40[rbp] | |
mov QWORD PTR 8[rax], rdx | |
.L1461: | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -40[rbp] | |
mov QWORD PTR 8[rax], rdx | |
jmp .L1464 | |
.L1459: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
test rax, rax | |
je .L1463 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rdx, QWORD PTR -40[rbp] | |
mov QWORD PTR 8[rax], rdx | |
.L1463: | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR 8[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -40[rbp] | |
mov QWORD PTR 8[rax], rdx | |
.L1464: | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE236: | |
.size insertElement, .-insertElement | |
.type rehash, @function | |
rehash: | |
.LFB237: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov eax, DWORD PTR -44[rbp] | |
sal rax, 4 | |
cmp rax, 1024 | |
jbe .L1466 | |
mov DWORD PTR -44[rbp], 64 | |
.L1466: | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp eax, DWORD PTR -44[rbp] | |
jne .L1467 | |
mov eax, 0 | |
jmp .L1468 | |
.L1467: | |
call sqlite3BeginBenignMalloc | |
mov eax, DWORD PTR -44[rbp] | |
sal rax, 4 | |
mov rdi, rax | |
call sqlite3Malloc | |
mov QWORD PTR -16[rbp], rax | |
call sqlite3EndBenignMalloc | |
cmp QWORD PTR -16[rbp], 0 | |
jne .L1469 | |
mov eax, 0 | |
jmp .L1468 | |
.L1469: | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov rdi, rax | |
call sqlite3_free | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR -16[rbp] | |
mov QWORD PTR 16[rax], rdx | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call sqlite3MallocSize | |
cdqe | |
shr rax, 4 | |
mov DWORD PTR -44[rbp], eax | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR -44[rbp] | |
mov DWORD PTR [rax], edx | |
mov eax, DWORD PTR -44[rbp] | |
sal rax, 4 | |
mov rdx, rax | |
mov rax, QWORD PTR -16[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR 8[rax], 0 | |
jmp .L1470 | |
.L1471: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 24[rax] | |
mov rdi, rax | |
call strHash | |
mov edx, 0 | |
div DWORD PTR -44[rbp] | |
mov DWORD PTR -20[rbp], edx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -32[rbp], rax | |
mov eax, DWORD PTR -20[rbp] | |
sal rax, 4 | |
mov rdx, rax | |
mov rax, QWORD PTR -16[rbp] | |
lea rcx, [rdx+rax] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call insertElement | |
mov rax, QWORD PTR -32[rbp] | |
mov QWORD PTR -8[rbp], rax | |
.L1470: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L1471 | |
mov eax, 1 | |
.L1468: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE237: | |
.size rehash, .-rehash | |
.type findElementWithHash, @function | |
findElementWithHash: | |
.LFB238: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 56 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -48[rbp], rsi | |
mov QWORD PTR -56[rbp], rdx | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 16[rax] | |
test rax, rax | |
je .L1473 | |
mov rax, QWORD PTR -48[rbp] | |
mov rdi, rax | |
call strHash | |
mov edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov ecx, DWORD PTR [rax] | |
mov eax, edx | |
mov edx, 0 | |
div ecx | |
mov DWORD PTR -16[rbp], edx | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov edx, DWORD PTR -16[rbp] | |
sal rdx, 4 | |
add rax, rdx | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR [rax] | |
mov DWORD PTR -12[rbp], eax | |
jmp .L1474 | |
.L1473: | |
mov DWORD PTR -16[rbp], 0 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 4[rax] | |
mov DWORD PTR -12[rbp], eax | |
.L1474: | |
cmp QWORD PTR -56[rbp], 0 | |
je .L1476 | |
mov rax, QWORD PTR -56[rbp] | |
mov edx, DWORD PTR -16[rbp] | |
mov DWORD PTR [rax], edx | |
jmp .L1476 | |
.L1479: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 24[rax] | |
mov rdx, QWORD PTR -48[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3StrICmp | |
test eax, eax | |
jne .L1477 | |
mov rax, QWORD PTR -8[rbp] | |
jmp .L1478 | |
.L1477: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -8[rbp], rax | |
.L1476: | |
mov eax, DWORD PTR -12[rbp] | |
lea edx, -1[rax] | |
mov DWORD PTR -12[rbp], edx | |
test eax, eax | |
jne .L1479 | |
lea rax, nullElement.10718[rip] | |
.L1478: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE238: | |
.size findElementWithHash, .-findElementWithHash | |
.type removeElementGivenHash, @function | |
removeElementGivenHash: | |
.LFB239: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov DWORD PTR -36[rbp], edx | |
mov rax, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR 8[rax] | |
test rax, rax | |
je .L1481 | |
mov rax, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rdx, QWORD PTR -32[rbp] | |
mov rdx, QWORD PTR [rdx] | |
mov QWORD PTR [rax], rdx | |
jmp .L1482 | |
.L1481: | |
mov rax, QWORD PTR -32[rbp] | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 8[rax], rdx | |
.L1482: | |
mov rax, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
je .L1483 | |
mov rax, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rdx, QWORD PTR -32[rbp] | |
mov rdx, QWORD PTR 8[rdx] | |
mov QWORD PTR 8[rax], rdx | |
.L1483: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 16[rax] | |
test rax, rax | |
je .L1484 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov edx, DWORD PTR -36[rbp] | |
sal rdx, 4 | |
add rax, rdx | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 8[rax] | |
cmp rax, QWORD PTR -32[rbp] | |
jne .L1485 | |
mov rax, QWORD PTR -32[rbp] | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 8[rax], rdx | |
.L1485: | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR [rax] | |
lea edx, -1[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR [rax], edx | |
.L1484: | |
mov rax, QWORD PTR -32[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 4[rax] | |
lea edx, -1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 4[rax], edx | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 4[rax] | |
test eax, eax | |
jne .L1487 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3HashClear | |
.L1487: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE239: | |
.size removeElementGivenHash, .-removeElementGivenHash | |
.type sqlite3HashFind, @function | |
sqlite3HashFind: | |
.LFB240: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov rcx, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, 0 | |
mov rsi, rcx | |
mov rdi, rax | |
call findElementWithHash | |
mov rax, QWORD PTR 16[rax] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE240: | |
.size sqlite3HashFind, .-sqlite3HashFind | |
.type sqlite3HashInsert, @function | |
sqlite3HashInsert: | |
.LFB241: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -48[rbp], rsi | |
mov QWORD PTR -56[rbp], rdx | |
lea rdx, -28[rbp] | |
mov rcx, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call findElementWithHash | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 16[rax] | |
test rax, rax | |
je .L1491 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -16[rbp], rax | |
cmp QWORD PTR -56[rbp], 0 | |
jne .L1492 | |
mov edx, DWORD PTR -28[rbp] | |
mov rcx, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call removeElementGivenHash | |
jmp .L1493 | |
.L1492: | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -56[rbp] | |
mov QWORD PTR 16[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -48[rbp] | |
mov QWORD PTR 24[rax], rdx | |
.L1493: | |
mov rax, QWORD PTR -16[rbp] | |
jmp .L1500 | |
.L1491: | |
cmp QWORD PTR -56[rbp], 0 | |
jne .L1495 | |
mov eax, 0 | |
jmp .L1500 | |
.L1495: | |
mov edi, 32 | |
call sqlite3Malloc | |
mov QWORD PTR -24[rbp], rax | |
cmp QWORD PTR -24[rbp], 0 | |
jne .L1496 | |
mov rax, QWORD PTR -56[rbp] | |
jmp .L1500 | |
.L1496: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -48[rbp] | |
mov QWORD PTR 24[rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -56[rbp] | |
mov QWORD PTR 16[rax], rdx | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 4[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 4[rax], edx | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 4[rax] | |
cmp eax, 9 | |
jbe .L1497 | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR 4[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR [rax] | |
add eax, eax | |
cmp edx, eax | |
jbe .L1497 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 4[rax] | |
lea edx, [rax+rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call rehash | |
test eax, eax | |
je .L1497 | |
mov rax, QWORD PTR -48[rbp] | |
mov rdi, rax | |
call strHash | |
mov edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov ecx, DWORD PTR [rax] | |
mov eax, edx | |
mov edx, 0 | |
div ecx | |
mov eax, edx | |
mov DWORD PTR -28[rbp], eax | |
.L1497: | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 16[rax] | |
test rax, rax | |
je .L1498 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov edx, DWORD PTR -28[rbp] | |
mov edx, edx | |
sal rdx, 4 | |
lea rcx, [rax+rdx] | |
jmp .L1499 | |
.L1498: | |
mov ecx, 0 | |
.L1499: | |
mov rdx, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call insertElement | |
mov eax, 0 | |
.L1500: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE241: | |
.size sqlite3HashInsert, .-sqlite3HashInsert | |
.type sqlite3OpcodeName, @function | |
sqlite3OpcodeName: | |
.LFB242: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov DWORD PTR -4[rbp], edi | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
lea rdx, 0[0+rax*8] | |
lea rax, azName.10745[rip] | |
mov rax, QWORD PTR [rdx+rax] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE242: | |
.size sqlite3OpcodeName, .-sqlite3OpcodeName | |
.local randomnessPid | |
.comm randomnessPid,4,4 | |
.type posixOpen, @function | |
posixOpen: | |
.LFB243: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov DWORD PTR -16[rbp], edx | |
mov edx, DWORD PTR -16[rbp] | |
mov ecx, DWORD PTR -12[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
mov eax, 0 | |
call open64@PLT | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE243: | |
.size posixOpen, .-posixOpen | |
.section .rodata | |
.LC77: | |
.string "open" | |
.LC78: | |
.string "close" | |
.LC79: | |
.string "access" | |
.LC80: | |
.string "getcwd" | |
.LC81: | |
.string "stat" | |
.LC82: | |
.string "fstat" | |
.LC83: | |
.string "ftruncate" | |
.LC84: | |
.string "fcntl" | |
.LC85: | |
.string "read" | |
.LC86: | |
.string "pread" | |
.LC87: | |
.string "pread64" | |
.LC88: | |
.string "write" | |
.LC89: | |
.string "pwrite" | |
.LC90: | |
.string "pwrite64" | |
.LC91: | |
.string "fchmod" | |
.LC92: | |
.string "fallocate" | |
.LC93: | |
.string "unlink" | |
.LC94: | |
.string "openDirectory" | |
.LC95: | |
.string "mkdir" | |
.LC96: | |
.string "rmdir" | |
.LC97: | |
.string "fchown" | |
.LC98: | |
.string "geteuid" | |
.LC99: | |
.string "mmap" | |
.LC100: | |
.string "munmap" | |
.LC101: | |
.string "mremap" | |
.LC102: | |
.string "getpagesize" | |
.LC103: | |
.string "readlink" | |
.LC104: | |
.string "lstat" | |
.LC105: | |
.string "ioctl" | |
.section .data.rel,"aw",@progbits | |
.align 32 | |
.type aSyscall, @object | |
.size aSyscall, 696 | |
aSyscall: | |
.quad .LC77 | |
.quad posixOpen | |
.quad 0 | |
.quad .LC78 | |
.quad close | |
.quad 0 | |
.quad .LC79 | |
.quad access | |
.quad 0 | |
.quad .LC80 | |
.quad getcwd | |
.quad 0 | |
.quad .LC81 | |
.quad stat64 | |
.quad 0 | |
.quad .LC82 | |
.quad fstat64 | |
.quad 0 | |
.quad .LC83 | |
.quad ftruncate64 | |
.quad 0 | |
.quad .LC84 | |
.quad fcntl | |
.quad 0 | |
.quad .LC85 | |
.quad read | |
.quad 0 | |
.quad .LC86 | |
.quad 0 | |
.quad 0 | |
.quad .LC87 | |
.quad 0 | |
.quad 0 | |
.quad .LC88 | |
.quad write | |
.quad 0 | |
.quad .LC89 | |
.quad 0 | |
.quad 0 | |
.quad .LC90 | |
.quad 0 | |
.quad 0 | |
.quad .LC91 | |
.quad fchmod | |
.quad 0 | |
.quad .LC92 | |
.quad 0 | |
.quad 0 | |
.quad .LC93 | |
.quad unlink | |
.quad 0 | |
.quad .LC94 | |
.quad openDirectory | |
.quad 0 | |
.quad .LC95 | |
.quad mkdir | |
.quad 0 | |
.quad .LC96 | |
.quad rmdir | |
.quad 0 | |
.quad .LC97 | |
.quad fchown | |
.quad 0 | |
.quad .LC98 | |
.quad geteuid | |
.quad 0 | |
.quad .LC99 | |
.quad mmap64 | |
.quad 0 | |
.quad .LC100 | |
.quad munmap | |
.quad 0 | |
.quad .LC101 | |
.quad mremap | |
.quad 0 | |
.quad .LC102 | |
.quad unixGetpagesize | |
.quad 0 | |
.quad .LC103 | |
.quad readlink | |
.quad 0 | |
.quad .LC104 | |
.quad lstat64 | |
.quad 0 | |
.quad .LC105 | |
.quad 0 | |
.quad 0 | |
.text | |
.type robustFchown, @function | |
robustFchown: | |
.LFB244: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov DWORD PTR -4[rbp], edi | |
mov DWORD PTR -8[rbp], esi | |
mov DWORD PTR -12[rbp], edx | |
mov rax, QWORD PTR aSyscall[rip+512] | |
call rax | |
test eax, eax | |
jne .L1506 | |
mov rax, QWORD PTR aSyscall[rip+488] | |
mov edx, DWORD PTR -12[rbp] | |
mov esi, DWORD PTR -8[rbp] | |
mov ecx, DWORD PTR -4[rbp] | |
mov edi, ecx | |
call rax | |
jmp .L1508 | |
.L1506: | |
mov eax, 0 | |
.L1508: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE244: | |
.size robustFchown, .-robustFchown | |
.type unixSetSystemCall, @function | |
unixSetSystemCall: | |
.LFB245: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov QWORD PTR -40[rbp], rdx | |
mov DWORD PTR -8[rbp], 12 | |
cmp QWORD PTR -32[rbp], 0 | |
jne .L1510 | |
mov DWORD PTR -8[rbp], 0 | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L1511 | |
.L1513: | |
mov edx, DWORD PTR -4[rbp] | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 3 | |
mov rdx, rax | |
lea rax, aSyscall[rip+16] | |
mov rax, QWORD PTR [rdx+rax] | |
test rax, rax | |
je .L1512 | |
mov edx, DWORD PTR -4[rbp] | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 3 | |
mov rdx, rax | |
lea rax, aSyscall[rip+16] | |
mov rcx, QWORD PTR [rdx+rax] | |
mov edx, DWORD PTR -4[rbp] | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 3 | |
mov rdx, rax | |
lea rax, aSyscall[rip+8] | |
mov QWORD PTR [rdx+rax], rcx | |
.L1512: | |
add DWORD PTR -4[rbp], 1 | |
.L1511: | |
cmp DWORD PTR -4[rbp], 28 | |
jbe .L1513 | |
jmp .L1514 | |
.L1510: | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L1515 | |
.L1519: | |
mov edx, DWORD PTR -4[rbp] | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 3 | |
mov rdx, rax | |
lea rax, aSyscall[rip] | |
mov rdx, QWORD PTR [rdx+rax] | |
mov rax, QWORD PTR -32[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call strcmp@PLT | |
test eax, eax | |
jne .L1516 | |
mov edx, DWORD PTR -4[rbp] | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 3 | |
mov rdx, rax | |
lea rax, aSyscall[rip+16] | |
mov rax, QWORD PTR [rdx+rax] | |
test rax, rax | |
jne .L1517 | |
mov edx, DWORD PTR -4[rbp] | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 3 | |
mov rdx, rax | |
lea rax, aSyscall[rip+8] | |
mov rcx, QWORD PTR [rdx+rax] | |
mov edx, DWORD PTR -4[rbp] | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 3 | |
mov rdx, rax | |
lea rax, aSyscall[rip+16] | |
mov QWORD PTR [rdx+rax], rcx | |
.L1517: | |
mov DWORD PTR -8[rbp], 0 | |
cmp QWORD PTR -40[rbp], 0 | |
jne .L1518 | |
mov edx, DWORD PTR -4[rbp] | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 3 | |
mov rdx, rax | |
lea rax, aSyscall[rip+16] | |
mov rax, QWORD PTR [rdx+rax] | |
mov QWORD PTR -40[rbp], rax | |
.L1518: | |
mov edx, DWORD PTR -4[rbp] | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 3 | |
mov rcx, rax | |
lea rax, aSyscall[rip+8] | |
mov rdx, QWORD PTR -40[rbp] | |
mov QWORD PTR [rcx+rax], rdx | |
jmp .L1514 | |
.L1516: | |
add DWORD PTR -4[rbp], 1 | |
.L1515: | |
cmp DWORD PTR -4[rbp], 28 | |
jbe .L1519 | |
.L1514: | |
mov eax, DWORD PTR -8[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE245: | |
.size unixSetSystemCall, .-unixSetSystemCall | |
.type unixGetSystemCall, @function | |
unixGetSystemCall: | |
.LFB246: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L1522 | |
.L1525: | |
mov edx, DWORD PTR -4[rbp] | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 3 | |
mov rdx, rax | |
lea rax, aSyscall[rip] | |
mov rdx, QWORD PTR [rdx+rax] | |
mov rax, QWORD PTR -32[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call strcmp@PLT | |
test eax, eax | |
jne .L1523 | |
mov edx, DWORD PTR -4[rbp] | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 3 | |
mov rdx, rax | |
lea rax, aSyscall[rip+8] | |
mov rax, QWORD PTR [rdx+rax] | |
jmp .L1524 | |
.L1523: | |
add DWORD PTR -4[rbp], 1 | |
.L1522: | |
cmp DWORD PTR -4[rbp], 28 | |
jbe .L1525 | |
mov eax, 0 | |
.L1524: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE246: | |
.size unixGetSystemCall, .-unixGetSystemCall | |
.type unixNextSystemCall, @function | |
unixNextSystemCall: | |
.LFB247: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov DWORD PTR -4[rbp], -1 | |
cmp QWORD PTR -32[rbp], 0 | |
je .L1527 | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L1528 | |
.L1530: | |
mov eax, DWORD PTR -4[rbp] | |
movsx rdx, eax | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 3 | |
mov rdx, rax | |
lea rax, aSyscall[rip] | |
mov rdx, QWORD PTR [rdx+rax] | |
mov rax, QWORD PTR -32[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call strcmp@PLT | |
test eax, eax | |
je .L1535 | |
add DWORD PTR -4[rbp], 1 | |
.L1528: | |
cmp DWORD PTR -4[rbp], 27 | |
jle .L1530 | |
jmp .L1527 | |
.L1535: | |
nop | |
.L1527: | |
add DWORD PTR -4[rbp], 1 | |
jmp .L1531 | |
.L1534: | |
mov eax, DWORD PTR -4[rbp] | |
movsx rdx, eax | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 3 | |
mov rdx, rax | |
lea rax, aSyscall[rip+8] | |
mov rax, QWORD PTR [rdx+rax] | |
test rax, rax | |
je .L1532 | |
mov eax, DWORD PTR -4[rbp] | |
movsx rdx, eax | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 3 | |
mov rdx, rax | |
lea rax, aSyscall[rip] | |
mov rax, QWORD PTR [rdx+rax] | |
jmp .L1533 | |
.L1532: | |
add DWORD PTR -4[rbp], 1 | |
.L1531: | |
cmp DWORD PTR -4[rbp], 28 | |
jle .L1534 | |
mov eax, 0 | |
.L1533: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE247: | |
.size unixNextSystemCall, .-unixNextSystemCall | |
.section .rodata | |
.align 8 | |
.LC106: | |
.string "attempt to open \"%s\" as file descriptor %d" | |
.LC107: | |
.string "/dev/null" | |
.text | |
.type robust_open, @function | |
robust_open: | |
.LFB248: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 176 | |
mov QWORD PTR -168[rbp], rdi | |
mov DWORD PTR -172[rbp], esi | |
mov DWORD PTR -176[rbp], edx | |
cmp DWORD PTR -176[rbp], 0 | |
je .L1537 | |
mov eax, DWORD PTR -176[rbp] | |
jmp .L1538 | |
.L1537: | |
mov eax, 420 | |
.L1538: | |
mov DWORD PTR -8[rbp], eax | |
.L1544: | |
mov rax, QWORD PTR aSyscall[rip+8] | |
mov edx, DWORD PTR -8[rbp] | |
mov ecx, DWORD PTR -172[rbp] | |
mov esi, ecx | |
or esi, 524288 | |
mov rcx, QWORD PTR -168[rbp] | |
mov rdi, rcx | |
call rax | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jns .L1539 | |
call __errno_location@PLT | |
mov eax, DWORD PTR [rax] | |
cmp eax, 4 | |
jne .L1548 | |
jmp .L1541 | |
.L1539: | |
cmp DWORD PTR -4[rbp], 2 | |
jg .L1549 | |
mov rax, QWORD PTR aSyscall[rip+32] | |
mov edx, DWORD PTR -4[rbp] | |
mov edi, edx | |
call rax | |
mov edx, DWORD PTR -4[rbp] | |
mov rax, QWORD PTR -168[rbp] | |
mov ecx, edx | |
mov rdx, rax | |
lea rsi, .LC106[rip] | |
mov edi, 28 | |
mov eax, 0 | |
call sqlite3_log | |
mov DWORD PTR -4[rbp], -1 | |
mov rax, QWORD PTR aSyscall[rip+8] | |
mov edx, DWORD PTR -176[rbp] | |
mov ecx, DWORD PTR -172[rbp] | |
mov esi, ecx | |
lea rdi, .LC107[rip] | |
call rax | |
test eax, eax | |
js .L1550 | |
.L1541: | |
jmp .L1544 | |
.L1548: | |
nop | |
jmp .L1542 | |
.L1549: | |
nop | |
jmp .L1542 | |
.L1550: | |
nop | |
.L1542: | |
cmp DWORD PTR -4[rbp], 0 | |
js .L1545 | |
cmp DWORD PTR -176[rbp], 0 | |
je .L1545 | |
mov rax, QWORD PTR aSyscall[rip+128] | |
lea rcx, -160[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
mov rsi, rcx | |
mov edi, edx | |
call rax | |
test eax, eax | |
jne .L1545 | |
mov rax, QWORD PTR -112[rbp] | |
test rax, rax | |
jne .L1545 | |
mov eax, DWORD PTR -136[rbp] | |
and eax, 511 | |
cmp eax, DWORD PTR -176[rbp] | |
je .L1545 | |
mov rax, QWORD PTR aSyscall[rip+344] | |
mov ecx, DWORD PTR -176[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
mov esi, ecx | |
mov edi, edx | |
call rax | |
.L1545: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE248: | |
.size robust_open, .-robust_open | |
.type unixEnterMutex, @function | |
unixEnterMutex: | |
.LFB249: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov edi, 11 | |
call sqlite3MutexAlloc | |
mov rdi, rax | |
call sqlite3_mutex_enter | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE249: | |
.size unixEnterMutex, .-unixEnterMutex | |
.type unixLeaveMutex, @function | |
unixLeaveMutex: | |
.LFB250: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov edi, 11 | |
call sqlite3MutexAlloc | |
mov rdi, rax | |
call sqlite3_mutex_leave | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE250: | |
.size unixLeaveMutex, .-unixLeaveMutex | |
.type robust_ftruncate, @function | |
robust_ftruncate: | |
.LFB251: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov DWORD PTR -20[rbp], edi | |
mov QWORD PTR -32[rbp], rsi | |
.L1555: | |
mov rax, QWORD PTR aSyscall[rip+152] | |
mov rcx, QWORD PTR -32[rbp] | |
mov edx, DWORD PTR -20[rbp] | |
mov rsi, rcx | |
mov edi, edx | |
call rax | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jns .L1554 | |
call __errno_location@PLT | |
mov eax, DWORD PTR [rax] | |
cmp eax, 4 | |
je .L1555 | |
.L1554: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE251: | |
.size robust_ftruncate, .-robust_ftruncate | |
.type sqliteErrorFromPosixError, @function | |
sqliteErrorFromPosixError: | |
.LFB252: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov DWORD PTR -4[rbp], edi | |
mov DWORD PTR -8[rbp], esi | |
mov eax, DWORD PTR -4[rbp] | |
cmp eax, 13 | |
je .L1559 | |
cmp eax, 13 | |
jg .L1560 | |
cmp eax, 4 | |
je .L1559 | |
cmp eax, 11 | |
je .L1559 | |
cmp eax, 1 | |
je .L1561 | |
jmp .L1558 | |
.L1560: | |
cmp eax, 37 | |
je .L1559 | |
cmp eax, 110 | |
je .L1559 | |
cmp eax, 16 | |
jne .L1558 | |
.L1559: | |
mov eax, 5 | |
jmp .L1562 | |
.L1561: | |
mov eax, 3 | |
jmp .L1562 | |
.L1558: | |
mov eax, DWORD PTR -8[rbp] | |
.L1562: | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE252: | |
.size sqliteErrorFromPosixError, .-sqliteErrorFromPosixError | |
.local inodeList | |
.comm inodeList,8,8 | |
.local nUnusedFd | |
.comm nUnusedFd,4,4 | |
.section .rodata | |
.align 8 | |
.LC108: | |
.string "os_unix.c:%d: (%d) %s(%s) - %s" | |
.text | |
.type unixLogErrorAtLine, @function | |
unixLogErrorAtLine: | |
.LFB253: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov DWORD PTR -20[rbp], edi | |
mov QWORD PTR -32[rbp], rsi | |
mov QWORD PTR -40[rbp], rdx | |
mov DWORD PTR -24[rbp], ecx | |
call __errno_location@PLT | |
mov eax, DWORD PTR [rax] | |
mov DWORD PTR -4[rbp], eax | |
lea rax, .LC65[rip] | |
mov QWORD PTR -16[rbp], rax | |
cmp QWORD PTR -40[rbp], 0 | |
jne .L1564 | |
lea rax, .LC65[rip] | |
mov QWORD PTR -40[rbp], rax | |
.L1564: | |
mov rdi, QWORD PTR -40[rbp] | |
mov rsi, QWORD PTR -32[rbp] | |
mov ecx, DWORD PTR -4[rbp] | |
mov edx, DWORD PTR -24[rbp] | |
mov eax, DWORD PTR -20[rbp] | |
sub rsp, 8 | |
push QWORD PTR -16[rbp] | |
mov r9, rdi | |
mov r8, rsi | |
lea rsi, .LC108[rip] | |
mov edi, eax | |
mov eax, 0 | |
call sqlite3_log | |
add rsp, 16 | |
mov eax, DWORD PTR -20[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE253: | |
.size unixLogErrorAtLine, .-unixLogErrorAtLine | |
.type robust_close, @function | |
robust_close: | |
.LFB254: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov DWORD PTR -16[rbp], edx | |
mov rax, QWORD PTR aSyscall[rip+32] | |
mov edx, DWORD PTR -12[rbp] | |
mov edi, edx | |
call rax | |
test eax, eax | |
je .L1570 | |
cmp QWORD PTR -8[rbp], 0 | |
je .L1568 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 56[rax] | |
jmp .L1569 | |
.L1568: | |
mov eax, 0 | |
.L1569: | |
mov edx, DWORD PTR -16[rbp] | |
mov ecx, edx | |
mov rdx, rax | |
lea rsi, .LC78[rip] | |
mov edi, 4106 | |
call unixLogErrorAtLine | |
.L1570: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE254: | |
.size robust_close, .-robust_close | |
.type storeLastErrno, @function | |
storeLastErrno: | |
.LFB255: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, DWORD PTR -12[rbp] | |
mov DWORD PTR 32[rax], edx | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE255: | |
.size storeLastErrno, .-storeLastErrno | |
.type closePendingFds, @function | |
closePendingFds: | |
.LFB256: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L1573 | |
.L1574: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov ecx, DWORD PTR [rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, 31980 | |
mov esi, ecx | |
mov rdi, rax | |
call robust_close | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
mov eax, DWORD PTR nUnusedFd[rip] | |
sub eax, 1 | |
mov DWORD PTR nUnusedFd[rip], eax | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -8[rbp], rax | |
.L1573: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L1574 | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR 48[rax], 0 | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE256: | |
.size closePendingFds, .-closePendingFds | |
.type releaseInodeInfo, @function | |
releaseInodeInfo: | |
.LFB257: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
je .L1580 | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 24[rax] | |
lea edx, -1[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 24[rax], edx | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 24[rax] | |
test eax, eax | |
jne .L1580 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call closePendingFds | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 64[rax] | |
test rax, rax | |
je .L1577 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 56[rdx] | |
mov QWORD PTR 56[rax], rdx | |
jmp .L1578 | |
.L1577: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 56[rax] | |
mov QWORD PTR inodeList[rip], rax | |
.L1578: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 56[rax] | |
test rax, rax | |
je .L1579 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 56[rax] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 64[rdx] | |
mov QWORD PTR 64[rax], rdx | |
.L1579: | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
.L1580: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE257: | |
.size releaseInodeInfo, .-releaseInodeInfo | |
.type findInodeInfo, @function | |
findInodeInfo: | |
.LFB258: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 192 | |
mov QWORD PTR -184[rbp], rdi | |
mov QWORD PTR -192[rbp], rsi | |
mov QWORD PTR -8[rbp], 0 | |
mov rax, QWORD PTR -184[rbp] | |
mov eax, DWORD PTR 24[rax] | |
mov DWORD PTR -12[rbp], eax | |
mov rax, QWORD PTR aSyscall[rip+128] | |
lea rcx, -176[rbp] | |
mov edx, DWORD PTR -12[rbp] | |
mov rsi, rcx | |
mov edi, edx | |
call rax | |
mov DWORD PTR -16[rbp], eax | |
cmp DWORD PTR -16[rbp], 0 | |
je .L1582 | |
call __errno_location@PLT | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -184[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call storeLastErrno | |
mov eax, 10 | |
jmp .L1591 | |
.L1582: | |
lea rax, -32[rbp] | |
mov edx, 16 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
mov rax, QWORD PTR -176[rbp] | |
mov QWORD PTR -32[rbp], rax | |
mov rax, QWORD PTR -168[rbp] | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR inodeList[rip] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L1584 | |
.L1586: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 56[rax] | |
mov QWORD PTR -8[rbp], rax | |
.L1584: | |
cmp QWORD PTR -8[rbp], 0 | |
je .L1585 | |
mov rcx, QWORD PTR -8[rbp] | |
lea rax, -32[rbp] | |
mov edx, 16 | |
mov rsi, rcx | |
mov rdi, rax | |
call memcmp@PLT | |
test eax, eax | |
jne .L1586 | |
.L1585: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L1587 | |
mov edi, 72 | |
call sqlite3_malloc64 | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L1588 | |
mov eax, 7 | |
jmp .L1591 | |
.L1588: | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, 72 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
mov rcx, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov QWORD PTR [rcx], rax | |
mov QWORD PTR 8[rcx], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 24[rax], 1 | |
mov rdx, QWORD PTR inodeList[rip] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 56[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 64[rax], 0 | |
mov rax, QWORD PTR inodeList[rip] | |
test rax, rax | |
je .L1589 | |
mov rax, QWORD PTR inodeList[rip] | |
mov rdx, QWORD PTR -8[rbp] | |
mov QWORD PTR 64[rax], rdx | |
.L1589: | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR inodeList[rip], rax | |
jmp .L1590 | |
.L1587: | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 24[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 24[rax], edx | |
.L1590: | |
mov rax, QWORD PTR -192[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], rdx | |
mov eax, 0 | |
.L1591: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE258: | |
.size findInodeInfo, .-findInodeInfo | |
.type fileHasMoved, @function | |
fileHasMoved: | |
.LFB259: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 160 | |
mov QWORD PTR -152[rbp], rdi | |
mov rax, QWORD PTR -152[rbp] | |
mov rax, QWORD PTR 16[rax] | |
test rax, rax | |
je .L1593 | |
mov rax, QWORD PTR aSyscall[rip+104] | |
mov rdx, QWORD PTR -152[rbp] | |
mov rdx, QWORD PTR 56[rdx] | |
lea rcx, -144[rbp] | |
mov rsi, rcx | |
mov rdi, rdx | |
call rax | |
test eax, eax | |
jne .L1594 | |
mov rdx, QWORD PTR -136[rbp] | |
mov rax, QWORD PTR -152[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov rax, QWORD PTR 8[rax] | |
cmp rdx, rax | |
je .L1593 | |
.L1594: | |
mov eax, 1 | |
jmp .L1596 | |
.L1593: | |
mov eax, 0 | |
.L1596: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE259: | |
.size fileHasMoved, .-fileHasMoved | |
.section .rodata | |
.LC109: | |
.string "cannot fstat db file %s" | |
.LC110: | |
.string "file unlinked while open: %s" | |
.LC111: | |
.string "multiple links to file: %s" | |
.LC112: | |
.string "file renamed while open: %s" | |
.text | |
.type verifyDbFile, @function | |
verifyDbFile: | |
.LFB260: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 176 | |
mov QWORD PTR -168[rbp], rdi | |
mov rax, QWORD PTR -168[rbp] | |
movzx eax, WORD PTR 30[rax] | |
movzx eax, ax | |
and eax, 128 | |
test eax, eax | |
jne .L1605 | |
mov rax, QWORD PTR aSyscall[rip+128] | |
mov rdx, QWORD PTR -168[rbp] | |
mov edx, DWORD PTR 24[rdx] | |
lea rcx, -160[rbp] | |
mov rsi, rcx | |
mov edi, edx | |
call rax | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L1600 | |
mov rax, QWORD PTR -168[rbp] | |
mov rax, QWORD PTR 56[rax] | |
mov rdx, rax | |
lea rsi, .LC109[rip] | |
mov edi, 28 | |
mov eax, 0 | |
call sqlite3_log | |
jmp .L1597 | |
.L1600: | |
mov rax, QWORD PTR -144[rbp] | |
test rax, rax | |
jne .L1601 | |
mov rax, QWORD PTR -168[rbp] | |
mov rax, QWORD PTR 56[rax] | |
mov rdx, rax | |
lea rsi, .LC110[rip] | |
mov edi, 28 | |
mov eax, 0 | |
call sqlite3_log | |
jmp .L1597 | |
.L1601: | |
mov rax, QWORD PTR -144[rbp] | |
cmp rax, 1 | |
jbe .L1602 | |
mov rax, QWORD PTR -168[rbp] | |
mov rax, QWORD PTR 56[rax] | |
mov rdx, rax | |
lea rsi, .LC111[rip] | |
mov edi, 28 | |
mov eax, 0 | |
call sqlite3_log | |
jmp .L1597 | |
.L1602: | |
mov rax, QWORD PTR -168[rbp] | |
mov rdi, rax | |
call fileHasMoved | |
test eax, eax | |
je .L1597 | |
mov rax, QWORD PTR -168[rbp] | |
mov rax, QWORD PTR 56[rax] | |
mov rdx, rax | |
lea rsi, .LC112[rip] | |
mov edi, 28 | |
mov eax, 0 | |
call sqlite3_log | |
jmp .L1597 | |
.L1605: | |
nop | |
.L1597: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE260: | |
.size verifyDbFile, .-verifyDbFile | |
.type unixCheckReservedLock, @function | |
unixCheckReservedLock: | |
.LFB261: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -56[rbp], rdi | |
mov QWORD PTR -64[rbp], rsi | |
mov DWORD PTR -4[rbp], 0 | |
mov DWORD PTR -8[rbp], 0 | |
mov rax, QWORD PTR -56[rbp] | |
mov QWORD PTR -16[rbp], rax | |
call unixEnterMutex | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 16[rax] | |
movzx eax, BYTE PTR 20[rax] | |
cmp al, 1 | |
jbe .L1607 | |
mov DWORD PTR -8[rbp], 1 | |
.L1607: | |
cmp DWORD PTR -8[rbp], 0 | |
jne .L1608 | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 16[rax] | |
movzx eax, BYTE PTR 21[rax] | |
test al, al | |
jne .L1608 | |
mov WORD PTR -46[rbp], 0 | |
mov eax, DWORD PTR sqlite3PendingByte[rip] | |
add eax, 1 | |
cdqe | |
mov QWORD PTR -40[rbp], rax | |
mov QWORD PTR -32[rbp], 1 | |
mov WORD PTR -48[rbp], 1 | |
mov rcx, QWORD PTR aSyscall[rip+176] | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 24[rax] | |
lea rdx, -48[rbp] | |
mov esi, 5 | |
mov edi, eax | |
mov eax, 0 | |
call rcx | |
test eax, eax | |
je .L1609 | |
mov DWORD PTR -4[rbp], 3594 | |
call __errno_location@PLT | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call storeLastErrno | |
jmp .L1608 | |
.L1609: | |
movzx eax, WORD PTR -48[rbp] | |
cmp ax, 2 | |
je .L1608 | |
mov DWORD PTR -8[rbp], 1 | |
.L1608: | |
call unixLeaveMutex | |
mov rax, QWORD PTR -64[rbp] | |
mov edx, DWORD PTR -8[rbp] | |
mov DWORD PTR [rax], edx | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE261: | |
.size unixCheckReservedLock, .-unixCheckReservedLock | |
.type unixFileLock, @function | |
unixFileLock: | |
.LFB262: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -56[rbp], rdi | |
mov QWORD PTR -64[rbp], rsi | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, WORD PTR 30[rax] | |
movzx eax, ax | |
and eax, 3 | |
cmp eax, 1 | |
jne .L1613 | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, BYTE PTR 21[rax] | |
test al, al | |
jne .L1614 | |
mov WORD PTR -46[rbp], 0 | |
mov eax, DWORD PTR sqlite3PendingByte[rip] | |
add eax, 2 | |
cdqe | |
mov QWORD PTR -40[rbp], rax | |
mov QWORD PTR -32[rbp], 510 | |
mov WORD PTR -48[rbp], 1 | |
mov rcx, QWORD PTR aSyscall[rip+176] | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 24[rax] | |
lea rdx, -48[rbp] | |
mov esi, 6 | |
mov edi, eax | |
mov eax, 0 | |
call rcx | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jns .L1615 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L1616 | |
.L1615: | |
mov rax, QWORD PTR -16[rbp] | |
mov BYTE PTR 21[rax], 1 | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 40[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov DWORD PTR 40[rax], edx | |
jmp .L1618 | |
.L1614: | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L1618 | |
.L1613: | |
mov rcx, QWORD PTR aSyscall[rip+176] | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 24[rax] | |
mov rdx, QWORD PTR -64[rbp] | |
mov esi, 6 | |
mov edi, eax | |
mov eax, 0 | |
call rcx | |
mov DWORD PTR -4[rbp], eax | |
.L1618: | |
mov eax, DWORD PTR -4[rbp] | |
.L1616: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE262: | |
.size unixFileLock, .-unixFileLock | |
.type unixLock, @function | |
unixLock: | |
.LFB263: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 80 | |
mov QWORD PTR -72[rbp], rdi | |
mov DWORD PTR -76[rbp], esi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -72[rbp] | |
mov QWORD PTR -16[rbp], rax | |
mov DWORD PTR -8[rbp], 0 | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, BYTE PTR 28[rax] | |
movzx eax, al | |
cmp eax, DWORD PTR -76[rbp] | |
jl .L1620 | |
mov eax, 0 | |
jmp .L1640 | |
.L1620: | |
call unixEnterMutex | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
movzx edx, BYTE PTR 28[rax] | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
cmp dl, al | |
je .L1622 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
cmp al, 2 | |
ja .L1623 | |
cmp DWORD PTR -76[rbp], 1 | |
jle .L1622 | |
.L1623: | |
mov DWORD PTR -4[rbp], 5 | |
jmp .L1624 | |
.L1622: | |
cmp DWORD PTR -76[rbp], 1 | |
jne .L1625 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
cmp al, 1 | |
je .L1626 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
cmp al, 2 | |
jne .L1625 | |
.L1626: | |
mov rax, QWORD PTR -16[rbp] | |
mov BYTE PTR 28[rax], 1 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 16[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 16[rax], edx | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 40[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 40[rax], edx | |
jmp .L1624 | |
.L1625: | |
mov QWORD PTR -48[rbp], 1 | |
mov WORD PTR -62[rbp], 0 | |
cmp DWORD PTR -76[rbp], 1 | |
je .L1627 | |
cmp DWORD PTR -76[rbp], 4 | |
jne .L1628 | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, BYTE PTR 28[rax] | |
cmp al, 2 | |
ja .L1628 | |
.L1627: | |
cmp DWORD PTR -76[rbp], 1 | |
setne al | |
movzx eax, al | |
mov WORD PTR -64[rbp], ax | |
mov eax, DWORD PTR sqlite3PendingByte[rip] | |
cdqe | |
mov QWORD PTR -56[rbp], rax | |
lea rdx, -64[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call unixFileLock | |
test eax, eax | |
je .L1628 | |
call __errno_location@PLT | |
mov eax, DWORD PTR [rax] | |
mov DWORD PTR -8[rbp], eax | |
mov eax, DWORD PTR -8[rbp] | |
mov esi, 3850 | |
mov edi, eax | |
call sqliteErrorFromPosixError | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 5 | |
je .L1641 | |
mov edx, DWORD PTR -8[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call storeLastErrno | |
jmp .L1641 | |
.L1628: | |
cmp DWORD PTR -76[rbp], 1 | |
jne .L1630 | |
mov eax, DWORD PTR sqlite3PendingByte[rip] | |
add eax, 2 | |
cdqe | |
mov QWORD PTR -56[rbp], rax | |
mov QWORD PTR -48[rbp], 510 | |
lea rdx, -64[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call unixFileLock | |
test eax, eax | |
je .L1631 | |
call __errno_location@PLT | |
mov eax, DWORD PTR [rax] | |
mov DWORD PTR -8[rbp], eax | |
mov eax, DWORD PTR -8[rbp] | |
mov esi, 3850 | |
mov edi, eax | |
call sqliteErrorFromPosixError | |
mov DWORD PTR -4[rbp], eax | |
.L1631: | |
mov eax, DWORD PTR sqlite3PendingByte[rip] | |
cdqe | |
mov QWORD PTR -56[rbp], rax | |
mov QWORD PTR -48[rbp], 1 | |
mov WORD PTR -64[rbp], 2 | |
lea rdx, -64[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call unixFileLock | |
test eax, eax | |
je .L1632 | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L1632 | |
call __errno_location@PLT | |
mov eax, DWORD PTR [rax] | |
mov DWORD PTR -8[rbp], eax | |
mov DWORD PTR -4[rbp], 2058 | |
.L1632: | |
cmp DWORD PTR -4[rbp], 0 | |
je .L1633 | |
cmp DWORD PTR -4[rbp], 5 | |
je .L1642 | |
mov edx, DWORD PTR -8[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call storeLastErrno | |
jmp .L1642 | |
.L1633: | |
mov rax, QWORD PTR -16[rbp] | |
mov BYTE PTR 28[rax], 1 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 40[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 40[rax], edx | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 16[rax], 1 | |
jmp .L1635 | |
.L1630: | |
cmp DWORD PTR -76[rbp], 4 | |
jne .L1636 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 16[rax] | |
cmp eax, 1 | |
jle .L1636 | |
mov DWORD PTR -4[rbp], 5 | |
jmp .L1635 | |
.L1636: | |
mov WORD PTR -64[rbp], 1 | |
cmp DWORD PTR -76[rbp], 2 | |
jne .L1637 | |
mov eax, DWORD PTR sqlite3PendingByte[rip] | |
add eax, 1 | |
cdqe | |
mov QWORD PTR -56[rbp], rax | |
mov QWORD PTR -48[rbp], 1 | |
jmp .L1638 | |
.L1637: | |
mov eax, DWORD PTR sqlite3PendingByte[rip] | |
add eax, 2 | |
cdqe | |
mov QWORD PTR -56[rbp], rax | |
mov QWORD PTR -48[rbp], 510 | |
.L1638: | |
lea rdx, -64[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call unixFileLock | |
test eax, eax | |
je .L1635 | |
call __errno_location@PLT | |
mov eax, DWORD PTR [rax] | |
mov DWORD PTR -8[rbp], eax | |
mov eax, DWORD PTR -8[rbp] | |
mov esi, 3850 | |
mov edi, eax | |
call sqliteErrorFromPosixError | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 5 | |
je .L1635 | |
mov edx, DWORD PTR -8[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call storeLastErrno | |
.L1635: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L1639 | |
mov eax, DWORD PTR -76[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
mov BYTE PTR 28[rax], dl | |
mov eax, DWORD PTR -76[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 20[rax], dl | |
jmp .L1624 | |
.L1639: | |
cmp DWORD PTR -76[rbp], 4 | |
jne .L1624 | |
mov rax, QWORD PTR -16[rbp] | |
mov BYTE PTR 28[rax], 3 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 20[rax], 3 | |
jmp .L1624 | |
.L1641: | |
nop | |
jmp .L1624 | |
.L1642: | |
nop | |
.L1624: | |
call unixLeaveMutex | |
mov eax, DWORD PTR -4[rbp] | |
.L1640: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE263: | |
.size unixLock, .-unixLock | |
.type setPendingFd, @function | |
setPendingFd: | |
.LFB264: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 48[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR 8[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -16[rbp] | |
mov QWORD PTR 48[rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 24[rax], -1 | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 48[rax], 0 | |
mov eax, DWORD PTR nUnusedFd[rip] | |
add eax, 1 | |
mov DWORD PTR nUnusedFd[rip], eax | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE264: | |
.size setPendingFd, .-setPendingFd | |
.type posixUnlock, @function | |
posixUnlock: | |
.LFB265: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 80 | |
mov QWORD PTR -72[rbp], rdi | |
mov DWORD PTR -76[rbp], esi | |
mov DWORD PTR -80[rbp], edx | |
mov rax, QWORD PTR -72[rbp] | |
mov QWORD PTR -16[rbp], rax | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, BYTE PTR 28[rax] | |
movzx eax, al | |
cmp eax, DWORD PTR -76[rbp] | |
jg .L1645 | |
mov eax, 0 | |
jmp .L1654 | |
.L1645: | |
call unixEnterMutex | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, BYTE PTR 28[rax] | |
cmp al, 1 | |
jbe .L1647 | |
cmp DWORD PTR -76[rbp], 1 | |
jne .L1648 | |
mov WORD PTR -64[rbp], 0 | |
mov WORD PTR -62[rbp], 0 | |
mov eax, DWORD PTR sqlite3PendingByte[rip] | |
add eax, 2 | |
cdqe | |
mov QWORD PTR -56[rbp], rax | |
mov QWORD PTR -48[rbp], 510 | |
lea rdx, -64[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call unixFileLock | |
test eax, eax | |
je .L1648 | |
mov DWORD PTR -4[rbp], 2314 | |
call __errno_location@PLT | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call storeLastErrno | |
jmp .L1649 | |
.L1648: | |
mov WORD PTR -64[rbp], 2 | |
mov WORD PTR -62[rbp], 0 | |
mov eax, DWORD PTR sqlite3PendingByte[rip] | |
cdqe | |
mov QWORD PTR -56[rbp], rax | |
mov QWORD PTR -48[rbp], 2 | |
lea rdx, -64[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call unixFileLock | |
test eax, eax | |
jne .L1650 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 20[rax], 1 | |
jmp .L1647 | |
.L1650: | |
mov DWORD PTR -4[rbp], 2058 | |
call __errno_location@PLT | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call storeLastErrno | |
jmp .L1649 | |
.L1647: | |
cmp DWORD PTR -76[rbp], 0 | |
jne .L1649 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 16[rax] | |
lea edx, -1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 16[rax], edx | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 16[rax] | |
test eax, eax | |
jne .L1651 | |
mov WORD PTR -64[rbp], 2 | |
mov WORD PTR -62[rbp], 0 | |
mov QWORD PTR -48[rbp], 0 | |
mov rax, QWORD PTR -48[rbp] | |
mov QWORD PTR -56[rbp], rax | |
lea rdx, -64[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call unixFileLock | |
test eax, eax | |
jne .L1652 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 20[rax], 0 | |
jmp .L1651 | |
.L1652: | |
mov DWORD PTR -4[rbp], 2058 | |
call __errno_location@PLT | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call storeLastErrno | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 20[rax], 0 | |
mov rax, QWORD PTR -16[rbp] | |
mov BYTE PTR 28[rax], 0 | |
.L1651: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 40[rax] | |
lea edx, -1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 40[rax], edx | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 40[rax] | |
test eax, eax | |
jne .L1649 | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call closePendingFds | |
.L1649: | |
call unixLeaveMutex | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L1653 | |
mov eax, DWORD PTR -76[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
mov BYTE PTR 28[rax], dl | |
.L1653: | |
mov eax, DWORD PTR -4[rbp] | |
.L1654: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE265: | |
.size posixUnlock, .-posixUnlock | |
.type unixUnlock, @function | |
unixUnlock: | |
.LFB266: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov ecx, DWORD PTR -12[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, 0 | |
mov esi, ecx | |
mov rdi, rax | |
call posixUnlock | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE266: | |
.size unixUnlock, .-unixUnlock | |
.type closeUnixFile, @function | |
closeUnixFile: | |
.LFB267: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call unixUnmapfile | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 24[rax] | |
test eax, eax | |
js .L1658 | |
mov rax, QWORD PTR -8[rbp] | |
mov ecx, DWORD PTR 24[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, 32714 | |
mov esi, ecx | |
mov rdi, rax | |
call robust_close | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 24[rax], -1 | |
.L1658: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov rdi, rax | |
call sqlite3_free | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, 120 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
mov eax, 0 | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE267: | |
.size closeUnixFile, .-closeUnixFile | |
.type unixClose, @function | |
unixClose: | |
.LFB268: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call verifyDbFile | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call unixUnlock | |
call unixEnterMutex | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 16[rax] | |
test rax, rax | |
je .L1661 | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov eax, DWORD PTR 40[rax] | |
test eax, eax | |
je .L1661 | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call setPendingFd | |
.L1661: | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call releaseInodeInfo | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call closeUnixFile | |
mov DWORD PTR -4[rbp], eax | |
call unixLeaveMutex | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE268: | |
.size unixClose, .-unixClose | |
.type nolockCheckReservedLock, @function | |
nolockCheckReservedLock: | |
.LFB269: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov rax, QWORD PTR -16[rbp] | |
mov DWORD PTR [rax], 0 | |
mov eax, 0 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE269: | |
.size nolockCheckReservedLock, .-nolockCheckReservedLock | |
.type nolockLock, @function | |
nolockLock: | |
.LFB270: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov eax, 0 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE270: | |
.size nolockLock, .-nolockLock | |
.type nolockUnlock, @function | |
nolockUnlock: | |
.LFB271: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov eax, 0 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE271: | |
.size nolockUnlock, .-nolockUnlock | |
.type nolockClose, @function | |
nolockClose: | |
.LFB272: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call closeUnixFile | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE272: | |
.size nolockClose, .-nolockClose | |
.type dotlockCheckReservedLock, @function | |
dotlockCheckReservedLock: | |
.LFB273: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov DWORD PTR -4[rbp], 0 | |
mov DWORD PTR -8[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR aSyscall[rip+56] | |
mov rdx, QWORD PTR -16[rbp] | |
mov rdx, QWORD PTR 40[rdx] | |
mov esi, 0 | |
mov rdi, rdx | |
call rax | |
test eax, eax | |
sete al | |
movzx eax, al | |
mov DWORD PTR -8[rbp], eax | |
mov rax, QWORD PTR -32[rbp] | |
mov edx, DWORD PTR -8[rbp] | |
mov DWORD PTR [rax], edx | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE273: | |
.size dotlockCheckReservedLock, .-dotlockCheckReservedLock | |
.type dotlockLock, @function | |
dotlockLock: | |
.LFB274: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 40[rax] | |
mov QWORD PTR -24[rbp], rax | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, BYTE PTR 28[rax] | |
test al, al | |
je .L1674 | |
mov eax, DWORD PTR -44[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
mov BYTE PTR 28[rax], dl | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call utimes@PLT | |
mov eax, 0 | |
jmp .L1675 | |
.L1674: | |
mov rax, QWORD PTR aSyscall[rip+440] | |
mov rdx, QWORD PTR -24[rbp] | |
mov esi, 511 | |
mov rdi, rdx | |
call rax | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jns .L1676 | |
call __errno_location@PLT | |
mov eax, DWORD PTR [rax] | |
mov DWORD PTR -28[rbp], eax | |
cmp DWORD PTR -28[rbp], 17 | |
jne .L1677 | |
mov DWORD PTR -4[rbp], 5 | |
jmp .L1678 | |
.L1677: | |
mov eax, DWORD PTR -28[rbp] | |
mov esi, 3850 | |
mov edi, eax | |
call sqliteErrorFromPosixError | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 5 | |
je .L1678 | |
mov edx, DWORD PTR -28[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call storeLastErrno | |
.L1678: | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L1675 | |
.L1676: | |
mov eax, DWORD PTR -44[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
mov BYTE PTR 28[rax], dl | |
mov eax, DWORD PTR -4[rbp] | |
.L1675: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE274: | |
.size dotlockLock, .-dotlockLock | |
.type dotlockUnlock, @function | |
dotlockUnlock: | |
.LFB275: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 40[rax] | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, BYTE PTR 28[rax] | |
movzx eax, al | |
cmp eax, DWORD PTR -44[rbp] | |
jne .L1680 | |
mov eax, 0 | |
jmp .L1681 | |
.L1680: | |
cmp DWORD PTR -44[rbp], 1 | |
jne .L1682 | |
mov rax, QWORD PTR -16[rbp] | |
mov BYTE PTR 28[rax], 1 | |
mov eax, 0 | |
jmp .L1681 | |
.L1682: | |
mov rax, QWORD PTR aSyscall[rip+464] | |
mov rdx, QWORD PTR -24[rbp] | |
mov rdi, rdx | |
call rax | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jns .L1683 | |
call __errno_location@PLT | |
mov eax, DWORD PTR [rax] | |
mov DWORD PTR -28[rbp], eax | |
cmp DWORD PTR -28[rbp], 2 | |
jne .L1684 | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L1685 | |
.L1684: | |
mov DWORD PTR -4[rbp], 2058 | |
mov edx, DWORD PTR -28[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call storeLastErrno | |
.L1685: | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L1681 | |
.L1683: | |
mov rax, QWORD PTR -16[rbp] | |
mov BYTE PTR 28[rax], 0 | |
mov eax, 0 | |
.L1681: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE275: | |
.size dotlockUnlock, .-dotlockUnlock | |
.type dotlockClose, @function | |
dotlockClose: | |
.LFB276: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call dotlockUnlock | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 40[rax] | |
mov rdi, rax | |
call sqlite3_free | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call closeUnixFile | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE276: | |
.size dotlockClose, .-dotlockClose | |
.type seekAndRead, @function | |
seekAndRead: | |
.LFB277: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov QWORD PTR -40[rbp], rdx | |
mov DWORD PTR -44[rbp], ecx | |
mov DWORD PTR -8[rbp], 0 | |
.L1696: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 24[rax] | |
mov rcx, QWORD PTR -32[rbp] | |
mov edx, 0 | |
mov rsi, rcx | |
mov edi, eax | |
call lseek64@PLT | |
mov QWORD PTR -16[rbp], rax | |
cmp QWORD PTR -16[rbp], 0 | |
jns .L1689 | |
call __errno_location@PLT | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call storeLastErrno | |
mov eax, -1 | |
jmp .L1690 | |
.L1689: | |
mov rax, QWORD PTR aSyscall[rip+200] | |
mov edx, DWORD PTR -44[rbp] | |
movsx rdx, edx | |
mov rcx, QWORD PTR -24[rbp] | |
mov ecx, DWORD PTR 24[rcx] | |
mov rsi, QWORD PTR -40[rbp] | |
mov edi, ecx | |
call rax | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
cmp eax, DWORD PTR -44[rbp] | |
je .L1697 | |
cmp DWORD PTR -4[rbp], 0 | |
jns .L1693 | |
call __errno_location@PLT | |
mov eax, DWORD PTR [rax] | |
cmp eax, 4 | |
jne .L1694 | |
mov DWORD PTR -4[rbp], 1 | |
jmp .L1695 | |
.L1694: | |
mov DWORD PTR -8[rbp], 0 | |
call __errno_location@PLT | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call storeLastErrno | |
jmp .L1692 | |
.L1693: | |
cmp DWORD PTR -4[rbp], 0 | |
jle .L1695 | |
mov eax, DWORD PTR -4[rbp] | |
sub DWORD PTR -44[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add QWORD PTR -32[rbp], rax | |
mov eax, DWORD PTR -4[rbp] | |
add DWORD PTR -8[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add QWORD PTR -40[rbp], rax | |
.L1695: | |
cmp DWORD PTR -4[rbp], 0 | |
jg .L1696 | |
jmp .L1692 | |
.L1697: | |
nop | |
.L1692: | |
mov edx, DWORD PTR -4[rbp] | |
mov eax, DWORD PTR -8[rbp] | |
add eax, edx | |
.L1690: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE277: | |
.size seekAndRead, .-seekAndRead | |
.type unixRead, @function | |
unixRead: | |
.LFB278: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov DWORD PTR -36[rbp], edx | |
mov QWORD PTR -48[rbp], rcx | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 80[rax] | |
cmp rax, QWORD PTR -48[rbp] | |
jle .L1699 | |
mov eax, DWORD PTR -36[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -48[rbp] | |
add rdx, rax | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 80[rax] | |
cmp rdx, rax | |
jg .L1700 | |
mov eax, DWORD PTR -36[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov rcx, QWORD PTR 104[rax] | |
mov rax, QWORD PTR -48[rbp] | |
add rcx, rax | |
mov rax, QWORD PTR -32[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call memcpy@PLT | |
mov eax, 0 | |
jmp .L1701 | |
.L1700: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov edx, eax | |
mov rax, QWORD PTR -48[rbp] | |
sub edx, eax | |
mov eax, edx | |
mov DWORD PTR -12[rbp], eax | |
mov eax, DWORD PTR -12[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov rcx, QWORD PTR 104[rax] | |
mov rax, QWORD PTR -48[rbp] | |
add rcx, rax | |
mov rax, QWORD PTR -32[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call memcpy@PLT | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
add QWORD PTR -32[rbp], rax | |
mov eax, DWORD PTR -12[rbp] | |
sub DWORD PTR -36[rbp], eax | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
add QWORD PTR -48[rbp], rax | |
.L1699: | |
mov ecx, DWORD PTR -36[rbp] | |
mov rdx, QWORD PTR -32[rbp] | |
mov rsi, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call seekAndRead | |
mov DWORD PTR -16[rbp], eax | |
mov eax, DWORD PTR -16[rbp] | |
cmp eax, DWORD PTR -36[rbp] | |
jne .L1702 | |
mov eax, 0 | |
jmp .L1701 | |
.L1702: | |
cmp DWORD PTR -16[rbp], 0 | |
jns .L1703 | |
mov eax, 266 | |
jmp .L1701 | |
.L1703: | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call storeLastErrno | |
mov eax, DWORD PTR -36[rbp] | |
sub eax, DWORD PTR -16[rbp] | |
cdqe | |
mov edx, DWORD PTR -16[rbp] | |
movsx rcx, edx | |
mov rdx, QWORD PTR -32[rbp] | |
add rcx, rdx | |
mov rdx, rax | |
mov esi, 0 | |
mov rdi, rcx | |
call memset@PLT | |
mov eax, 522 | |
.L1701: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE278: | |
.size unixRead, .-unixRead | |
.type seekAndWriteFd, @function | |
seekAndWriteFd: | |
.LFB279: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov DWORD PTR -20[rbp], edi | |
mov QWORD PTR -32[rbp], rsi | |
mov QWORD PTR -40[rbp], rdx | |
mov DWORD PTR -24[rbp], ecx | |
mov QWORD PTR -48[rbp], r8 | |
mov DWORD PTR -4[rbp], 0 | |
and DWORD PTR -24[rbp], 131071 | |
.L1707: | |
mov rcx, QWORD PTR -32[rbp] | |
mov eax, DWORD PTR -20[rbp] | |
mov edx, 0 | |
mov rsi, rcx | |
mov edi, eax | |
call lseek64@PLT | |
mov QWORD PTR -16[rbp], rax | |
cmp QWORD PTR -16[rbp], 0 | |
jns .L1705 | |
mov DWORD PTR -4[rbp], -1 | |
jmp .L1706 | |
.L1705: | |
mov rax, QWORD PTR aSyscall[rip+272] | |
mov edx, DWORD PTR -24[rbp] | |
movsx rdx, edx | |
mov rsi, QWORD PTR -40[rbp] | |
mov ecx, DWORD PTR -20[rbp] | |
mov edi, ecx | |
call rax | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jns .L1706 | |
call __errno_location@PLT | |
mov eax, DWORD PTR [rax] | |
cmp eax, 4 | |
je .L1707 | |
.L1706: | |
cmp DWORD PTR -4[rbp], 0 | |
jns .L1708 | |
call __errno_location@PLT | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -48[rbp] | |
mov DWORD PTR [rax], edx | |
.L1708: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE279: | |
.size seekAndWriteFd, .-seekAndWriteFd | |
.type seekAndWrite, @function | |
seekAndWrite: | |
.LFB280: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov QWORD PTR -24[rbp], rdx | |
mov DWORD PTR -28[rbp], ecx | |
mov rax, QWORD PTR -8[rbp] | |
lea rdi, 32[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 24[rax] | |
mov ecx, DWORD PTR -28[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov rsi, QWORD PTR -16[rbp] | |
mov r8, rdi | |
mov edi, eax | |
call seekAndWriteFd | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE280: | |
.size seekAndWrite, .-seekAndWrite | |
.type unixWrite, @function | |
unixWrite: | |
.LFB281: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov DWORD PTR -36[rbp], edx | |
mov QWORD PTR -48[rbp], rcx | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -8[rbp], rax | |
mov DWORD PTR -12[rbp], 0 | |
jmp .L1713 | |
.L1715: | |
mov eax, DWORD PTR -12[rbp] | |
sub DWORD PTR -36[rbp], eax | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
add QWORD PTR -48[rbp], rax | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
add QWORD PTR -32[rbp], rax | |
.L1713: | |
mov ecx, DWORD PTR -36[rbp] | |
mov rdx, QWORD PTR -32[rbp] | |
mov rsi, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call seekAndWrite | |
mov DWORD PTR -12[rbp], eax | |
mov eax, DWORD PTR -12[rbp] | |
cmp eax, DWORD PTR -36[rbp] | |
jge .L1714 | |
cmp DWORD PTR -12[rbp], 0 | |
jg .L1715 | |
.L1714: | |
mov eax, DWORD PTR -36[rbp] | |
cmp eax, DWORD PTR -12[rbp] | |
jle .L1716 | |
cmp DWORD PTR -12[rbp], 0 | |
jns .L1717 | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 32[rax] | |
cmp eax, 28 | |
je .L1717 | |
mov eax, 778 | |
jmp .L1718 | |
.L1717: | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call storeLastErrno | |
mov eax, 13 | |
jmp .L1718 | |
.L1716: | |
mov eax, 0 | |
.L1718: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE281: | |
.size unixWrite, .-unixWrite | |
.type full_fsync, @function | |
full_fsync: | |
.LFB282: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov DWORD PTR -20[rbp], edi | |
mov DWORD PTR -24[rbp], esi | |
mov DWORD PTR -28[rbp], edx | |
mov eax, DWORD PTR -20[rbp] | |
mov edi, eax | |
call fsync@PLT | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE282: | |
.size full_fsync, .-full_fsync | |
.section .rodata | |
.LC113: | |
.string "%s" | |
.text | |
.type openDirectory, @function | |
openDirectory: | |
.LFB283: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 544 | |
mov QWORD PTR -536[rbp], rdi | |
mov QWORD PTR -544[rbp], rsi | |
mov DWORD PTR -8[rbp], -1 | |
mov rdx, QWORD PTR -536[rbp] | |
lea rax, -528[rbp] | |
mov rcx, rdx | |
lea rdx, .LC113[rip] | |
mov rsi, rax | |
mov edi, 512 | |
mov eax, 0 | |
call sqlite3_snprintf | |
lea rax, -528[rbp] | |
mov rdi, rax | |
call strlen@PLT | |
mov DWORD PTR -4[rbp], eax | |
jmp .L1722 | |
.L1724: | |
sub DWORD PTR -4[rbp], 1 | |
.L1722: | |
cmp DWORD PTR -4[rbp], 0 | |
jle .L1723 | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
movzx eax, BYTE PTR -528[rbp+rax] | |
cmp al, 47 | |
jne .L1724 | |
.L1723: | |
cmp DWORD PTR -4[rbp], 0 | |
jle .L1725 | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
mov BYTE PTR -528[rbp+rax], 0 | |
jmp .L1726 | |
.L1725: | |
movzx eax, BYTE PTR -528[rbp] | |
cmp al, 47 | |
je .L1727 | |
mov BYTE PTR -528[rbp], 46 | |
.L1727: | |
mov BYTE PTR -527[rbp], 0 | |
.L1726: | |
lea rax, -528[rbp] | |
mov edx, 0 | |
mov esi, 0 | |
mov rdi, rax | |
call robust_open | |
mov DWORD PTR -8[rbp], eax | |
mov rax, QWORD PTR -544[rbp] | |
mov edx, DWORD PTR -8[rbp] | |
mov DWORD PTR [rax], edx | |
cmp DWORD PTR -8[rbp], 0 | |
js .L1728 | |
mov eax, 0 | |
jmp .L1730 | |
.L1728: | |
mov edi, 34305 | |
call sqlite3CantopenError | |
mov edi, eax | |
lea rax, -528[rbp] | |
mov ecx, 34305 | |
mov rdx, rax | |
lea rsi, .LC94[rip] | |
call unixLogErrorAtLine | |
.L1730: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE283: | |
.size openDirectory, .-openDirectory | |
.section .rodata | |
.LC114: | |
.string "full_fsync" | |
.text | |
.type unixSync, @function | |
unixSync: | |
.LFB284: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR -16[rbp], rax | |
mov eax, DWORD PTR -44[rbp] | |
and eax, 16 | |
mov DWORD PTR -20[rbp], eax | |
mov eax, DWORD PTR -44[rbp] | |
and eax, 15 | |
cmp eax, 3 | |
sete al | |
movzx eax, al | |
mov DWORD PTR -24[rbp], eax | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 24[rax] | |
mov edx, DWORD PTR -20[rbp] | |
mov ecx, DWORD PTR -24[rbp] | |
mov esi, ecx | |
mov edi, eax | |
call full_fsync | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L1732 | |
call __errno_location@PLT | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call storeLastErrno | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 56[rax] | |
mov ecx, 34346 | |
mov rdx, rax | |
lea rsi, .LC114[rip] | |
mov edi, 1034 | |
call unixLogErrorAtLine | |
jmp .L1733 | |
.L1732: | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, WORD PTR 30[rax] | |
movzx eax, ax | |
and eax, 8 | |
test eax, eax | |
je .L1734 | |
mov rax, QWORD PTR aSyscall[rip+416] | |
mov rdx, QWORD PTR -16[rbp] | |
mov rdx, QWORD PTR 56[rdx] | |
lea rcx, -28[rbp] | |
mov rsi, rcx | |
mov rdi, rdx | |
call rax | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L1735 | |
mov eax, DWORD PTR -28[rbp] | |
mov edx, 0 | |
mov esi, 0 | |
mov edi, eax | |
call full_fsync | |
mov ecx, DWORD PTR -28[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov edx, 34360 | |
mov esi, ecx | |
mov rdi, rax | |
call robust_close | |
jmp .L1736 | |
.L1735: | |
mov DWORD PTR -4[rbp], 0 | |
.L1736: | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, WORD PTR 30[rax] | |
and eax, -9 | |
mov edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
mov WORD PTR 30[rax], dx | |
.L1734: | |
mov eax, DWORD PTR -4[rbp] | |
.L1733: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE284: | |
.size unixSync, .-unixSync | |
.type unixTruncate, @function | |
unixTruncate: | |
.LFB285: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 72[rax] | |
test eax, eax | |
jle .L1738 | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 72[rax] | |
movsx rdx, eax | |
mov rax, QWORD PTR -32[rbp] | |
add rax, rdx | |
lea rcx, -1[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 72[rax] | |
movsx rsi, eax | |
mov rax, rcx | |
cqo | |
idiv rsi | |
mov rdx, rax | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 72[rax] | |
cdqe | |
imul rax, rdx | |
mov QWORD PTR -32[rbp], rax | |
.L1738: | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 24[rax] | |
mov rdx, QWORD PTR -32[rbp] | |
mov rsi, rdx | |
mov edi, eax | |
call robust_ftruncate | |
mov DWORD PTR -12[rbp], eax | |
cmp DWORD PTR -12[rbp], 0 | |
je .L1739 | |
call __errno_location@PLT | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call storeLastErrno | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 56[rax] | |
mov ecx, 34391 | |
mov rdx, rax | |
lea rsi, .LC83[rip] | |
mov edi, 1546 | |
call unixLogErrorAtLine | |
jmp .L1740 | |
.L1739: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 80[rax] | |
cmp rax, QWORD PTR -32[rbp] | |
jle .L1741 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -32[rbp] | |
mov QWORD PTR 80[rax], rdx | |
.L1741: | |
mov eax, 0 | |
.L1740: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE285: | |
.size unixTruncate, .-unixTruncate | |
.type unixFileSize, @function | |
unixFileSize: | |
.LFB286: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 176 | |
mov QWORD PTR -168[rbp], rdi | |
mov QWORD PTR -176[rbp], rsi | |
mov rax, QWORD PTR aSyscall[rip+128] | |
mov rdx, QWORD PTR -168[rbp] | |
mov edx, DWORD PTR 24[rdx] | |
lea rcx, -160[rbp] | |
mov rsi, rcx | |
mov edi, edx | |
call rax | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L1743 | |
call __errno_location@PLT | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -168[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call storeLastErrno | |
mov eax, 1802 | |
jmp .L1746 | |
.L1743: | |
mov rdx, QWORD PTR -112[rbp] | |
mov rax, QWORD PTR -176[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -176[rbp] | |
mov rax, QWORD PTR [rax] | |
cmp rax, 1 | |
jne .L1745 | |
mov rax, QWORD PTR -176[rbp] | |
mov QWORD PTR [rax], 0 | |
.L1745: | |
mov eax, 0 | |
.L1746: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE286: | |
.size unixFileSize, .-unixFileSize | |
.type fcntlSizeHint, @function | |
fcntlSizeHint: | |
.LFB287: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 192 | |
mov QWORD PTR -184[rbp], rdi | |
mov QWORD PTR -192[rbp], rsi | |
mov rax, QWORD PTR -184[rbp] | |
mov eax, DWORD PTR 72[rax] | |
test eax, eax | |
jle .L1748 | |
mov rax, QWORD PTR aSyscall[rip+128] | |
mov rdx, QWORD PTR -184[rbp] | |
mov edx, DWORD PTR 24[rdx] | |
lea rcx, -176[rbp] | |
mov rsi, rcx | |
mov edi, edx | |
call rax | |
test eax, eax | |
je .L1749 | |
mov eax, 1802 | |
jmp .L1756 | |
.L1749: | |
mov rax, QWORD PTR -184[rbp] | |
mov eax, DWORD PTR 72[rax] | |
movsx rdx, eax | |
mov rax, QWORD PTR -192[rbp] | |
add rax, rdx | |
lea rcx, -1[rax] | |
mov rax, QWORD PTR -184[rbp] | |
mov eax, DWORD PTR 72[rax] | |
movsx rdi, eax | |
mov rax, rcx | |
cqo | |
idiv rdi | |
mov rdx, rax | |
mov rax, QWORD PTR -184[rbp] | |
mov eax, DWORD PTR 72[rax] | |
cdqe | |
imul rax, rdx | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -128[rbp] | |
cmp rax, QWORD PTR -16[rbp] | |
jge .L1748 | |
mov rax, QWORD PTR -120[rbp] | |
mov DWORD PTR -20[rbp], eax | |
mov DWORD PTR -24[rbp], 0 | |
mov rax, QWORD PTR -128[rbp] | |
mov edx, DWORD PTR -20[rbp] | |
movsx rcx, edx | |
cqo | |
idiv rcx | |
lea rdx, 1[rax] | |
mov eax, DWORD PTR -20[rbp] | |
cdqe | |
imul rax, rdx | |
sub rax, 1 | |
mov QWORD PTR -8[rbp], rax | |
jmp .L1752 | |
.L1755: | |
mov rax, QWORD PTR -8[rbp] | |
cmp rax, QWORD PTR -16[rbp] | |
jl .L1753 | |
mov rax, QWORD PTR -16[rbp] | |
sub rax, 1 | |
mov QWORD PTR -8[rbp], rax | |
.L1753: | |
mov rsi, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR -184[rbp] | |
mov ecx, 1 | |
lea rdx, .LC65[rip] | |
mov rdi, rax | |
call seekAndWrite | |
mov DWORD PTR -24[rbp], eax | |
cmp DWORD PTR -24[rbp], 1 | |
je .L1754 | |
mov eax, 778 | |
jmp .L1756 | |
.L1754: | |
mov eax, DWORD PTR -20[rbp] | |
cdqe | |
add QWORD PTR -8[rbp], rax | |
.L1752: | |
mov eax, DWORD PTR -20[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -16[rbp] | |
add rax, rdx | |
sub rax, 1 | |
cmp rax, QWORD PTR -8[rbp] | |
jg .L1755 | |
.L1748: | |
mov rax, QWORD PTR -184[rbp] | |
mov rax, QWORD PTR 96[rax] | |
test rax, rax | |
jle .L1757 | |
mov rax, QWORD PTR -184[rbp] | |
mov rax, QWORD PTR 80[rax] | |
cmp rax, QWORD PTR -192[rbp] | |
jge .L1757 | |
mov rax, QWORD PTR -184[rbp] | |
mov eax, DWORD PTR 72[rax] | |
test eax, eax | |
jg .L1758 | |
mov rax, QWORD PTR -184[rbp] | |
mov eax, DWORD PTR 24[rax] | |
mov rdx, QWORD PTR -192[rbp] | |
mov rsi, rdx | |
mov edi, eax | |
call robust_ftruncate | |
test eax, eax | |
je .L1758 | |
call __errno_location@PLT | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -184[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call storeLastErrno | |
mov rax, QWORD PTR -184[rbp] | |
mov rax, QWORD PTR 56[rax] | |
mov ecx, 34512 | |
mov rdx, rax | |
lea rsi, .LC83[rip] | |
mov edi, 1546 | |
call unixLogErrorAtLine | |
jmp .L1756 | |
.L1758: | |
mov rdx, QWORD PTR -192[rbp] | |
mov rax, QWORD PTR -184[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call unixMapfile | |
mov DWORD PTR -28[rbp], eax | |
mov eax, DWORD PTR -28[rbp] | |
jmp .L1756 | |
.L1757: | |
mov eax, 0 | |
.L1756: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE287: | |
.size fcntlSizeHint, .-fcntlSizeHint | |
.type unixModeBit, @function | |
unixModeBit: | |
.LFB288: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov eax, esi | |
mov QWORD PTR -24[rbp], rdx | |
mov BYTE PTR -12[rbp], al | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR [rax] | |
test eax, eax | |
jns .L1760 | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 30[rax] | |
movzx edx, ax | |
movzx eax, BYTE PTR -12[rbp] | |
and eax, edx | |
test eax, eax | |
setne al | |
movzx edx, al | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR [rax], edx | |
jmp .L1763 | |
.L1760: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR [rax] | |
test eax, eax | |
jne .L1762 | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 30[rax] | |
mov edx, eax | |
movzx eax, BYTE PTR -12[rbp] | |
not eax | |
and eax, edx | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov WORD PTR 30[rax], dx | |
jmp .L1763 | |
.L1762: | |
mov rax, QWORD PTR -8[rbp] | |
movzx edx, WORD PTR 30[rax] | |
movzx eax, BYTE PTR -12[rbp] | |
or edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov WORD PTR 30[rax], dx | |
.L1763: | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE288: | |
.size unixModeBit, .-unixModeBit | |
.type unixFileControl, @function | |
unixFileControl: | |
.LFB289: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 80 | |
mov QWORD PTR -56[rbp], rdi | |
mov DWORD PTR -60[rbp], esi | |
mov QWORD PTR -72[rbp], rdx | |
mov rax, QWORD PTR -56[rbp] | |
mov QWORD PTR -24[rbp], rax | |
cmp DWORD PTR -60[rbp], 20 | |
ja .L1765 | |
mov eax, DWORD PTR -60[rbp] | |
lea rdx, 0[0+rax*4] | |
lea rax, .L1767[rip] | |
mov eax, DWORD PTR [rdx+rax] | |
movsx rdx, eax | |
lea rax, .L1767[rip] | |
add rax, rdx | |
jmp rax | |
.section .rodata | |
.align 4 | |
.align 4 | |
.L1767: | |
.long .L1765-.L1767 | |
.long .L1766-.L1767 | |
.long .L1765-.L1767 | |
.long .L1765-.L1767 | |
.long .L1768-.L1767 | |
.long .L1769-.L1767 | |
.long .L1770-.L1767 | |
.long .L1765-.L1767 | |
.long .L1765-.L1767 | |
.long .L1765-.L1767 | |
.long .L1771-.L1767 | |
.long .L1765-.L1767 | |
.long .L1772-.L1767 | |
.long .L1773-.L1767 | |
.long .L1765-.L1767 | |
.long .L1765-.L1767 | |
.long .L1774-.L1767 | |
.long .L1765-.L1767 | |
.long .L1775-.L1767 | |
.long .L1765-.L1767 | |
.long .L1776-.L1767 | |
.text | |
.L1766: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 28[rax] | |
movzx edx, al | |
mov rax, QWORD PTR -72[rbp] | |
mov DWORD PTR [rax], edx | |
mov eax, 0 | |
jmp .L1777 | |
.L1768: | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR 32[rax] | |
mov rax, QWORD PTR -72[rbp] | |
mov DWORD PTR [rax], edx | |
mov eax, 0 | |
jmp .L1777 | |
.L1770: | |
mov rax, QWORD PTR -72[rbp] | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 72[rax], edx | |
mov eax, 0 | |
jmp .L1777 | |
.L1769: | |
mov rax, QWORD PTR -72[rbp] | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call fcntlSizeHint | |
mov DWORD PTR -28[rbp], eax | |
mov eax, DWORD PTR -28[rbp] | |
jmp .L1777 | |
.L1771: | |
mov rdx, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 4 | |
mov rdi, rax | |
call unixModeBit | |
mov eax, 0 | |
jmp .L1777 | |
.L1773: | |
mov rdx, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 16 | |
mov rdi, rax | |
call unixModeBit | |
mov eax, 0 | |
jmp .L1777 | |
.L1772: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rax, QWORD PTR 24[rax] | |
mov rsi, rax | |
lea rdi, .LC113[rip] | |
mov eax, 0 | |
call sqlite3_mprintf | |
mov rdx, rax | |
mov rax, QWORD PTR -72[rbp] | |
mov QWORD PTR [rax], rdx | |
mov eax, 0 | |
jmp .L1777 | |
.L1774: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov eax, DWORD PTR 8[rax] | |
cdqe | |
mov rdi, rax | |
call sqlite3_malloc64 | |
mov QWORD PTR -40[rbp], rax | |
cmp QWORD PTR -40[rbp], 0 | |
je .L1778 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov eax, DWORD PTR 8[rax] | |
mov rdx, QWORD PTR -40[rbp] | |
mov rsi, rdx | |
mov edi, eax | |
call unixGetTempname | |
mov rax, QWORD PTR -72[rbp] | |
mov rdx, QWORD PTR -40[rbp] | |
mov QWORD PTR [rax], rdx | |
.L1778: | |
mov eax, 0 | |
jmp .L1777 | |
.L1776: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call fileHasMoved | |
mov edx, eax | |
mov rax, QWORD PTR -72[rbp] | |
mov DWORD PTR [rax], edx | |
mov eax, 0 | |
jmp .L1777 | |
.L1775: | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -8[rbp], rax | |
mov DWORD PTR -12[rbp], 0 | |
mov rax, QWORD PTR sqlite3Config[rip+320] | |
cmp rax, QWORD PTR -8[rbp] | |
jge .L1781 | |
mov rax, QWORD PTR sqlite3Config[rip+320] | |
mov QWORD PTR -8[rbp], rax | |
.L1781: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 96[rax] | |
mov rax, QWORD PTR -72[rbp] | |
mov QWORD PTR [rax], rdx | |
cmp QWORD PTR -8[rbp], 0 | |
js .L1780 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 96[rax] | |
cmp rax, QWORD PTR -8[rbp] | |
je .L1780 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 76[rax] | |
test eax, eax | |
jne .L1780 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov QWORD PTR 96[rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 80[rax] | |
test rax, rax | |
jle .L1780 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call unixUnmapfile | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, -1 | |
mov rdi, rax | |
call unixMapfile | |
mov DWORD PTR -12[rbp], eax | |
.L1780: | |
mov eax, DWORD PTR -12[rbp] | |
jmp .L1777 | |
.L1765: | |
mov eax, 12 | |
.L1777: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE289: | |
.size unixFileControl, .-unixFileControl | |
.type setDeviceCharacteristics, @function | |
setDeviceCharacteristics: | |
.LFB290: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 112[rax] | |
test eax, eax | |
jne .L1785 | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 30[rax] | |
movzx eax, ax | |
and eax, 16 | |
test eax, eax | |
je .L1784 | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 116[rax] | |
or ah, 16 | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 116[rax], edx | |
.L1784: | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 112[rax], 4096 | |
.L1785: | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE290: | |
.size setDeviceCharacteristics, .-setDeviceCharacteristics | |
.type unixSectorSize, @function | |
unixSectorSize: | |
.LFB291: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 24 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call setDeviceCharacteristics | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 112[rax] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE291: | |
.size unixSectorSize, .-unixSectorSize | |
.type unixDeviceCharacteristics, @function | |
unixDeviceCharacteristics: | |
.LFB292: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 24 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call setDeviceCharacteristics | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 116[rax] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE292: | |
.size unixDeviceCharacteristics, .-unixDeviceCharacteristics | |
.type unixGetpagesize, @function | |
unixGetpagesize: | |
.LFB293: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov edi, 30 | |
call sysconf@PLT | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE293: | |
.size unixGetpagesize, .-unixGetpagesize | |
.type unixShmSystemLock, @function | |
unixShmSystemLock: | |
.LFB294: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 80 | |
mov QWORD PTR -56[rbp], rdi | |
mov DWORD PTR -60[rbp], esi | |
mov DWORD PTR -64[rbp], edx | |
mov DWORD PTR -68[rbp], ecx | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov rax, QWORD PTR 32[rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 24[rax] | |
test eax, eax | |
js .L1793 | |
lea rax, -48[rbp] | |
mov edx, 32 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
mov eax, DWORD PTR -60[rbp] | |
mov WORD PTR -48[rbp], ax | |
mov WORD PTR -46[rbp], 0 | |
mov eax, DWORD PTR -64[rbp] | |
cdqe | |
mov QWORD PTR -40[rbp], rax | |
mov eax, DWORD PTR -68[rbp] | |
cdqe | |
mov QWORD PTR -32[rbp], rax | |
mov rcx, QWORD PTR aSyscall[rip+176] | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 24[rax] | |
lea rdx, -48[rbp] | |
mov esi, 6 | |
mov edi, eax | |
mov eax, 0 | |
call rcx | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], -1 | |
je .L1794 | |
mov eax, 0 | |
jmp .L1795 | |
.L1794: | |
mov eax, 5 | |
.L1795: | |
mov DWORD PTR -4[rbp], eax | |
.L1793: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE294: | |
.size unixShmSystemLock, .-unixShmSystemLock | |
.type unixShmRegionPerMap, @function | |
unixShmRegionPerMap: | |
.LFB295: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov DWORD PTR -4[rbp], 32768 | |
mov rax, QWORD PTR aSyscall[rip+608] | |
call rax | |
mov DWORD PTR -8[rbp], eax | |
mov eax, DWORD PTR -8[rbp] | |
cmp eax, DWORD PTR -4[rbp] | |
jge .L1798 | |
mov eax, 1 | |
jmp .L1799 | |
.L1798: | |
mov eax, DWORD PTR -8[rbp] | |
cdq | |
idiv DWORD PTR -4[rbp] | |
.L1799: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE295: | |
.size unixShmRegionPerMap, .-unixShmRegionPerMap | |
.type unixShmPurge, @function | |
unixShmPurge: | |
.LFB296: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov rax, QWORD PTR 32[rax] | |
mov QWORD PTR -16[rbp], rax | |
cmp QWORD PTR -16[rbp], 0 | |
je .L1807 | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 48[rax] | |
test eax, eax | |
jne .L1807 | |
call unixShmRegionPerMap | |
mov DWORD PTR -20[rbp], eax | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rdi, rax | |
call sqlite3_mutex_free | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L1802 | |
.L1805: | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 24[rax] | |
test eax, eax | |
js .L1803 | |
mov rax, QWORD PTR aSyscall[rip+560] | |
mov rdx, QWORD PTR -16[rbp] | |
mov edx, DWORD PTR 28[rdx] | |
movsx rcx, edx | |
mov rdx, QWORD PTR -16[rbp] | |
mov rdx, QWORD PTR 40[rdx] | |
mov esi, DWORD PTR -4[rbp] | |
movsx rsi, esi | |
sal rsi, 3 | |
add rdx, rsi | |
mov rdx, QWORD PTR [rdx] | |
mov rsi, rcx | |
mov rdi, rdx | |
call rax | |
jmp .L1804 | |
.L1803: | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 40[rax] | |
mov edx, DWORD PTR -4[rbp] | |
movsx rdx, edx | |
sal rdx, 3 | |
add rax, rdx | |
mov rax, QWORD PTR [rax] | |
mov rdi, rax | |
call sqlite3_free | |
.L1804: | |
mov eax, DWORD PTR -20[rbp] | |
add DWORD PTR -4[rbp], eax | |
.L1802: | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, WORD PTR 32[rax] | |
movzx eax, ax | |
cmp eax, DWORD PTR -4[rbp] | |
jg .L1805 | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 40[rax] | |
mov rdi, rax | |
call sqlite3_free | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 24[rax] | |
test eax, eax | |
js .L1806 | |
mov rax, QWORD PTR -16[rbp] | |
mov ecx, DWORD PTR 24[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, 35010 | |
mov esi, ecx | |
mov rdi, rax | |
call robust_close | |
mov rax, QWORD PTR -16[rbp] | |
mov DWORD PTR 24[rax], -1 | |
.L1806: | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR 32[rax], 0 | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
.L1807: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE296: | |
.size unixShmPurge, .-unixShmPurge | |
.type unixLockSharedMemory, @function | |
unixLockSharedMemory: | |
.LFB297: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -56[rbp], rdi | |
mov QWORD PTR -64[rbp], rsi | |
mov DWORD PTR -4[rbp], 0 | |
mov WORD PTR -46[rbp], 0 | |
mov QWORD PTR -40[rbp], 128 | |
mov QWORD PTR -32[rbp], 1 | |
mov WORD PTR -48[rbp], 1 | |
mov rcx, QWORD PTR aSyscall[rip+176] | |
mov rax, QWORD PTR -64[rbp] | |
mov eax, DWORD PTR 24[rax] | |
lea rdx, -48[rbp] | |
mov esi, 5 | |
mov edi, eax | |
mov eax, 0 | |
call rcx | |
test eax, eax | |
je .L1809 | |
mov DWORD PTR -4[rbp], 3850 | |
jmp .L1810 | |
.L1809: | |
movzx eax, WORD PTR -48[rbp] | |
cmp ax, 2 | |
jne .L1811 | |
mov rax, QWORD PTR -64[rbp] | |
movzx eax, BYTE PTR 34[rax] | |
test al, al | |
je .L1812 | |
mov rax, QWORD PTR -64[rbp] | |
mov BYTE PTR 35[rax], 1 | |
mov DWORD PTR -4[rbp], 1288 | |
jmp .L1810 | |
.L1812: | |
mov rax, QWORD PTR -56[rbp] | |
mov ecx, 1 | |
mov edx, 128 | |
mov esi, 1 | |
mov rdi, rax | |
call unixShmSystemLock | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L1810 | |
mov rax, QWORD PTR -64[rbp] | |
mov eax, DWORD PTR 24[rax] | |
mov esi, 0 | |
mov edi, eax | |
call robust_ftruncate | |
test eax, eax | |
je .L1810 | |
mov rax, QWORD PTR -64[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov ecx, 35062 | |
mov rdx, rax | |
lea rsi, .LC83[rip] | |
mov edi, 4618 | |
call unixLogErrorAtLine | |
mov DWORD PTR -4[rbp], eax | |
jmp .L1810 | |
.L1811: | |
movzx eax, WORD PTR -48[rbp] | |
cmp ax, 1 | |
jne .L1810 | |
mov DWORD PTR -4[rbp], 5 | |
.L1810: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L1814 | |
mov rax, QWORD PTR -56[rbp] | |
mov ecx, 1 | |
mov edx, 128 | |
mov esi, 0 | |
mov rdi, rax | |
call unixShmSystemLock | |
mov DWORD PTR -4[rbp], eax | |
.L1814: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE297: | |
.size unixLockSharedMemory, .-unixLockSharedMemory | |
.section .rodata | |
.LC115: | |
.string "%s-shm" | |
.LC116: | |
.string "readonly_shm" | |
.text | |
.type unixOpenSharedMemory, @function | |
unixOpenSharedMemory: | |
.LFB298: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 224 | |
mov QWORD PTR -216[rbp], rdi | |
mov QWORD PTR -24[rbp], 0 | |
mov DWORD PTR -12[rbp], 0 | |
mov edi, 24 | |
call sqlite3_malloc64 | |
mov QWORD PTR -24[rbp], rax | |
cmp QWORD PTR -24[rbp], 0 | |
jne .L1817 | |
mov eax, 7 | |
jmp .L1818 | |
.L1817: | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, 24 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
call unixEnterMutex | |
mov rax, QWORD PTR -216[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -32[rbp], rax | |
mov rax, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L1819 | |
mov rax, QWORD PTR -216[rbp] | |
mov rax, QWORD PTR 56[rax] | |
mov QWORD PTR -40[rbp], rax | |
mov rax, QWORD PTR aSyscall[rip+128] | |
mov rdx, QWORD PTR -216[rbp] | |
mov edx, DWORD PTR 24[rdx] | |
lea rcx, -208[rbp] | |
mov rsi, rcx | |
mov edi, edx | |
call rax | |
test eax, eax | |
je .L1820 | |
mov DWORD PTR -12[rbp], 1802 | |
jmp .L1828 | |
.L1820: | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call strlen@PLT | |
add eax, 6 | |
mov DWORD PTR -44[rbp], eax | |
mov eax, DWORD PTR -44[rbp] | |
cdqe | |
add rax, 64 | |
mov rdi, rax | |
call sqlite3_malloc64 | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L1822 | |
mov DWORD PTR -12[rbp], 7 | |
jmp .L1828 | |
.L1822: | |
mov eax, DWORD PTR -44[rbp] | |
cdqe | |
lea rdx, 64[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
mov rax, QWORD PTR -8[rbp] | |
lea rdx, 64[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 16[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -56[rbp], rax | |
mov rdx, QWORD PTR -40[rbp] | |
mov rsi, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR -44[rbp] | |
mov rcx, rdx | |
lea rdx, .LC115[rip] | |
mov edi, eax | |
mov eax, 0 | |
call sqlite3_snprintf | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 24[rax], -1 | |
mov rax, QWORD PTR -216[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov rdx, QWORD PTR -8[rbp] | |
mov QWORD PTR 32[rax], rdx | |
mov rax, QWORD PTR -216[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], rdx | |
mov eax, DWORD PTR sqlite3Config[rip+4] | |
test eax, eax | |
je .L1823 | |
mov edi, 0 | |
call sqlite3_mutex_alloc | |
mov rdx, rax | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 8[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 8[rax] | |
test rax, rax | |
jne .L1823 | |
mov DWORD PTR -12[rbp], 7 | |
jmp .L1828 | |
.L1823: | |
mov rax, QWORD PTR -32[rbp] | |
movzx eax, BYTE PTR 21[rax] | |
test al, al | |
jne .L1819 | |
mov rax, QWORD PTR -216[rbp] | |
mov rax, QWORD PTR 56[rax] | |
mov edx, 0 | |
lea rsi, .LC116[rip] | |
mov rdi, rax | |
call sqlite3_uri_boolean | |
test eax, eax | |
jne .L1825 | |
mov eax, DWORD PTR -184[rbp] | |
and eax, 511 | |
mov edx, eax | |
mov rax, QWORD PTR -56[rbp] | |
mov esi, 66 | |
mov rdi, rax | |
call robust_open | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 24[rax], edx | |
.L1825: | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 24[rax] | |
test eax, eax | |
jns .L1826 | |
mov eax, DWORD PTR -184[rbp] | |
and eax, 511 | |
mov edx, eax | |
mov rax, QWORD PTR -56[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call robust_open | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 24[rax], edx | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 24[rax] | |
test eax, eax | |
jns .L1827 | |
mov edi, 35184 | |
call sqlite3CantopenError | |
mov edi, eax | |
mov rax, QWORD PTR -56[rbp] | |
mov ecx, 35184 | |
mov rdx, rax | |
lea rsi, .LC77[rip] | |
call unixLogErrorAtLine | |
mov DWORD PTR -12[rbp], eax | |
jmp .L1828 | |
.L1827: | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 34[rax], 1 | |
.L1826: | |
mov edx, DWORD PTR -176[rbp] | |
mov ecx, DWORD PTR -180[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 24[rax] | |
mov esi, ecx | |
mov edi, eax | |
call robustFchown | |
mov rdx, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR -216[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call unixLockSharedMemory | |
mov DWORD PTR -12[rbp], eax | |
cmp DWORD PTR -12[rbp], 0 | |
je .L1819 | |
cmp DWORD PTR -12[rbp], 1288 | |
jne .L1829 | |
.L1819: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 48[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 48[rax], edx | |
mov rax, QWORD PTR -216[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov QWORD PTR 64[rax], rdx | |
call unixLeaveMutex | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rdi, rax | |
call sqlite3_mutex_enter | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 56[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 8[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov QWORD PTR 56[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rdi, rax | |
call sqlite3_mutex_leave | |
mov eax, DWORD PTR -12[rbp] | |
jmp .L1818 | |
.L1829: | |
nop | |
.L1828: | |
mov rax, QWORD PTR -216[rbp] | |
mov rdi, rax | |
call unixShmPurge | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
call unixLeaveMutex | |
mov eax, DWORD PTR -12[rbp] | |
.L1818: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE298: | |
.size unixOpenSharedMemory, .-unixOpenSharedMemory | |
.type unixShmMap, @function | |
unixShmMap: | |
.LFB299: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 272 | |
mov QWORD PTR -248[rbp], rdi | |
mov DWORD PTR -252[rbp], esi | |
mov DWORD PTR -256[rbp], edx | |
mov DWORD PTR -260[rbp], ecx | |
mov QWORD PTR -272[rbp], r8 | |
mov rax, QWORD PTR -248[rbp] | |
mov QWORD PTR -32[rbp], rax | |
mov DWORD PTR -4[rbp], 0 | |
call unixShmRegionPerMap | |
mov DWORD PTR -36[rbp], eax | |
mov rax, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR 64[rax] | |
test rax, rax | |
jne .L1831 | |
mov rax, QWORD PTR -32[rbp] | |
mov rdi, rax | |
call unixOpenSharedMemory | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L1831 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L1832 | |
.L1831: | |
mov rax, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov QWORD PTR -48[rbp], rax | |
mov rax, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -56[rbp], rax | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rdi, rax | |
call sqlite3_mutex_enter | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR 35[rax] | |
test al, al | |
je .L1833 | |
mov rdx, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call unixLockSharedMemory | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L1857 | |
mov rax, QWORD PTR -56[rbp] | |
mov BYTE PTR 35[rax], 0 | |
.L1833: | |
mov edx, DWORD PTR -252[rbp] | |
mov eax, DWORD PTR -36[rbp] | |
add eax, edx | |
cdq | |
idiv DWORD PTR -36[rbp] | |
imul eax, DWORD PTR -36[rbp] | |
mov DWORD PTR -60[rbp], eax | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, WORD PTR 32[rax] | |
movzx eax, ax | |
cmp eax, DWORD PTR -60[rbp] | |
jge .L1835 | |
mov eax, DWORD PTR -60[rbp] | |
imul eax, DWORD PTR -256[rbp] | |
mov DWORD PTR -64[rbp], eax | |
mov rax, QWORD PTR -56[rbp] | |
mov edx, DWORD PTR -256[rbp] | |
mov DWORD PTR 28[rax], edx | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 24[rax] | |
test eax, eax | |
js .L1836 | |
mov rax, QWORD PTR aSyscall[rip+128] | |
mov rdx, QWORD PTR -56[rbp] | |
mov edx, DWORD PTR 24[rdx] | |
lea rcx, -240[rbp] | |
mov rsi, rcx | |
mov edi, edx | |
call rax | |
test eax, eax | |
je .L1837 | |
mov DWORD PTR -4[rbp], 4874 | |
jmp .L1835 | |
.L1837: | |
mov rdx, QWORD PTR -192[rbp] | |
mov eax, DWORD PTR -64[rbp] | |
cdqe | |
cmp rdx, rax | |
jge .L1836 | |
cmp DWORD PTR -260[rbp], 0 | |
je .L1858 | |
mov rax, QWORD PTR -192[rbp] | |
mov edx, DWORD PTR pgsz.12380[rip] | |
movsx rsi, edx | |
cqo | |
idiv rsi | |
mov DWORD PTR -8[rbp], eax | |
jmp .L1840 | |
.L1843: | |
mov DWORD PTR -88[rbp], 0 | |
mov eax, DWORD PTR -8[rbp] | |
lea edx, 1[rax] | |
mov eax, DWORD PTR pgsz.12380[rip] | |
imul eax, edx | |
sub eax, 1 | |
movsx rsi, eax | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 24[rax] | |
lea rdx, -88[rbp] | |
mov r8, rdx | |
mov ecx, 1 | |
lea rdx, .LC65[rip] | |
mov edi, eax | |
call seekAndWriteFd | |
cmp eax, 1 | |
je .L1841 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -72[rbp], rax | |
mov rax, QWORD PTR -72[rbp] | |
mov ecx, 35328 | |
mov rdx, rax | |
lea rsi, .LC88[rip] | |
mov edi, 4874 | |
call unixLogErrorAtLine | |
mov DWORD PTR -4[rbp], eax | |
nop | |
jmp .L1835 | |
.L1841: | |
add DWORD PTR -8[rbp], 1 | |
.L1840: | |
mov esi, DWORD PTR pgsz.12380[rip] | |
mov eax, DWORD PTR -64[rbp] | |
cdq | |
idiv esi | |
cmp eax, DWORD PTR -8[rbp] | |
jg .L1843 | |
.L1836: | |
mov eax, DWORD PTR -60[rbp] | |
sal eax, 3 | |
mov edx, eax | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 40[rax] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3_realloc | |
mov QWORD PTR -80[rbp], rax | |
cmp QWORD PTR -80[rbp], 0 | |
jne .L1844 | |
mov DWORD PTR -4[rbp], 3082 | |
jmp .L1835 | |
.L1844: | |
mov rax, QWORD PTR -56[rbp] | |
mov rdx, QWORD PTR -80[rbp] | |
mov QWORD PTR 40[rax], rdx | |
jmp .L1845 | |
.L1853: | |
mov eax, DWORD PTR -256[rbp] | |
imul eax, DWORD PTR -36[rbp] | |
mov DWORD PTR -84[rbp], eax | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 24[rax] | |
test eax, eax | |
js .L1846 | |
mov rax, QWORD PTR aSyscall[rip+536] | |
mov edx, DWORD PTR -256[rbp] | |
movsx rcx, edx | |
mov rdx, QWORD PTR -56[rbp] | |
movzx edx, WORD PTR 32[rdx] | |
movzx edx, dx | |
imul rcx, rdx | |
mov rdi, rcx | |
mov rdx, QWORD PTR -56[rbp] | |
mov ecx, DWORD PTR 24[rdx] | |
mov rdx, QWORD PTR -56[rbp] | |
movzx edx, BYTE PTR 34[rdx] | |
test dl, dl | |
je .L1847 | |
mov r10d, 1 | |
jmp .L1848 | |
.L1847: | |
mov r10d, 3 | |
.L1848: | |
mov edx, DWORD PTR -84[rbp] | |
movsx rsi, edx | |
mov r9, rdi | |
mov r8d, ecx | |
mov ecx, 1 | |
mov edx, r10d | |
mov edi, 0 | |
call rax | |
mov QWORD PTR -24[rbp], rax | |
cmp QWORD PTR -24[rbp], -1 | |
jne .L1849 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov ecx, 35355 | |
mov rdx, rax | |
lea rsi, .LC99[rip] | |
mov edi, 5386 | |
call unixLogErrorAtLine | |
mov DWORD PTR -4[rbp], eax | |
jmp .L1835 | |
.L1846: | |
mov eax, DWORD PTR -256[rbp] | |
cdqe | |
mov rdi, rax | |
call sqlite3_malloc64 | |
mov QWORD PTR -24[rbp], rax | |
cmp QWORD PTR -24[rbp], 0 | |
jne .L1850 | |
mov DWORD PTR -4[rbp], 7 | |
jmp .L1835 | |
.L1850: | |
mov eax, DWORD PTR -256[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
.L1849: | |
mov DWORD PTR -12[rbp], 0 | |
jmp .L1851 | |
.L1852: | |
mov rax, QWORD PTR -56[rbp] | |
mov rdx, QWORD PTR 40[rax] | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, WORD PTR 32[rax] | |
movzx ecx, ax | |
mov eax, DWORD PTR -12[rbp] | |
add eax, ecx | |
cdqe | |
sal rax, 3 | |
add rdx, rax | |
mov eax, DWORD PTR -256[rbp] | |
imul eax, DWORD PTR -12[rbp] | |
movsx rcx, eax | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rcx | |
mov QWORD PTR [rdx], rax | |
add DWORD PTR -12[rbp], 1 | |
.L1851: | |
mov eax, DWORD PTR -12[rbp] | |
cmp eax, DWORD PTR -36[rbp] | |
jl .L1852 | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, WORD PTR 32[rax] | |
mov edx, DWORD PTR -36[rbp] | |
add edx, eax | |
mov rax, QWORD PTR -56[rbp] | |
mov WORD PTR 32[rax], dx | |
.L1845: | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, WORD PTR 32[rax] | |
movzx eax, ax | |
cmp eax, DWORD PTR -60[rbp] | |
jl .L1853 | |
jmp .L1835 | |
.L1857: | |
nop | |
jmp .L1835 | |
.L1858: | |
nop | |
.L1835: | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, WORD PTR 32[rax] | |
movzx eax, ax | |
cmp eax, DWORD PTR -252[rbp] | |
jle .L1854 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 40[rax] | |
mov edx, DWORD PTR -252[rbp] | |
movsx rdx, edx | |
sal rdx, 3 | |
add rax, rdx | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -272[rbp] | |
mov QWORD PTR [rax], rdx | |
jmp .L1855 | |
.L1854: | |
mov rax, QWORD PTR -272[rbp] | |
mov QWORD PTR [rax], 0 | |
.L1855: | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR 34[rax] | |
test al, al | |
je .L1856 | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L1856 | |
mov DWORD PTR -4[rbp], 8 | |
.L1856: | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rdi, rax | |
call sqlite3_mutex_leave | |
mov eax, DWORD PTR -4[rbp] | |
.L1832: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE299: | |
.size unixShmMap, .-unixShmMap | |
.type unixShmLock, @function | |
unixShmLock: | |
.LFB300: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 80 | |
mov QWORD PTR -56[rbp], rdi | |
mov DWORD PTR -60[rbp], esi | |
mov DWORD PTR -64[rbp], edx | |
mov DWORD PTR -68[rbp], ecx | |
mov rax, QWORD PTR -56[rbp] | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov QWORD PTR -32[rbp], rax | |
mov rax, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -40[rbp], rax | |
mov DWORD PTR -12[rbp], 0 | |
mov edx, DWORD PTR -60[rbp] | |
mov eax, DWORD PTR -64[rbp] | |
add eax, edx | |
mov edx, 1 | |
mov ecx, eax | |
sal edx, cl | |
mov eax, edx | |
mov edx, eax | |
mov eax, DWORD PTR -60[rbp] | |
mov esi, 1 | |
mov ecx, eax | |
sal esi, cl | |
mov eax, esi | |
sub edx, eax | |
mov eax, edx | |
mov WORD PTR -42[rbp], ax | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rdi, rax | |
call sqlite3_mutex_enter | |
mov eax, DWORD PTR -68[rbp] | |
and eax, 1 | |
test eax, eax | |
je .L1860 | |
mov WORD PTR -14[rbp], 0 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 56[rax] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L1861 | |
.L1864: | |
mov rax, QWORD PTR -8[rbp] | |
cmp rax, QWORD PTR -32[rbp] | |
je .L1883 | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 18[rax] | |
or WORD PTR -14[rbp], ax | |
jmp .L1863 | |
.L1883: | |
nop | |
.L1863: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -8[rbp], rax | |
.L1861: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L1864 | |
movzx eax, WORD PTR -42[rbp] | |
and ax, WORD PTR -14[rbp] | |
test ax, ax | |
jne .L1865 | |
mov eax, DWORD PTR -60[rbp] | |
lea esi, 120[rax] | |
mov edx, DWORD PTR -64[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov ecx, edx | |
mov edx, esi | |
mov esi, 2 | |
mov rdi, rax | |
call unixShmSystemLock | |
mov DWORD PTR -12[rbp], eax | |
jmp .L1866 | |
.L1865: | |
mov DWORD PTR -12[rbp], 0 | |
.L1866: | |
cmp DWORD PTR -12[rbp], 0 | |
jne .L1868 | |
mov rax, QWORD PTR -32[rbp] | |
movzx eax, WORD PTR 20[rax] | |
mov edx, eax | |
movzx eax, WORD PTR -42[rbp] | |
not eax | |
and eax, edx | |
mov edx, eax | |
mov rax, QWORD PTR -32[rbp] | |
mov WORD PTR 20[rax], dx | |
mov rax, QWORD PTR -32[rbp] | |
movzx eax, WORD PTR 18[rax] | |
mov edx, eax | |
movzx eax, WORD PTR -42[rbp] | |
not eax | |
and eax, edx | |
mov edx, eax | |
mov rax, QWORD PTR -32[rbp] | |
mov WORD PTR 18[rax], dx | |
jmp .L1868 | |
.L1860: | |
mov eax, DWORD PTR -68[rbp] | |
and eax, 4 | |
test eax, eax | |
je .L1869 | |
mov WORD PTR -16[rbp], 0 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 56[rax] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L1870 | |
.L1873: | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 20[rax] | |
and ax, WORD PTR -42[rbp] | |
test ax, ax | |
je .L1871 | |
mov DWORD PTR -12[rbp], 5 | |
jmp .L1872 | |
.L1871: | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 18[rax] | |
or WORD PTR -16[rbp], ax | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -8[rbp], rax | |
.L1870: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L1873 | |
.L1872: | |
cmp DWORD PTR -12[rbp], 0 | |
jne .L1874 | |
movzx eax, WORD PTR -16[rbp] | |
and ax, WORD PTR -42[rbp] | |
test ax, ax | |
jne .L1875 | |
mov eax, DWORD PTR -60[rbp] | |
lea esi, 120[rax] | |
mov edx, DWORD PTR -64[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov ecx, edx | |
mov edx, esi | |
mov esi, 0 | |
mov rdi, rax | |
call unixShmSystemLock | |
mov DWORD PTR -12[rbp], eax | |
jmp .L1874 | |
.L1875: | |
mov DWORD PTR -12[rbp], 0 | |
.L1874: | |
cmp DWORD PTR -12[rbp], 0 | |
jne .L1868 | |
mov rax, QWORD PTR -32[rbp] | |
movzx eax, WORD PTR 18[rax] | |
or ax, WORD PTR -42[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -32[rbp] | |
mov WORD PTR 18[rax], dx | |
jmp .L1868 | |
.L1869: | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 56[rax] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L1877 | |
.L1881: | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 20[rax] | |
and ax, WORD PTR -42[rbp] | |
test ax, ax | |
jne .L1878 | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 18[rax] | |
and ax, WORD PTR -42[rbp] | |
test ax, ax | |
je .L1879 | |
.L1878: | |
mov DWORD PTR -12[rbp], 5 | |
jmp .L1880 | |
.L1879: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -8[rbp], rax | |
.L1877: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L1881 | |
.L1880: | |
cmp DWORD PTR -12[rbp], 0 | |
jne .L1868 | |
mov eax, DWORD PTR -60[rbp] | |
lea esi, 120[rax] | |
mov edx, DWORD PTR -64[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov ecx, edx | |
mov edx, esi | |
mov esi, 1 | |
mov rdi, rax | |
call unixShmSystemLock | |
mov DWORD PTR -12[rbp], eax | |
cmp DWORD PTR -12[rbp], 0 | |
jne .L1868 | |
mov rax, QWORD PTR -32[rbp] | |
movzx eax, WORD PTR 20[rax] | |
or ax, WORD PTR -42[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -32[rbp] | |
mov WORD PTR 20[rax], dx | |
.L1868: | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rdi, rax | |
call sqlite3_mutex_leave | |
mov eax, DWORD PTR -12[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE300: | |
.size unixShmLock, .-unixShmLock | |
.type unixShmBarrier, @function | |
unixShmBarrier: | |
.LFB301: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
call sqlite3MemoryBarrier | |
call unixEnterMutex | |
call unixLeaveMutex | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE301: | |
.size unixShmBarrier, .-unixShmBarrier | |
.type unixShmUnmap, @function | |
unixShmUnmap: | |
.LFB302: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov QWORD PTR -24[rbp], rax | |
cmp QWORD PTR -24[rbp], 0 | |
jne .L1886 | |
mov eax, 0 | |
jmp .L1887 | |
.L1886: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -32[rbp], rax | |
mov rax, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rdi, rax | |
call sqlite3_mutex_enter | |
mov rax, QWORD PTR -32[rbp] | |
add rax, 56 | |
mov QWORD PTR -8[rbp], rax | |
jmp .L1888 | |
.L1889: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
add rax, 8 | |
mov QWORD PTR -8[rbp], rax | |
.L1888: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
cmp rax, QWORD PTR -24[rbp] | |
jne .L1889 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR 64[rax], 0 | |
mov rax, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rdi, rax | |
call sqlite3_mutex_leave | |
call unixEnterMutex | |
mov rax, QWORD PTR -32[rbp] | |
mov eax, DWORD PTR 48[rax] | |
lea edx, -1[rax] | |
mov rax, QWORD PTR -32[rbp] | |
mov DWORD PTR 48[rax], edx | |
mov rax, QWORD PTR -32[rbp] | |
mov eax, DWORD PTR 48[rax] | |
test eax, eax | |
jne .L1890 | |
cmp DWORD PTR -44[rbp], 0 | |
je .L1891 | |
mov rax, QWORD PTR -32[rbp] | |
mov eax, DWORD PTR 24[rax] | |
test eax, eax | |
js .L1891 | |
mov rax, QWORD PTR aSyscall[rip+392] | |
mov rdx, QWORD PTR -32[rbp] | |
mov rdx, QWORD PTR 16[rdx] | |
mov rdi, rdx | |
call rax | |
.L1891: | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call unixShmPurge | |
.L1890: | |
call unixLeaveMutex | |
mov eax, 0 | |
.L1887: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE302: | |
.size unixShmUnmap, .-unixShmUnmap | |
.type unixUnmapfile, @function | |
unixUnmapfile: | |
.LFB303: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 104[rax] | |
test rax, rax | |
je .L1894 | |
mov rax, QWORD PTR aSyscall[rip+560] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 88[rdx] | |
mov rcx, rdx | |
mov rdx, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 104[rdx] | |
mov rsi, rcx | |
mov rdi, rdx | |
call rax | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 104[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 80[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 88[rax], 0 | |
.L1894: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE303: | |
.size unixUnmapfile, .-unixUnmapfile | |
.type unixRemapfile, @function | |
unixRemapfile: | |
.LFB304: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 80 | |
mov QWORD PTR -72[rbp], rdi | |
mov QWORD PTR -80[rbp], rsi | |
lea rax, .LC99[rip] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 24[rax] | |
mov DWORD PTR -20[rbp], eax | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 104[rax] | |
mov QWORD PTR -32[rbp], rax | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 88[rax] | |
mov QWORD PTR -40[rbp], rax | |
mov QWORD PTR -16[rbp], 0 | |
mov DWORD PTR -44[rbp], 1 | |
cmp QWORD PTR -32[rbp], 0 | |
je .L1896 | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov QWORD PTR -56[rbp], rax | |
mov rdx, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
add rax, rdx | |
mov QWORD PTR -64[rbp], rax | |
mov rax, QWORD PTR -56[rbp] | |
cmp rax, QWORD PTR -40[rbp] | |
je .L1897 | |
mov rax, QWORD PTR aSyscall[rip+560] | |
mov rdx, QWORD PTR -40[rbp] | |
sub rdx, QWORD PTR -56[rbp] | |
mov rcx, rdx | |
mov rdx, QWORD PTR -64[rbp] | |
mov rsi, rcx | |
mov rdi, rdx | |
call rax | |
.L1897: | |
mov r8, QWORD PTR aSyscall[rip+584] | |
mov rdx, QWORD PTR -80[rbp] | |
mov rsi, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov ecx, 1 | |
mov rdi, rax | |
mov eax, 0 | |
call r8 | |
mov QWORD PTR -16[rbp], rax | |
lea rax, .LC101[rip] | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -16[rbp], -1 | |
je .L1898 | |
cmp QWORD PTR -16[rbp], 0 | |
jne .L1896 | |
.L1898: | |
mov rax, QWORD PTR aSyscall[rip+560] | |
mov rcx, QWORD PTR -56[rbp] | |
mov rdx, QWORD PTR -32[rbp] | |
mov rsi, rcx | |
mov rdi, rdx | |
call rax | |
.L1896: | |
cmp QWORD PTR -16[rbp], 0 | |
jne .L1899 | |
mov rax, QWORD PTR aSyscall[rip+536] | |
mov rsi, QWORD PTR -80[rbp] | |
mov ecx, DWORD PTR -20[rbp] | |
mov edx, DWORD PTR -44[rbp] | |
mov r9d, 0 | |
mov r8d, ecx | |
mov ecx, 1 | |
mov edi, 0 | |
call rax | |
mov QWORD PTR -16[rbp], rax | |
.L1899: | |
cmp QWORD PTR -16[rbp], -1 | |
jne .L1900 | |
mov QWORD PTR -16[rbp], 0 | |
mov QWORD PTR -80[rbp], 0 | |
mov rax, QWORD PTR -72[rbp] | |
mov rdx, QWORD PTR 56[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov ecx, 35667 | |
mov rsi, rax | |
mov edi, 0 | |
call unixLogErrorAtLine | |
mov rax, QWORD PTR -72[rbp] | |
mov QWORD PTR 96[rax], 0 | |
.L1900: | |
mov rax, QWORD PTR -72[rbp] | |
mov rdx, QWORD PTR -16[rbp] | |
mov QWORD PTR 104[rax], rdx | |
mov rax, QWORD PTR -72[rbp] | |
mov rdx, QWORD PTR -80[rbp] | |
mov QWORD PTR 88[rax], rdx | |
mov rax, QWORD PTR -72[rbp] | |
mov rdx, QWORD PTR 88[rax] | |
mov rax, QWORD PTR -72[rbp] | |
mov QWORD PTR 80[rax], rdx | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE304: | |
.size unixRemapfile, .-unixRemapfile | |
.type unixMapfile, @function | |
unixMapfile: | |
.LFB305: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 160 | |
mov QWORD PTR -152[rbp], rdi | |
mov QWORD PTR -160[rbp], rsi | |
mov rax, QWORD PTR -152[rbp] | |
mov eax, DWORD PTR 76[rax] | |
test eax, eax | |
jle .L1902 | |
mov eax, 0 | |
jmp .L1903 | |
.L1902: | |
cmp QWORD PTR -160[rbp], 0 | |
jns .L1904 | |
mov rax, QWORD PTR aSyscall[rip+128] | |
mov rdx, QWORD PTR -152[rbp] | |
mov edx, DWORD PTR 24[rdx] | |
lea rcx, -144[rbp] | |
mov rsi, rcx | |
mov edi, edx | |
call rax | |
test eax, eax | |
je .L1905 | |
mov eax, 1802 | |
jmp .L1903 | |
.L1905: | |
mov rax, QWORD PTR -96[rbp] | |
mov QWORD PTR -160[rbp], rax | |
.L1904: | |
mov rax, QWORD PTR -152[rbp] | |
mov rax, QWORD PTR 96[rax] | |
cmp rax, QWORD PTR -160[rbp] | |
jge .L1906 | |
mov rax, QWORD PTR -152[rbp] | |
mov rax, QWORD PTR 96[rax] | |
mov QWORD PTR -160[rbp], rax | |
.L1906: | |
mov rax, QWORD PTR -152[rbp] | |
mov rax, QWORD PTR 80[rax] | |
cmp rax, QWORD PTR -160[rbp] | |
je .L1907 | |
mov rdx, QWORD PTR -160[rbp] | |
mov rax, QWORD PTR -152[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call unixRemapfile | |
.L1907: | |
mov eax, 0 | |
.L1903: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE305: | |
.size unixMapfile, .-unixMapfile | |
.type unixFetch, @function | |
unixFetch: | |
.LFB306: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov DWORD PTR -36[rbp], edx | |
mov QWORD PTR -48[rbp], rcx | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -48[rbp] | |
mov QWORD PTR [rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 96[rax] | |
test rax, rax | |
jle .L1909 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 104[rax] | |
test rax, rax | |
jne .L1910 | |
mov rax, QWORD PTR -8[rbp] | |
mov rsi, -1 | |
mov rdi, rax | |
call unixMapfile | |
mov DWORD PTR -12[rbp], eax | |
cmp DWORD PTR -12[rbp], 0 | |
je .L1910 | |
mov eax, DWORD PTR -12[rbp] | |
jmp .L1911 | |
.L1910: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov edx, DWORD PTR -36[rbp] | |
movsx rcx, edx | |
mov rdx, QWORD PTR -32[rbp] | |
add rdx, rcx | |
cmp rax, rdx | |
jl .L1909 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 104[rax] | |
mov rax, QWORD PTR -32[rbp] | |
add rdx, rax | |
mov rax, QWORD PTR -48[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 76[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 76[rax], edx | |
.L1909: | |
mov eax, 0 | |
.L1911: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE306: | |
.size unixFetch, .-unixFetch | |
.type unixUnfetch, @function | |
unixUnfetch: | |
.LFB307: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov QWORD PTR -40[rbp], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -40[rbp], 0 | |
je .L1913 | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 76[rax] | |
lea edx, -1[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 76[rax], edx | |
jmp .L1914 | |
.L1913: | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call unixUnmapfile | |
.L1914: | |
mov eax, 0 | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE307: | |
.size unixUnfetch, .-unixUnfetch | |
.section .data.rel.ro.local | |
.align 32 | |
.type posixIoMethods, @object | |
.size posixIoMethods, 152 | |
posixIoMethods: | |
.long 3 | |
.zero 4 | |
.quad unixClose | |
.quad unixRead | |
.quad unixWrite | |
.quad unixTruncate | |
.quad unixSync | |
.quad unixFileSize | |
.quad unixLock | |
.quad unixUnlock | |
.quad unixCheckReservedLock | |
.quad unixFileControl | |
.quad unixSectorSize | |
.quad unixDeviceCharacteristics | |
.quad unixShmMap | |
.quad unixShmLock | |
.quad unixShmBarrier | |
.quad unixShmUnmap | |
.quad unixFetch | |
.quad unixUnfetch | |
.text | |
.type posixIoFinderImpl, @function | |
posixIoFinderImpl: | |
.LFB308: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
lea rax, posixIoMethods[rip] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE308: | |
.size posixIoFinderImpl, .-posixIoFinderImpl | |
.section .data.rel.ro.local | |
.align 8 | |
.type posixIoFinder, @object | |
.size posixIoFinder, 8 | |
posixIoFinder: | |
.quad posixIoFinderImpl | |
.align 32 | |
.type nolockIoMethods, @object | |
.size nolockIoMethods, 152 | |
nolockIoMethods: | |
.long 3 | |
.zero 4 | |
.quad nolockClose | |
.quad unixRead | |
.quad unixWrite | |
.quad unixTruncate | |
.quad unixSync | |
.quad unixFileSize | |
.quad nolockLock | |
.quad nolockUnlock | |
.quad nolockCheckReservedLock | |
.quad unixFileControl | |
.quad unixSectorSize | |
.quad unixDeviceCharacteristics | |
.quad 0 | |
.quad unixShmLock | |
.quad unixShmBarrier | |
.quad unixShmUnmap | |
.quad unixFetch | |
.quad unixUnfetch | |
.text | |
.type nolockIoFinderImpl, @function | |
nolockIoFinderImpl: | |
.LFB309: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
lea rax, nolockIoMethods[rip] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE309: | |
.size nolockIoFinderImpl, .-nolockIoFinderImpl | |
.section .data.rel.ro.local | |
.align 8 | |
.type nolockIoFinder, @object | |
.size nolockIoFinder, 8 | |
nolockIoFinder: | |
.quad nolockIoFinderImpl | |
.align 32 | |
.type dotlockIoMethods, @object | |
.size dotlockIoMethods, 152 | |
dotlockIoMethods: | |
.long 1 | |
.zero 4 | |
.quad dotlockClose | |
.quad unixRead | |
.quad unixWrite | |
.quad unixTruncate | |
.quad unixSync | |
.quad unixFileSize | |
.quad dotlockLock | |
.quad dotlockUnlock | |
.quad dotlockCheckReservedLock | |
.quad unixFileControl | |
.quad unixSectorSize | |
.quad unixDeviceCharacteristics | |
.quad 0 | |
.quad unixShmLock | |
.quad unixShmBarrier | |
.quad unixShmUnmap | |
.quad unixFetch | |
.quad unixUnfetch | |
.text | |
.type dotlockIoFinderImpl, @function | |
dotlockIoFinderImpl: | |
.LFB310: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
lea rax, dotlockIoMethods[rip] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE310: | |
.size dotlockIoFinderImpl, .-dotlockIoFinderImpl | |
.section .data.rel.ro.local | |
.align 8 | |
.type dotlockIoFinder, @object | |
.size dotlockIoFinder, 8 | |
dotlockIoFinder: | |
.quad dotlockIoFinderImpl | |
.section .rodata | |
.LC117: | |
.string "psow" | |
.LC118: | |
.string "unix-excl" | |
.LC119: | |
.string "%s.lock" | |
.text | |
.type fillInUnixFile, @function | |
fillInUnixFile: | |
.LFB311: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 80 | |
mov QWORD PTR -56[rbp], rdi | |
mov DWORD PTR -60[rbp], esi | |
mov QWORD PTR -72[rbp], rdx | |
mov QWORD PTR -80[rbp], rcx | |
mov DWORD PTR -64[rbp], r8d | |
mov rax, QWORD PTR -72[rbp] | |
mov QWORD PTR -24[rbp], rax | |
mov DWORD PTR -12[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR -60[rbp] | |
mov DWORD PTR 24[rax], edx | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -56[rbp] | |
mov QWORD PTR 8[rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -80[rbp] | |
mov QWORD PTR 56[rax], rdx | |
mov eax, DWORD PTR -64[rbp] | |
movzx edx, al | |
mov rax, QWORD PTR -24[rbp] | |
mov WORD PTR 30[rax], dx | |
mov rdx, QWORD PTR sqlite3Config[rip+312] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 96[rax], rdx | |
mov eax, DWORD PTR -64[rbp] | |
and eax, 64 | |
test eax, eax | |
je .L1923 | |
mov rax, QWORD PTR -80[rbp] | |
jmp .L1924 | |
.L1923: | |
mov eax, 0 | |
.L1924: | |
mov edx, 1 | |
lea rsi, .LC117[rip] | |
mov rdi, rax | |
call sqlite3_uri_boolean | |
test eax, eax | |
je .L1925 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, WORD PTR 30[rax] | |
or eax, 16 | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov WORD PTR 30[rax], dx | |
.L1925: | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 24[rax] | |
lea rsi, .LC118[rip] | |
mov rdi, rax | |
call strcmp@PLT | |
test eax, eax | |
jne .L1926 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, WORD PTR 30[rax] | |
or eax, 1 | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov WORD PTR 30[rax], dx | |
.L1926: | |
mov eax, DWORD PTR -64[rbp] | |
and eax, 128 | |
test eax, eax | |
je .L1927 | |
lea rax, nolockIoMethods[rip] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L1928 | |
.L1927: | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov rax, QWORD PTR [rax] | |
mov rcx, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -80[rbp] | |
mov rsi, rcx | |
mov rdi, rdx | |
call rax | |
mov QWORD PTR -8[rbp], rax | |
.L1928: | |
lea rax, posixIoMethods[rip] | |
cmp QWORD PTR -8[rbp], rax | |
jne .L1929 | |
call unixEnterMutex | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 16[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call findInodeInfo | |
mov DWORD PTR -12[rbp], eax | |
cmp DWORD PTR -12[rbp], 0 | |
je .L1930 | |
mov ecx, DWORD PTR -60[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, 36170 | |
mov esi, ecx | |
mov rdi, rax | |
call robust_close | |
mov DWORD PTR -60[rbp], -1 | |
.L1930: | |
call unixLeaveMutex | |
jmp .L1931 | |
.L1929: | |
lea rax, dotlockIoMethods[rip] | |
cmp QWORD PTR -8[rbp], rax | |
jne .L1931 | |
mov rax, QWORD PTR -80[rbp] | |
mov rdi, rax | |
call strlen@PLT | |
add eax, 6 | |
mov DWORD PTR -28[rbp], eax | |
mov eax, DWORD PTR -28[rbp] | |
cdqe | |
mov rdi, rax | |
call sqlite3_malloc64 | |
mov QWORD PTR -40[rbp], rax | |
cmp QWORD PTR -40[rbp], 0 | |
jne .L1932 | |
mov DWORD PTR -12[rbp], 7 | |
jmp .L1933 | |
.L1932: | |
mov rdx, QWORD PTR -80[rbp] | |
mov rsi, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR -28[rbp] | |
mov rcx, rdx | |
lea rdx, .LC119[rip] | |
mov edi, eax | |
mov eax, 0 | |
call sqlite3_snprintf | |
.L1933: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -40[rbp] | |
mov QWORD PTR 40[rax], rdx | |
.L1931: | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call storeLastErrno | |
cmp DWORD PTR -12[rbp], 0 | |
je .L1934 | |
cmp DWORD PTR -60[rbp], 0 | |
js .L1936 | |
mov ecx, DWORD PTR -60[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, 36255 | |
mov esi, ecx | |
mov rdi, rax | |
call robust_close | |
jmp .L1936 | |
.L1934: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call verifyDbFile | |
.L1936: | |
mov eax, DWORD PTR -12[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE311: | |
.size fillInUnixFile, .-fillInUnixFile | |
.section .rodata | |
.LC120: | |
.string "SQLITE_TMPDIR" | |
.LC121: | |
.string "TMPDIR" | |
.text | |
.type unixTempFileDir, @function | |
unixTempFileDir: | |
.LFB312: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 160 | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR sqlite3_temp_directory[rip] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR azDirs.12535[rip] | |
test rax, rax | |
jne .L1939 | |
lea rdi, .LC120[rip] | |
call getenv@PLT | |
mov QWORD PTR azDirs.12535[rip], rax | |
.L1939: | |
mov rax, QWORD PTR azDirs.12535[rip+8] | |
test rax, rax | |
jne .L1940 | |
lea rdi, .LC121[rip] | |
call getenv@PLT | |
mov QWORD PTR azDirs.12535[rip+8], rax | |
.L1940: | |
cmp QWORD PTR -16[rbp], 0 | |
je .L1941 | |
mov rax, QWORD PTR aSyscall[rip+104] | |
lea rcx, -160[rbp] | |
mov rdx, QWORD PTR -16[rbp] | |
mov rsi, rcx | |
mov rdi, rdx | |
call rax | |
test eax, eax | |
jne .L1941 | |
mov eax, DWORD PTR -136[rbp] | |
and eax, 61440 | |
cmp eax, 16384 | |
jne .L1941 | |
mov rax, QWORD PTR aSyscall[rip+56] | |
mov rdx, QWORD PTR -16[rbp] | |
mov esi, 3 | |
mov rdi, rdx | |
call rax | |
test eax, eax | |
jne .L1941 | |
mov rax, QWORD PTR -16[rbp] | |
jmp .L1945 | |
.L1941: | |
cmp DWORD PTR -4[rbp], 5 | |
ja .L1947 | |
mov eax, DWORD PTR -4[rbp] | |
lea edx, 1[rax] | |
mov DWORD PTR -4[rbp], edx | |
mov eax, eax | |
lea rdx, 0[0+rax*8] | |
lea rax, azDirs.12535[rip] | |
mov rax, QWORD PTR [rdx+rax] | |
mov QWORD PTR -16[rbp], rax | |
jmp .L1940 | |
.L1947: | |
nop | |
mov eax, 0 | |
.L1945: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE312: | |
.size unixTempFileDir, .-unixTempFileDir | |
.section .rodata | |
.LC122: | |
.string "%s/etilqs_%llx%c" | |
.text | |
.type unixGetTempname, @function | |
unixGetTempname: | |
.LFB313: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov DWORD PTR -36[rbp], edi | |
mov QWORD PTR -48[rbp], rsi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -48[rbp] | |
mov BYTE PTR [rax], 0 | |
call unixTempFileDir | |
mov QWORD PTR -16[rbp], rax | |
cmp QWORD PTR -16[rbp], 0 | |
jne .L1949 | |
mov eax, 6410 | |
jmp .L1950 | |
.L1949: | |
lea rax, -24[rbp] | |
mov rsi, rax | |
mov edi, 8 | |
call sqlite3_randomness | |
mov eax, DWORD PTR -36[rbp] | |
cdqe | |
lea rdx, -2[rax] | |
mov rax, QWORD PTR -48[rbp] | |
add rax, rdx | |
mov BYTE PTR [rax], 0 | |
mov rcx, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -16[rbp] | |
mov rsi, QWORD PTR -48[rbp] | |
mov eax, DWORD PTR -36[rbp] | |
mov r9d, 0 | |
mov r8, rcx | |
mov rcx, rdx | |
lea rdx, .LC122[rip] | |
mov edi, eax | |
mov eax, 0 | |
call sqlite3_snprintf | |
mov eax, DWORD PTR -36[rbp] | |
cdqe | |
lea rdx, -2[rax] | |
mov rax, QWORD PTR -48[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
test al, al | |
jne .L1951 | |
mov eax, DWORD PTR -4[rbp] | |
lea edx, 1[rax] | |
mov DWORD PTR -4[rbp], edx | |
cmp eax, 10 | |
jle .L1952 | |
.L1951: | |
mov eax, 1 | |
jmp .L1950 | |
.L1952: | |
mov rax, QWORD PTR aSyscall[rip+56] | |
mov rdx, QWORD PTR -48[rbp] | |
mov esi, 0 | |
mov rdi, rdx | |
call rax | |
test eax, eax | |
je .L1949 | |
mov eax, 0 | |
.L1950: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE313: | |
.size unixGetTempname, .-unixGetTempname | |
.type findReusableFd, @function | |
findReusableFd: | |
.LFB314: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 192 | |
mov QWORD PTR -184[rbp], rdi | |
mov DWORD PTR -188[rbp], esi | |
mov QWORD PTR -8[rbp], 0 | |
call unixEnterMutex | |
mov eax, DWORD PTR nUnusedFd[rip] | |
test eax, eax | |
je .L1954 | |
mov rax, QWORD PTR aSyscall[rip+104] | |
lea rcx, -176[rbp] | |
mov rdx, QWORD PTR -184[rbp] | |
mov rsi, rcx | |
mov rdi, rdx | |
call rax | |
test eax, eax | |
jne .L1954 | |
mov rax, QWORD PTR inodeList[rip] | |
mov QWORD PTR -16[rbp], rax | |
jmp .L1955 | |
.L1957: | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 56[rax] | |
mov QWORD PTR -16[rbp], rax | |
.L1955: | |
cmp QWORD PTR -16[rbp], 0 | |
je .L1956 | |
mov rax, QWORD PTR -16[rbp] | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -176[rbp] | |
cmp rdx, rax | |
jne .L1957 | |
mov rax, QWORD PTR -16[rbp] | |
mov rdx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -168[rbp] | |
cmp rdx, rax | |
jne .L1957 | |
.L1956: | |
cmp QWORD PTR -16[rbp], 0 | |
je .L1954 | |
mov rax, QWORD PTR -16[rbp] | |
add rax, 48 | |
mov QWORD PTR -24[rbp], rax | |
jmp .L1958 | |
.L1960: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
add rax, 8 | |
mov QWORD PTR -24[rbp], rax | |
.L1958: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
je .L1959 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov eax, DWORD PTR 4[rax] | |
cmp eax, DWORD PTR -188[rbp] | |
jne .L1960 | |
.L1959: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
je .L1954 | |
mov eax, DWORD PTR nUnusedFd[rip] | |
sub eax, 1 | |
mov DWORD PTR nUnusedFd[rip], eax | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR [rax], rdx | |
.L1954: | |
call unixLeaveMutex | |
mov rax, QWORD PTR -8[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE314: | |
.size findReusableFd, .-findReusableFd | |
.type getFileMode, @function | |
getFileMode: | |
.LFB315: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 192 | |
mov QWORD PTR -168[rbp], rdi | |
mov QWORD PTR -176[rbp], rsi | |
mov QWORD PTR -184[rbp], rdx | |
mov QWORD PTR -192[rbp], rcx | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR aSyscall[rip+104] | |
lea rcx, -160[rbp] | |
mov rdx, QWORD PTR -168[rbp] | |
mov rsi, rcx | |
mov rdi, rdx | |
call rax | |
test eax, eax | |
jne .L1963 | |
mov eax, DWORD PTR -136[rbp] | |
and eax, 511 | |
mov edx, eax | |
mov rax, QWORD PTR -176[rbp] | |
mov DWORD PTR [rax], edx | |
mov edx, DWORD PTR -132[rbp] | |
mov rax, QWORD PTR -184[rbp] | |
mov DWORD PTR [rax], edx | |
mov edx, DWORD PTR -128[rbp] | |
mov rax, QWORD PTR -192[rbp] | |
mov DWORD PTR [rax], edx | |
jmp .L1964 | |
.L1963: | |
mov DWORD PTR -4[rbp], 1802 | |
.L1964: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE315: | |
.size getFileMode, .-getFileMode | |
.section .rodata | |
.LC123: | |
.string "modeof" | |
.text | |
.type findCreateFileMode, @function | |
findCreateFileMode: | |
.LFB316: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 592 | |
mov QWORD PTR -552[rbp], rdi | |
mov DWORD PTR -556[rbp], esi | |
mov QWORD PTR -568[rbp], rdx | |
mov QWORD PTR -576[rbp], rcx | |
mov QWORD PTR -584[rbp], r8 | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -568[rbp] | |
mov DWORD PTR [rax], 0 | |
mov rax, QWORD PTR -576[rbp] | |
mov DWORD PTR [rax], 0 | |
mov rax, QWORD PTR -584[rbp] | |
mov DWORD PTR [rax], 0 | |
mov eax, DWORD PTR -556[rbp] | |
and eax, 526336 | |
test eax, eax | |
je .L1967 | |
mov rax, QWORD PTR -552[rbp] | |
mov rdi, rax | |
call sqlite3Strlen30 | |
sub eax, 1 | |
mov DWORD PTR -8[rbp], eax | |
jmp .L1968 | |
.L1972: | |
cmp DWORD PTR -8[rbp], 0 | |
je .L1969 | |
mov eax, DWORD PTR -8[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -552[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
cmp al, 46 | |
jne .L1970 | |
.L1969: | |
mov eax, 0 | |
jmp .L1971 | |
.L1970: | |
sub DWORD PTR -8[rbp], 1 | |
.L1968: | |
mov eax, DWORD PTR -8[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -552[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
cmp al, 45 | |
jne .L1972 | |
mov eax, DWORD PTR -8[rbp] | |
movsx rdx, eax | |
mov rcx, QWORD PTR -552[rbp] | |
lea rax, -544[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call memcpy@PLT | |
mov eax, DWORD PTR -8[rbp] | |
cdqe | |
mov BYTE PTR -544[rbp+rax], 0 | |
mov rcx, QWORD PTR -584[rbp] | |
mov rdx, QWORD PTR -576[rbp] | |
mov rsi, QWORD PTR -568[rbp] | |
lea rax, -544[rbp] | |
mov rdi, rax | |
call getFileMode | |
mov DWORD PTR -4[rbp], eax | |
jmp .L1973 | |
.L1967: | |
mov eax, DWORD PTR -556[rbp] | |
and eax, 8 | |
test eax, eax | |
je .L1974 | |
mov rax, QWORD PTR -568[rbp] | |
mov DWORD PTR [rax], 384 | |
jmp .L1973 | |
.L1974: | |
mov eax, DWORD PTR -556[rbp] | |
and eax, 64 | |
test eax, eax | |
je .L1973 | |
mov rax, QWORD PTR -552[rbp] | |
lea rsi, .LC123[rip] | |
mov rdi, rax | |
call sqlite3_uri_parameter | |
mov QWORD PTR -16[rbp], rax | |
cmp QWORD PTR -16[rbp], 0 | |
je .L1973 | |
mov rcx, QWORD PTR -584[rbp] | |
mov rdx, QWORD PTR -576[rbp] | |
mov rsi, QWORD PTR -568[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call getFileMode | |
mov DWORD PTR -4[rbp], eax | |
.L1973: | |
mov eax, DWORD PTR -4[rbp] | |
.L1971: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE316: | |
.size findCreateFileMode, .-findCreateFileMode | |
.type unixOpen, @function | |
unixOpen: | |
.LFB317: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 672 | |
mov QWORD PTR -632[rbp], rdi | |
mov QWORD PTR -640[rbp], rsi | |
mov QWORD PTR -648[rbp], rdx | |
mov DWORD PTR -652[rbp], ecx | |
mov QWORD PTR -664[rbp], r8 | |
mov rax, QWORD PTR -648[rbp] | |
mov QWORD PTR -48[rbp], rax | |
mov DWORD PTR -4[rbp], -1 | |
mov DWORD PTR -8[rbp], 0 | |
mov eax, DWORD PTR -652[rbp] | |
mov al, 0 | |
mov DWORD PTR -52[rbp], eax | |
mov DWORD PTR -12[rbp], 0 | |
mov DWORD PTR -16[rbp], 0 | |
mov eax, DWORD PTR -652[rbp] | |
and eax, 16 | |
mov DWORD PTR -56[rbp], eax | |
mov eax, DWORD PTR -652[rbp] | |
and eax, 8 | |
mov DWORD PTR -60[rbp], eax | |
mov eax, DWORD PTR -652[rbp] | |
and eax, 4 | |
mov DWORD PTR -64[rbp], eax | |
mov eax, DWORD PTR -652[rbp] | |
and eax, 1 | |
mov DWORD PTR -20[rbp], eax | |
mov eax, DWORD PTR -652[rbp] | |
and eax, 2 | |
mov DWORD PTR -68[rbp], eax | |
cmp DWORD PTR -64[rbp], 0 | |
je .L1976 | |
cmp DWORD PTR -52[rbp], 16384 | |
je .L1977 | |
cmp DWORD PTR -52[rbp], 2048 | |
je .L1977 | |
cmp DWORD PTR -52[rbp], 524288 | |
jne .L1976 | |
.L1977: | |
mov eax, 1 | |
jmp .L1978 | |
.L1976: | |
mov eax, 0 | |
.L1978: | |
mov DWORD PTR -72[rbp], eax | |
mov rax, QWORD PTR -640[rbp] | |
mov QWORD PTR -32[rbp], rax | |
call getpid@PLT | |
mov edx, eax | |
mov eax, DWORD PTR randomnessPid[rip] | |
cmp edx, eax | |
je .L1979 | |
call getpid@PLT | |
mov DWORD PTR randomnessPid[rip], eax | |
mov esi, 0 | |
mov edi, 0 | |
call sqlite3_randomness | |
.L1979: | |
mov rax, QWORD PTR -48[rbp] | |
mov edx, 120 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
cmp DWORD PTR -52[rbp], 256 | |
jne .L1980 | |
mov edx, DWORD PTR -652[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call findReusableFd | |
mov QWORD PTR -40[rbp], rax | |
cmp QWORD PTR -40[rbp], 0 | |
je .L1981 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR [rax] | |
mov DWORD PTR -4[rbp], eax | |
jmp .L1982 | |
.L1981: | |
mov edi, 16 | |
call sqlite3_malloc64 | |
mov QWORD PTR -40[rbp], rax | |
cmp QWORD PTR -40[rbp], 0 | |
jne .L1982 | |
mov eax, 7 | |
jmp .L2008 | |
.L1982: | |
mov rax, QWORD PTR -48[rbp] | |
mov rdx, QWORD PTR -40[rbp] | |
mov QWORD PTR 48[rax], rdx | |
jmp .L1984 | |
.L1980: | |
cmp QWORD PTR -32[rbp], 0 | |
jne .L1984 | |
mov rax, QWORD PTR -632[rbp] | |
mov eax, DWORD PTR 8[rax] | |
lea rdx, -608[rbp] | |
mov rsi, rdx | |
mov edi, eax | |
call unixGetTempname | |
mov DWORD PTR -12[rbp], eax | |
cmp DWORD PTR -12[rbp], 0 | |
je .L1985 | |
mov eax, DWORD PTR -12[rbp] | |
jmp .L2008 | |
.L1985: | |
lea rax, -608[rbp] | |
mov QWORD PTR -32[rbp], rax | |
.L1984: | |
cmp DWORD PTR -20[rbp], 0 | |
cmp DWORD PTR -68[rbp], 0 | |
je .L1987 | |
or DWORD PTR -8[rbp], 2 | |
.L1987: | |
cmp DWORD PTR -64[rbp], 0 | |
je .L1988 | |
or DWORD PTR -8[rbp], 64 | |
.L1988: | |
cmp DWORD PTR -56[rbp], 0 | |
je .L1989 | |
or DWORD PTR -8[rbp], 131200 | |
.L1989: | |
cmp DWORD PTR -4[rbp], 0 | |
jns .L1990 | |
lea rdi, -620[rbp] | |
lea rcx, -616[rbp] | |
lea rdx, -612[rbp] | |
mov esi, DWORD PTR -652[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov r8, rdi | |
mov rdi, rax | |
call findCreateFileMode | |
mov DWORD PTR -12[rbp], eax | |
cmp DWORD PTR -12[rbp], 0 | |
je .L1991 | |
mov eax, DWORD PTR -12[rbp] | |
jmp .L2008 | |
.L1991: | |
mov edx, DWORD PTR -612[rbp] | |
mov ecx, DWORD PTR -8[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call robust_open | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jns .L1992 | |
cmp DWORD PTR -72[rbp], 0 | |
je .L1993 | |
call __errno_location@PLT | |
mov eax, DWORD PTR [rax] | |
cmp eax, 13 | |
jne .L1993 | |
mov rax, QWORD PTR aSyscall[rip+56] | |
mov rdx, QWORD PTR -32[rbp] | |
mov esi, 0 | |
mov rdi, rdx | |
call rax | |
test eax, eax | |
je .L1993 | |
mov DWORD PTR -12[rbp], 1544 | |
jmp .L1992 | |
.L1993: | |
call __errno_location@PLT | |
mov eax, DWORD PTR [rax] | |
cmp eax, 21 | |
je .L1992 | |
cmp DWORD PTR -68[rbp], 0 | |
je .L1992 | |
and DWORD PTR -652[rbp], -7 | |
and DWORD PTR -8[rbp], -67 | |
or DWORD PTR -652[rbp], 1 | |
mov DWORD PTR -20[rbp], 1 | |
mov edx, DWORD PTR -612[rbp] | |
mov ecx, DWORD PTR -8[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call robust_open | |
mov DWORD PTR -4[rbp], eax | |
.L1992: | |
cmp DWORD PTR -4[rbp], 0 | |
jns .L1994 | |
mov edi, 36667 | |
call sqlite3CantopenError | |
mov edi, eax | |
mov rax, QWORD PTR -32[rbp] | |
mov ecx, 36667 | |
mov rdx, rax | |
lea rsi, .LC77[rip] | |
call unixLogErrorAtLine | |
mov DWORD PTR -76[rbp], eax | |
cmp DWORD PTR -12[rbp], 0 | |
jne .L2009 | |
mov eax, DWORD PTR -76[rbp] | |
mov DWORD PTR -12[rbp], eax | |
nop | |
jmp .L2009 | |
.L1994: | |
mov eax, DWORD PTR -652[rbp] | |
and eax, 526336 | |
test eax, eax | |
je .L1990 | |
mov edx, DWORD PTR -620[rbp] | |
mov ecx, DWORD PTR -616[rbp] | |
mov eax, DWORD PTR -4[rbp] | |
mov esi, ecx | |
mov edi, eax | |
call robustFchown | |
.L1990: | |
cmp QWORD PTR -664[rbp], 0 | |
je .L1999 | |
mov rax, QWORD PTR -664[rbp] | |
mov edx, DWORD PTR -652[rbp] | |
mov DWORD PTR [rax], edx | |
.L1999: | |
mov rax, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR 48[rax] | |
test rax, rax | |
je .L2000 | |
mov rax, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov edx, DWORD PTR -4[rbp] | |
mov DWORD PTR [rax], edx | |
mov rax, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov edx, DWORD PTR -652[rbp] | |
mov DWORD PTR 4[rax], edx | |
.L2000: | |
cmp DWORD PTR -60[rbp], 0 | |
je .L2001 | |
mov rax, QWORD PTR aSyscall[rip+392] | |
mov rdx, QWORD PTR -32[rbp] | |
mov rdi, rdx | |
call rax | |
.L2001: | |
cmp DWORD PTR -60[rbp], 0 | |
je .L2002 | |
or DWORD PTR -16[rbp], 32 | |
.L2002: | |
cmp DWORD PTR -20[rbp], 0 | |
je .L2003 | |
or DWORD PTR -16[rbp], 2 | |
.L2003: | |
cmp DWORD PTR -52[rbp], 256 | |
setne al | |
movzx eax, al | |
mov DWORD PTR -80[rbp], eax | |
cmp DWORD PTR -80[rbp], 0 | |
je .L2004 | |
or DWORD PTR -16[rbp], 128 | |
.L2004: | |
cmp DWORD PTR -72[rbp], 0 | |
je .L2005 | |
or DWORD PTR -16[rbp], 8 | |
.L2005: | |
mov eax, DWORD PTR -652[rbp] | |
and eax, 64 | |
test eax, eax | |
je .L2006 | |
or DWORD PTR -16[rbp], 64 | |
.L2006: | |
mov edi, DWORD PTR -16[rbp] | |
mov rcx, QWORD PTR -640[rbp] | |
mov rdx, QWORD PTR -648[rbp] | |
mov esi, DWORD PTR -4[rbp] | |
mov rax, QWORD PTR -632[rbp] | |
mov r8d, edi | |
mov rdi, rax | |
call fillInUnixFile | |
mov DWORD PTR -12[rbp], eax | |
jmp .L1998 | |
.L2009: | |
nop | |
.L1998: | |
cmp DWORD PTR -12[rbp], 0 | |
je .L2007 | |
mov rax, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov rdi, rax | |
call sqlite3_free | |
.L2007: | |
mov eax, DWORD PTR -12[rbp] | |
.L2008: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE317: | |
.size unixOpen, .-unixOpen | |
.section .rodata | |
.LC124: | |
.string "fsync" | |
.text | |
.type unixDelete, @function | |
unixDelete: | |
.LFB318: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov DWORD PTR -36[rbp], edx | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR aSyscall[rip+392] | |
mov rdx, QWORD PTR -32[rbp] | |
mov rdi, rdx | |
call rax | |
cmp eax, -1 | |
jne .L2011 | |
call __errno_location@PLT | |
mov eax, DWORD PTR [rax] | |
cmp eax, 2 | |
jne .L2012 | |
mov DWORD PTR -4[rbp], 5898 | |
jmp .L2013 | |
.L2012: | |
mov rax, QWORD PTR -32[rbp] | |
mov ecx, 36797 | |
mov rdx, rax | |
lea rsi, .LC93[rip] | |
mov edi, 2570 | |
call unixLogErrorAtLine | |
mov DWORD PTR -4[rbp], eax | |
.L2013: | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L2014 | |
.L2011: | |
mov eax, DWORD PTR -36[rbp] | |
and eax, 1 | |
test eax, eax | |
je .L2015 | |
mov rax, QWORD PTR aSyscall[rip+416] | |
lea rcx, -8[rbp] | |
mov rdx, QWORD PTR -32[rbp] | |
mov rsi, rcx | |
mov rdi, rdx | |
call rax | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2016 | |
mov eax, DWORD PTR -8[rbp] | |
mov edx, 0 | |
mov esi, 0 | |
mov edi, eax | |
call full_fsync | |
test eax, eax | |
je .L2017 | |
mov rax, QWORD PTR -32[rbp] | |
mov ecx, 36807 | |
mov rdx, rax | |
lea rsi, .LC124[rip] | |
mov edi, 1290 | |
call unixLogErrorAtLine | |
mov DWORD PTR -4[rbp], eax | |
.L2017: | |
mov eax, DWORD PTR -8[rbp] | |
mov edx, 36809 | |
mov esi, eax | |
mov edi, 0 | |
call robust_close | |
jmp .L2015 | |
.L2016: | |
mov DWORD PTR -4[rbp], 0 | |
.L2015: | |
mov eax, DWORD PTR -4[rbp] | |
.L2014: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE318: | |
.size unixDelete, .-unixDelete | |
.type unixAccess, @function | |
unixAccess: | |
.LFB319: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 176 | |
mov QWORD PTR -152[rbp], rdi | |
mov QWORD PTR -160[rbp], rsi | |
mov DWORD PTR -164[rbp], edx | |
mov QWORD PTR -176[rbp], rcx | |
cmp DWORD PTR -164[rbp], 0 | |
jne .L2020 | |
mov rax, QWORD PTR aSyscall[rip+104] | |
lea rcx, -144[rbp] | |
mov rdx, QWORD PTR -160[rbp] | |
mov rsi, rcx | |
mov rdi, rdx | |
call rax | |
test eax, eax | |
jne .L2021 | |
mov rax, QWORD PTR -96[rbp] | |
test rax, rax | |
jle .L2021 | |
mov edx, 1 | |
jmp .L2022 | |
.L2021: | |
mov edx, 0 | |
.L2022: | |
mov rax, QWORD PTR -176[rbp] | |
mov DWORD PTR [rax], edx | |
jmp .L2023 | |
.L2020: | |
mov rax, QWORD PTR aSyscall[rip+56] | |
mov rdx, QWORD PTR -160[rbp] | |
mov esi, 6 | |
mov rdi, rdx | |
call rax | |
test eax, eax | |
sete al | |
movzx edx, al | |
mov rax, QWORD PTR -176[rbp] | |
mov DWORD PTR [rax], edx | |
.L2023: | |
mov eax, 0 | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE319: | |
.size unixAccess, .-unixAccess | |
.type mkFullPathname, @function | |
mkFullPathname: | |
.LFB320: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov DWORD PTR -36[rbp], edx | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3Strlen30 | |
mov DWORD PTR -8[rbp], eax | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 47 | |
je .L2026 | |
mov rax, QWORD PTR aSyscall[rip+80] | |
mov edx, DWORD PTR -36[rbp] | |
sub edx, 2 | |
movsx rcx, edx | |
mov rdx, QWORD PTR -32[rbp] | |
mov rsi, rcx | |
mov rdi, rdx | |
call rax | |
test rax, rax | |
jne .L2027 | |
mov edi, 36864 | |
call sqlite3CantopenError | |
mov edi, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov ecx, 36864 | |
mov rdx, rax | |
lea rsi, .LC80[rip] | |
call unixLogErrorAtLine | |
jmp .L2028 | |
.L2027: | |
mov rax, QWORD PTR -32[rbp] | |
mov rdi, rax | |
call sqlite3Strlen30 | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
lea edx, 1[rax] | |
mov DWORD PTR -4[rbp], edx | |
movsx rdx, eax | |
mov rax, QWORD PTR -32[rbp] | |
add rax, rdx | |
mov BYTE PTR [rax], 47 | |
.L2026: | |
mov edx, DWORD PTR -4[rbp] | |
mov eax, DWORD PTR -8[rbp] | |
add eax, edx | |
add eax, 1 | |
cmp eax, DWORD PTR -36[rbp] | |
jle .L2029 | |
mov eax, DWORD PTR -4[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -32[rbp] | |
add rax, rdx | |
mov BYTE PTR [rax], 0 | |
mov edi, 36873 | |
call sqlite3CantopenError | |
jmp .L2028 | |
.L2029: | |
mov eax, DWORD PTR -4[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -32[rbp] | |
lea rsi, [rdx+rax] | |
mov eax, DWORD PTR -36[rbp] | |
sub eax, DWORD PTR -4[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov rcx, rdx | |
lea rdx, .LC113[rip] | |
mov edi, eax | |
mov eax, 0 | |
call sqlite3_snprintf | |
mov eax, 0 | |
.L2028: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE320: | |
.size mkFullPathname, .-mkFullPathname | |
.type unixFullPathname, @function | |
unixFullPathname: | |
.LFB321: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 224 | |
mov QWORD PTR -200[rbp], rdi | |
mov QWORD PTR -208[rbp], rsi | |
mov DWORD PTR -212[rbp], edx | |
mov QWORD PTR -224[rbp], rcx | |
mov DWORD PTR -4[rbp], 0 | |
mov DWORD PTR -12[rbp], 1 | |
mov rax, QWORD PTR -208[rbp] | |
mov QWORD PTR -24[rbp], rax | |
mov QWORD PTR -32[rbp], 0 | |
.L2048: | |
mov DWORD PTR -36[rbp], 0 | |
mov rax, QWORD PTR aSyscall[rip+656] | |
lea rcx, -192[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov rsi, rcx | |
mov rdi, rdx | |
call rax | |
test eax, eax | |
je .L2031 | |
call __errno_location@PLT | |
mov eax, DWORD PTR [rax] | |
cmp eax, 2 | |
je .L2033 | |
mov edi, 36921 | |
call sqlite3CantopenError | |
mov edi, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov ecx, 36921 | |
mov rdx, rax | |
lea rsi, .LC104[rip] | |
call unixLogErrorAtLine | |
mov DWORD PTR -4[rbp], eax | |
jmp .L2033 | |
.L2031: | |
mov eax, DWORD PTR -168[rbp] | |
and eax, 61440 | |
cmp eax, 40960 | |
sete al | |
movzx eax, al | |
mov DWORD PTR -36[rbp], eax | |
.L2033: | |
cmp DWORD PTR -36[rbp], 0 | |
je .L2034 | |
cmp QWORD PTR -32[rbp], 0 | |
jne .L2035 | |
mov eax, DWORD PTR -212[rbp] | |
mov edi, eax | |
call sqlite3_malloc | |
mov QWORD PTR -32[rbp], rax | |
cmp QWORD PTR -32[rbp], 0 | |
jne .L2037 | |
mov DWORD PTR -4[rbp], 7 | |
jmp .L2037 | |
.L2035: | |
add DWORD PTR -12[rbp], 1 | |
cmp DWORD PTR -12[rbp], 100 | |
jle .L2037 | |
mov edi, 36932 | |
call sqlite3CantopenError | |
mov DWORD PTR -4[rbp], eax | |
.L2037: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2038 | |
mov rax, QWORD PTR aSyscall[rip+632] | |
mov edx, DWORD PTR -212[rbp] | |
sub edx, 1 | |
movsx rdx, edx | |
mov rsi, QWORD PTR -32[rbp] | |
mov rcx, QWORD PTR -24[rbp] | |
mov rdi, rcx | |
call rax | |
mov DWORD PTR -8[rbp], eax | |
cmp DWORD PTR -8[rbp], 0 | |
jns .L2039 | |
mov edi, 36938 | |
call sqlite3CantopenError | |
mov edi, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov ecx, 36938 | |
mov rdx, rax | |
lea rsi, .LC103[rip] | |
call unixLogErrorAtLine | |
mov DWORD PTR -4[rbp], eax | |
jmp .L2038 | |
.L2039: | |
mov rax, QWORD PTR -32[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 47 | |
je .L2040 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3Strlen30 | |
mov DWORD PTR -40[rbp], eax | |
jmp .L2041 | |
.L2043: | |
sub DWORD PTR -40[rbp], 1 | |
.L2041: | |
cmp DWORD PTR -40[rbp], 0 | |
jle .L2042 | |
mov eax, DWORD PTR -40[rbp] | |
cdqe | |
lea rdx, -1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
cmp al, 47 | |
jne .L2043 | |
.L2042: | |
mov edx, DWORD PTR -8[rbp] | |
mov eax, DWORD PTR -40[rbp] | |
add eax, edx | |
add eax, 1 | |
cmp eax, DWORD PTR -212[rbp] | |
jle .L2044 | |
mov edi, 36944 | |
call sqlite3CantopenError | |
mov DWORD PTR -4[rbp], eax | |
jmp .L2040 | |
.L2044: | |
mov eax, DWORD PTR -8[rbp] | |
add eax, 1 | |
movsx rdx, eax | |
mov eax, DWORD PTR -40[rbp] | |
movsx rcx, eax | |
mov rax, QWORD PTR -32[rbp] | |
add rcx, rax | |
mov rax, QWORD PTR -32[rbp] | |
mov rsi, rax | |
mov rdi, rcx | |
call memmove@PLT | |
mov eax, DWORD PTR -40[rbp] | |
movsx rdx, eax | |
mov rcx, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call memcpy@PLT | |
mov eax, DWORD PTR -40[rbp] | |
add DWORD PTR -8[rbp], eax | |
.L2040: | |
mov eax, DWORD PTR -8[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -32[rbp] | |
add rax, rdx | |
mov BYTE PTR [rax], 0 | |
.L2038: | |
mov rax, QWORD PTR -32[rbp] | |
mov QWORD PTR -24[rbp], rax | |
.L2034: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2045 | |
mov rax, QWORD PTR -24[rbp] | |
cmp rax, QWORD PTR -224[rbp] | |
je .L2045 | |
mov edx, DWORD PTR -212[rbp] | |
mov rcx, QWORD PTR -224[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call mkFullPathname | |
mov DWORD PTR -4[rbp], eax | |
.L2045: | |
cmp DWORD PTR -36[rbp], 0 | |
je .L2050 | |
mov rax, QWORD PTR -224[rbp] | |
mov QWORD PTR -24[rbp], rax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L2048 | |
jmp .L2047 | |
.L2050: | |
nop | |
.L2047: | |
mov rax, QWORD PTR -32[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE321: | |
.size unixFullPathname, .-unixFullPathname | |
.type unixDlOpen, @function | |
unixDlOpen: | |
.LFB322: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov rax, QWORD PTR -16[rbp] | |
mov esi, 258 | |
mov rdi, rax | |
call dlopen@PLT | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE322: | |
.size unixDlOpen, .-unixDlOpen | |
.type unixDlError, @function | |
unixDlError: | |
.LFB323: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov QWORD PTR -40[rbp], rdx | |
call unixEnterMutex | |
call dlerror@PLT | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
je .L2054 | |
mov rdx, QWORD PTR -8[rbp] | |
mov rsi, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR -28[rbp] | |
mov rcx, rdx | |
lea rdx, .LC113[rip] | |
mov edi, eax | |
mov eax, 0 | |
call sqlite3_snprintf | |
.L2054: | |
call unixLeaveMutex | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE323: | |
.size unixDlError, .-unixDlError | |
.type unixDlSym, @function | |
unixDlSym: | |
.LFB324: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov QWORD PTR -40[rbp], rdx | |
mov rax, QWORD PTR dlsym@GOTPCREL[rip] | |
mov QWORD PTR -8[rbp], rax | |
mov rcx, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov rsi, rcx | |
mov rdi, rdx | |
call rax | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE324: | |
.size unixDlSym, .-unixDlSym | |
.type unixDlClose, @function | |
unixDlClose: | |
.LFB325: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call dlclose@PLT | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE325: | |
.size unixDlClose, .-unixDlClose | |
.section .rodata | |
.LC125: | |
.string "/dev/urandom" | |
.text | |
.type unixRandomness, @function | |
unixRandomness: | |
.LFB326: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov QWORD PTR -40[rbp], rdx | |
mov eax, DWORD PTR -28[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
call getpid@PLT | |
mov DWORD PTR randomnessPid[rip], eax | |
mov edx, 0 | |
mov esi, 0 | |
lea rdi, .LC125[rip] | |
call robust_open | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jns .L2059 | |
lea rax, -16[rbp] | |
mov rdi, rax | |
call time@PLT | |
mov rdx, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -40[rbp] | |
lea rdx, 8[rax] | |
mov eax, DWORD PTR randomnessPid[rip] | |
mov DWORD PTR [rdx], eax | |
mov DWORD PTR -28[rbp], 12 | |
jmp .L2060 | |
.L2059: | |
mov rax, QWORD PTR aSyscall[rip+200] | |
mov edx, DWORD PTR -28[rbp] | |
movsx rdx, edx | |
mov rsi, QWORD PTR -40[rbp] | |
mov ecx, DWORD PTR -4[rbp] | |
mov edi, ecx | |
call rax | |
mov DWORD PTR -8[rbp], eax | |
cmp DWORD PTR -8[rbp], 0 | |
jns .L2061 | |
call __errno_location@PLT | |
mov eax, DWORD PTR [rax] | |
cmp eax, 4 | |
je .L2059 | |
.L2061: | |
mov eax, DWORD PTR -4[rbp] | |
mov edx, 37068 | |
mov esi, eax | |
mov edi, 0 | |
call robust_close | |
.L2060: | |
mov eax, DWORD PTR -28[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE326: | |
.size unixRandomness, .-unixRandomness | |
.type unixSleep, @function | |
unixSleep: | |
.LFB327: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov eax, DWORD PTR -28[rbp] | |
lea ecx, 999999[rax] | |
mov edx, 1125899907 | |
mov eax, ecx | |
imul edx | |
sar edx, 18 | |
mov eax, ecx | |
sar eax, 31 | |
sub edx, eax | |
mov eax, edx | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
mov edi, eax | |
call sleep@PLT | |
mov eax, DWORD PTR -4[rbp] | |
imul eax, eax, 1000000 | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE327: | |
.size unixSleep, .-unixSleep | |
.type unixCurrentTimeInt64, @function | |
unixCurrentTimeInt64: | |
.LFB328: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -48[rbp], rsi | |
mov DWORD PTR -4[rbp], 0 | |
lea rax, -32[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call gettimeofday@PLT | |
mov rax, QWORD PTR -32[rbp] | |
imul rdx, rax, 1000 | |
mov rax, QWORD PTR unixEpoch.12793[rip] | |
lea rsi, [rdx+rax] | |
mov rcx, QWORD PTR -24[rbp] | |
movabs rdx, 2361183241434822607 | |
mov rax, rcx | |
imul rdx | |
sar rdx, 7 | |
mov rax, rcx | |
sar rax, 63 | |
sub rdx, rax | |
mov rax, rdx | |
lea rdx, [rsi+rax] | |
mov rax, QWORD PTR -48[rbp] | |
mov QWORD PTR [rax], rdx | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE328: | |
.size unixCurrentTimeInt64, .-unixCurrentTimeInt64 | |
.type unixCurrentTime, @function | |
unixCurrentTime: | |
.LFB329: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov QWORD PTR -16[rbp], 0 | |
lea rax, -16[rbp] | |
mov rsi, rax | |
mov edi, 0 | |
call unixCurrentTimeInt64 | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -16[rbp] | |
pxor xmm0, xmm0 | |
cvtsi2sdq xmm0, rax | |
movsd xmm1, QWORD PTR .LC12[rip] | |
divsd xmm0, xmm1 | |
mov rax, QWORD PTR -32[rbp] | |
movsd QWORD PTR [rax], xmm0 | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE329: | |
.size unixCurrentTime, .-unixCurrentTime | |
.type unixGetLastError, @function | |
unixGetLastError: | |
.LFB330: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov QWORD PTR -24[rbp], rdx | |
call __errno_location@PLT | |
mov eax, DWORD PTR [rax] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE330: | |
.size unixGetLastError, .-unixGetLastError | |
.globl sqlite3_os_init | |
.type sqlite3_os_init, @function | |
sqlite3_os_init: | |
.LFB331: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L2072 | |
.L2073: | |
cmp DWORD PTR -4[rbp], 0 | |
sete al | |
movzx ecx, al | |
mov edx, DWORD PTR -4[rbp] | |
mov rax, rdx | |
sal rax, 2 | |
add rax, rdx | |
sal rax, 2 | |
add rax, rdx | |
sal rax, 3 | |
lea rdx, aVfs.12810[rip] | |
add rax, rdx | |
mov esi, ecx | |
mov rdi, rax | |
call sqlite3_vfs_register | |
add DWORD PTR -4[rbp], 1 | |
.L2072: | |
cmp DWORD PTR -4[rbp], 3 | |
jbe .L2073 | |
mov eax, 0 | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE331: | |
.size sqlite3_os_init, .-sqlite3_os_init | |
.globl sqlite3_os_end | |
.type sqlite3_os_end, @function | |
sqlite3_os_end: | |
.LFB332: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov eax, 0 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE332: | |
.size sqlite3_os_end, .-sqlite3_os_end | |
.type sqlite3BitvecCreate, @function | |
sqlite3BitvecCreate: | |
.LFB333: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov DWORD PTR -20[rbp], edi | |
mov edi, 512 | |
call sqlite3MallocZero | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
je .L2078 | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, DWORD PTR -20[rbp] | |
mov DWORD PTR [rax], edx | |
.L2078: | |
mov rax, QWORD PTR -8[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE333: | |
.size sqlite3BitvecCreate, .-sqlite3BitvecCreate | |
.type sqlite3BitvecTestNotNull, @function | |
sqlite3BitvecTestNotNull: | |
.LFB334: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
sub DWORD PTR -28[rbp], 1 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp eax, DWORD PTR -28[rbp] | |
ja .L2083 | |
mov eax, 0 | |
jmp .L2082 | |
.L2084: | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, DWORD PTR 8[rax] | |
mov eax, DWORD PTR -28[rbp] | |
mov edx, 0 | |
div esi | |
mov DWORD PTR -8[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
mov ecx, DWORD PTR 8[rax] | |
mov eax, DWORD PTR -28[rbp] | |
mov edx, 0 | |
div ecx | |
mov DWORD PTR -28[rbp], edx | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR -8[rbp] | |
add rdx, 2 | |
mov rax, QWORD PTR [rax+rdx*8] | |
mov QWORD PTR -24[rbp], rax | |
cmp QWORD PTR -24[rbp], 0 | |
jne .L2083 | |
mov eax, 0 | |
jmp .L2082 | |
.L2083: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 8[rax] | |
test eax, eax | |
jne .L2084 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp eax, 3968 | |
ja .L2085 | |
mov eax, DWORD PTR -28[rbp] | |
shr eax, 3 | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, edx | |
movzx eax, BYTE PTR 16[rax+rdx] | |
movzx edx, al | |
mov eax, DWORD PTR -28[rbp] | |
and eax, 7 | |
mov ecx, eax | |
sar edx, cl | |
mov eax, edx | |
and eax, 1 | |
test eax, eax | |
setne al | |
movzx eax, al | |
jmp .L2082 | |
.L2085: | |
mov ecx, DWORD PTR -28[rbp] | |
lea eax, 1[rcx] | |
mov DWORD PTR -28[rbp], eax | |
mov eax, ecx | |
shr eax, 2 | |
mov edx, 554189329 | |
mul edx | |
mov eax, edx | |
shr eax, 2 | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
imul eax, eax, 124 | |
sub ecx, eax | |
mov eax, ecx | |
mov DWORD PTR -4[rbp], eax | |
jmp .L2086 | |
.L2088: | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
add rdx, 4 | |
mov eax, DWORD PTR [rax+rdx*4] | |
cmp eax, DWORD PTR -28[rbp] | |
jne .L2087 | |
mov eax, 1 | |
jmp .L2082 | |
.L2087: | |
mov eax, DWORD PTR -4[rbp] | |
lea ecx, 1[rax] | |
mov eax, ecx | |
shr eax, 2 | |
mov edx, 554189329 | |
mul edx | |
mov eax, edx | |
shr eax, 2 | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
imul eax, eax, 124 | |
sub ecx, eax | |
mov eax, ecx | |
mov DWORD PTR -4[rbp], eax | |
.L2086: | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
add rdx, 4 | |
mov eax, DWORD PTR [rax+rdx*4] | |
test eax, eax | |
jne .L2088 | |
mov eax, 0 | |
.L2082: | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE334: | |
.size sqlite3BitvecTestNotNull, .-sqlite3BitvecTestNotNull | |
.type sqlite3BitvecTest, @function | |
sqlite3BitvecTest: | |
.LFB335: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
cmp QWORD PTR -8[rbp], 0 | |
je .L2090 | |
mov edx, DWORD PTR -12[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3BitvecTestNotNull | |
test eax, eax | |
je .L2090 | |
mov eax, 1 | |
jmp .L2092 | |
.L2090: | |
mov eax, 0 | |
.L2092: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE335: | |
.size sqlite3BitvecTest, .-sqlite3BitvecTest | |
.type sqlite3BitvecSet, @function | |
sqlite3BitvecSet: | |
.LFB336: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
cmp QWORD PTR -40[rbp], 0 | |
jne .L2094 | |
mov eax, 0 | |
jmp .L2095 | |
.L2094: | |
sub DWORD PTR -44[rbp], 1 | |
jmp .L2096 | |
.L2099: | |
mov rax, QWORD PTR -40[rbp] | |
mov edi, DWORD PTR 8[rax] | |
mov eax, DWORD PTR -44[rbp] | |
mov edx, 0 | |
div edi | |
mov DWORD PTR -16[rbp], eax | |
mov rax, QWORD PTR -40[rbp] | |
mov ecx, DWORD PTR 8[rax] | |
mov eax, DWORD PTR -44[rbp] | |
mov edx, 0 | |
div ecx | |
mov DWORD PTR -44[rbp], edx | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR -16[rbp] | |
add rdx, 2 | |
mov rax, QWORD PTR [rax+rdx*8] | |
test rax, rax | |
jne .L2097 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 8[rax] | |
mov edi, eax | |
call sqlite3BitvecCreate | |
mov rcx, rax | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR -16[rbp] | |
add rdx, 2 | |
mov QWORD PTR [rax+rdx*8], rcx | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR -16[rbp] | |
add rdx, 2 | |
mov rax, QWORD PTR [rax+rdx*8] | |
test rax, rax | |
jne .L2097 | |
mov eax, 7 | |
jmp .L2095 | |
.L2097: | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR -16[rbp] | |
add rdx, 2 | |
mov rax, QWORD PTR [rax+rdx*8] | |
mov QWORD PTR -40[rbp], rax | |
.L2096: | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp eax, 3968 | |
jbe .L2098 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 8[rax] | |
test eax, eax | |
jne .L2099 | |
.L2098: | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp eax, 3968 | |
ja .L2100 | |
mov eax, DWORD PTR -44[rbp] | |
shr eax, 3 | |
mov edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov ecx, edx | |
movzx eax, BYTE PTR 16[rax+rcx] | |
mov edi, eax | |
mov eax, DWORD PTR -44[rbp] | |
and eax, 7 | |
mov esi, 1 | |
mov ecx, eax | |
sal esi, cl | |
mov eax, esi | |
or eax, edi | |
mov ecx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, edx | |
mov BYTE PTR 16[rax+rdx], cl | |
mov eax, 0 | |
jmp .L2095 | |
.L2100: | |
mov ecx, DWORD PTR -44[rbp] | |
lea eax, 1[rcx] | |
mov DWORD PTR -44[rbp], eax | |
mov eax, ecx | |
shr eax, 2 | |
mov edx, 554189329 | |
mul edx | |
mov eax, edx | |
shr eax, 2 | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
imul eax, eax, 124 | |
sub ecx, eax | |
mov eax, ecx | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
add rdx, 4 | |
mov eax, DWORD PTR [rax+rdx*4] | |
test eax, eax | |
jne .L2101 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 4[rax] | |
cmp eax, 122 | |
ja .L2111 | |
jmp .L2103 | |
.L2101: | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
add rdx, 4 | |
mov eax, DWORD PTR [rax+rdx*4] | |
cmp eax, DWORD PTR -44[rbp] | |
jne .L2105 | |
mov eax, 0 | |
jmp .L2095 | |
.L2105: | |
add DWORD PTR -4[rbp], 1 | |
cmp DWORD PTR -4[rbp], 123 | |
jbe .L2106 | |
mov DWORD PTR -4[rbp], 0 | |
.L2106: | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
add rdx, 4 | |
mov eax, DWORD PTR [rax+rdx*4] | |
test eax, eax | |
jne .L2101 | |
jmp .L2104 | |
.L2111: | |
nop | |
.L2104: | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 4[rax] | |
cmp eax, 61 | |
jbe .L2103 | |
mov esi, 496 | |
mov edi, 0 | |
call sqlite3DbMallocRaw | |
mov QWORD PTR -24[rbp], rax | |
cmp QWORD PTR -24[rbp], 0 | |
jne .L2107 | |
mov eax, 7 | |
jmp .L2095 | |
.L2107: | |
mov rax, QWORD PTR -40[rbp] | |
lea rcx, 16[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, 496 | |
mov rsi, rcx | |
mov rdi, rax | |
call memcpy@PLT | |
mov rax, QWORD PTR -40[rbp] | |
add rax, 16 | |
mov edx, 496 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR [rax] | |
mov eax, eax | |
add rax, 61 | |
shr rax | |
movabs rdx, -8925843906633654007 | |
mul rdx | |
mov rax, rdx | |
shr rax, 4 | |
mov edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 8[rax], edx | |
mov edx, DWORD PTR -44[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3BitvecSet | |
mov DWORD PTR -12[rbp], eax | |
mov DWORD PTR -8[rbp], 0 | |
jmp .L2108 | |
.L2110: | |
mov eax, DWORD PTR -8[rbp] | |
lea rdx, 0[0+rax*4] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
mov eax, DWORD PTR [rax] | |
test eax, eax | |
je .L2109 | |
mov eax, DWORD PTR -8[rbp] | |
lea rdx, 0[0+rax*4] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3BitvecSet | |
or DWORD PTR -12[rbp], eax | |
.L2109: | |
add DWORD PTR -8[rbp], 1 | |
.L2108: | |
cmp DWORD PTR -8[rbp], 123 | |
jbe .L2110 | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rax | |
mov edi, 0 | |
call sqlite3DbFree | |
mov eax, DWORD PTR -12[rbp] | |
jmp .L2095 | |
.L2103: | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 4[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 4[rax], edx | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
lea rcx, 4[rdx] | |
mov edx, DWORD PTR -44[rbp] | |
mov DWORD PTR [rax+rcx*4], edx | |
mov eax, 0 | |
.L2095: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE336: | |
.size sqlite3BitvecSet, .-sqlite3BitvecSet | |
.type sqlite3BitvecClear, @function | |
sqlite3BitvecClear: | |
.LFB337: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov QWORD PTR -56[rbp], rdx | |
cmp QWORD PTR -40[rbp], 0 | |
je .L2123 | |
sub DWORD PTR -44[rbp], 1 | |
jmp .L2115 | |
.L2116: | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, DWORD PTR 8[rax] | |
mov eax, DWORD PTR -44[rbp] | |
mov edx, 0 | |
div esi | |
mov DWORD PTR -12[rbp], eax | |
mov rax, QWORD PTR -40[rbp] | |
mov ecx, DWORD PTR 8[rax] | |
mov eax, DWORD PTR -44[rbp] | |
mov edx, 0 | |
div ecx | |
mov DWORD PTR -44[rbp], edx | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR -12[rbp] | |
add rdx, 2 | |
mov rax, QWORD PTR [rax+rdx*8] | |
mov QWORD PTR -40[rbp], rax | |
cmp QWORD PTR -40[rbp], 0 | |
je .L2124 | |
.L2115: | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 8[rax] | |
test eax, eax | |
jne .L2116 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp eax, 3968 | |
ja .L2117 | |
mov eax, DWORD PTR -44[rbp] | |
shr eax, 3 | |
mov edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov ecx, edx | |
movzx eax, BYTE PTR 16[rax+rcx] | |
mov esi, eax | |
mov eax, DWORD PTR -44[rbp] | |
and eax, 7 | |
mov edi, 1 | |
mov ecx, eax | |
sal edi, cl | |
mov eax, edi | |
not eax | |
and eax, esi | |
mov ecx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, edx | |
mov BYTE PTR 16[rax+rdx], cl | |
jmp .L2112 | |
.L2117: | |
mov rax, QWORD PTR -56[rbp] | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -40[rbp] | |
lea rcx, 16[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, 496 | |
mov rsi, rcx | |
mov rdi, rax | |
call memcpy@PLT | |
mov rax, QWORD PTR -40[rbp] | |
add rax, 16 | |
mov edx, 496 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 4[rax], 0 | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L2118 | |
.L2122: | |
mov eax, DWORD PTR -4[rbp] | |
lea rdx, 0[0+rax*4] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
mov eax, DWORD PTR [rax] | |
test eax, eax | |
je .L2119 | |
mov eax, DWORD PTR -4[rbp] | |
lea rdx, 0[0+rax*4] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
mov eax, DWORD PTR [rax] | |
mov edx, DWORD PTR -44[rbp] | |
add edx, 1 | |
cmp eax, edx | |
je .L2119 | |
mov eax, DWORD PTR -4[rbp] | |
lea rdx, 0[0+rax*4] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
mov eax, DWORD PTR [rax] | |
lea ecx, -1[rax] | |
mov eax, ecx | |
shr eax, 2 | |
mov edx, 554189329 | |
mul edx | |
mov eax, edx | |
shr eax, 2 | |
mov DWORD PTR -8[rbp], eax | |
mov eax, DWORD PTR -8[rbp] | |
imul eax, eax, 124 | |
sub ecx, eax | |
mov eax, ecx | |
mov DWORD PTR -8[rbp], eax | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 4[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 4[rax], edx | |
jmp .L2120 | |
.L2121: | |
add DWORD PTR -8[rbp], 1 | |
cmp DWORD PTR -8[rbp], 123 | |
jbe .L2120 | |
mov DWORD PTR -8[rbp], 0 | |
.L2120: | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR -8[rbp] | |
add rdx, 4 | |
mov eax, DWORD PTR [rax+rdx*4] | |
test eax, eax | |
jne .L2121 | |
mov eax, DWORD PTR -4[rbp] | |
lea rdx, 0[0+rax*4] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov ecx, DWORD PTR -8[rbp] | |
add rcx, 4 | |
mov DWORD PTR [rax+rcx*4], edx | |
.L2119: | |
add DWORD PTR -4[rbp], 1 | |
.L2118: | |
cmp DWORD PTR -4[rbp], 123 | |
jbe .L2122 | |
jmp .L2112 | |
.L2123: | |
nop | |
jmp .L2112 | |
.L2124: | |
nop | |
.L2112: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE337: | |
.size sqlite3BitvecClear, .-sqlite3BitvecClear | |
.type sqlite3BitvecDestroy, @function | |
sqlite3BitvecDestroy: | |
.LFB338: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
cmp QWORD PTR -24[rbp], 0 | |
je .L2131 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 8[rax] | |
test eax, eax | |
je .L2128 | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L2129 | |
.L2130: | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
add rdx, 2 | |
mov rax, QWORD PTR [rax+rdx*8] | |
mov rdi, rax | |
call sqlite3BitvecDestroy | |
add DWORD PTR -4[rbp], 1 | |
.L2129: | |
cmp DWORD PTR -4[rbp], 61 | |
jbe .L2130 | |
.L2128: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
jmp .L2125 | |
.L2131: | |
nop | |
.L2125: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE338: | |
.size sqlite3BitvecDestroy, .-sqlite3BitvecDestroy | |
.type sqlite3BitvecSize, @function | |
sqlite3BitvecSize: | |
.LFB339: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR [rax] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE339: | |
.size sqlite3BitvecSize, .-sqlite3BitvecSize | |
.type sqlite3BitvecBuiltinTest, @function | |
sqlite3BitvecBuiltinTest: | |
.LFB340: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
push rbx | |
sub rsp, 72 | |
.cfi_offset 3, -24 | |
mov DWORD PTR -68[rbp], edi | |
mov QWORD PTR -80[rbp], rsi | |
mov QWORD PTR -40[rbp], 0 | |
mov QWORD PTR -48[rbp], 0 | |
mov DWORD PTR -20[rbp], -1 | |
mov eax, DWORD PTR -68[rbp] | |
mov edi, eax | |
call sqlite3BitvecCreate | |
mov QWORD PTR -40[rbp], rax | |
mov eax, DWORD PTR -68[rbp] | |
add eax, 7 | |
lea edx, 7[rax] | |
test eax, eax | |
cmovs eax, edx | |
sar eax, 3 | |
add eax, 1 | |
cdqe | |
mov rdi, rax | |
call sqlite3MallocZero | |
mov QWORD PTR -48[rbp], rax | |
mov edi, 512 | |
call sqlite3_malloc64 | |
mov QWORD PTR -56[rbp], rax | |
cmp QWORD PTR -40[rbp], 0 | |
je .L2135 | |
cmp QWORD PTR -48[rbp], 0 | |
je .L2135 | |
cmp QWORD PTR -56[rbp], 0 | |
je .L2135 | |
mov esi, 1 | |
mov edi, 0 | |
call sqlite3BitvecSet | |
mov rax, QWORD PTR -56[rbp] | |
mov rdx, rax | |
mov esi, 1 | |
mov edi, 0 | |
call sqlite3BitvecClear | |
mov DWORD PTR -28[rbp], 0 | |
jmp .L2136 | |
.L2142: | |
mov eax, DWORD PTR -60[rbp] | |
cmp eax, 1 | |
jl .L2137 | |
cmp eax, 2 | |
jle .L2138 | |
cmp eax, 5 | |
jne .L2137 | |
.L2138: | |
mov DWORD PTR -24[rbp], 4 | |
mov eax, DWORD PTR -28[rbp] | |
cdqe | |
add rax, 2 | |
lea rdx, 0[0+rax*4] | |
mov rax, QWORD PTR -80[rbp] | |
add rax, rdx | |
mov eax, DWORD PTR [rax] | |
sub eax, 1 | |
mov DWORD PTR -64[rbp], eax | |
mov eax, DWORD PTR -28[rbp] | |
cdqe | |
add rax, 2 | |
lea rdx, 0[0+rax*4] | |
mov rax, QWORD PTR -80[rbp] | |
add rax, rdx | |
mov edx, DWORD PTR -28[rbp] | |
movsx rdx, edx | |
add rdx, 2 | |
lea rcx, 0[0+rdx*4] | |
mov rdx, QWORD PTR -80[rbp] | |
add rdx, rcx | |
mov ecx, DWORD PTR [rdx] | |
mov edx, DWORD PTR -28[rbp] | |
movsx rdx, edx | |
add rdx, 3 | |
lea rsi, 0[0+rdx*4] | |
mov rdx, QWORD PTR -80[rbp] | |
add rdx, rsi | |
mov edx, DWORD PTR [rdx] | |
add edx, ecx | |
mov DWORD PTR [rax], edx | |
jmp .L2139 | |
.L2137: | |
mov DWORD PTR -24[rbp], 2 | |
lea rax, -64[rbp] | |
mov rsi, rax | |
mov edi, 4 | |
call sqlite3_randomness | |
nop | |
.L2139: | |
mov eax, DWORD PTR -28[rbp] | |
cdqe | |
add rax, 1 | |
lea rdx, 0[0+rax*4] | |
mov rax, QWORD PTR -80[rbp] | |
add rax, rdx | |
mov edx, DWORD PTR [rax] | |
sub edx, 1 | |
mov DWORD PTR [rax], edx | |
mov eax, DWORD PTR [rax] | |
test eax, eax | |
jle .L2140 | |
mov DWORD PTR -24[rbp], 0 | |
.L2140: | |
mov eax, DWORD PTR -24[rbp] | |
add DWORD PTR -28[rbp], eax | |
mov eax, DWORD PTR -64[rbp] | |
and eax, 2147483647 | |
cdq | |
idiv DWORD PTR -68[rbp] | |
mov eax, edx | |
mov DWORD PTR -64[rbp], eax | |
mov eax, DWORD PTR -60[rbp] | |
and eax, 1 | |
test eax, eax | |
je .L2141 | |
mov eax, DWORD PTR -64[rbp] | |
add eax, 1 | |
sar eax, 3 | |
movsx rdx, eax | |
mov rax, QWORD PTR -48[rbp] | |
add rax, rdx | |
mov edx, DWORD PTR -64[rbp] | |
add edx, 1 | |
sar edx, 3 | |
movsx rcx, edx | |
mov rdx, QWORD PTR -48[rbp] | |
add rdx, rcx | |
movzx edx, BYTE PTR [rdx] | |
mov edi, edx | |
mov edx, DWORD PTR -64[rbp] | |
add edx, 1 | |
and edx, 7 | |
mov esi, 1 | |
mov ecx, edx | |
sal esi, cl | |
mov edx, esi | |
or edx, edi | |
mov BYTE PTR [rax], dl | |
cmp DWORD PTR -60[rbp], 5 | |
je .L2136 | |
mov eax, DWORD PTR -64[rbp] | |
add eax, 1 | |
mov edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3BitvecSet | |
test eax, eax | |
je .L2136 | |
jmp .L2135 | |
.L2141: | |
mov eax, DWORD PTR -64[rbp] | |
add eax, 1 | |
sar eax, 3 | |
movsx rdx, eax | |
mov rax, QWORD PTR -48[rbp] | |
add rax, rdx | |
mov edx, DWORD PTR -64[rbp] | |
add edx, 1 | |
sar edx, 3 | |
movsx rcx, edx | |
mov rdx, QWORD PTR -48[rbp] | |
add rdx, rcx | |
movzx edx, BYTE PTR [rdx] | |
mov esi, edx | |
mov edx, DWORD PTR -64[rbp] | |
add edx, 1 | |
and edx, 7 | |
mov edi, 1 | |
mov ecx, edx | |
sal edi, cl | |
mov edx, edi | |
not edx | |
and edx, esi | |
mov BYTE PTR [rax], dl | |
mov eax, DWORD PTR -64[rbp] | |
add eax, 1 | |
mov ecx, eax | |
mov rdx, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call sqlite3BitvecClear | |
.L2136: | |
mov eax, DWORD PTR -28[rbp] | |
cdqe | |
lea rdx, 0[0+rax*4] | |
mov rax, QWORD PTR -80[rbp] | |
add rax, rdx | |
mov eax, DWORD PTR [rax] | |
mov DWORD PTR -60[rbp], eax | |
cmp DWORD PTR -60[rbp], 0 | |
jne .L2142 | |
mov esi, 0 | |
mov edi, 0 | |
call sqlite3BitvecTest | |
mov ebx, eax | |
mov eax, DWORD PTR -68[rbp] | |
add eax, 1 | |
mov edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3BitvecTest | |
add ebx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call sqlite3BitvecTest | |
add eax, ebx | |
mov ebx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call sqlite3BitvecSize | |
mov edx, eax | |
mov eax, DWORD PTR -68[rbp] | |
sub edx, eax | |
mov eax, edx | |
add eax, ebx | |
mov DWORD PTR -20[rbp], eax | |
mov DWORD PTR -64[rbp], 1 | |
jmp .L2143 | |
.L2145: | |
mov eax, DWORD PTR -64[rbp] | |
sar eax, 3 | |
movsx rdx, eax | |
mov rax, QWORD PTR -48[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
movzx edx, al | |
mov eax, DWORD PTR -64[rbp] | |
and eax, 7 | |
mov ecx, eax | |
sar edx, cl | |
mov eax, edx | |
and eax, 1 | |
test eax, eax | |
setne al | |
movzx ebx, al | |
mov eax, DWORD PTR -64[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3BitvecTest | |
cmp ebx, eax | |
je .L2144 | |
mov eax, DWORD PTR -64[rbp] | |
mov DWORD PTR -20[rbp], eax | |
jmp .L2135 | |
.L2144: | |
mov eax, DWORD PTR -64[rbp] | |
add eax, 1 | |
mov DWORD PTR -64[rbp], eax | |
.L2143: | |
mov eax, DWORD PTR -64[rbp] | |
cmp eax, DWORD PTR -68[rbp] | |
jle .L2145 | |
.L2135: | |
mov rax, QWORD PTR -56[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
mov rax, QWORD PTR -48[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call sqlite3BitvecDestroy | |
mov eax, DWORD PTR -20[rbp] | |
add rsp, 72 | |
pop rbx | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE340: | |
.size sqlite3BitvecBuiltinTest, .-sqlite3BitvecBuiltinTest | |
.type pcacheManageDirtyList, @function | |
pcacheManageDirtyList: | |
.LFB341: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov eax, esi | |
mov BYTE PTR -28[rbp], al | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 24[rax] | |
mov QWORD PTR -8[rbp], rax | |
movzx eax, BYTE PTR -28[rbp] | |
and eax, 1 | |
test eax, eax | |
je .L2148 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 16[rax] | |
cmp rax, QWORD PTR -24[rbp] | |
jne .L2149 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 64[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 16[rax], rdx | |
.L2149: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 56[rax] | |
test rax, rax | |
je .L2150 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 56[rax] | |
mov rdx, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 64[rdx] | |
mov QWORD PTR 64[rax], rdx | |
jmp .L2151 | |
.L2150: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 64[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 8[rax], rdx | |
.L2151: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 64[rax] | |
test rax, rax | |
je .L2152 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov rdx, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 56[rdx] | |
mov QWORD PTR 56[rax], rdx | |
jmp .L2148 | |
.L2152: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 56[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
jne .L2148 | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 45[rax], 2 | |
.L2148: | |
movzx eax, BYTE PTR -28[rbp] | |
and eax, 2 | |
test eax, eax | |
je .L2156 | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 64[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 56[rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 56[rax] | |
test rax, rax | |
je .L2154 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 56[rax] | |
mov rdx, QWORD PTR -24[rbp] | |
mov QWORD PTR 64[rax], rdx | |
jmp .L2155 | |
.L2154: | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov QWORD PTR 8[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 44[rax] | |
test al, al | |
je .L2155 | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 45[rax], 1 | |
.L2155: | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 16[rax] | |
test rax, rax | |
jne .L2156 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, WORD PTR 52[rax] | |
movzx eax, ax | |
and eax, 8 | |
test eax, eax | |
jne .L2156 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov QWORD PTR 16[rax], rdx | |
.L2156: | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE341: | |
.size pcacheManageDirtyList, .-pcacheManageDirtyList | |
.type pcacheUnpin, @function | |
pcacheUnpin: | |
.LFB342: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 24[rax] | |
movzx eax, BYTE PTR 44[rax] | |
test al, al | |
je .L2159 | |
mov rax, QWORD PTR sqlite3Config[rip+248] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rsi, QWORD PTR [rdx] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 24[rdx] | |
mov rcx, QWORD PTR 64[rdx] | |
mov edx, 0 | |
mov rdi, rcx | |
call rax | |
.L2159: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE342: | |
.size pcacheUnpin, .-pcacheUnpin | |
.type numberOfCachePages, @function | |
numberOfCachePages: | |
.LFB343: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 28[rax] | |
test eax, eax | |
js .L2161 | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 28[rax] | |
jmp .L2162 | |
.L2161: | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 28[rax] | |
movsx rdx, eax | |
mov eax, 0 | |
sub rax, rdx | |
sal rax, 10 | |
mov rcx, rax | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, DWORD PTR 36[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 40[rax] | |
add eax, edx | |
movsx rsi, eax | |
mov rax, rcx | |
cqo | |
idiv rsi | |
.L2162: | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE343: | |
.size numberOfCachePages, .-numberOfCachePages | |
.type sqlite3PcacheInitialize, @function | |
sqlite3PcacheInitialize: | |
.LFB344: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov rax, QWORD PTR sqlite3Config[rip+200] | |
test rax, rax | |
jne .L2164 | |
call sqlite3PCacheSetDefault | |
.L2164: | |
mov rax, QWORD PTR sqlite3Config[rip+200] | |
mov rdx, QWORD PTR sqlite3Config[rip+192] | |
mov rdi, rdx | |
call rax | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE344: | |
.size sqlite3PcacheInitialize, .-sqlite3PcacheInitialize | |
.type sqlite3PcacheShutdown, @function | |
sqlite3PcacheShutdown: | |
.LFB345: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov rax, QWORD PTR sqlite3Config[rip+208] | |
test rax, rax | |
je .L2168 | |
mov rax, QWORD PTR sqlite3Config[rip+208] | |
mov rdx, QWORD PTR sqlite3Config[rip+192] | |
mov rdi, rdx | |
call rax | |
.L2168: | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE345: | |
.size sqlite3PcacheShutdown, .-sqlite3PcacheShutdown | |
.type sqlite3PcacheSize, @function | |
sqlite3PcacheSize: | |
.LFB346: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov eax, 72 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE346: | |
.size sqlite3PcacheSize, .-sqlite3PcacheSize | |
.type sqlite3PcacheOpen, @function | |
sqlite3PcacheOpen: | |
.LFB347: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov DWORD PTR -4[rbp], edi | |
mov DWORD PTR -8[rbp], esi | |
mov DWORD PTR -12[rbp], edx | |
mov QWORD PTR -24[rbp], rcx | |
mov QWORD PTR -32[rbp], r8 | |
mov QWORD PTR -40[rbp], r9 | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, 72 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 36[rax], 1 | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR -8[rbp] | |
mov DWORD PTR 40[rax], edx | |
mov eax, DWORD PTR -12[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov BYTE PTR 44[rax], dl | |
mov rax, QWORD PTR -40[rbp] | |
mov BYTE PTR 45[rax], 2 | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov QWORD PTR 48[rax], rdx | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR -32[rbp] | |
mov QWORD PTR 56[rax], rdx | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 28[rax], 100 | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 32[rax], 1 | |
mov edx, DWORD PTR -4[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3PcacheSetPageSize | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE347: | |
.size sqlite3PcacheOpen, .-sqlite3PcacheOpen | |
.type sqlite3PcacheSetPageSize, @function | |
sqlite3PcacheSetPageSize: | |
.LFB348: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
push rbx | |
sub rsp, 40 | |
.cfi_offset 3, -24 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 36[rax] | |
test eax, eax | |
je .L2174 | |
mov rax, QWORD PTR sqlite3Config[rip+216] | |
mov rdx, QWORD PTR -40[rbp] | |
movzx edx, BYTE PTR 44[rdx] | |
movzx edx, dl | |
mov rcx, QWORD PTR -40[rbp] | |
mov ecx, DWORD PTR 40[rcx] | |
add ecx, 72 | |
mov esi, ecx | |
mov ecx, DWORD PTR -44[rbp] | |
mov edi, ecx | |
call rax | |
mov QWORD PTR -24[rbp], rax | |
cmp QWORD PTR -24[rbp], 0 | |
jne .L2175 | |
mov eax, 7 | |
jmp .L2176 | |
.L2175: | |
mov rbx, QWORD PTR sqlite3Config[rip+224] | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call numberOfCachePages | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call rbx | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 64[rax] | |
test rax, rax | |
je .L2177 | |
mov rax, QWORD PTR sqlite3Config[rip+272] | |
mov rdx, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR 64[rdx] | |
mov rdi, rdx | |
call rax | |
.L2177: | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov QWORD PTR 64[rax], rdx | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR -44[rbp] | |
mov DWORD PTR 36[rax], edx | |
.L2174: | |
mov eax, 0 | |
.L2176: | |
add rsp, 40 | |
pop rbx | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE348: | |
.size sqlite3PcacheSetPageSize, .-sqlite3PcacheSetPageSize | |
.type sqlite3PcacheFetch, @function | |
sqlite3PcacheFetch: | |
.LFB349: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov DWORD PTR -32[rbp], edx | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 45[rax] | |
movzx eax, al | |
and eax, DWORD PTR -32[rbp] | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR sqlite3Config[rip+240] | |
mov rdx, QWORD PTR -24[rbp] | |
mov rcx, QWORD PTR 64[rdx] | |
mov edx, DWORD PTR -4[rbp] | |
mov esi, DWORD PTR -28[rbp] | |
mov rdi, rcx | |
call rax | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE349: | |
.size sqlite3PcacheFetch, .-sqlite3PcacheFetch | |
.type sqlite3PcacheFetchStress, @function | |
sqlite3PcacheFetchStress: | |
.LFB350: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov QWORD PTR -40[rbp], rdx | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 45[rax] | |
cmp al, 2 | |
jne .L2181 | |
mov eax, 0 | |
jmp .L2182 | |
.L2181: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3PcachePagecount | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 32[rax] | |
cmp edx, eax | |
jle .L2183 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L2184 | |
.L2186: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov QWORD PTR -8[rbp], rax | |
.L2184: | |
cmp QWORD PTR -8[rbp], 0 | |
je .L2185 | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 54[rax] | |
test ax, ax | |
jne .L2186 | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 52[rax] | |
movzx eax, ax | |
and eax, 8 | |
test eax, eax | |
jne .L2186 | |
.L2185: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov QWORD PTR 16[rax], rdx | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L2187 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L2188 | |
.L2189: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov QWORD PTR -8[rbp], rax | |
.L2188: | |
cmp QWORD PTR -8[rbp], 0 | |
je .L2187 | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 54[rax] | |
test ax, ax | |
jne .L2189 | |
.L2187: | |
cmp QWORD PTR -8[rbp], 0 | |
je .L2183 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov rdx, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 56[rdx] | |
mov rcx, QWORD PTR -8[rbp] | |
mov rsi, rcx | |
mov rdi, rdx | |
call rax | |
mov DWORD PTR -12[rbp], eax | |
cmp DWORD PTR -12[rbp], 0 | |
je .L2183 | |
cmp DWORD PTR -12[rbp], 5 | |
je .L2183 | |
mov eax, DWORD PTR -12[rbp] | |
jmp .L2182 | |
.L2183: | |
mov rax, QWORD PTR sqlite3Config[rip+240] | |
mov rdx, QWORD PTR -24[rbp] | |
mov rcx, QWORD PTR 64[rdx] | |
mov esi, DWORD PTR -28[rbp] | |
mov edx, 2 | |
mov rdi, rcx | |
call rax | |
mov rdx, rax | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
jne .L2190 | |
mov eax, 7 | |
jmp .L2182 | |
.L2190: | |
mov eax, 0 | |
.L2182: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE350: | |
.size sqlite3PcacheFetchStress, .-sqlite3PcacheFetchStress | |
.type pcacheFetchFinishWithInit, @function | |
pcacheFetchFinishWithInit: | |
.LFB351: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov QWORD PTR -40[rbp], rdx | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
add rax, 32 | |
mov edx, 40 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -40[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 8[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
lea rdx, 72[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 16[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov edx, 8 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov QWORD PTR 24[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, DWORD PTR -28[rbp] | |
mov DWORD PTR 48[rax], edx | |
mov rax, QWORD PTR -8[rbp] | |
mov WORD PTR 52[rax], 1 | |
mov rdx, QWORD PTR -40[rbp] | |
mov ecx, DWORD PTR -28[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call sqlite3PcacheFetchFinish | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE351: | |
.size pcacheFetchFinishWithInit, .-pcacheFetchFinishWithInit | |
.type sqlite3PcacheFetchFinish, @function | |
sqlite3PcacheFetchFinish: | |
.LFB352: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov QWORD PTR -40[rbp], rdx | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
jne .L2195 | |
mov rdx, QWORD PTR -40[rbp] | |
mov ecx, DWORD PTR -28[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call pcacheFetchFinishWithInit | |
jmp .L2196 | |
.L2195: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 24[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 24[rax], edx | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 54[rax] | |
add eax, 1 | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov WORD PTR 54[rax], dx | |
mov rax, QWORD PTR -8[rbp] | |
.L2196: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE352: | |
.size sqlite3PcacheFetchFinish, .-sqlite3PcacheFetchFinish | |
.type sqlite3PcacheRelease, @function | |
sqlite3PcacheRelease: | |
.LFB353: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 24[rax] | |
mov edx, DWORD PTR 24[rax] | |
sub edx, 1 | |
mov DWORD PTR 24[rax], edx | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 54[rax] | |
sub eax, 1 | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov WORD PTR 54[rax], dx | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 54[rax] | |
test ax, ax | |
jne .L2200 | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 52[rax] | |
movzx eax, ax | |
and eax, 1 | |
test eax, eax | |
je .L2199 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call pcacheUnpin | |
jmp .L2200 | |
.L2199: | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, 3 | |
mov rdi, rax | |
call pcacheManageDirtyList | |
.L2200: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE353: | |
.size sqlite3PcacheRelease, .-sqlite3PcacheRelease | |
.type sqlite3PcacheRef, @function | |
sqlite3PcacheRef: | |
.LFB354: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 54[rax] | |
add eax, 1 | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov WORD PTR 54[rax], dx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 24[rax] | |
mov edx, DWORD PTR 24[rax] | |
add edx, 1 | |
mov DWORD PTR 24[rax], edx | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE354: | |
.size sqlite3PcacheRef, .-sqlite3PcacheRef | |
.type sqlite3PcacheDrop, @function | |
sqlite3PcacheDrop: | |
.LFB355: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 52[rax] | |
movzx eax, ax | |
and eax, 2 | |
test eax, eax | |
je .L2203 | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, 1 | |
mov rdi, rax | |
call pcacheManageDirtyList | |
.L2203: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 24[rax] | |
mov edx, DWORD PTR 24[rax] | |
sub edx, 1 | |
mov DWORD PTR 24[rax], edx | |
mov rax, QWORD PTR sqlite3Config[rip+248] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rsi, QWORD PTR [rdx] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 24[rdx] | |
mov rcx, QWORD PTR 64[rdx] | |
mov edx, 1 | |
mov rdi, rcx | |
call rax | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE355: | |
.size sqlite3PcacheDrop, .-sqlite3PcacheDrop | |
.type sqlite3PcacheMakeDirty, @function | |
sqlite3PcacheMakeDirty: | |
.LFB356: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 8 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 52[rax] | |
movzx eax, ax | |
and eax, 17 | |
test eax, eax | |
je .L2206 | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 52[rax] | |
and eax, -17 | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov WORD PTR 52[rax], dx | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 52[rax] | |
movzx eax, ax | |
and eax, 1 | |
test eax, eax | |
je .L2206 | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 52[rax] | |
xor eax, 3 | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov WORD PTR 52[rax], dx | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, 2 | |
mov rdi, rax | |
call pcacheManageDirtyList | |
.L2206: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE356: | |
.size sqlite3PcacheMakeDirty, .-sqlite3PcacheMakeDirty | |
.type sqlite3PcacheMakeClean, @function | |
sqlite3PcacheMakeClean: | |
.LFB357: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, 1 | |
mov rdi, rax | |
call pcacheManageDirtyList | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 52[rax] | |
and eax, -15 | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov WORD PTR 52[rax], dx | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 52[rax] | |
or eax, 1 | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov WORD PTR 52[rax], dx | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 54[rax] | |
test ax, ax | |
jne .L2209 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call pcacheUnpin | |
.L2209: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE357: | |
.size sqlite3PcacheMakeClean, .-sqlite3PcacheMakeClean | |
.type sqlite3PcacheCleanAll, @function | |
sqlite3PcacheCleanAll: | |
.LFB358: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
jmp .L2211 | |
.L2212: | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3PcacheMakeClean | |
.L2211: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L2212 | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE358: | |
.size sqlite3PcacheCleanAll, .-sqlite3PcacheCleanAll | |
.type sqlite3PcacheClearWritable, @function | |
sqlite3PcacheClearWritable: | |
.LFB359: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L2214 | |
.L2215: | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 52[rax] | |
and eax, -13 | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov WORD PTR 52[rax], dx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 56[rax] | |
mov QWORD PTR -8[rbp], rax | |
.L2214: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L2215 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 16[rax], rdx | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE359: | |
.size sqlite3PcacheClearWritable, .-sqlite3PcacheClearWritable | |
.type sqlite3PcacheClearSyncFlags, @function | |
sqlite3PcacheClearSyncFlags: | |
.LFB360: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L2217 | |
.L2218: | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 52[rax] | |
and eax, -9 | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov WORD PTR 52[rax], dx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 56[rax] | |
mov QWORD PTR -8[rbp], rax | |
.L2217: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L2218 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 16[rax], rdx | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE360: | |
.size sqlite3PcacheClearSyncFlags, .-sqlite3PcacheClearSyncFlags | |
.type sqlite3PcacheMove, @function | |
sqlite3PcacheMove: | |
.LFB361: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 24[rax] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR sqlite3Config[rip+256] | |
mov rdx, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR 48[rdx] | |
mov rcx, QWORD PTR -24[rbp] | |
mov rsi, QWORD PTR [rcx] | |
mov rcx, QWORD PTR -8[rbp] | |
mov rdi, QWORD PTR 64[rcx] | |
mov ecx, DWORD PTR -28[rbp] | |
call rax | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR -28[rbp] | |
mov DWORD PTR 48[rax], edx | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, WORD PTR 52[rax] | |
movzx eax, ax | |
and eax, 2 | |
test eax, eax | |
je .L2221 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, WORD PTR 52[rax] | |
movzx eax, ax | |
and eax, 8 | |
test eax, eax | |
je .L2221 | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 3 | |
mov rdi, rax | |
call pcacheManageDirtyList | |
.L2221: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE361: | |
.size sqlite3PcacheMove, .-sqlite3PcacheMove | |
.type sqlite3PcacheTruncate, @function | |
sqlite3PcacheTruncate: | |
.LFB362: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 64[rax] | |
test rax, rax | |
je .L2228 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L2224 | |
.L2226: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 56[rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 48[rax] | |
cmp eax, DWORD PTR -44[rbp] | |
jbe .L2225 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3PcacheMakeClean | |
.L2225: | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR -8[rbp], rax | |
.L2224: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L2226 | |
cmp DWORD PTR -44[rbp], 0 | |
jne .L2227 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 24[rax] | |
test eax, eax | |
je .L2227 | |
mov rax, QWORD PTR sqlite3Config[rip+240] | |
mov rdx, QWORD PTR -40[rbp] | |
mov rcx, QWORD PTR 64[rdx] | |
mov edx, 0 | |
mov esi, 1 | |
mov rdi, rcx | |
call rax | |
mov QWORD PTR -24[rbp], rax | |
cmp QWORD PTR -24[rbp], 0 | |
je .L2227 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 36[rax] | |
movsx rdx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
mov DWORD PTR -44[rbp], 1 | |
.L2227: | |
mov rax, QWORD PTR sqlite3Config[rip+264] | |
mov edx, DWORD PTR -44[rbp] | |
lea ecx, 1[rdx] | |
mov rdx, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR 64[rdx] | |
mov esi, ecx | |
mov rdi, rdx | |
call rax | |
.L2228: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE362: | |
.size sqlite3PcacheTruncate, .-sqlite3PcacheTruncate | |
.type sqlite3PcacheClose, @function | |
sqlite3PcacheClose: | |
.LFB363: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR sqlite3Config[rip+272] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 64[rdx] | |
mov rdi, rdx | |
call rax | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE363: | |
.size sqlite3PcacheClose, .-sqlite3PcacheClose | |
.type sqlite3PcacheClear, @function | |
sqlite3PcacheClear: | |
.LFB364: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call sqlite3PcacheTruncate | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE364: | |
.size sqlite3PcacheClear, .-sqlite3PcacheClear | |
.type pcacheMergeDirtyList, @function | |
pcacheMergeDirtyList: | |
.LFB365: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -88[rbp], rdi | |
mov QWORD PTR -96[rbp], rsi | |
lea rax, -80[rbp] | |
mov QWORD PTR -8[rbp], rax | |
.L2235: | |
mov rax, QWORD PTR -88[rbp] | |
mov edx, DWORD PTR 48[rax] | |
mov rax, QWORD PTR -96[rbp] | |
mov eax, DWORD PTR 48[rax] | |
cmp edx, eax | |
jnb .L2232 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -88[rbp] | |
mov QWORD PTR 32[rax], rdx | |
mov rax, QWORD PTR -88[rbp] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -88[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov QWORD PTR -88[rbp], rax | |
cmp QWORD PTR -88[rbp], 0 | |
jne .L2235 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -96[rbp] | |
mov QWORD PTR 32[rax], rdx | |
jmp .L2234 | |
.L2232: | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -96[rbp] | |
mov QWORD PTR 32[rax], rdx | |
mov rax, QWORD PTR -96[rbp] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -96[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov QWORD PTR -96[rbp], rax | |
cmp QWORD PTR -96[rbp], 0 | |
jne .L2235 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -88[rbp] | |
mov QWORD PTR 32[rax], rdx | |
.L2234: | |
mov rax, QWORD PTR -48[rbp] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE365: | |
.size pcacheMergeDirtyList, .-pcacheMergeDirtyList | |
.type pcacheSortDirtyList, @function | |
pcacheSortDirtyList: | |
.LFB366: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 288 | |
mov QWORD PTR -280[rbp], rdi | |
lea rax, -272[rbp] | |
mov edx, 256 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
jmp .L2238 | |
.L2243: | |
mov rax, QWORD PTR -280[rbp] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov QWORD PTR -280[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 32[rax], 0 | |
mov DWORD PTR -12[rbp], 0 | |
jmp .L2239 | |
.L2242: | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
mov rax, QWORD PTR -272[rbp+rax*8] | |
test rax, rax | |
jne .L2240 | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
mov rdx, QWORD PTR -8[rbp] | |
mov QWORD PTR -272[rbp+rax*8], rdx | |
jmp .L2241 | |
.L2240: | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
mov rax, QWORD PTR -272[rbp+rax*8] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call pcacheMergeDirtyList | |
mov QWORD PTR -8[rbp], rax | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
mov QWORD PTR -272[rbp+rax*8], 0 | |
add DWORD PTR -12[rbp], 1 | |
.L2239: | |
cmp DWORD PTR -12[rbp], 30 | |
jle .L2242 | |
.L2241: | |
cmp DWORD PTR -12[rbp], 31 | |
jne .L2238 | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
mov rax, QWORD PTR -272[rbp+rax*8] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call pcacheMergeDirtyList | |
mov rdx, rax | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
mov QWORD PTR -272[rbp+rax*8], rdx | |
.L2238: | |
cmp QWORD PTR -280[rbp], 0 | |
jne .L2243 | |
mov rax, QWORD PTR -272[rbp] | |
mov QWORD PTR -8[rbp], rax | |
mov DWORD PTR -12[rbp], 1 | |
jmp .L2244 | |
.L2249: | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
mov rax, QWORD PTR -272[rbp+rax*8] | |
test rax, rax | |
je .L2251 | |
cmp QWORD PTR -8[rbp], 0 | |
je .L2247 | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
mov rdx, QWORD PTR -272[rbp+rax*8] | |
mov rax, QWORD PTR -8[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call pcacheMergeDirtyList | |
jmp .L2248 | |
.L2247: | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
mov rax, QWORD PTR -272[rbp+rax*8] | |
.L2248: | |
mov QWORD PTR -8[rbp], rax | |
jmp .L2246 | |
.L2251: | |
nop | |
.L2246: | |
add DWORD PTR -12[rbp], 1 | |
.L2244: | |
cmp DWORD PTR -12[rbp], 31 | |
jle .L2249 | |
mov rax, QWORD PTR -8[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE366: | |
.size pcacheSortDirtyList, .-pcacheSortDirtyList | |
.type sqlite3PcacheDirtyList, @function | |
sqlite3PcacheDirtyList: | |
.LFB367: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L2253 | |
.L2254: | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 56[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 32[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 56[rax] | |
mov QWORD PTR -8[rbp], rax | |
.L2253: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L2254 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rdi, rax | |
call pcacheSortDirtyList | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE367: | |
.size sqlite3PcacheDirtyList, .-sqlite3PcacheDirtyList | |
.type sqlite3PcacheRefCount, @function | |
sqlite3PcacheRefCount: | |
.LFB368: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 24[rax] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE368: | |
.size sqlite3PcacheRefCount, .-sqlite3PcacheRefCount | |
.type sqlite3PcachePageRefcount, @function | |
sqlite3PcachePageRefcount: | |
.LFB369: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 54[rax] | |
cwde | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE369: | |
.size sqlite3PcachePageRefcount, .-sqlite3PcachePageRefcount | |
.type sqlite3PcachePagecount, @function | |
sqlite3PcachePagecount: | |
.LFB370: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR sqlite3Config[rip+232] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 64[rdx] | |
mov rdi, rdx | |
call rax | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE370: | |
.size sqlite3PcachePagecount, .-sqlite3PcachePagecount | |
.type sqlite3PcacheSetCachesize, @function | |
sqlite3PcacheSetCachesize: | |
.LFB371: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
push rbx | |
sub rsp, 24 | |
.cfi_offset 3, -24 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR -28[rbp] | |
mov DWORD PTR 28[rax], edx | |
mov rbx, QWORD PTR sqlite3Config[rip+224] | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call numberOfCachePages | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov esi, edx | |
mov rdi, rax | |
call rbx | |
nop | |
add rsp, 24 | |
pop rbx | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE371: | |
.size sqlite3PcacheSetCachesize, .-sqlite3PcacheSetCachesize | |
.type sqlite3PcacheSetSpillsize, @function | |
sqlite3PcacheSetSpillsize: | |
.LFB372: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
cmp DWORD PTR -28[rbp], 0 | |
je .L2264 | |
cmp DWORD PTR -28[rbp], 0 | |
jns .L2265 | |
mov eax, DWORD PTR -28[rbp] | |
movsx rdx, eax | |
mov eax, 0 | |
sub rax, rdx | |
sal rax, 10 | |
mov rcx, rax | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR 36[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 40[rax] | |
add eax, edx | |
movsx rsi, eax | |
mov rax, rcx | |
cqo | |
idiv rsi | |
mov DWORD PTR -28[rbp], eax | |
.L2265: | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR -28[rbp] | |
mov DWORD PTR 32[rax], edx | |
.L2264: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call numberOfCachePages | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 32[rax] | |
cmp eax, DWORD PTR -4[rbp] | |
jle .L2266 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 32[rax] | |
mov DWORD PTR -4[rbp], eax | |
.L2266: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE372: | |
.size sqlite3PcacheSetSpillsize, .-sqlite3PcacheSetSpillsize | |
.type sqlite3PcacheShrink, @function | |
sqlite3PcacheShrink: | |
.LFB373: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR sqlite3Config[rip+280] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 64[rdx] | |
mov rdi, rdx | |
call rax | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE373: | |
.size sqlite3PcacheShrink, .-sqlite3PcacheShrink | |
.type sqlite3HeaderSizePcache, @function | |
sqlite3HeaderSizePcache: | |
.LFB374: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov eax, 72 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE374: | |
.size sqlite3HeaderSizePcache, .-sqlite3HeaderSizePcache | |
.type sqlite3PCachePercentDirty, @function | |
sqlite3PCachePercentDirty: | |
.LFB375: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 24 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -12[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call numberOfCachePages | |
mov DWORD PTR -16[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L2272 | |
.L2273: | |
add DWORD PTR -12[rbp], 1 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 56[rax] | |
mov QWORD PTR -8[rbp], rax | |
.L2272: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L2273 | |
cmp DWORD PTR -16[rbp], 0 | |
je .L2274 | |
mov eax, DWORD PTR -12[rbp] | |
movsx rdx, eax | |
mov rax, rdx | |
sal rax, 2 | |
add rax, rdx | |
lea rdx, 0[0+rax*4] | |
add rax, rdx | |
sal rax, 2 | |
mov rcx, rax | |
mov eax, DWORD PTR -16[rbp] | |
movsx rsi, eax | |
mov rax, rcx | |
cqo | |
idiv rsi | |
jmp .L2276 | |
.L2274: | |
mov eax, 0 | |
.L2276: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE375: | |
.size sqlite3PCachePercentDirty, .-sqlite3PCachePercentDirty | |
.local pcache1_g | |
.comm pcache1_g,144,32 | |
.type sqlite3PCacheBufferSetup, @function | |
sqlite3PCacheBufferSetup: | |
.LFB376: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov DWORD PTR -32[rbp], edx | |
mov eax, DWORD PTR pcache1_g[rip+80] | |
test eax, eax | |
je .L2285 | |
cmp QWORD PTR -24[rbp], 0 | |
jne .L2279 | |
mov DWORD PTR -32[rbp], 0 | |
mov eax, DWORD PTR -32[rbp] | |
mov DWORD PTR -28[rbp], eax | |
.L2279: | |
cmp DWORD PTR -32[rbp], 0 | |
jne .L2280 | |
mov DWORD PTR -28[rbp], 0 | |
.L2280: | |
and DWORD PTR -28[rbp], -8 | |
mov eax, DWORD PTR -28[rbp] | |
mov DWORD PTR pcache1_g[rip+92], eax | |
mov eax, DWORD PTR -32[rbp] | |
mov DWORD PTR pcache1_g[rip+136], eax | |
mov eax, DWORD PTR pcache1_g[rip+136] | |
mov DWORD PTR pcache1_g[rip+96], eax | |
cmp DWORD PTR -32[rbp], 90 | |
jg .L2281 | |
mov ecx, DWORD PTR -32[rbp] | |
mov edx, 1717986919 | |
mov eax, ecx | |
imul edx | |
sar edx, 2 | |
mov eax, ecx | |
sar eax, 31 | |
sub edx, eax | |
mov eax, edx | |
add eax, 1 | |
jmp .L2282 | |
.L2281: | |
mov eax, 10 | |
.L2282: | |
mov DWORD PTR pcache1_g[rip+100], eax | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR pcache1_g[rip+104], rax | |
mov QWORD PTR pcache1_g[rip+128], 0 | |
mov DWORD PTR pcache1_g[rip+140], 0 | |
jmp .L2283 | |
.L2284: | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -8[rbp], rax | |
mov rdx, QWORD PTR pcache1_g[rip+128] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR pcache1_g[rip+128], rax | |
mov eax, DWORD PTR -28[rbp] | |
cdqe | |
add QWORD PTR -24[rbp], rax | |
.L2283: | |
mov eax, DWORD PTR -32[rbp] | |
lea edx, -1[rax] | |
mov DWORD PTR -32[rbp], edx | |
test eax, eax | |
jne .L2284 | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR pcache1_g[rip+112], rax | |
.L2285: | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE376: | |
.size sqlite3PCacheBufferSetup, .-sqlite3PCacheBufferSetup | |
.type pcache1InitBulk, @function | |
pcache1InitBulk: | |
.LFB377: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov eax, DWORD PTR pcache1_g[rip+88] | |
test eax, eax | |
jne .L2287 | |
mov eax, 0 | |
jmp .L2288 | |
.L2287: | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 36[rax] | |
cmp eax, 2 | |
ja .L2289 | |
mov eax, 0 | |
jmp .L2288 | |
.L2289: | |
call sqlite3BeginBenignMalloc | |
mov eax, DWORD PTR pcache1_g[rip+88] | |
test eax, eax | |
jle .L2290 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 24[rax] | |
movsx rdx, eax | |
mov eax, DWORD PTR pcache1_g[rip+88] | |
cdqe | |
imul rax, rdx | |
mov QWORD PTR -8[rbp], rax | |
jmp .L2291 | |
.L2290: | |
mov eax, DWORD PTR pcache1_g[rip+88] | |
movsx rdx, eax | |
mov eax, 0 | |
sub rax, rdx | |
sal rax, 10 | |
mov QWORD PTR -8[rbp], rax | |
.L2291: | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 24[rax] | |
movsx rdx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 36[rax] | |
mov eax, eax | |
imul rax, rdx | |
cmp rax, QWORD PTR -8[rbp] | |
jge .L2292 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 24[rax] | |
movsx rdx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 36[rax] | |
mov eax, eax | |
imul rax, rdx | |
mov QWORD PTR -8[rbp], rax | |
.L2292: | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3Malloc | |
mov rdx, rax | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR 80[rax], rdx | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov QWORD PTR -16[rbp], rax | |
call sqlite3EndBenignMalloc | |
cmp QWORD PTR -16[rbp], 0 | |
je .L2293 | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call sqlite3MallocSize | |
mov ecx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, DWORD PTR 24[rax] | |
mov eax, ecx | |
cdq | |
idiv esi | |
mov DWORD PTR -20[rbp], eax | |
.L2294: | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 16[rax] | |
movsx rdx, eax | |
mov rax, QWORD PTR -16[rbp] | |
add rax, rdx | |
mov QWORD PTR -32[rbp], rax | |
mov rax, QWORD PTR -32[rbp] | |
mov rdx, QWORD PTR -16[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -32[rbp] | |
lea rdx, 56[rax] | |
mov rax, QWORD PTR -32[rbp] | |
mov QWORD PTR 8[rax], rdx | |
mov rax, QWORD PTR -32[rbp] | |
mov BYTE PTR 20[rax], 1 | |
mov rax, QWORD PTR -32[rbp] | |
mov BYTE PTR 21[rax], 0 | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR 72[rax] | |
mov rax, QWORD PTR -32[rbp] | |
mov QWORD PTR 24[rax], rdx | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR -32[rbp] | |
mov QWORD PTR 72[rax], rdx | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 24[rax] | |
cdqe | |
add QWORD PTR -16[rbp], rax | |
sub DWORD PTR -20[rbp], 1 | |
cmp DWORD PTR -20[rbp], 0 | |
jne .L2294 | |
.L2293: | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 72[rax] | |
test rax, rax | |
setne al | |
movzx eax, al | |
.L2288: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE377: | |
.size pcache1InitBulk, .-pcache1InitBulk | |
.type pcache1Alloc, @function | |
pcache1Alloc: | |
.LFB378: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov DWORD PTR -20[rbp], edi | |
mov QWORD PTR -8[rbp], 0 | |
mov eax, DWORD PTR pcache1_g[rip+92] | |
cmp eax, DWORD PTR -20[rbp] | |
jl .L2296 | |
mov rax, QWORD PTR pcache1_g[rip+120] | |
mov rdi, rax | |
call sqlite3_mutex_enter | |
mov rax, QWORD PTR pcache1_g[rip+128] | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
je .L2297 | |
mov rax, QWORD PTR pcache1_g[rip+128] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR pcache1_g[rip+128], rax | |
mov eax, DWORD PTR pcache1_g[rip+136] | |
sub eax, 1 | |
mov DWORD PTR pcache1_g[rip+136], eax | |
mov edx, DWORD PTR pcache1_g[rip+136] | |
mov eax, DWORD PTR pcache1_g[rip+100] | |
cmp edx, eax | |
setl al | |
movzx eax, al | |
mov DWORD PTR pcache1_g[rip+140], eax | |
mov eax, DWORD PTR -20[rbp] | |
mov esi, eax | |
mov edi, 7 | |
call sqlite3StatusHighwater | |
mov esi, 1 | |
mov edi, 1 | |
call sqlite3StatusUp | |
.L2297: | |
mov rax, QWORD PTR pcache1_g[rip+120] | |
mov rdi, rax | |
call sqlite3_mutex_leave | |
.L2296: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L2298 | |
mov eax, DWORD PTR -20[rbp] | |
cdqe | |
mov rdi, rax | |
call sqlite3Malloc | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
je .L2298 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3MallocSize | |
mov DWORD PTR -12[rbp], eax | |
mov rax, QWORD PTR pcache1_g[rip+120] | |
mov rdi, rax | |
call sqlite3_mutex_enter | |
mov eax, DWORD PTR -20[rbp] | |
mov esi, eax | |
mov edi, 7 | |
call sqlite3StatusHighwater | |
mov eax, DWORD PTR -12[rbp] | |
mov esi, eax | |
mov edi, 2 | |
call sqlite3StatusUp | |
mov rax, QWORD PTR pcache1_g[rip+120] | |
mov rdi, rax | |
call sqlite3_mutex_leave | |
.L2298: | |
mov rax, QWORD PTR -8[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE378: | |
.size pcache1Alloc, .-pcache1Alloc | |
.type pcache1Free, @function | |
pcache1Free: | |
.LFB379: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
cmp QWORD PTR -24[rbp], 0 | |
je .L2304 | |
mov rax, QWORD PTR pcache1_g[rip+104] | |
mov rdx, rax | |
mov rax, QWORD PTR -24[rbp] | |
cmp rdx, rax | |
ja .L2303 | |
mov rax, QWORD PTR pcache1_g[rip+112] | |
mov rdx, rax | |
mov rax, QWORD PTR -24[rbp] | |
cmp rdx, rax | |
jbe .L2303 | |
mov rax, QWORD PTR pcache1_g[rip+120] | |
mov rdi, rax | |
call sqlite3_mutex_enter | |
mov esi, 1 | |
mov edi, 1 | |
call sqlite3StatusDown | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -8[rbp], rax | |
mov rdx, QWORD PTR pcache1_g[rip+128] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR pcache1_g[rip+128], rax | |
mov eax, DWORD PTR pcache1_g[rip+136] | |
add eax, 1 | |
mov DWORD PTR pcache1_g[rip+136], eax | |
mov edx, DWORD PTR pcache1_g[rip+136] | |
mov eax, DWORD PTR pcache1_g[rip+100] | |
cmp edx, eax | |
setl al | |
movzx eax, al | |
mov DWORD PTR pcache1_g[rip+140], eax | |
mov rax, QWORD PTR pcache1_g[rip+120] | |
mov rdi, rax | |
call sqlite3_mutex_leave | |
jmp .L2300 | |
.L2303: | |
mov DWORD PTR -12[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3MallocSize | |
mov DWORD PTR -12[rbp], eax | |
mov rax, QWORD PTR pcache1_g[rip+120] | |
mov rdi, rax | |
call sqlite3_mutex_enter | |
mov eax, DWORD PTR -12[rbp] | |
mov esi, eax | |
mov edi, 2 | |
call sqlite3StatusDown | |
mov rax, QWORD PTR pcache1_g[rip+120] | |
mov rdi, rax | |
call sqlite3_mutex_leave | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
jmp .L2300 | |
.L2304: | |
nop | |
.L2300: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE379: | |
.size pcache1Free, .-pcache1Free | |
.type pcache1AllocPage, @function | |
pcache1AllocPage: | |
.LFB380: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov QWORD PTR -8[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
test rax, rax | |
jne .L2306 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 52[rax] | |
test eax, eax | |
jne .L2307 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call pcache1InitBulk | |
test eax, eax | |
je .L2307 | |
.L2306: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 24[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 72[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 24[rax], 0 | |
jmp .L2308 | |
.L2307: | |
cmp DWORD PTR -28[rbp], 0 | |
je .L2309 | |
call sqlite3BeginBenignMalloc | |
.L2309: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 24[rax] | |
mov edi, eax | |
call pcache1Alloc | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 16[rax] | |
movsx rdx, eax | |
mov rax, QWORD PTR -16[rbp] | |
add rax, rdx | |
mov QWORD PTR -8[rbp], rax | |
cmp DWORD PTR -28[rbp], 0 | |
je .L2310 | |
call sqlite3EndBenignMalloc | |
.L2310: | |
cmp QWORD PTR -16[rbp], 0 | |
jne .L2311 | |
mov eax, 0 | |
jmp .L2312 | |
.L2311: | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -16[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
lea rdx, 56[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 8[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 20[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 21[rax], 0 | |
.L2308: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov edx, DWORD PTR [rax] | |
add edx, 1 | |
mov DWORD PTR [rax], edx | |
mov rax, QWORD PTR -8[rbp] | |
.L2312: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE380: | |
.size pcache1AllocPage, .-pcache1AllocPage | |
.type pcache1FreePage, @function | |
pcache1FreePage: | |
.LFB381: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
test al, al | |
je .L2314 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 72[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 24[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov QWORD PTR 72[rax], rdx | |
jmp .L2315 | |
.L2314: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rdi, rax | |
call pcache1Free | |
.L2315: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov edx, DWORD PTR [rax] | |
sub edx, 1 | |
mov DWORD PTR [rax], edx | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE381: | |
.size pcache1FreePage, .-pcache1FreePage | |
.type sqlite3PageMalloc, @function | |
sqlite3PageMalloc: | |
.LFB382: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov DWORD PTR -4[rbp], edi | |
mov eax, DWORD PTR -4[rbp] | |
mov edi, eax | |
call pcache1Alloc | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE382: | |
.size sqlite3PageMalloc, .-sqlite3PageMalloc | |
.type sqlite3PageFree, @function | |
sqlite3PageFree: | |
.LFB383: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call pcache1Free | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE383: | |
.size sqlite3PageFree, .-sqlite3PageFree | |
.type pcache1UnderMemoryPressure, @function | |
pcache1UnderMemoryPressure: | |
.LFB384: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 8 | |
mov QWORD PTR -8[rbp], rdi | |
mov eax, DWORD PTR pcache1_g[rip+96] | |
test eax, eax | |
je .L2320 | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, DWORD PTR 16[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 20[rax] | |
add edx, eax | |
mov eax, DWORD PTR pcache1_g[rip+92] | |
cmp edx, eax | |
jg .L2320 | |
mov eax, DWORD PTR pcache1_g[rip+140] | |
jmp .L2321 | |
.L2320: | |
call sqlite3HeapNearlyFull | |
.L2321: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE384: | |
.size pcache1UnderMemoryPressure, .-pcache1UnderMemoryPressure | |
.type pcache1ResizeHash, @function | |
pcache1ResizeHash: | |
.LFB385: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -56[rbp], rdi | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 56[rax] | |
add eax, eax | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 255 | |
ja .L2323 | |
mov DWORD PTR -4[rbp], 256 | |
.L2323: | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 56[rax] | |
test eax, eax | |
je .L2324 | |
call sqlite3BeginBenignMalloc | |
.L2324: | |
mov eax, DWORD PTR -4[rbp] | |
sal rax, 3 | |
mov rdi, rax | |
call sqlite3MallocZero | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 56[rax] | |
test eax, eax | |
je .L2325 | |
call sqlite3EndBenignMalloc | |
.L2325: | |
cmp QWORD PTR -24[rbp], 0 | |
je .L2331 | |
mov DWORD PTR -8[rbp], 0 | |
jmp .L2327 | |
.L2330: | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov edx, DWORD PTR -8[rbp] | |
sal rdx, 3 | |
add rax, rdx | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -16[rbp], rax | |
jmp .L2328 | |
.L2329: | |
mov rax, QWORD PTR -32[rbp] | |
mov eax, DWORD PTR 16[rax] | |
mov edx, 0 | |
div DWORD PTR -4[rbp] | |
mov DWORD PTR -36[rbp], edx | |
mov rax, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR 24[rax] | |
mov QWORD PTR -16[rbp], rax | |
mov eax, DWORD PTR -36[rbp] | |
lea rdx, 0[0+rax*8] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -32[rbp] | |
mov QWORD PTR 24[rax], rdx | |
mov eax, DWORD PTR -36[rbp] | |
lea rdx, 0[0+rax*8] | |
mov rax, QWORD PTR -24[rbp] | |
add rdx, rax | |
mov rax, QWORD PTR -32[rbp] | |
mov QWORD PTR [rdx], rax | |
.L2328: | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR -32[rbp], rax | |
cmp QWORD PTR -32[rbp], 0 | |
jne .L2329 | |
add DWORD PTR -8[rbp], 1 | |
.L2327: | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 56[rax] | |
cmp eax, DWORD PTR -8[rbp] | |
ja .L2330 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov rdi, rax | |
call sqlite3_free | |
mov rax, QWORD PTR -56[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov QWORD PTR 64[rax], rdx | |
mov rax, QWORD PTR -56[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
mov DWORD PTR 56[rax], edx | |
.L2331: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE385: | |
.size pcache1ResizeHash, .-pcache1ResizeHash | |
.type pcache1PinPage, @function | |
pcache1PinPage: | |
.LFB386: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 40[rdx] | |
mov QWORD PTR 40[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 40[rax] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 48[rdx] | |
mov QWORD PTR 48[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 40[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 48[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov edx, DWORD PTR 48[rax] | |
sub edx, 1 | |
mov DWORD PTR 48[rax], edx | |
mov rax, QWORD PTR -8[rbp] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE386: | |
.size pcache1PinPage, .-pcache1PinPage | |
.type pcache1RemoveFromHash, @function | |
pcache1RemoveFromHash: | |
.LFB387: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 16[rax] | |
mov rdx, QWORD PTR -16[rbp] | |
mov ecx, DWORD PTR 56[rdx] | |
mov edx, 0 | |
div ecx | |
mov DWORD PTR -20[rbp], edx | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov edx, DWORD PTR -20[rbp] | |
sal rdx, 3 | |
add rax, rdx | |
mov QWORD PTR -8[rbp], rax | |
jmp .L2335 | |
.L2336: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
add rax, 24 | |
mov QWORD PTR -8[rbp], rax | |
.L2335: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
cmp rax, QWORD PTR -40[rbp] | |
jne .L2336 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rdx, QWORD PTR 24[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 52[rax] | |
lea edx, -1[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov DWORD PTR 52[rax], edx | |
cmp DWORD PTR -44[rbp], 0 | |
je .L2338 | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call pcache1FreePage | |
.L2338: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE387: | |
.size pcache1RemoveFromHash, .-pcache1RemoveFromHash | |
.type pcache1EnforceMaxPage, @function | |
pcache1EnforceMaxPage: | |
.LFB388: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L2340 | |
.L2342: | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call pcache1PinPage | |
mov rax, QWORD PTR -16[rbp] | |
mov esi, 1 | |
mov rdi, rax | |
call pcache1RemoveFromHash | |
.L2340: | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, DWORD PTR 20[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 8[rax] | |
cmp edx, eax | |
jbe .L2341 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, BYTE PTR 21[rax] | |
test al, al | |
je .L2342 | |
.L2341: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 52[rax] | |
test eax, eax | |
jne .L2344 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 80[rax] | |
test rax, rax | |
je .L2344 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rdi, rax | |
call sqlite3_free | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 72[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 80[rax], 0 | |
.L2344: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE388: | |
.size pcache1EnforceMaxPage, .-pcache1EnforceMaxPage | |
.type pcache1TruncateUnsafe, @function | |
pcache1TruncateUnsafe: | |
.LFB389: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 44[rax] | |
sub eax, DWORD PTR -44[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 56[rax] | |
cmp edx, eax | |
jnb .L2346 | |
mov rax, QWORD PTR -40[rbp] | |
mov ecx, DWORD PTR 56[rax] | |
mov eax, DWORD PTR -44[rbp] | |
mov edx, 0 | |
div ecx | |
mov DWORD PTR -4[rbp], edx | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 44[rax] | |
mov rdx, QWORD PTR -40[rbp] | |
mov ecx, DWORD PTR 56[rdx] | |
mov edx, 0 | |
div ecx | |
mov DWORD PTR -8[rbp], edx | |
jmp .L2347 | |
.L2346: | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 56[rax] | |
shr eax | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
sub eax, 1 | |
mov DWORD PTR -8[rbp], eax | |
.L2347: | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov edx, DWORD PTR -4[rbp] | |
sal rdx, 3 | |
add rax, rdx | |
mov QWORD PTR -16[rbp], rax | |
jmp .L2348 | |
.L2351: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 16[rax] | |
cmp eax, DWORD PTR -44[rbp] | |
jb .L2349 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 52[rax] | |
lea edx, -1[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 52[rax], edx | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 24[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 40[rax] | |
test rax, rax | |
je .L2350 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call pcache1PinPage | |
.L2350: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call pcache1FreePage | |
jmp .L2348 | |
.L2349: | |
mov rax, QWORD PTR -24[rbp] | |
add rax, 24 | |
mov QWORD PTR -16[rbp], rax | |
.L2348: | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -24[rbp], rax | |
cmp QWORD PTR -24[rbp], 0 | |
jne .L2351 | |
mov eax, DWORD PTR -4[rbp] | |
cmp eax, DWORD PTR -8[rbp] | |
je .L2355 | |
mov eax, DWORD PTR -4[rbp] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov ecx, DWORD PTR 56[rax] | |
mov eax, edx | |
mov edx, 0 | |
div ecx | |
mov DWORD PTR -4[rbp], edx | |
jmp .L2347 | |
.L2355: | |
nop | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE389: | |
.size pcache1TruncateUnsafe, .-pcache1TruncateUnsafe | |
.type pcache1Init, @function | |
pcache1Init: | |
.LFB390: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov edx, 144 | |
mov esi, 0 | |
lea rdi, pcache1_g[rip] | |
call memset@PLT | |
mov rax, QWORD PTR sqlite3Config[rip+328] | |
test rax, rax | |
je .L2357 | |
mov eax, DWORD PTR sqlite3Config[rip+4] | |
test eax, eax | |
jle .L2358 | |
.L2357: | |
mov eax, 1 | |
jmp .L2359 | |
.L2358: | |
mov eax, 0 | |
.L2359: | |
mov DWORD PTR pcache1_g[rip+84], eax | |
mov eax, DWORD PTR sqlite3Config[rip+4] | |
test eax, eax | |
je .L2360 | |
mov edi, 6 | |
call sqlite3MutexAlloc | |
mov QWORD PTR pcache1_g[rip], rax | |
mov edi, 7 | |
call sqlite3MutexAlloc | |
mov QWORD PTR pcache1_g[rip+120], rax | |
.L2360: | |
mov eax, DWORD PTR pcache1_g[rip+84] | |
test eax, eax | |
je .L2361 | |
mov eax, DWORD PTR sqlite3Config[rip+340] | |
test eax, eax | |
je .L2361 | |
mov rax, QWORD PTR sqlite3Config[rip+328] | |
test rax, rax | |
jne .L2361 | |
mov eax, DWORD PTR sqlite3Config[rip+340] | |
mov DWORD PTR pcache1_g[rip+88], eax | |
jmp .L2362 | |
.L2361: | |
mov DWORD PTR pcache1_g[rip+88], 0 | |
.L2362: | |
mov DWORD PTR pcache1_g[rip+16], 10 | |
mov DWORD PTR pcache1_g[rip+80], 1 | |
mov eax, 0 | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE390: | |
.size pcache1Init, .-pcache1Init | |
.type pcache1Shutdown, @function | |
pcache1Shutdown: | |
.LFB391: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov edx, 144 | |
mov esi, 0 | |
lea rdi, pcache1_g[rip] | |
call memset@PLT | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE391: | |
.size pcache1Shutdown, .-pcache1Shutdown | |
.type pcache1Create, @function | |
pcache1Create: | |
.LFB392: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov DWORD PTR -36[rbp], edi | |
mov DWORD PTR -40[rbp], esi | |
mov DWORD PTR -44[rbp], edx | |
mov eax, DWORD PTR pcache1_g[rip+84] | |
cdqe | |
mov edx, eax | |
mov eax, edx | |
sal eax, 2 | |
add eax, edx | |
sal eax, 4 | |
add eax, 88 | |
mov DWORD PTR -20[rbp], eax | |
mov eax, DWORD PTR -20[rbp] | |
cdqe | |
mov rdi, rax | |
call sqlite3MallocZero | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
je .L2366 | |
mov eax, DWORD PTR pcache1_g[rip+84] | |
test eax, eax | |
je .L2367 | |
mov rax, QWORD PTR -8[rbp] | |
add rax, 88 | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov DWORD PTR 16[rax], 10 | |
jmp .L2368 | |
.L2367: | |
lea rax, pcache1_g[rip] | |
mov QWORD PTR -16[rbp], rax | |
.L2368: | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, BYTE PTR 45[rax] | |
test al, al | |
jne .L2369 | |
mov rax, QWORD PTR -16[rbp] | |
mov BYTE PTR 45[rax], 1 | |
mov rax, QWORD PTR -16[rbp] | |
lea rdx, 24[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR 64[rax], rdx | |
mov rax, QWORD PTR -16[rbp] | |
mov rdx, QWORD PTR 64[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR 72[rax], rdx | |
.L2369: | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -16[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, DWORD PTR -36[rbp] | |
mov DWORD PTR 16[rax], edx | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, DWORD PTR -40[rbp] | |
mov DWORD PTR 20[rax], edx | |
mov edx, DWORD PTR -36[rbp] | |
mov eax, DWORD PTR -40[rbp] | |
add eax, edx | |
add eax, 56 | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 24[rax], edx | |
cmp DWORD PTR -44[rbp], 0 | |
setne al | |
movzx edx, al | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 28[rax], edx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call pcache1ResizeHash | |
cmp DWORD PTR -44[rbp], 0 | |
je .L2370 | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 32[rax], 10 | |
mov rax, QWORD PTR -16[rbp] | |
mov edx, DWORD PTR 12[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 32[rax] | |
add edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
mov DWORD PTR 12[rax], edx | |
mov rax, QWORD PTR -16[rbp] | |
mov edx, DWORD PTR 8[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 12[rax] | |
sub edx, eax | |
mov eax, edx | |
lea edx, 10[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov DWORD PTR 16[rax], edx | |
mov rax, QWORD PTR -16[rbp] | |
lea rdx, 20[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 8[rax], rdx | |
jmp .L2371 | |
.L2370: | |
mov rax, QWORD PTR -8[rbp] | |
lea rdx, dummyCurrentPage.13288[rip] | |
mov QWORD PTR 8[rax], rdx | |
.L2371: | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 56[rax] | |
test eax, eax | |
jne .L2366 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call pcache1Destroy | |
mov QWORD PTR -8[rbp], 0 | |
.L2366: | |
mov rax, QWORD PTR -8[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE392: | |
.size pcache1Create, .-pcache1Create | |
.type pcache1Cachesize, @function | |
pcache1Cachesize: | |
.LFB393: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 28[rax] | |
test eax, eax | |
je .L2375 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov edx, DWORD PTR 8[rax] | |
mov ecx, DWORD PTR -28[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 36[rax] | |
sub ecx, eax | |
mov eax, ecx | |
add edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
mov DWORD PTR 8[rax], edx | |
mov rax, QWORD PTR -16[rbp] | |
mov edx, DWORD PTR 8[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 12[rax] | |
sub edx, eax | |
mov eax, edx | |
lea edx, 10[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov DWORD PTR 16[rax], edx | |
mov edx, DWORD PTR -28[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 36[rax], edx | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, DWORD PTR 36[rax] | |
mov eax, edx | |
sal eax, 3 | |
add eax, edx | |
mov edx, -858993459 | |
mul edx | |
shr edx, 3 | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 40[rax], edx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call pcache1EnforceMaxPage | |
.L2375: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE393: | |
.size pcache1Cachesize, .-pcache1Cachesize | |
.type pcache1Shrink, @function | |
pcache1Shrink: | |
.LFB394: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 28[rax] | |
test eax, eax | |
je .L2378 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 8[rax] | |
mov DWORD PTR -20[rbp], eax | |
mov rax, QWORD PTR -16[rbp] | |
mov DWORD PTR 8[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call pcache1EnforceMaxPage | |
mov edx, DWORD PTR -20[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov DWORD PTR 8[rax], edx | |
.L2378: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE394: | |
.size pcache1Shrink, .-pcache1Shrink | |
.type pcache1Pagecount, @function | |
pcache1Pagecount: | |
.LFB395: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 52[rax] | |
mov DWORD PTR -12[rbp], eax | |
mov eax, DWORD PTR -12[rbp] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE395: | |
.size pcache1Pagecount, .-pcache1Pagecount | |
.type pcache1FetchStage2, @function | |
pcache1FetchStage2: | |
.LFB396: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -56[rbp], rdi | |
mov DWORD PTR -60[rbp], esi | |
mov DWORD PTR -64[rbp], edx | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -16[rbp], rax | |
mov QWORD PTR -8[rbp], 0 | |
mov rax, QWORD PTR -56[rbp] | |
mov edx, DWORD PTR 52[rax] | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 48[rax] | |
sub edx, eax | |
mov eax, edx | |
mov DWORD PTR -20[rbp], eax | |
cmp DWORD PTR -64[rbp], 1 | |
jne .L2382 | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 16[rax] | |
cmp eax, DWORD PTR -20[rbp] | |
jbe .L2383 | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 40[rax] | |
cmp eax, DWORD PTR -20[rbp] | |
jbe .L2383 | |
mov rax, QWORD PTR -56[rbp] | |
mov rdi, rax | |
call pcache1UnderMemoryPressure | |
test eax, eax | |
je .L2382 | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 48[rax] | |
cmp eax, DWORD PTR -20[rbp] | |
jnb .L2382 | |
.L2383: | |
mov eax, 0 | |
jmp .L2384 | |
.L2382: | |
mov rax, QWORD PTR -56[rbp] | |
mov edx, DWORD PTR 52[rax] | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 56[rax] | |
cmp edx, eax | |
jb .L2385 | |
mov rax, QWORD PTR -56[rbp] | |
mov rdi, rax | |
call pcache1ResizeHash | |
.L2385: | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 28[rax] | |
test eax, eax | |
je .L2386 | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 72[rax] | |
movzx eax, BYTE PTR 21[rax] | |
test al, al | |
jne .L2386 | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 52[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 36[rax] | |
cmp edx, eax | |
jnb .L2387 | |
mov rax, QWORD PTR -56[rbp] | |
mov rdi, rax | |
call pcache1UnderMemoryPressure | |
test eax, eax | |
je .L2386 | |
.L2387: | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call pcache1RemoveFromHash | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call pcache1PinPage | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov QWORD PTR -32[rbp], rax | |
mov rax, QWORD PTR -32[rbp] | |
mov edx, DWORD PTR 24[rax] | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 24[rax] | |
cmp edx, eax | |
je .L2388 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call pcache1FreePage | |
mov QWORD PTR -8[rbp], 0 | |
jmp .L2386 | |
.L2388: | |
mov rax, QWORD PTR -16[rbp] | |
mov edx, DWORD PTR 20[rax] | |
mov rax, QWORD PTR -32[rbp] | |
mov ecx, DWORD PTR 28[rax] | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 28[rax] | |
sub ecx, eax | |
mov eax, ecx | |
sub edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
mov DWORD PTR 20[rax], edx | |
.L2386: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L2389 | |
cmp DWORD PTR -64[rbp], 1 | |
sete al | |
movzx edx, al | |
mov rax, QWORD PTR -56[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call pcache1AllocPage | |
mov QWORD PTR -8[rbp], rax | |
.L2389: | |
cmp QWORD PTR -8[rbp], 0 | |
je .L2390 | |
mov rax, QWORD PTR -56[rbp] | |
mov ecx, DWORD PTR 56[rax] | |
mov eax, DWORD PTR -60[rbp] | |
mov edx, 0 | |
div ecx | |
mov DWORD PTR -36[rbp], edx | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 52[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -56[rbp] | |
mov DWORD PTR 52[rax], edx | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, DWORD PTR -60[rbp] | |
mov DWORD PTR 16[rax], edx | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov edx, DWORD PTR -36[rbp] | |
sal rdx, 3 | |
add rax, rdx | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 24[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -56[rbp] | |
mov QWORD PTR 32[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 48[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 40[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR [rax], 0 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov edx, DWORD PTR -36[rbp] | |
sal rdx, 3 | |
add rdx, rax | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR [rdx], rax | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 44[rax] | |
cmp eax, DWORD PTR -60[rbp] | |
jnb .L2390 | |
mov rax, QWORD PTR -56[rbp] | |
mov edx, DWORD PTR -60[rbp] | |
mov DWORD PTR 44[rax], edx | |
.L2390: | |
mov rax, QWORD PTR -8[rbp] | |
.L2384: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE396: | |
.size pcache1FetchStage2, .-pcache1FetchStage2 | |
.type pcache1FetchNoMutex, @function | |
pcache1FetchNoMutex: | |
.LFB397: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov DWORD PTR -32[rbp], edx | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -16[rbp], rax | |
mov QWORD PTR -8[rbp], 0 | |
mov rax, QWORD PTR -16[rbp] | |
mov rcx, QWORD PTR 64[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov esi, DWORD PTR 56[rax] | |
mov eax, DWORD PTR -28[rbp] | |
mov edx, 0 | |
div esi | |
mov eax, edx | |
mov eax, eax | |
sal rax, 3 | |
add rax, rcx | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L2392 | |
.L2394: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 24[rax] | |
mov QWORD PTR -8[rbp], rax | |
.L2392: | |
cmp QWORD PTR -8[rbp], 0 | |
je .L2393 | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 16[rax] | |
cmp eax, DWORD PTR -28[rbp] | |
jne .L2394 | |
.L2393: | |
cmp QWORD PTR -8[rbp], 0 | |
je .L2395 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 40[rax] | |
test rax, rax | |
je .L2396 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call pcache1PinPage | |
jmp .L2397 | |
.L2396: | |
mov rax, QWORD PTR -8[rbp] | |
jmp .L2397 | |
.L2395: | |
cmp DWORD PTR -32[rbp], 0 | |
je .L2398 | |
mov edx, DWORD PTR -32[rbp] | |
mov ecx, DWORD PTR -28[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call pcache1FetchStage2 | |
jmp .L2397 | |
.L2398: | |
mov eax, 0 | |
.L2397: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE397: | |
.size pcache1FetchNoMutex, .-pcache1FetchNoMutex | |
.type pcache1Fetch, @function | |
pcache1Fetch: | |
.LFB398: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov DWORD PTR -16[rbp], edx | |
mov edx, DWORD PTR -16[rbp] | |
mov ecx, DWORD PTR -12[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call pcache1FetchNoMutex | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE398: | |
.size pcache1Fetch, .-pcache1Fetch | |
.type pcache1Unpin, @function | |
pcache1Unpin: | |
.LFB399: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -48[rbp], rsi | |
mov DWORD PTR -52[rbp], edx | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -48[rbp] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -24[rbp], rax | |
cmp DWORD PTR -52[rbp], 0 | |
jne .L2402 | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR 20[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 8[rax] | |
cmp edx, eax | |
jbe .L2403 | |
.L2402: | |
mov rax, QWORD PTR -16[rbp] | |
mov esi, 1 | |
mov rdi, rax | |
call pcache1RemoveFromHash | |
jmp .L2404 | |
.L2403: | |
mov rax, QWORD PTR -24[rbp] | |
add rax, 64 | |
mov QWORD PTR -32[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 24[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR 48[rax], rdx | |
mov rax, QWORD PTR -32[rbp] | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR 40[rax], rdx | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 40[rax] | |
mov rdx, QWORD PTR -16[rbp] | |
mov QWORD PTR 48[rax], rdx | |
mov rax, QWORD PTR -32[rbp] | |
mov rdx, QWORD PTR -16[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 48[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 48[rax], edx | |
.L2404: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE399: | |
.size pcache1Unpin, .-pcache1Unpin | |
.type pcache1Rekey, @function | |
pcache1Rekey: | |
.LFB400: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -48[rbp], rsi | |
mov DWORD PTR -52[rbp], edx | |
mov DWORD PTR -56[rbp], ecx | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -48[rbp] | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov ecx, DWORD PTR 56[rax] | |
mov eax, DWORD PTR -52[rbp] | |
mov edx, 0 | |
div ecx | |
mov DWORD PTR -28[rbp], edx | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov edx, DWORD PTR -28[rbp] | |
sal rdx, 3 | |
add rax, rdx | |
mov QWORD PTR -8[rbp], rax | |
jmp .L2406 | |
.L2407: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
add rax, 24 | |
mov QWORD PTR -8[rbp], rax | |
.L2406: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
cmp rax, QWORD PTR -24[rbp] | |
jne .L2407 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 24[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -16[rbp] | |
mov ecx, DWORD PTR 56[rax] | |
mov eax, DWORD PTR -56[rbp] | |
mov edx, 0 | |
div ecx | |
mov DWORD PTR -28[rbp], edx | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR -56[rbp] | |
mov DWORD PTR 16[rax], edx | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov edx, DWORD PTR -28[rbp] | |
sal rdx, 3 | |
add rax, rdx | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 24[rax], rdx | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov edx, DWORD PTR -28[rbp] | |
sal rdx, 3 | |
add rdx, rax | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR [rdx], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 44[rax] | |
cmp eax, DWORD PTR -56[rbp] | |
jnb .L2409 | |
mov rax, QWORD PTR -16[rbp] | |
mov edx, DWORD PTR -56[rbp] | |
mov DWORD PTR 44[rax], edx | |
.L2409: | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE400: | |
.size pcache1Rekey, .-pcache1Rekey | |
.type pcache1Truncate, @function | |
pcache1Truncate: | |
.LFB401: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 44[rax] | |
cmp eax, DWORD PTR -28[rbp] | |
jb .L2412 | |
mov edx, DWORD PTR -28[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call pcache1TruncateUnsafe | |
mov eax, DWORD PTR -28[rbp] | |
lea edx, -1[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 44[rax], edx | |
.L2412: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE401: | |
.size pcache1Truncate, .-pcache1Truncate | |
.type pcache1Destroy, @function | |
pcache1Destroy: | |
.LFB402: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 52[rax] | |
test eax, eax | |
je .L2414 | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call pcache1TruncateUnsafe | |
.L2414: | |
mov rax, QWORD PTR -16[rbp] | |
mov edx, DWORD PTR 8[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 36[rax] | |
sub edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
mov DWORD PTR 8[rax], edx | |
mov rax, QWORD PTR -16[rbp] | |
mov edx, DWORD PTR 12[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 32[rax] | |
sub edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
mov DWORD PTR 12[rax], edx | |
mov rax, QWORD PTR -16[rbp] | |
mov edx, DWORD PTR 8[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 12[rax] | |
sub edx, eax | |
mov eax, edx | |
lea edx, 10[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov DWORD PTR 16[rax], edx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call pcache1EnforceMaxPage | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rdi, rax | |
call sqlite3_free | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov rdi, rax | |
call sqlite3_free | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE402: | |
.size pcache1Destroy, .-pcache1Destroy | |
.type sqlite3PCacheSetDefault, @function | |
sqlite3PCacheSetDefault: | |
.LFB403: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
lea rsi, defaultMethods.13366[rip] | |
mov edi, 18 | |
mov eax, 0 | |
call sqlite3_config | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE403: | |
.size sqlite3PCacheSetDefault, .-sqlite3PCacheSetDefault | |
.type sqlite3HeaderSizePcache1, @function | |
sqlite3HeaderSizePcache1: | |
.LFB404: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov eax, 56 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE404: | |
.size sqlite3HeaderSizePcache1, .-sqlite3HeaderSizePcache1 | |
.type sqlite3Pcache1Mutex, @function | |
sqlite3Pcache1Mutex: | |
.LFB405: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov rax, QWORD PTR pcache1_g[rip+120] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE405: | |
.size sqlite3Pcache1Mutex, .-sqlite3Pcache1Mutex | |
.type sqlite3RowSetInit, @function | |
sqlite3RowSetInit: | |
.LFB406: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov DWORD PTR -36[rbp], edx | |
mov rax, QWORD PTR -32[rbp] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov QWORD PTR 8[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 16[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 24[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 40[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
lea rdx, 56[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 32[rax], rdx | |
mov eax, DWORD PTR -36[rbp] | |
sub rax, 56 | |
movabs rdx, -6148914691236517205 | |
mul rdx | |
mov rax, rdx | |
shr rax, 4 | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov WORD PTR 48[rax], dx | |
mov rax, QWORD PTR -8[rbp] | |
mov WORD PTR 50[rax], 1 | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 52[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE406: | |
.size sqlite3RowSetInit, .-sqlite3RowSetInit | |
.type sqlite3RowSetClear, @function | |
sqlite3RowSetClear: | |
.LFB407: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L2423 | |
.L2424: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DbFree | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR -8[rbp], rax | |
.L2423: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L2424 | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR [rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov WORD PTR 48[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 16[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 24[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 40[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov WORD PTR 50[rax], 1 | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE407: | |
.size sqlite3RowSetClear, .-sqlite3RowSetClear | |
.type rowSetEntryAlloc, @function | |
rowSetEntryAlloc: | |
.LFB408: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, WORD PTR 48[rax] | |
test ax, ax | |
jne .L2426 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov esi, 1016 | |
mov rdi, rax | |
call sqlite3DbMallocRawNN | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L2427 | |
mov eax, 0 | |
jmp .L2428 | |
.L2427: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
lea rdx, 8[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 32[rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov WORD PTR 48[rax], 42 | |
.L2426: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, WORD PTR 48[rax] | |
lea edx, -1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov WORD PTR 48[rax], dx | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 32[rax] | |
lea rcx, 24[rax] | |
mov rdx, QWORD PTR -24[rbp] | |
mov QWORD PTR 32[rdx], rcx | |
.L2428: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE408: | |
.size rowSetEntryAlloc, .-rowSetEntryAlloc | |
.type sqlite3RowSetInsert, @function | |
sqlite3RowSetInsert: | |
.LFB409: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call rowSetEntryAlloc | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
je .L2435 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -32[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 8[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 24[rax] | |
mov QWORD PTR -16[rbp], rax | |
cmp QWORD PTR -16[rbp], 0 | |
je .L2432 | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR [rax] | |
cmp rax, QWORD PTR -32[rbp] | |
jl .L2433 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, WORD PTR 50[rax] | |
and eax, -2 | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov WORD PTR 50[rax], dx | |
.L2433: | |
mov rax, QWORD PTR -16[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov QWORD PTR 8[rax], rdx | |
jmp .L2434 | |
.L2432: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov QWORD PTR 16[rax], rdx | |
.L2434: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov QWORD PTR 24[rax], rdx | |
jmp .L2429 | |
.L2435: | |
nop | |
.L2429: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE409: | |
.size sqlite3RowSetInsert, .-sqlite3RowSetInsert | |
.type rowSetEntryMerge, @function | |
rowSetEntryMerge: | |
.LFB410: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -48[rbp], rsi | |
lea rax, -32[rbp] | |
mov QWORD PTR -8[rbp], rax | |
.L2441: | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR [rax] | |
cmp rdx, rax | |
jg .L2437 | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR [rax] | |
cmp rdx, rax | |
jge .L2438 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -40[rbp] | |
mov QWORD PTR 8[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -8[rbp], rax | |
.L2438: | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -40[rbp], rax | |
cmp QWORD PTR -40[rbp], 0 | |
jne .L2441 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -48[rbp] | |
mov QWORD PTR 8[rax], rdx | |
jmp .L2440 | |
.L2437: | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -48[rbp] | |
mov QWORD PTR 8[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -48[rbp], rax | |
cmp QWORD PTR -48[rbp], 0 | |
jne .L2441 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -40[rbp] | |
mov QWORD PTR 8[rax], rdx | |
.L2440: | |
mov rax, QWORD PTR -24[rbp] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE410: | |
.size rowSetEntryMerge, .-rowSetEntryMerge | |
.type rowSetEntrySort, @function | |
rowSetEntrySort: | |
.LFB411: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 352 | |
mov QWORD PTR -344[rbp], rdi | |
lea rax, -336[rbp] | |
mov edx, 320 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
jmp .L2444 | |
.L2447: | |
mov rax, QWORD PTR -344[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -344[rbp] | |
mov QWORD PTR 8[rax], 0 | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L2445 | |
.L2446: | |
mov eax, DWORD PTR -4[rbp] | |
mov rax, QWORD PTR -336[rbp+rax*8] | |
mov rdx, QWORD PTR -344[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call rowSetEntryMerge | |
mov QWORD PTR -344[rbp], rax | |
mov eax, DWORD PTR -4[rbp] | |
mov QWORD PTR -336[rbp+rax*8], 0 | |
add DWORD PTR -4[rbp], 1 | |
.L2445: | |
mov eax, DWORD PTR -4[rbp] | |
mov rax, QWORD PTR -336[rbp+rax*8] | |
test rax, rax | |
jne .L2446 | |
mov eax, DWORD PTR -4[rbp] | |
mov rdx, QWORD PTR -344[rbp] | |
mov QWORD PTR -336[rbp+rax*8], rdx | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR -344[rbp], rax | |
.L2444: | |
cmp QWORD PTR -344[rbp], 0 | |
jne .L2447 | |
mov rax, QWORD PTR -336[rbp] | |
mov QWORD PTR -344[rbp], rax | |
mov DWORD PTR -4[rbp], 1 | |
jmp .L2448 | |
.L2453: | |
mov eax, DWORD PTR -4[rbp] | |
mov rax, QWORD PTR -336[rbp+rax*8] | |
test rax, rax | |
je .L2455 | |
cmp QWORD PTR -344[rbp], 0 | |
je .L2451 | |
mov eax, DWORD PTR -4[rbp] | |
mov rdx, QWORD PTR -336[rbp+rax*8] | |
mov rax, QWORD PTR -344[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call rowSetEntryMerge | |
jmp .L2452 | |
.L2451: | |
mov eax, DWORD PTR -4[rbp] | |
mov rax, QWORD PTR -336[rbp+rax*8] | |
.L2452: | |
mov QWORD PTR -344[rbp], rax | |
jmp .L2450 | |
.L2455: | |
nop | |
.L2450: | |
add DWORD PTR -4[rbp], 1 | |
.L2448: | |
cmp DWORD PTR -4[rbp], 39 | |
jbe .L2453 | |
mov rax, QWORD PTR -344[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE411: | |
.size rowSetEntrySort, .-rowSetEntrySort | |
.type rowSetTreeToList, @function | |
rowSetTreeToList: | |
.LFB412: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov QWORD PTR -40[rbp], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 16[rax] | |
test rax, rax | |
je .L2457 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 16[rax] | |
lea rdx, -8[rbp] | |
mov rcx, QWORD PTR -32[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call rowSetTreeToList | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov QWORD PTR 8[rax], rdx | |
jmp .L2458 | |
.L2457: | |
mov rax, QWORD PTR -32[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov QWORD PTR [rax], rdx | |
.L2458: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
test rax, rax | |
je .L2459 | |
mov rax, QWORD PTR -24[rbp] | |
lea rcx, 8[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rdx, QWORD PTR -40[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call rowSetTreeToList | |
jmp .L2461 | |
.L2459: | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov QWORD PTR [rax], rdx | |
.L2461: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE412: | |
.size rowSetTreeToList, .-rowSetTreeToList | |
.type rowSetNDeepTree, @function | |
rowSetNDeepTree: | |
.LFB413: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
jne .L2463 | |
mov eax, 0 | |
jmp .L2464 | |
.L2463: | |
cmp DWORD PTR -28[rbp], 1 | |
jle .L2465 | |
mov eax, DWORD PTR -28[rbp] | |
lea edx, -1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call rowSetNDeepTree | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L2466 | |
mov rax, QWORD PTR -16[rbp] | |
jmp .L2464 | |
.L2466: | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -16[rbp] | |
mov QWORD PTR 16[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR [rax], rdx | |
mov eax, DWORD PTR -28[rbp] | |
lea edx, -1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call rowSetNDeepTree | |
mov rdx, rax | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 8[rax], rdx | |
jmp .L2467 | |
.L2465: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 8[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 16[rax], rdx | |
.L2467: | |
mov rax, QWORD PTR -8[rbp] | |
.L2464: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE413: | |
.size rowSetNDeepTree, .-rowSetNDeepTree | |
.type rowSetListToTree, @function | |
rowSetListToTree: | |
.LFB414: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -40[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR 8[rax], 0 | |
mov rax, QWORD PTR -16[rbp] | |
mov rdx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR 16[rax], rdx | |
mov DWORD PTR -4[rbp], 1 | |
jmp .L2469 | |
.L2470: | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -40[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov QWORD PTR 16[rax], rdx | |
mov edx, DWORD PTR -4[rbp] | |
lea rax, -40[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call rowSetNDeepTree | |
mov rdx, rax | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR 8[rax], rdx | |
add DWORD PTR -4[rbp], 1 | |
.L2469: | |
mov rax, QWORD PTR -40[rbp] | |
test rax, rax | |
jne .L2470 | |
mov rax, QWORD PTR -16[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE414: | |
.size rowSetListToTree, .-rowSetListToTree | |
.type sqlite3RowSetNext, @function | |
sqlite3RowSetNext: | |
.LFB415: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 50[rax] | |
movzx eax, ax | |
and eax, 2 | |
test eax, eax | |
jne .L2473 | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 50[rax] | |
movzx eax, ax | |
and eax, 1 | |
test eax, eax | |
jne .L2474 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov rdi, rax | |
call rowSetEntrySort | |
mov rdx, rax | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 16[rax], rdx | |
.L2474: | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 50[rax] | |
or eax, 3 | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov WORD PTR 50[rax], dx | |
.L2473: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 16[rax] | |
test rax, rax | |
je .L2475 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov rdx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 16[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 16[rax] | |
test rax, rax | |
jne .L2476 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3RowSetClear | |
.L2476: | |
mov eax, 1 | |
jmp .L2477 | |
.L2475: | |
mov eax, 0 | |
.L2477: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE415: | |
.size sqlite3RowSetNext, .-sqlite3RowSetNext | |
.type sqlite3RowSetTest, @function | |
sqlite3RowSetTest: | |
.LFB416: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 80 | |
mov QWORD PTR -56[rbp], rdi | |
mov DWORD PTR -60[rbp], esi | |
mov QWORD PTR -72[rbp], rdx | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 52[rax] | |
cmp eax, DWORD PTR -60[rbp] | |
je .L2479 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
je .L2480 | |
mov rax, QWORD PTR -56[rbp] | |
add rax, 40 | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, WORD PTR 50[rax] | |
movzx eax, ax | |
and eax, 1 | |
test eax, eax | |
jne .L2481 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call rowSetEntrySort | |
mov QWORD PTR -8[rbp], rax | |
.L2481: | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 40[rax] | |
mov QWORD PTR -16[rbp], rax | |
jmp .L2482 | |
.L2485: | |
mov rax, QWORD PTR -16[rbp] | |
add rax, 8 | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 16[rax] | |
test rax, rax | |
jne .L2483 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call rowSetListToTree | |
mov rdx, rax | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR 16[rax], rdx | |
jmp .L2484 | |
.L2483: | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 16[rax] | |
lea rdx, -40[rbp] | |
lea rcx, -32[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call rowSetTreeToList | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR 16[rax], 0 | |
mov rax, QWORD PTR -32[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call rowSetEntryMerge | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -16[rbp], rax | |
.L2482: | |
cmp QWORD PTR -16[rbp], 0 | |
jne .L2485 | |
.L2484: | |
cmp QWORD PTR -16[rbp], 0 | |
jne .L2486 | |
mov rax, QWORD PTR -56[rbp] | |
mov rdi, rax | |
call rowSetEntryAlloc | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -16[rbp] | |
mov QWORD PTR [rax], rdx | |
cmp QWORD PTR -16[rbp], 0 | |
je .L2486 | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR [rax], 0 | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR 8[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call rowSetListToTree | |
mov rdx, rax | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR 16[rax], rdx | |
.L2486: | |
mov rax, QWORD PTR -56[rbp] | |
mov QWORD PTR 16[rax], 0 | |
mov rax, QWORD PTR -56[rbp] | |
mov QWORD PTR 24[rax], 0 | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, WORD PTR 50[rax] | |
or eax, 1 | |
mov edx, eax | |
mov rax, QWORD PTR -56[rbp] | |
mov WORD PTR 50[rax], dx | |
.L2480: | |
mov rax, QWORD PTR -56[rbp] | |
mov edx, DWORD PTR -60[rbp] | |
mov DWORD PTR 52[rax], edx | |
.L2479: | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 40[rax] | |
mov QWORD PTR -16[rbp], rax | |
jmp .L2487 | |
.L2493: | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L2488 | |
.L2492: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
cmp rax, QWORD PTR -72[rbp] | |
jge .L2489 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L2488 | |
.L2489: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
cmp rax, QWORD PTR -72[rbp] | |
jle .L2490 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L2488 | |
.L2490: | |
mov eax, 1 | |
jmp .L2491 | |
.L2488: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L2492 | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -16[rbp], rax | |
.L2487: | |
cmp QWORD PTR -16[rbp], 0 | |
jne .L2493 | |
mov eax, 0 | |
.L2491: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE416: | |
.size sqlite3RowSetTest, .-sqlite3RowSetTest | |
.section .rodata | |
.align 8 | |
.type aJournalMagic, @object | |
.size aJournalMagic, 8 | |
aJournalMagic: | |
.byte -39 | |
.byte -43 | |
.byte 5 | |
.byte -7 | |
.byte 32 | |
.byte -95 | |
.byte 99 | |
.byte -41 | |
.text | |
.type setGetterMethod, @function | |
setGetterMethod: | |
.LFB417: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 44[rax] | |
test eax, eax | |
je .L2495 | |
mov rax, QWORD PTR -8[rbp] | |
lea rdx, getPageError[rip] | |
mov QWORD PTR 264[rax], rdx | |
jmp .L2498 | |
.L2495: | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 26[rax] | |
test al, al | |
je .L2497 | |
mov rax, QWORD PTR -8[rbp] | |
lea rdx, getPageMMap[rip] | |
mov QWORD PTR 264[rax], rdx | |
jmp .L2498 | |
.L2497: | |
mov rax, QWORD PTR -8[rbp] | |
lea rdx, getPageNormal[rip] | |
mov QWORD PTR 264[rax], rdx | |
.L2498: | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE417: | |
.size setGetterMethod, .-setGetterMethod | |
.type subjRequiresPage, @function | |
subjRequiresPage: | |
.LFB418: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 40 | |
mov QWORD PTR -40[rbp], rdi | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 40[rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 48[rax] | |
mov DWORD PTR -20[rbp], eax | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L2500 | |
.L2503: | |
mov rax, QWORD PTR -16[rbp] | |
mov rcx, QWORD PTR 120[rax] | |
mov eax, DWORD PTR -4[rbp] | |
movsx rdx, eax | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 4 | |
add rax, rcx | |
mov QWORD PTR -32[rbp], rax | |
mov rax, QWORD PTR -32[rbp] | |
mov eax, DWORD PTR 24[rax] | |
cmp eax, DWORD PTR -20[rbp] | |
jb .L2501 | |
mov rax, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov edx, DWORD PTR -20[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3BitvecTestNotNull | |
test eax, eax | |
jne .L2501 | |
mov eax, 1 | |
jmp .L2502 | |
.L2501: | |
add DWORD PTR -4[rbp], 1 | |
.L2500: | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 128[rax] | |
cmp eax, DWORD PTR -4[rbp] | |
jg .L2503 | |
mov eax, 0 | |
.L2502: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE418: | |
.size subjRequiresPage, .-subjRequiresPage | |
.type read32bits, @function | |
read32bits: | |
.LFB419: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov QWORD PTR -40[rbp], rdx | |
mov rdx, QWORD PTR -32[rbp] | |
lea rsi, -8[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rcx, rdx | |
mov edx, 4 | |
mov rdi, rax | |
call sqlite3OsRead | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2505 | |
lea rax, -8[rbp] | |
mov rdi, rax | |
call sqlite3Get4byte | |
mov edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR [rax], edx | |
.L2505: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE419: | |
.size read32bits, .-read32bits | |
.type write32bits, @function | |
write32bits: | |
.LFB420: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov DWORD PTR -36[rbp], edx | |
mov edx, DWORD PTR -36[rbp] | |
lea rax, -4[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3Put4byte | |
mov rdx, QWORD PTR -32[rbp] | |
lea rsi, -4[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rcx, rdx | |
mov edx, 4 | |
mov rdi, rax | |
call sqlite3OsWrite | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE420: | |
.size write32bits, .-write32bits | |
.type pagerUnlockDb, @function | |
pagerUnlockDb: | |
.LFB421: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
je .L2510 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 17[rax] | |
test al, al | |
jne .L2511 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov edx, DWORD PTR -28[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3OsUnlock | |
jmp .L2512 | |
.L2511: | |
mov eax, 0 | |
.L2512: | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 21[rax] | |
cmp al, 5 | |
je .L2510 | |
mov eax, DWORD PTR -28[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 21[rax], dl | |
.L2510: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE421: | |
.size pagerUnlockDb, .-pagerUnlockDb | |
.type pagerLockDb, @function | |
pagerLockDb: | |
.LFB422: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 21[rax] | |
movzx eax, al | |
cmp eax, DWORD PTR -28[rbp] | |
jl .L2515 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 21[rax] | |
cmp al, 5 | |
jne .L2516 | |
.L2515: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 17[rax] | |
test al, al | |
jne .L2517 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov edx, DWORD PTR -28[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3OsLock | |
jmp .L2518 | |
.L2517: | |
mov eax, 0 | |
.L2518: | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2516 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 21[rax] | |
cmp al, 5 | |
jne .L2519 | |
cmp DWORD PTR -28[rbp], 4 | |
jne .L2516 | |
.L2519: | |
mov eax, DWORD PTR -28[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 21[rax], dl | |
.L2516: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE422: | |
.size pagerLockDb, .-pagerLockDb | |
.type jrnlBufferSize, @function | |
jrnlBufferSize: | |
.LFB423: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov eax, 0 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE423: | |
.size jrnlBufferSize, .-jrnlBufferSize | |
.type readMasterJournal, @function | |
readMasterJournal: | |
.LFB424: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 80 | |
mov QWORD PTR -56[rbp], rdi | |
mov QWORD PTR -64[rbp], rsi | |
mov DWORD PTR -68[rbp], edx | |
mov rax, QWORD PTR -64[rbp] | |
mov BYTE PTR [rax], 0 | |
lea rdx, -24[rbp] | |
mov rax, QWORD PTR -56[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3OsFileSize | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2524 | |
mov rax, QWORD PTR -24[rbp] | |
cmp rax, 15 | |
jle .L2524 | |
mov rax, QWORD PTR -24[rbp] | |
lea rcx, -16[rax] | |
lea rdx, -12[rbp] | |
mov rax, QWORD PTR -56[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call read32bits | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2524 | |
mov eax, DWORD PTR -12[rbp] | |
cmp eax, DWORD PTR -68[rbp] | |
jnb .L2524 | |
mov eax, DWORD PTR -12[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
sub rax, 16 | |
cmp rdx, rax | |
jg .L2524 | |
mov eax, DWORD PTR -12[rbp] | |
test eax, eax | |
je .L2524 | |
mov rax, QWORD PTR -24[rbp] | |
lea rcx, -12[rax] | |
lea rdx, -28[rbp] | |
mov rax, QWORD PTR -56[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call read32bits | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2524 | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, -8[rax] | |
lea rsi, -36[rbp] | |
mov rax, QWORD PTR -56[rbp] | |
mov rcx, rdx | |
mov edx, 8 | |
mov rdi, rax | |
call sqlite3OsRead | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2524 | |
lea rax, -36[rbp] | |
mov edx, 8 | |
lea rsi, aJournalMagic[rip] | |
mov rdi, rax | |
call memcmp@PLT | |
test eax, eax | |
jne .L2524 | |
mov rax, QWORD PTR -24[rbp] | |
sub rax, 16 | |
mov edx, DWORD PTR -12[rbp] | |
mov edx, edx | |
sub rax, rdx | |
mov rdx, rax | |
mov eax, DWORD PTR -12[rbp] | |
mov edi, eax | |
mov rsi, QWORD PTR -64[rbp] | |
mov rax, QWORD PTR -56[rbp] | |
mov rcx, rdx | |
mov edx, edi | |
mov rdi, rax | |
call sqlite3OsRead | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L2525 | |
.L2524: | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L2530 | |
.L2525: | |
mov DWORD PTR -8[rbp], 0 | |
jmp .L2527 | |
.L2528: | |
mov edx, DWORD PTR -28[rbp] | |
mov ecx, DWORD PTR -8[rbp] | |
mov rax, QWORD PTR -64[rbp] | |
add rax, rcx | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
sub edx, eax | |
mov eax, edx | |
mov DWORD PTR -28[rbp], eax | |
add DWORD PTR -8[rbp], 1 | |
.L2527: | |
mov eax, DWORD PTR -12[rbp] | |
cmp DWORD PTR -8[rbp], eax | |
jb .L2528 | |
mov eax, DWORD PTR -28[rbp] | |
test eax, eax | |
je .L2529 | |
mov DWORD PTR -12[rbp], 0 | |
.L2529: | |
mov eax, DWORD PTR -12[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -64[rbp] | |
add rax, rdx | |
mov BYTE PTR [rax], 0 | |
mov eax, 0 | |
.L2530: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE424: | |
.size readMasterJournal, .-readMasterJournal | |
.type journalHdrOffset, @function | |
journalHdrOffset: | |
.LFB425: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -8[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 96[rax] | |
mov QWORD PTR -16[rbp], rax | |
cmp QWORD PTR -16[rbp], 0 | |
je .L2532 | |
mov rax, QWORD PTR -16[rbp] | |
lea rdx, -1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 184[rax] | |
mov ecx, eax | |
mov rax, rdx | |
cqo | |
idiv rcx | |
lea rdx, 1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 184[rax] | |
mov eax, eax | |
imul rax, rdx | |
mov QWORD PTR -8[rbp], rax | |
.L2532: | |
mov rax, QWORD PTR -8[rbp] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE425: | |
.size journalHdrOffset, .-journalHdrOffset | |
.type zeroJournalHdr, @function | |
zeroJournalHdr: | |
.LFB426: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 96[rax] | |
test rax, rax | |
je .L2535 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 200[rax] | |
mov QWORD PTR -16[rbp], rax | |
cmp DWORD PTR -44[rbp], 0 | |
jne .L2536 | |
cmp QWORD PTR -16[rbp], 0 | |
jne .L2537 | |
.L2536: | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov esi, 0 | |
mov rdi, rax | |
call sqlite3OsTruncate | |
mov DWORD PTR -4[rbp], eax | |
jmp .L2538 | |
.L2537: | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov ecx, 0 | |
mov edx, 28 | |
lea rsi, zeroHdr.13714[rip] | |
mov rdi, rax | |
call sqlite3OsWrite | |
mov DWORD PTR -4[rbp], eax | |
.L2538: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2539 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 11[rax] | |
test al, al | |
jne .L2539 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 14[rax] | |
or eax, 16 | |
movzx edx, al | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3OsSync | |
mov DWORD PTR -4[rbp], eax | |
.L2539: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2535 | |
cmp QWORD PTR -16[rbp], 0 | |
jle .L2535 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 80[rax] | |
lea rdx, -24[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3OsFileSize | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2535 | |
mov rax, QWORD PTR -24[rbp] | |
cmp rax, QWORD PTR -16[rbp] | |
jle .L2535 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rdx, QWORD PTR -16[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3OsTruncate | |
mov DWORD PTR -4[rbp], eax | |
.L2535: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE426: | |
.size zeroJournalHdr, .-zeroJournalHdr | |
.type writeJournalHdr, @function | |
writeJournalHdr: | |
.LFB427: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 272[rax] | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 188[rax] | |
mov DWORD PTR -8[rbp], eax | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 184[rax] | |
cmp eax, DWORD PTR -8[rbp] | |
jnb .L2543 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 184[rax] | |
mov DWORD PTR -8[rbp], eax | |
.L2543: | |
mov DWORD PTR -16[rbp], 0 | |
jmp .L2544 | |
.L2546: | |
mov rax, QWORD PTR -40[rbp] | |
mov rcx, QWORD PTR 120[rax] | |
mov eax, DWORD PTR -16[rbp] | |
movsx rdx, eax | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 4 | |
add rax, rcx | |
mov rax, QWORD PTR 8[rax] | |
test rax, rax | |
jne .L2545 | |
mov rax, QWORD PTR -40[rbp] | |
mov rcx, QWORD PTR 120[rax] | |
mov eax, DWORD PTR -16[rbp] | |
movsx rdx, eax | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 4 | |
lea rdx, [rcx+rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 96[rax] | |
mov QWORD PTR 8[rdx], rax | |
.L2545: | |
add DWORD PTR -16[rbp], 1 | |
.L2544: | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 128[rax] | |
cmp eax, DWORD PTR -16[rbp] | |
jg .L2546 | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call journalHdrOffset | |
mov rdx, rax | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR 96[rax], rdx | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR 96[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR 104[rax], rdx | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 11[rax] | |
test al, al | |
jne .L2547 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 9[rax] | |
cmp al, 4 | |
je .L2547 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rdi, rax | |
call sqlite3OsDeviceCharacteristics | |
and eax, 512 | |
test eax, eax | |
je .L2548 | |
.L2547: | |
mov rdx, QWORD PTR aJournalMagic[rip] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
add rax, 8 | |
mov esi, -1 | |
mov rdi, rax | |
call sqlite3Put4byte | |
jmp .L2549 | |
.L2548: | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, 12 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
.L2549: | |
mov rax, QWORD PTR -40[rbp] | |
add rax, 52 | |
mov rsi, rax | |
mov edi, 4 | |
call sqlite3_randomness | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 52[rax] | |
mov rdx, QWORD PTR -24[rbp] | |
add rdx, 12 | |
mov esi, eax | |
mov rdi, rdx | |
call sqlite3Put4byte | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 32[rax] | |
mov rdx, QWORD PTR -24[rbp] | |
add rdx, 16 | |
mov esi, eax | |
mov rdi, rdx | |
call sqlite3Put4byte | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 184[rax] | |
mov rdx, QWORD PTR -24[rbp] | |
add rdx, 20 | |
mov esi, eax | |
mov rdi, rdx | |
call sqlite3Put4byte | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 188[rax] | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
add rax, 24 | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3Put4byte | |
mov eax, DWORD PTR -8[rbp] | |
lea rdx, -28[rax] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, 28 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
mov DWORD PTR -12[rbp], 0 | |
jmp .L2550 | |
.L2552: | |
mov rax, QWORD PTR -40[rbp] | |
mov rcx, QWORD PTR 96[rax] | |
mov edx, DWORD PTR -8[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rsi, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3OsWrite | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR 96[rax] | |
mov eax, DWORD PTR -8[rbp] | |
add rdx, rax | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR 96[rax], rdx | |
mov eax, DWORD PTR -8[rbp] | |
add DWORD PTR -12[rbp], eax | |
.L2550: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2551 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 184[rax] | |
cmp eax, DWORD PTR -12[rbp] | |
ja .L2552 | |
.L2551: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE427: | |
.size writeJournalHdr, .-writeJournalHdr | |
.type readJournalHdr, @function | |
readJournalHdr: | |
.LFB428: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 80 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov QWORD PTR -56[rbp], rdx | |
mov QWORD PTR -64[rbp], rcx | |
mov QWORD PTR -72[rbp], r8 | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call journalHdrOffset | |
mov rdx, rax | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR 96[rax], rdx | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR 96[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 184[rax] | |
mov eax, eax | |
add rax, rdx | |
cmp rax, QWORD PTR -56[rbp] | |
jle .L2555 | |
mov eax, 101 | |
jmp .L2569 | |
.L2555: | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 96[rax] | |
mov QWORD PTR -16[rbp], rax | |
cmp DWORD PTR -44[rbp], 0 | |
jne .L2557 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 104[rax] | |
cmp rax, QWORD PTR -16[rbp] | |
je .L2558 | |
.L2557: | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rdx, QWORD PTR -16[rbp] | |
lea rsi, -24[rbp] | |
mov rcx, rdx | |
mov edx, 8 | |
mov rdi, rax | |
call sqlite3OsRead | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L2559 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L2569 | |
.L2559: | |
lea rax, -24[rbp] | |
mov edx, 8 | |
lea rsi, aJournalMagic[rip] | |
mov rdi, rax | |
call memcmp@PLT | |
test eax, eax | |
je .L2558 | |
mov eax, 101 | |
jmp .L2569 | |
.L2558: | |
mov rax, QWORD PTR -16[rbp] | |
lea rcx, 8[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rdx, QWORD PTR -64[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call read32bits | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2560 | |
mov rax, QWORD PTR -40[rbp] | |
lea rdx, 52[rax] | |
mov rax, QWORD PTR -16[rbp] | |
lea rcx, 12[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rsi, rcx | |
mov rdi, rax | |
call read32bits | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2560 | |
mov rax, QWORD PTR -16[rbp] | |
lea rcx, 16[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rdx, QWORD PTR -72[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call read32bits | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L2561 | |
.L2560: | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L2569 | |
.L2561: | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 96[rax] | |
test rax, rax | |
jne .L2562 | |
mov rax, QWORD PTR -16[rbp] | |
lea rcx, 20[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 80[rax] | |
lea rdx, -32[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call read32bits | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2563 | |
mov rax, QWORD PTR -16[rbp] | |
lea rcx, 24[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 80[rax] | |
lea rdx, -28[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call read32bits | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L2564 | |
.L2563: | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L2569 | |
.L2564: | |
mov eax, DWORD PTR -28[rbp] | |
test eax, eax | |
jne .L2566 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 188[rax] | |
mov DWORD PTR -28[rbp], eax | |
.L2566: | |
mov eax, DWORD PTR -28[rbp] | |
cmp eax, 511 | |
jbe .L2567 | |
mov eax, DWORD PTR -32[rbp] | |
cmp eax, 31 | |
jbe .L2567 | |
mov eax, DWORD PTR -28[rbp] | |
cmp eax, 65536 | |
ja .L2567 | |
mov eax, DWORD PTR -32[rbp] | |
cmp eax, 65536 | |
ja .L2567 | |
mov eax, DWORD PTR -28[rbp] | |
lea edx, -1[rax] | |
mov eax, DWORD PTR -28[rbp] | |
and eax, edx | |
test eax, eax | |
jne .L2567 | |
mov eax, DWORD PTR -32[rbp] | |
lea edx, -1[rax] | |
mov eax, DWORD PTR -32[rbp] | |
and eax, edx | |
test eax, eax | |
je .L2568 | |
.L2567: | |
mov eax, 101 | |
jmp .L2569 | |
.L2568: | |
lea rcx, -28[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, -1 | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3PagerSetPagesize | |
mov DWORD PTR -4[rbp], eax | |
mov edx, DWORD PTR -32[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 184[rax], edx | |
.L2562: | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR 96[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 184[rax] | |
mov eax, eax | |
add rdx, rax | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR 96[rax], rdx | |
mov eax, DWORD PTR -4[rbp] | |
.L2569: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE428: | |
.size readJournalHdr, .-readJournalHdr | |
.type writeMasterJournal, @function | |
writeMasterJournal: | |
.LFB429: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -48[rbp], rsi | |
mov DWORD PTR -12[rbp], 0 | |
cmp QWORD PTR -48[rbp], 0 | |
je .L2571 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 9[rax] | |
cmp al, 4 | |
je .L2571 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
jne .L2572 | |
.L2571: | |
mov eax, 0 | |
jmp .L2580 | |
.L2572: | |
mov rax, QWORD PTR -40[rbp] | |
mov BYTE PTR 23[rax], 1 | |
mov DWORD PTR -8[rbp], 0 | |
jmp .L2574 | |
.L2575: | |
mov eax, DWORD PTR -8[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -48[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
movsx eax, al | |
add DWORD PTR -12[rbp], eax | |
add DWORD PTR -8[rbp], 1 | |
.L2574: | |
mov eax, DWORD PTR -8[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -48[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
test al, al | |
jne .L2575 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 12[rax] | |
test al, al | |
je .L2576 | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call journalHdrOffset | |
mov rdx, rax | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR 96[rax], rdx | |
.L2576: | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 96[rax] | |
mov QWORD PTR -24[rbp], rax | |
mov eax, DWORD PTR sqlite3PendingByte[rip] | |
mov rdx, QWORD PTR -40[rbp] | |
mov edi, DWORD PTR 188[rdx] | |
cdq | |
idiv edi | |
add eax, 1 | |
mov edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rcx, QWORD PTR -24[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call write32bits | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2577 | |
mov rax, QWORD PTR -24[rbp] | |
lea rcx, 4[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov edx, DWORD PTR -8[rbp] | |
mov rsi, QWORD PTR -48[rbp] | |
mov rdi, rax | |
call sqlite3OsWrite | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2577 | |
mov edx, DWORD PTR -8[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
lea rcx, 4[rax] | |
mov eax, DWORD PTR -8[rbp] | |
cdqe | |
add rcx, rax | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rsi, rcx | |
mov rdi, rax | |
call write32bits | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2577 | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 4[rax] | |
mov eax, DWORD PTR -8[rbp] | |
cdqe | |
add rax, rdx | |
lea rcx, 4[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov edx, DWORD PTR -12[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call write32bits | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2577 | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 4[rax] | |
mov eax, DWORD PTR -8[rbp] | |
cdqe | |
add rax, rdx | |
lea rdx, 8[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rcx, rdx | |
mov edx, 8 | |
lea rsi, aJournalMagic[rip] | |
mov rdi, rax | |
call sqlite3OsWrite | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L2578 | |
.L2577: | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L2580 | |
.L2578: | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR 96[rax] | |
mov eax, DWORD PTR -8[rbp] | |
add eax, 20 | |
cdqe | |
add rdx, rax | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR 96[rax], rdx | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 80[rax] | |
lea rdx, -32[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3OsFileSize | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2579 | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR 96[rax] | |
mov rax, QWORD PTR -32[rbp] | |
cmp rdx, rax | |
jge .L2579 | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR 96[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3OsTruncate | |
mov DWORD PTR -4[rbp], eax | |
.L2579: | |
mov eax, DWORD PTR -4[rbp] | |
.L2580: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE429: | |
.size writeMasterJournal, .-writeMasterJournal | |
.type pager_reset, @function | |
pager_reset: | |
.LFB430: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 132[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 132[rax], edx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 112[rax] | |
mov rdi, rax | |
call sqlite3BackupRestart | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 280[rax] | |
mov rdi, rax | |
call sqlite3PcacheClear | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE430: | |
.size pager_reset, .-pager_reset | |
.type sqlite3PagerDataVersion, @function | |
sqlite3PagerDataVersion: | |
.LFB431: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 132[rax] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE431: | |
.size sqlite3PagerDataVersion, .-sqlite3PagerDataVersion | |
.type releaseAllSavepoints, @function | |
releaseAllSavepoints: | |
.LFB432: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L2585 | |
.L2586: | |
mov rax, QWORD PTR -24[rbp] | |
mov rcx, QWORD PTR 120[rax] | |
mov eax, DWORD PTR -4[rbp] | |
movsx rdx, eax | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 4 | |
add rax, rcx | |
mov rax, QWORD PTR 16[rax] | |
mov rdi, rax | |
call sqlite3BitvecDestroy | |
add DWORD PTR -4[rbp], 1 | |
.L2585: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 128[rax] | |
cmp eax, DWORD PTR -4[rbp] | |
jg .L2586 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 8[rax] | |
test al, al | |
je .L2587 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 88[rax] | |
mov rdi, rax | |
call sqlite3JournalIsInMemory | |
test eax, eax | |
je .L2588 | |
.L2587: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 88[rax] | |
mov rdi, rax | |
call sqlite3OsClose | |
.L2588: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 120[rax] | |
mov rdi, rax | |
call sqlite3_free | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 120[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 128[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 56[rax], 0 | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE432: | |
.size releaseAllSavepoints, .-releaseAllSavepoints | |
.type addToSavepointBitvecs, @function | |
addToSavepointBitvecs: | |
.LFB433: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov DWORD PTR -8[rbp], 0 | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L2590 | |
.L2592: | |
mov rax, QWORD PTR -24[rbp] | |
mov rcx, QWORD PTR 120[rax] | |
mov eax, DWORD PTR -4[rbp] | |
movsx rdx, eax | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 4 | |
add rax, rcx | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 24[rax] | |
cmp eax, DWORD PTR -28[rbp] | |
jb .L2591 | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov edx, DWORD PTR -28[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3BitvecSet | |
or DWORD PTR -8[rbp], eax | |
.L2591: | |
add DWORD PTR -4[rbp], 1 | |
.L2590: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 128[rax] | |
cmp eax, DWORD PTR -4[rbp] | |
jg .L2592 | |
mov eax, DWORD PTR -8[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE433: | |
.size addToSavepointBitvecs, .-addToSavepointBitvecs | |
.type pager_unlock, @function | |
pager_unlock: | |
.LFB434: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov rdi, rax | |
call sqlite3BitvecDestroy | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 64[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call releaseAllSavepoints | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 288[rax] | |
test rax, rax | |
je .L2595 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 288[rax] | |
mov rdi, rax | |
call sqlite3WalEndReadTransaction | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 20[rax], 0 | |
jmp .L2596 | |
.L2595: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 8[rax] | |
test al, al | |
jne .L2596 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
je .L2597 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rdi, rax | |
call sqlite3OsDeviceCharacteristics | |
jmp .L2598 | |
.L2597: | |
mov eax, 0 | |
.L2598: | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
and eax, 2048 | |
test eax, eax | |
je .L2599 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 9[rax] | |
movzx eax, al | |
and eax, 5 | |
cmp eax, 1 | |
je .L2600 | |
.L2599: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rdi, rax | |
call sqlite3OsClose | |
.L2600: | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call pagerUnlockDb | |
mov DWORD PTR -8[rbp], eax | |
cmp DWORD PTR -8[rbp], 0 | |
je .L2601 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
cmp al, 6 | |
jne .L2601 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 21[rax], 5 | |
.L2601: | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 22[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 20[rax], 0 | |
.L2596: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 44[rax] | |
test eax, eax | |
je .L2602 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 16[rax] | |
test al, al | |
jne .L2603 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call pager_reset | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 22[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 20[rax], 0 | |
jmp .L2604 | |
.L2603: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
sete al | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 20[rax], dl | |
.L2604: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 26[rax] | |
test al, al | |
je .L2605 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov edx, 0 | |
mov esi, 0 | |
mov rdi, rax | |
call sqlite3OsUnfetch | |
.L2605: | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 44[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call setGetterMethod | |
.L2602: | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 96[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 104[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 23[rax], 0 | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE434: | |
.size pager_unlock, .-pager_unlock | |
.type pager_error, @function | |
pager_error: | |
.LFB435: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov eax, DWORD PTR -28[rbp] | |
movzx eax, al | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 13 | |
je .L2607 | |
cmp DWORD PTR -4[rbp], 10 | |
jne .L2608 | |
.L2607: | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR -28[rbp] | |
mov DWORD PTR 44[rax], edx | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 20[rax], 6 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call setGetterMethod | |
.L2608: | |
mov eax, DWORD PTR -28[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE435: | |
.size pager_error, .-pager_error | |
.type pagerFlushOnCommit, @function | |
pagerFlushOnCommit: | |
.LFB436: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 16[rax] | |
test al, al | |
jne .L2611 | |
mov eax, 1 | |
jmp .L2612 | |
.L2611: | |
cmp DWORD PTR -12[rbp], 0 | |
jne .L2613 | |
mov eax, 0 | |
jmp .L2612 | |
.L2613: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
jne .L2614 | |
mov eax, 0 | |
jmp .L2612 | |
.L2614: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 280[rax] | |
mov rdi, rax | |
call sqlite3PCachePercentDirty | |
cmp eax, 24 | |
setg al | |
movzx eax, al | |
.L2612: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE436: | |
.size pagerFlushOnCommit, .-pagerFlushOnCommit | |
.type pager_end_transaction, @function | |
pager_end_transaction: | |
.LFB437: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov DWORD PTR -32[rbp], edx | |
mov DWORD PTR -4[rbp], 0 | |
mov DWORD PTR -8[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
cmp al, 1 | |
ja .L2616 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 21[rax] | |
cmp al, 1 | |
ja .L2616 | |
mov eax, 0 | |
jmp .L2617 | |
.L2616: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call releaseAllSavepoints | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
je .L2618 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rdi, rax | |
call sqlite3JournalIsInMemory | |
test eax, eax | |
je .L2619 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rdi, rax | |
call sqlite3OsClose | |
jmp .L2618 | |
.L2619: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 9[rax] | |
cmp al, 3 | |
jne .L2620 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 96[rax] | |
test rax, rax | |
jne .L2621 | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L2622 | |
.L2621: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov esi, 0 | |
mov rdi, rax | |
call sqlite3OsTruncate | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2622 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 12[rax] | |
test al, al | |
je .L2622 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 14[rax] | |
movzx edx, al | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3OsSync | |
mov DWORD PTR -4[rbp], eax | |
.L2622: | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 96[rax], 0 | |
jmp .L2618 | |
.L2620: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 9[rax] | |
cmp al, 1 | |
je .L2623 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 8[rax] | |
test al, al | |
je .L2624 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 9[rax] | |
cmp al, 5 | |
je .L2624 | |
.L2623: | |
cmp DWORD PTR -28[rbp], 0 | |
jne .L2625 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 16[rax] | |
test al, al | |
je .L2626 | |
.L2625: | |
mov edx, 1 | |
jmp .L2627 | |
.L2626: | |
mov edx, 0 | |
.L2627: | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call zeroJournalHdr | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 96[rax], 0 | |
jmp .L2618 | |
.L2624: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 16[rax] | |
test al, al | |
sete al | |
movzx eax, al | |
mov DWORD PTR -12[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rdi, rax | |
call sqlite3OsClose | |
cmp DWORD PTR -12[rbp], 0 | |
je .L2618 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 13[rax] | |
movzx edx, al | |
mov rax, QWORD PTR -24[rbp] | |
mov rcx, QWORD PTR 216[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3OsDelete | |
mov DWORD PTR -4[rbp], eax | |
.L2618: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov rdi, rax | |
call sqlite3BitvecDestroy | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 64[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 48[rax], 0 | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2628 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 19[rax] | |
test al, al | |
jne .L2629 | |
mov edx, DWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call pagerFlushOnCommit | |
test eax, eax | |
je .L2630 | |
.L2629: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 280[rax] | |
mov rdi, rax | |
call sqlite3PcacheCleanAll | |
jmp .L2631 | |
.L2630: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 280[rax] | |
mov rdi, rax | |
call sqlite3PcacheClearWritable | |
.L2631: | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR 28[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 280[rax] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3PcacheTruncate | |
.L2628: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 288[rax] | |
test rax, rax | |
je .L2632 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 288[rax] | |
mov rdi, rax | |
call sqlite3WalEndWriteTransaction | |
mov DWORD PTR -8[rbp], eax | |
jmp .L2633 | |
.L2632: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2633 | |
cmp DWORD PTR -32[rbp], 0 | |
je .L2633 | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR 36[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 28[rax] | |
cmp edx, eax | |
jbe .L2633 | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR 28[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call pager_truncate | |
mov DWORD PTR -4[rbp], eax | |
.L2633: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2634 | |
cmp DWORD PTR -32[rbp], 0 | |
je .L2634 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
je .L2634 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov edx, 0 | |
mov esi, 22 | |
mov rdi, rax | |
call sqlite3OsFileControl | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 12 | |
jne .L2634 | |
mov DWORD PTR -4[rbp], 0 | |
.L2634: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 8[rax] | |
test al, al | |
jne .L2635 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 288[rax] | |
test rax, rax | |
je .L2636 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 288[rax] | |
mov esi, 0 | |
mov rdi, rax | |
call sqlite3WalExclusiveMode | |
test eax, eax | |
je .L2635 | |
.L2636: | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 1 | |
mov rdi, rax | |
call pagerUnlockDb | |
mov DWORD PTR -8[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 22[rax], 0 | |
.L2635: | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 20[rax], 1 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 23[rax], 0 | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2637 | |
mov eax, DWORD PTR -8[rbp] | |
jmp .L2617 | |
.L2637: | |
mov eax, DWORD PTR -4[rbp] | |
.L2617: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE437: | |
.size pager_end_transaction, .-pager_end_transaction | |
.type pagerUnlockAndRollback, @function | |
pagerUnlockAndRollback: | |
.LFB438: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
cmp al, 6 | |
je .L2640 | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
test al, al | |
je .L2640 | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
cmp al, 1 | |
jbe .L2641 | |
call sqlite3BeginBenignMalloc | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3PagerRollback | |
call sqlite3EndBenignMalloc | |
jmp .L2640 | |
.L2641: | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 8[rax] | |
test al, al | |
jne .L2640 | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, 0 | |
mov esi, 0 | |
mov rdi, rax | |
call pager_end_transaction | |
.L2640: | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call pager_unlock | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE438: | |
.size pagerUnlockAndRollback, .-pagerUnlockAndRollback | |
.type pager_cksum, @function | |
pager_cksum: | |
.LFB439: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 52[rax] | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 188[rax] | |
sub eax, 200 | |
mov DWORD PTR -8[rbp], eax | |
jmp .L2643 | |
.L2644: | |
mov eax, DWORD PTR -8[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -32[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
add DWORD PTR -4[rbp], eax | |
sub DWORD PTR -8[rbp], 200 | |
.L2643: | |
cmp DWORD PTR -8[rbp], 0 | |
jg .L2644 | |
mov eax, DWORD PTR -4[rbp] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE439: | |
.size pager_cksum, .-pager_cksum | |
.type pager_playback_one_page, @function | |
pager_playback_one_page: | |
.LFB440: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 96 | |
mov QWORD PTR -72[rbp], rdi | |
mov QWORD PTR -80[rbp], rsi | |
mov QWORD PTR -88[rbp], rdx | |
mov DWORD PTR -92[rbp], ecx | |
mov DWORD PTR -96[rbp], r8d | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 272[rax] | |
mov QWORD PTR -16[rbp], rax | |
cmp DWORD PTR -92[rbp], 0 | |
je .L2647 | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 80[rax] | |
jmp .L2648 | |
.L2647: | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 88[rax] | |
.L2648: | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -80[rbp] | |
mov rcx, QWORD PTR [rax] | |
lea rdx, -52[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call read32bits | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L2649 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L2678 | |
.L2649: | |
mov rax, QWORD PTR -80[rbp] | |
mov rax, QWORD PTR [rax] | |
lea rcx, 4[rax] | |
mov rax, QWORD PTR -72[rbp] | |
mov edx, DWORD PTR 188[rax] | |
mov rsi, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3OsRead | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L2651 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L2678 | |
.L2651: | |
mov rax, QWORD PTR -80[rbp] | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 188[rax] | |
lea ecx, 4[rax] | |
mov eax, DWORD PTR -92[rbp] | |
sal eax, 2 | |
add eax, ecx | |
cdqe | |
add rdx, rax | |
mov rax, QWORD PTR -80[rbp] | |
mov QWORD PTR [rax], rdx | |
mov eax, DWORD PTR -52[rbp] | |
test eax, eax | |
je .L2652 | |
mov eax, DWORD PTR sqlite3PendingByte[rip] | |
mov rdx, QWORD PTR -72[rbp] | |
mov edi, DWORD PTR 188[rdx] | |
cdq | |
idiv edi | |
add eax, 1 | |
mov edx, eax | |
mov eax, DWORD PTR -52[rbp] | |
cmp edx, eax | |
jne .L2653 | |
.L2652: | |
mov eax, 101 | |
jmp .L2678 | |
.L2653: | |
mov rax, QWORD PTR -72[rbp] | |
mov edx, DWORD PTR 28[rax] | |
mov eax, DWORD PTR -52[rbp] | |
cmp edx, eax | |
jb .L2654 | |
mov edx, DWORD PTR -52[rbp] | |
mov rax, QWORD PTR -88[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3BitvecTest | |
test eax, eax | |
je .L2655 | |
.L2654: | |
mov eax, 0 | |
jmp .L2678 | |
.L2655: | |
cmp DWORD PTR -92[rbp], 0 | |
je .L2656 | |
mov rax, QWORD PTR -80[rbp] | |
mov rax, QWORD PTR [rax] | |
lea rcx, -4[rax] | |
lea rdx, -56[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call read32bits | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L2657 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L2678 | |
.L2657: | |
cmp DWORD PTR -96[rbp], 0 | |
jne .L2656 | |
mov rdx, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -72[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call pager_cksum | |
mov edx, eax | |
mov eax, DWORD PTR -56[rbp] | |
cmp edx, eax | |
je .L2656 | |
mov eax, 101 | |
jmp .L2678 | |
.L2656: | |
cmp QWORD PTR -88[rbp], 0 | |
je .L2658 | |
mov edx, DWORD PTR -52[rbp] | |
mov rax, QWORD PTR -88[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3BitvecSet | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L2658 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L2678 | |
.L2658: | |
mov eax, DWORD PTR -52[rbp] | |
cmp eax, 1 | |
jne .L2659 | |
mov rax, QWORD PTR -72[rbp] | |
movzx eax, WORD PTR 178[rax] | |
movsx edx, ax | |
mov rax, QWORD PTR -16[rbp] | |
add rax, 20 | |
movzx eax, BYTE PTR [rax] | |
movzx eax, al | |
cmp edx, eax | |
je .L2659 | |
mov rax, QWORD PTR -16[rbp] | |
add rax, 20 | |
movzx eax, BYTE PTR [rax] | |
movzx edx, al | |
mov rax, QWORD PTR -72[rbp] | |
mov WORD PTR 178[rax], dx | |
.L2659: | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 288[rax] | |
test rax, rax | |
je .L2660 | |
mov QWORD PTR -48[rbp], 0 | |
jmp .L2661 | |
.L2660: | |
mov edx, DWORD PTR -52[rbp] | |
mov rax, QWORD PTR -72[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3PagerLookup | |
mov QWORD PTR -48[rbp], rax | |
.L2661: | |
cmp DWORD PTR -92[rbp], 0 | |
je .L2662 | |
mov rax, QWORD PTR -72[rbp] | |
movzx eax, BYTE PTR 11[rax] | |
test al, al | |
jne .L2663 | |
mov rax, QWORD PTR -80[rbp] | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 104[rax] | |
cmp rdx, rax | |
jg .L2664 | |
.L2663: | |
mov eax, 1 | |
jmp .L2665 | |
.L2664: | |
mov eax, 0 | |
.L2665: | |
mov DWORD PTR -8[rbp], eax | |
jmp .L2666 | |
.L2662: | |
mov rax, QWORD PTR -48[rbp] | |
test rax, rax | |
je .L2667 | |
mov rax, QWORD PTR -48[rbp] | |
movzx eax, WORD PTR 52[rax] | |
movzx eax, ax | |
and eax, 8 | |
test eax, eax | |
jne .L2668 | |
.L2667: | |
mov eax, 1 | |
jmp .L2669 | |
.L2668: | |
mov eax, 0 | |
.L2669: | |
mov DWORD PTR -8[rbp], eax | |
.L2666: | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
je .L2670 | |
mov rax, QWORD PTR -72[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
cmp al, 3 | |
ja .L2671 | |
mov rax, QWORD PTR -72[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
test al, al | |
jne .L2670 | |
.L2671: | |
cmp DWORD PTR -8[rbp], 0 | |
je .L2670 | |
mov eax, DWORD PTR -52[rbp] | |
sub eax, 1 | |
mov edx, eax | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 188[rax] | |
cdqe | |
imul rax, rdx | |
mov QWORD PTR -32[rbp], rax | |
mov rax, QWORD PTR -72[rbp] | |
mov edx, DWORD PTR 188[rax] | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rcx, QWORD PTR -32[rbp] | |
mov rsi, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call sqlite3OsWrite | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -72[rbp] | |
mov edx, DWORD PTR 36[rax] | |
mov eax, DWORD PTR -52[rbp] | |
cmp edx, eax | |
jnb .L2672 | |
mov edx, DWORD PTR -52[rbp] | |
mov rax, QWORD PTR -72[rbp] | |
mov DWORD PTR 36[rax], edx | |
.L2672: | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 112[rax] | |
test rax, rax | |
je .L2679 | |
mov ecx, DWORD PTR -52[rbp] | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 112[rax] | |
mov rdx, QWORD PTR -16[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call sqlite3BackupUpdate | |
jmp .L2679 | |
.L2670: | |
cmp DWORD PTR -92[rbp], 0 | |
jne .L2674 | |
mov rax, QWORD PTR -48[rbp] | |
test rax, rax | |
jne .L2674 | |
mov rax, QWORD PTR -72[rbp] | |
movzx eax, BYTE PTR 24[rax] | |
or eax, 2 | |
mov edx, eax | |
mov rax, QWORD PTR -72[rbp] | |
mov BYTE PTR 24[rax], dl | |
mov esi, DWORD PTR -52[rbp] | |
lea rdx, -48[rbp] | |
mov rax, QWORD PTR -72[rbp] | |
mov ecx, 1 | |
mov rdi, rax | |
call sqlite3PagerGet | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -72[rbp] | |
movzx eax, BYTE PTR 24[rax] | |
and eax, -3 | |
mov edx, eax | |
mov rax, QWORD PTR -72[rbp] | |
mov BYTE PTR 24[rax], dl | |
cmp DWORD PTR -4[rbp], 0 | |
je .L2675 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L2678 | |
.L2675: | |
mov rax, QWORD PTR -48[rbp] | |
mov rdi, rax | |
call sqlite3PcacheMakeDirty | |
jmp .L2674 | |
.L2679: | |
nop | |
.L2674: | |
mov rax, QWORD PTR -48[rbp] | |
test rax, rax | |
je .L2676 | |
mov rax, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -40[rbp], rax | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 188[rax] | |
movsx rdx, eax | |
mov rcx, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call memcpy@PLT | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 256[rax] | |
mov rdx, QWORD PTR -48[rbp] | |
mov rdi, rdx | |
call rax | |
mov eax, DWORD PTR -52[rbp] | |
cmp eax, 1 | |
jne .L2677 | |
mov rax, QWORD PTR -40[rbp] | |
add rax, 24 | |
mov rdx, QWORD PTR -72[rbp] | |
lea rcx, 136[rdx] | |
mov rdx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR [rcx], rax | |
mov QWORD PTR 8[rcx], rdx | |
.L2677: | |
mov rax, QWORD PTR -48[rbp] | |
mov rdi, rax | |
call sqlite3PcacheRelease | |
.L2676: | |
mov eax, DWORD PTR -4[rbp] | |
.L2678: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE440: | |
.size pager_playback_one_page, .-pager_playback_one_page | |
.type pager_delmaster, @function | |
pager_delmaster: | |
.LFB441: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 112 | |
mov QWORD PTR -104[rbp], rdi | |
mov QWORD PTR -112[rbp], rsi | |
mov rax, QWORD PTR -104[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -32[rbp], rax | |
mov QWORD PTR -16[rbp], 0 | |
mov rax, QWORD PTR -32[rbp] | |
mov eax, DWORD PTR 4[rax] | |
add eax, eax | |
cdqe | |
mov rdi, rax | |
call sqlite3MallocZero | |
mov QWORD PTR -40[rbp], rax | |
mov rax, QWORD PTR -32[rbp] | |
mov eax, DWORD PTR 4[rax] | |
movsx rdx, eax | |
mov rax, QWORD PTR -40[rbp] | |
add rax, rdx | |
mov QWORD PTR -48[rbp], rax | |
cmp QWORD PTR -40[rbp], 0 | |
jne .L2681 | |
mov DWORD PTR -4[rbp], 7 | |
jmp .L2682 | |
.L2681: | |
mov DWORD PTR -52[rbp], 16385 | |
mov ecx, DWORD PTR -52[rbp] | |
mov rdx, QWORD PTR -40[rbp] | |
mov rsi, QWORD PTR -112[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov r8d, 0 | |
mov rdi, rax | |
call sqlite3OsOpen | |
mov DWORD PTR -4[rbp], eax | |
.L2682: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2699 | |
lea rdx, -80[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3OsFileSize | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2700 | |
mov rax, QWORD PTR -32[rbp] | |
mov eax, DWORD PTR 8[rax] | |
add eax, 1 | |
mov DWORD PTR -56[rbp], eax | |
mov eax, DWORD PTR -56[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -80[rbp] | |
add rax, rdx | |
add rax, 1 | |
mov rdi, rax | |
call sqlite3Malloc | |
mov QWORD PTR -16[rbp], rax | |
cmp QWORD PTR -16[rbp], 0 | |
jne .L2686 | |
mov DWORD PTR -4[rbp], 7 | |
jmp .L2684 | |
.L2686: | |
mov rax, QWORD PTR -80[rbp] | |
lea rdx, 1[rax] | |
mov rax, QWORD PTR -16[rbp] | |
add rax, rdx | |
mov QWORD PTR -64[rbp], rax | |
mov rax, QWORD PTR -80[rbp] | |
mov edx, eax | |
mov rsi, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov ecx, 0 | |
mov rdi, rax | |
call sqlite3OsRead | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2701 | |
mov rax, QWORD PTR -80[rbp] | |
mov rdx, rax | |
mov rax, QWORD PTR -16[rbp] | |
add rax, rdx | |
mov BYTE PTR [rax], 0 | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR -24[rbp], rax | |
jmp .L2688 | |
.L2696: | |
lea rdx, -84[rbp] | |
mov rsi, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov rcx, rdx | |
mov edx, 0 | |
mov rdi, rax | |
call sqlite3OsAccess | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2702 | |
mov eax, DWORD PTR -84[rbp] | |
test eax, eax | |
je .L2691 | |
mov DWORD PTR -68[rbp], 2049 | |
mov ecx, DWORD PTR -68[rbp] | |
mov rdx, QWORD PTR -48[rbp] | |
mov rsi, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov r8d, 0 | |
mov rdi, rax | |
call sqlite3OsOpen | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2703 | |
mov edx, DWORD PTR -56[rbp] | |
mov rcx, QWORD PTR -64[rbp] | |
mov rax, QWORD PTR -48[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call readMasterJournal | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -48[rbp] | |
mov rdi, rax | |
call sqlite3OsClose | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2704 | |
mov rax, QWORD PTR -64[rbp] | |
movzx eax, BYTE PTR [rax] | |
test al, al | |
je .L2694 | |
mov rdx, QWORD PTR -112[rbp] | |
mov rax, QWORD PTR -64[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call strcmp@PLT | |
test eax, eax | |
jne .L2694 | |
mov eax, 1 | |
jmp .L2695 | |
.L2694: | |
mov eax, 0 | |
.L2695: | |
mov DWORD PTR -72[rbp], eax | |
cmp DWORD PTR -72[rbp], 0 | |
jne .L2705 | |
.L2691: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3Strlen30 | |
add eax, 1 | |
cdqe | |
add QWORD PTR -24[rbp], rax | |
.L2688: | |
mov rdx, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
sub rdx, rax | |
mov rax, QWORD PTR -80[rbp] | |
cmp rdx, rax | |
jl .L2696 | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call sqlite3OsClose | |
mov rcx, QWORD PTR -112[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov edx, 0 | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3OsDelete | |
mov DWORD PTR -4[rbp], eax | |
jmp .L2684 | |
.L2699: | |
nop | |
jmp .L2684 | |
.L2700: | |
nop | |
jmp .L2684 | |
.L2701: | |
nop | |
jmp .L2684 | |
.L2702: | |
nop | |
jmp .L2684 | |
.L2703: | |
nop | |
jmp .L2684 | |
.L2704: | |
nop | |
jmp .L2684 | |
.L2705: | |
nop | |
.L2684: | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
cmp QWORD PTR -40[rbp], 0 | |
je .L2697 | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call sqlite3OsClose | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
.L2697: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE441: | |
.size pager_delmaster, .-pager_delmaster | |
.type pager_truncate, @function | |
pager_truncate: | |
.LFB442: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
je .L2707 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
cmp al, 3 | |
ja .L2708 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
test al, al | |
jne .L2707 | |
.L2708: | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 188[rax] | |
mov DWORD PTR -8[rbp], eax | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 72[rax] | |
lea rdx, -32[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3OsFileSize | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -8[rbp] | |
movsx rdx, eax | |
mov eax, DWORD PTR -44[rbp] | |
imul rax, rdx | |
mov QWORD PTR -16[rbp], rax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2707 | |
mov rax, QWORD PTR -32[rbp] | |
cmp rax, QWORD PTR -16[rbp] | |
je .L2707 | |
mov rax, QWORD PTR -32[rbp] | |
cmp rax, QWORD PTR -16[rbp] | |
jle .L2710 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rdx, QWORD PTR -16[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3OsTruncate | |
mov DWORD PTR -4[rbp], eax | |
jmp .L2711 | |
.L2710: | |
mov eax, DWORD PTR -8[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -32[rbp] | |
add rax, rdx | |
cmp rax, QWORD PTR -16[rbp] | |
jg .L2711 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 272[rax] | |
mov QWORD PTR -24[rbp], rax | |
mov eax, DWORD PTR -8[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
mov eax, DWORD PTR -8[rbp] | |
cdqe | |
mov rdx, QWORD PTR -16[rbp] | |
mov rcx, rdx | |
sub rcx, rax | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov edx, DWORD PTR -8[rbp] | |
mov rsi, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3OsWrite | |
mov DWORD PTR -4[rbp], eax | |
.L2711: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2707 | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR -44[rbp] | |
mov DWORD PTR 36[rax], edx | |
.L2707: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE442: | |
.size pager_truncate, .-pager_truncate | |
.type sqlite3SectorSize, @function | |
sqlite3SectorSize: | |
.LFB443: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3OsSectorSize | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 31 | |
jg .L2714 | |
mov DWORD PTR -4[rbp], 512 | |
jmp .L2715 | |
.L2714: | |
cmp DWORD PTR -4[rbp], 65536 | |
jle .L2715 | |
mov DWORD PTR -4[rbp], 65536 | |
.L2715: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE443: | |
.size sqlite3SectorSize, .-sqlite3SectorSize | |
.type setSectorSize, @function | |
setSectorSize: | |
.LFB444: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 16[rax] | |
test al, al | |
jne .L2718 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rdi, rax | |
call sqlite3OsDeviceCharacteristics | |
and eax, 4096 | |
test eax, eax | |
je .L2719 | |
.L2718: | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 184[rax], 512 | |
jmp .L2720 | |
.L2719: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rdi, rax | |
call sqlite3SectorSize | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 184[rax], edx | |
.L2720: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE444: | |
.size setSectorSize, .-setSectorSize | |
.section .rodata | |
.LC126: | |
.string "recovered %d pages from %s" | |
.text | |
.type pager_playback, @function | |
pager_playback: | |
.LFB445: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 80 | |
mov QWORD PTR -72[rbp], rdi | |
mov DWORD PTR -76[rbp], esi | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -32[rbp], rax | |
mov DWORD PTR -48[rbp], 0 | |
mov DWORD PTR -52[rbp], 1 | |
mov QWORD PTR -16[rbp], 0 | |
mov DWORD PTR -24[rbp], 0 | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 188[rax] | |
mov DWORD PTR -56[rbp], eax | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 80[rax] | |
lea rdx, -40[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3OsFileSize | |
mov DWORD PTR -8[rbp], eax | |
cmp DWORD PTR -8[rbp], 0 | |
jne .L2749 | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 272[rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR [rax] | |
mov eax, DWORD PTR 8[rax] | |
add eax, 1 | |
mov edx, eax | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rcx, QWORD PTR -16[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call readMasterJournal | |
mov DWORD PTR -8[rbp], eax | |
cmp DWORD PTR -8[rbp], 0 | |
jne .L2724 | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, BYTE PTR [rax] | |
test al, al | |
je .L2724 | |
lea rdx, -52[rbp] | |
mov rsi, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov rcx, rdx | |
mov edx, 0 | |
mov rdi, rax | |
call sqlite3OsAccess | |
mov DWORD PTR -8[rbp], eax | |
.L2724: | |
mov QWORD PTR -16[rbp], 0 | |
cmp DWORD PTR -8[rbp], 0 | |
jne .L2723 | |
mov eax, DWORD PTR -52[rbp] | |
test eax, eax | |
je .L2723 | |
mov rax, QWORD PTR -72[rbp] | |
mov QWORD PTR 96[rax], 0 | |
mov eax, DWORD PTR -76[rbp] | |
mov DWORD PTR -20[rbp], eax | |
.L2739: | |
mov rdx, QWORD PTR -40[rbp] | |
lea rdi, -48[rbp] | |
lea rcx, -44[rbp] | |
mov esi, DWORD PTR -76[rbp] | |
mov rax, QWORD PTR -72[rbp] | |
mov r8, rdi | |
mov rdi, rax | |
call readJournalHdr | |
mov DWORD PTR -8[rbp], eax | |
cmp DWORD PTR -8[rbp], 0 | |
je .L2725 | |
cmp DWORD PTR -8[rbp], 101 | |
jne .L2750 | |
mov DWORD PTR -8[rbp], 0 | |
jmp .L2750 | |
.L2725: | |
mov eax, DWORD PTR -44[rbp] | |
cmp eax, -1 | |
jne .L2727 | |
mov rdx, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 184[rax] | |
mov eax, eax | |
mov rcx, rdx | |
sub rcx, rax | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 188[rax] | |
add eax, 8 | |
movsx rdi, eax | |
mov rax, rcx | |
cqo | |
idiv rdi | |
mov DWORD PTR -44[rbp], eax | |
.L2727: | |
mov eax, DWORD PTR -44[rbp] | |
test eax, eax | |
jne .L2728 | |
cmp DWORD PTR -76[rbp], 0 | |
jne .L2728 | |
mov rax, QWORD PTR -72[rbp] | |
mov rdx, QWORD PTR 104[rax] | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 184[rax] | |
mov eax, eax | |
add rdx, rax | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 96[rax] | |
cmp rdx, rax | |
jne .L2728 | |
mov rdx, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 96[rax] | |
mov rcx, rdx | |
sub rcx, rax | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 188[rax] | |
add eax, 8 | |
movsx rsi, eax | |
mov rax, rcx | |
cqo | |
idiv rsi | |
mov DWORD PTR -44[rbp], eax | |
.L2728: | |
mov rax, QWORD PTR -72[rbp] | |
mov rdx, QWORD PTR 96[rax] | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 184[rax] | |
mov eax, eax | |
cmp rdx, rax | |
jne .L2729 | |
mov edx, DWORD PTR -48[rbp] | |
mov rax, QWORD PTR -72[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call pager_truncate | |
mov DWORD PTR -8[rbp], eax | |
cmp DWORD PTR -8[rbp], 0 | |
jne .L2751 | |
mov edx, DWORD PTR -48[rbp] | |
mov rax, QWORD PTR -72[rbp] | |
mov DWORD PTR 28[rax], edx | |
.L2729: | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L2731 | |
.L2738: | |
cmp DWORD PTR -20[rbp], 0 | |
je .L2732 | |
mov rax, QWORD PTR -72[rbp] | |
mov rdi, rax | |
call pager_reset | |
mov DWORD PTR -20[rbp], 0 | |
.L2732: | |
mov rax, QWORD PTR -72[rbp] | |
lea rsi, 96[rax] | |
mov rax, QWORD PTR -72[rbp] | |
mov r8d, 0 | |
mov ecx, 1 | |
mov edx, 0 | |
mov rdi, rax | |
call pager_playback_one_page | |
mov DWORD PTR -8[rbp], eax | |
cmp DWORD PTR -8[rbp], 0 | |
jne .L2733 | |
add DWORD PTR -24[rbp], 1 | |
jmp .L2748 | |
.L2733: | |
cmp DWORD PTR -8[rbp], 101 | |
jne .L2735 | |
mov rdx, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR -72[rbp] | |
mov QWORD PTR 96[rax], rdx | |
jmp .L2736 | |
.L2735: | |
cmp DWORD PTR -8[rbp], 522 | |
jne .L2752 | |
mov DWORD PTR -8[rbp], 0 | |
jmp .L2723 | |
.L2748: | |
add DWORD PTR -4[rbp], 1 | |
.L2731: | |
mov eax, DWORD PTR -44[rbp] | |
cmp DWORD PTR -4[rbp], eax | |
jb .L2738 | |
.L2736: | |
jmp .L2739 | |
.L2749: | |
nop | |
jmp .L2723 | |
.L2750: | |
nop | |
jmp .L2723 | |
.L2751: | |
nop | |
jmp .L2723 | |
.L2752: | |
nop | |
.L2723: | |
cmp DWORD PTR -8[rbp], 0 | |
jne .L2740 | |
lea rcx, -56[rbp] | |
mov rax, QWORD PTR -72[rbp] | |
mov edx, -1 | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3PagerSetPagesize | |
mov DWORD PTR -8[rbp], eax | |
.L2740: | |
mov rax, QWORD PTR -72[rbp] | |
movzx edx, BYTE PTR 16[rax] | |
mov rax, QWORD PTR -72[rbp] | |
mov BYTE PTR 22[rax], dl | |
cmp DWORD PTR -8[rbp], 0 | |
jne .L2741 | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 272[rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR [rax] | |
mov eax, DWORD PTR 8[rax] | |
add eax, 1 | |
mov edx, eax | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rcx, QWORD PTR -16[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call readMasterJournal | |
mov DWORD PTR -8[rbp], eax | |
.L2741: | |
cmp DWORD PTR -8[rbp], 0 | |
jne .L2742 | |
mov rax, QWORD PTR -72[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
cmp al, 3 | |
ja .L2743 | |
mov rax, QWORD PTR -72[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
test al, al | |
jne .L2742 | |
.L2743: | |
mov rax, QWORD PTR -72[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call sqlite3PagerSync | |
mov DWORD PTR -8[rbp], eax | |
.L2742: | |
cmp DWORD PTR -8[rbp], 0 | |
jne .L2744 | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, BYTE PTR [rax] | |
test al, al | |
setne al | |
movzx ecx, al | |
mov rax, QWORD PTR -72[rbp] | |
mov edx, 0 | |
mov esi, ecx | |
mov rdi, rax | |
call pager_end_transaction | |
mov DWORD PTR -8[rbp], eax | |
.L2744: | |
cmp DWORD PTR -8[rbp], 0 | |
jne .L2745 | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, BYTE PTR [rax] | |
test al, al | |
je .L2745 | |
mov eax, DWORD PTR -52[rbp] | |
test eax, eax | |
je .L2745 | |
mov rdx, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -72[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call pager_delmaster | |
mov DWORD PTR -8[rbp], eax | |
.L2745: | |
cmp DWORD PTR -76[rbp], 0 | |
je .L2746 | |
cmp DWORD PTR -24[rbp], 0 | |
je .L2746 | |
mov rax, QWORD PTR -72[rbp] | |
mov rdx, QWORD PTR 216[rax] | |
mov eax, DWORD PTR -24[rbp] | |
mov rcx, rdx | |
mov edx, eax | |
lea rsi, .LC126[rip] | |
mov edi, 539 | |
mov eax, 0 | |
call sqlite3_log | |
.L2746: | |
mov rax, QWORD PTR -72[rbp] | |
mov rdi, rax | |
call setSectorSize | |
mov eax, DWORD PTR -8[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE445: | |
.size pager_playback, .-pager_playback | |
.type readDbPage, @function | |
readDbPage: | |
.LFB446: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -56[rbp], rdi | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 40[rax] | |
mov QWORD PTR -16[rbp], rax | |
mov DWORD PTR -4[rbp], 0 | |
mov DWORD PTR -36[rbp], 0 | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 288[rax] | |
test rax, rax | |
je .L2754 | |
mov rax, QWORD PTR -56[rbp] | |
mov ecx, DWORD PTR 48[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 288[rax] | |
lea rdx, -36[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call sqlite3WalFindFrame | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L2754 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L2760 | |
.L2754: | |
mov eax, DWORD PTR -36[rbp] | |
test eax, eax | |
je .L2756 | |
mov rax, QWORD PTR -56[rbp] | |
mov rcx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov edx, DWORD PTR 188[rax] | |
mov esi, DWORD PTR -36[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 288[rax] | |
mov rdi, rax | |
call sqlite3WalReadFrame | |
mov DWORD PTR -4[rbp], eax | |
jmp .L2757 | |
.L2756: | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 48[rax] | |
sub eax, 1 | |
mov edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 188[rax] | |
cdqe | |
imul rax, rdx | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov edx, DWORD PTR 188[rax] | |
mov rax, QWORD PTR -56[rbp] | |
mov rsi, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rcx, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3OsRead | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 522 | |
jne .L2757 | |
mov DWORD PTR -4[rbp], 0 | |
.L2757: | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 48[rax] | |
cmp eax, 1 | |
jne .L2758 | |
cmp DWORD PTR -4[rbp], 0 | |
je .L2759 | |
mov rax, QWORD PTR -16[rbp] | |
add rax, 136 | |
mov edx, 16 | |
mov esi, 255 | |
mov rdi, rax | |
call memset@PLT | |
jmp .L2758 | |
.L2759: | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 8[rax] | |
add rax, 24 | |
mov QWORD PTR -32[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
lea rcx, 136[rax] | |
mov rax, QWORD PTR -32[rbp] | |
mov rdx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR [rcx], rax | |
mov QWORD PTR 8[rcx], rdx | |
.L2758: | |
mov eax, DWORD PTR -4[rbp] | |
.L2760: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE446: | |
.size readDbPage, .-readDbPage | |
.type pager_write_changecounter, @function | |
pager_write_changecounter: | |
.LFB447: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 24 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 40[rax] | |
add rax, 136 | |
mov rdi, rax | |
call sqlite3Get4byte | |
add eax, 1 | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
lea rdx, 24[rax] | |
mov eax, DWORD PTR -4[rbp] | |
mov esi, eax | |
mov rdi, rdx | |
call sqlite3Put4byte | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
lea rdx, 92[rax] | |
mov eax, DWORD PTR -4[rbp] | |
mov esi, eax | |
mov rdi, rdx | |
call sqlite3Put4byte | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
add rax, 96 | |
mov esi, 3022000 | |
mov rdi, rax | |
call sqlite3Put4byte | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE447: | |
.size pager_write_changecounter, .-pager_write_changecounter | |
.type pagerUndoCallback, @function | |
pagerUndoCallback: | |
.LFB448: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR -16[rbp], rax | |
mov edx, DWORD PTR -44[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3PagerLookup | |
mov QWORD PTR -24[rbp], rax | |
cmp QWORD PTR -24[rbp], 0 | |
je .L2763 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3PcachePageRefcount | |
cmp eax, 1 | |
jne .L2764 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3PcacheDrop | |
jmp .L2763 | |
.L2764: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call readDbPage | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2765 | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 256[rax] | |
mov rdx, QWORD PTR -24[rbp] | |
mov rdi, rdx | |
call rax | |
.L2765: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3PagerUnrefNotNull | |
.L2763: | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 112[rax] | |
mov rdi, rax | |
call sqlite3BackupRestart | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE448: | |
.size pagerUndoCallback, .-pagerUndoCallback | |
.type pagerRollbackWal, @function | |
pagerRollbackWal: | |
.LFB449: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR 32[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 28[rax], edx | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 288[rax] | |
mov rdx, QWORD PTR -40[rbp] | |
lea rsi, pagerUndoCallback[rip] | |
mov rdi, rax | |
call sqlite3WalUndo | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 280[rax] | |
mov rdi, rax | |
call sqlite3PcacheDirtyList | |
mov QWORD PTR -16[rbp], rax | |
jmp .L2768 | |
.L2770: | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov edx, DWORD PTR 48[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call pagerUndoCallback | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -16[rbp], rax | |
.L2768: | |
cmp QWORD PTR -16[rbp], 0 | |
je .L2769 | |
cmp DWORD PTR -4[rbp], 0 | |
je .L2770 | |
.L2769: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE449: | |
.size pagerRollbackWal, .-pagerRollbackWal | |
.type pagerWalFrames, @function | |
pagerWalFrames: | |
.LFB450: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -48[rbp], rsi | |
mov DWORD PTR -52[rbp], edx | |
mov DWORD PTR -56[rbp], ecx | |
cmp DWORD PTR -56[rbp], 0 | |
je .L2773 | |
lea rax, -48[rbp] | |
mov QWORD PTR -24[rbp], rax | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -48[rbp] | |
mov QWORD PTR -16[rbp], rax | |
jmp .L2774 | |
.L2776: | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 48[rax] | |
cmp eax, DWORD PTR -52[rbp] | |
ja .L2775 | |
mov rax, QWORD PTR -16[rbp] | |
add rax, 32 | |
mov QWORD PTR -24[rbp], rax | |
add DWORD PTR -4[rbp], 1 | |
.L2775: | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov QWORD PTR -16[rbp], rax | |
.L2774: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -16[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
jne .L2776 | |
jmp .L2777 | |
.L2773: | |
mov DWORD PTR -4[rbp], 1 | |
.L2777: | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR 248[rax] | |
mov eax, DWORD PTR -4[rbp] | |
add edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 248[rax], edx | |
mov rax, QWORD PTR -48[rbp] | |
mov eax, DWORD PTR 48[rax] | |
cmp eax, 1 | |
jne .L2778 | |
mov rax, QWORD PTR -48[rbp] | |
mov rdi, rax | |
call pager_write_changecounter | |
.L2778: | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 15[rax] | |
movzx r8d, al | |
mov rdx, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, DWORD PTR 188[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 288[rax] | |
mov edi, DWORD PTR -56[rbp] | |
mov ecx, DWORD PTR -52[rbp] | |
mov r9d, r8d | |
mov r8d, edi | |
mov rdi, rax | |
call sqlite3WalFrames | |
mov DWORD PTR -28[rbp], eax | |
cmp DWORD PTR -28[rbp], 0 | |
jne .L2779 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 112[rax] | |
test rax, rax | |
je .L2779 | |
mov rax, QWORD PTR -48[rbp] | |
mov QWORD PTR -16[rbp], rax | |
jmp .L2780 | |
.L2781: | |
mov rax, QWORD PTR -16[rbp] | |
mov rdx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov ecx, DWORD PTR 48[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 112[rax] | |
mov esi, ecx | |
mov rdi, rax | |
call sqlite3BackupUpdate | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov QWORD PTR -16[rbp], rax | |
.L2780: | |
cmp QWORD PTR -16[rbp], 0 | |
jne .L2781 | |
.L2779: | |
mov eax, DWORD PTR -28[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE450: | |
.size pagerWalFrames, .-pagerWalFrames | |
.type pagerBeginReadTransaction, @function | |
pagerBeginReadTransaction: | |
.LFB451: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -8[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 288[rax] | |
mov rdi, rax | |
call sqlite3WalEndReadTransaction | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 288[rax] | |
lea rdx, -8[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3WalBeginReadTransaction | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2784 | |
mov eax, DWORD PTR -8[rbp] | |
test eax, eax | |
je .L2785 | |
.L2784: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call pager_reset | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 26[rax] | |
test al, al | |
je .L2785 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov edx, 0 | |
mov esi, 0 | |
mov rdi, rax | |
call sqlite3OsUnfetch | |
.L2785: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE451: | |
.size pagerBeginReadTransaction, .-pagerBeginReadTransaction | |
.type pagerPagecount, @function | |
pagerPagecount: | |
.LFB452: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 288[rax] | |
mov rdi, rax | |
call sqlite3WalDbsize | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2788 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
je .L2788 | |
mov QWORD PTR -16[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
lea rdx, -16[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3OsFileSize | |
mov DWORD PTR -8[rbp], eax | |
cmp DWORD PTR -8[rbp], 0 | |
je .L2789 | |
mov eax, DWORD PTR -8[rbp] | |
jmp .L2790 | |
.L2789: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 188[rax] | |
movsx rdx, eax | |
mov rax, QWORD PTR -16[rbp] | |
add rax, rdx | |
lea rcx, -1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 188[rax] | |
movsx rsi, eax | |
mov rax, rcx | |
cqo | |
idiv rsi | |
mov DWORD PTR -4[rbp], eax | |
.L2788: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 192[rax] | |
cmp eax, DWORD PTR -4[rbp] | |
jnb .L2791 | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
mov DWORD PTR 192[rax], edx | |
.L2791: | |
mov rax, QWORD PTR -32[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
mov DWORD PTR [rax], edx | |
mov eax, 0 | |
.L2790: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE452: | |
.size pagerPagecount, .-pagerPagecount | |
.type pagerOpenWalIfPresent, @function | |
pagerOpenWalIfPresent: | |
.LFB453: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 16[rax] | |
test al, al | |
jne .L2793 | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, QWORD PTR 296[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
lea rdx, -8[rbp] | |
mov rcx, rdx | |
mov edx, 0 | |
mov rdi, rax | |
call sqlite3OsAccess | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2793 | |
mov eax, DWORD PTR -8[rbp] | |
test eax, eax | |
je .L2795 | |
lea rdx, -12[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call pagerPagecount | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L2796 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L2797 | |
.L2796: | |
mov eax, DWORD PTR -12[rbp] | |
test eax, eax | |
jne .L2798 | |
mov rax, QWORD PTR -24[rbp] | |
mov rcx, QWORD PTR 296[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov edx, 0 | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3OsDelete | |
mov DWORD PTR -4[rbp], eax | |
jmp .L2793 | |
.L2798: | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call sqlite3PagerOpenWal | |
mov DWORD PTR -4[rbp], eax | |
jmp .L2793 | |
.L2795: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 9[rax] | |
cmp al, 5 | |
jne .L2793 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 9[rax], 0 | |
.L2793: | |
mov eax, DWORD PTR -4[rbp] | |
.L2797: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE453: | |
.size pagerOpenWalIfPresent, .-pagerOpenWalIfPresent | |
.type pagerPlaybackSavepoint, @function | |
pagerPlaybackSavepoint: | |
.LFB454: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 80 | |
mov QWORD PTR -72[rbp], rdi | |
mov QWORD PTR -80[rbp], rsi | |
mov DWORD PTR -4[rbp], 0 | |
mov QWORD PTR -16[rbp], 0 | |
cmp QWORD PTR -80[rbp], 0 | |
je .L2801 | |
mov rax, QWORD PTR -80[rbp] | |
mov eax, DWORD PTR 24[rax] | |
mov edi, eax | |
call sqlite3BitvecCreate | |
mov QWORD PTR -16[rbp], rax | |
cmp QWORD PTR -16[rbp], 0 | |
jne .L2801 | |
mov eax, 7 | |
jmp .L2802 | |
.L2801: | |
cmp QWORD PTR -80[rbp], 0 | |
je .L2803 | |
mov rax, QWORD PTR -80[rbp] | |
mov eax, DWORD PTR 24[rax] | |
jmp .L2804 | |
.L2803: | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 32[rax] | |
.L2804: | |
mov rdx, QWORD PTR -72[rbp] | |
mov DWORD PTR 28[rdx], eax | |
mov rax, QWORD PTR -72[rbp] | |
movzx edx, BYTE PTR 16[rax] | |
mov rax, QWORD PTR -72[rbp] | |
mov BYTE PTR 22[rax], dl | |
cmp QWORD PTR -80[rbp], 0 | |
jne .L2805 | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 288[rax] | |
test rax, rax | |
je .L2805 | |
mov rax, QWORD PTR -72[rbp] | |
mov rdi, rax | |
call pagerRollbackWal | |
jmp .L2802 | |
.L2805: | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 96[rax] | |
mov QWORD PTR -32[rbp], rax | |
cmp QWORD PTR -80[rbp], 0 | |
je .L2806 | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 288[rax] | |
test rax, rax | |
jne .L2806 | |
mov rax, QWORD PTR -80[rbp] | |
mov rax, QWORD PTR 8[rax] | |
test rax, rax | |
je .L2807 | |
mov rax, QWORD PTR -80[rbp] | |
mov rax, QWORD PTR 8[rax] | |
jmp .L2808 | |
.L2807: | |
mov rax, QWORD PTR -32[rbp] | |
.L2808: | |
mov QWORD PTR -40[rbp], rax | |
mov rax, QWORD PTR -80[rbp] | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -72[rbp] | |
mov QWORD PTR 96[rax], rdx | |
jmp .L2809 | |
.L2811: | |
mov rax, QWORD PTR -72[rbp] | |
lea rsi, 96[rax] | |
mov rdx, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -72[rbp] | |
mov r8d, 1 | |
mov ecx, 1 | |
mov rdi, rax | |
call pager_playback_one_page | |
mov DWORD PTR -4[rbp], eax | |
.L2809: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2826 | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 96[rax] | |
cmp rax, QWORD PTR -40[rbp] | |
jl .L2811 | |
jmp .L2826 | |
.L2806: | |
mov rax, QWORD PTR -72[rbp] | |
mov QWORD PTR 96[rax], 0 | |
jmp .L2813 | |
.L2826: | |
nop | |
jmp .L2813 | |
.L2819: | |
mov DWORD PTR -44[rbp], 0 | |
lea rsi, -48[rbp] | |
lea rcx, -44[rbp] | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -72[rbp] | |
mov r8, rsi | |
mov esi, 0 | |
mov rdi, rax | |
call readJournalHdr | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -44[rbp] | |
test eax, eax | |
jne .L2814 | |
mov rax, QWORD PTR -72[rbp] | |
mov rdx, QWORD PTR 104[rax] | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 184[rax] | |
mov eax, eax | |
add rdx, rax | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 96[rax] | |
cmp rdx, rax | |
jne .L2814 | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 96[rax] | |
mov rdx, QWORD PTR -32[rbp] | |
mov rcx, rdx | |
sub rcx, rax | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 188[rax] | |
add eax, 8 | |
movsx rdi, eax | |
mov rax, rcx | |
cqo | |
idiv rdi | |
mov DWORD PTR -44[rbp], eax | |
.L2814: | |
mov DWORD PTR -20[rbp], 0 | |
jmp .L2815 | |
.L2817: | |
mov rax, QWORD PTR -72[rbp] | |
lea rsi, 96[rax] | |
mov rdx, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -72[rbp] | |
mov r8d, 1 | |
mov ecx, 1 | |
mov rdi, rax | |
call pager_playback_one_page | |
mov DWORD PTR -4[rbp], eax | |
add DWORD PTR -20[rbp], 1 | |
.L2815: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2813 | |
mov eax, DWORD PTR -44[rbp] | |
cmp DWORD PTR -20[rbp], eax | |
jnb .L2813 | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 96[rax] | |
cmp rax, QWORD PTR -32[rbp] | |
jl .L2817 | |
.L2813: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2818 | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 96[rax] | |
cmp rax, QWORD PTR -32[rbp] | |
jl .L2819 | |
.L2818: | |
cmp QWORD PTR -80[rbp], 0 | |
je .L2820 | |
mov rax, QWORD PTR -80[rbp] | |
mov eax, DWORD PTR 28[rax] | |
mov edx, eax | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 188[rax] | |
add eax, 4 | |
cdqe | |
imul rax, rdx | |
mov QWORD PTR -56[rbp], rax | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 288[rax] | |
test rax, rax | |
je .L2821 | |
mov rax, QWORD PTR -80[rbp] | |
lea rdx, 32[rax] | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 288[rax] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3WalSavepointUndo | |
mov DWORD PTR -4[rbp], eax | |
.L2821: | |
mov rax, QWORD PTR -80[rbp] | |
mov eax, DWORD PTR 28[rax] | |
mov DWORD PTR -24[rbp], eax | |
jmp .L2822 | |
.L2824: | |
mov rdx, QWORD PTR -16[rbp] | |
lea rsi, -56[rbp] | |
mov rax, QWORD PTR -72[rbp] | |
mov r8d, 1 | |
mov ecx, 0 | |
mov rdi, rax | |
call pager_playback_one_page | |
mov DWORD PTR -4[rbp], eax | |
add DWORD PTR -24[rbp], 1 | |
.L2822: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2820 | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 56[rax] | |
cmp eax, DWORD PTR -24[rbp] | |
ja .L2824 | |
.L2820: | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call sqlite3BitvecDestroy | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2825 | |
mov rax, QWORD PTR -72[rbp] | |
mov rdx, QWORD PTR -32[rbp] | |
mov QWORD PTR 96[rax], rdx | |
.L2825: | |
mov eax, DWORD PTR -4[rbp] | |
.L2802: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE454: | |
.size pagerPlaybackSavepoint, .-pagerPlaybackSavepoint | |
.type sqlite3PagerSetCachesize, @function | |
sqlite3PagerSetCachesize: | |
.LFB455: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 280[rax] | |
mov edx, DWORD PTR -12[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3PcacheSetCachesize | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE455: | |
.size sqlite3PagerSetCachesize, .-sqlite3PagerSetCachesize | |
.type sqlite3PagerSetSpillsize, @function | |
sqlite3PagerSetSpillsize: | |
.LFB456: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 280[rax] | |
mov edx, DWORD PTR -12[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3PcacheSetSpillsize | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE456: | |
.size sqlite3PagerSetSpillsize, .-sqlite3PagerSetSpillsize | |
.type pagerFixMaplimit, @function | |
pagerFixMaplimit: | |
.LFB457: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
je .L2832 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov eax, DWORD PTR [rax] | |
cmp eax, 2 | |
jle .L2832 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 160[rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
test rax, rax | |
setg al | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 26[rax], dl | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call setGetterMethod | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
lea rdx, -16[rbp] | |
mov esi, 18 | |
mov rdi, rax | |
call sqlite3OsFileControlHint | |
.L2832: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE457: | |
.size pagerFixMaplimit, .-pagerFixMaplimit | |
.type sqlite3PagerSetMmapLimit, @function | |
sqlite3PagerSetMmapLimit: | |
.LFB458: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -16[rbp] | |
mov QWORD PTR 160[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call pagerFixMaplimit | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE458: | |
.size sqlite3PagerSetMmapLimit, .-sqlite3PagerSetMmapLimit | |
.type sqlite3PagerShrink, @function | |
sqlite3PagerShrink: | |
.LFB459: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 280[rax] | |
mov rdi, rax | |
call sqlite3PcacheShrink | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE459: | |
.size sqlite3PagerShrink, .-sqlite3PagerShrink | |
.type sqlite3PagerSetFlags, @function | |
sqlite3PagerSetFlags: | |
.LFB460: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov eax, DWORD PTR -28[rbp] | |
and eax, 7 | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 16[rax] | |
test al, al | |
je .L2836 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 11[rax], 1 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 12[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 13[rax], 0 | |
jmp .L2837 | |
.L2836: | |
cmp DWORD PTR -4[rbp], 1 | |
sete al | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 11[rax], dl | |
cmp DWORD PTR -4[rbp], 2 | |
seta al | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 12[rax], dl | |
cmp DWORD PTR -4[rbp], 4 | |
sete al | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 13[rax], dl | |
.L2837: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 11[rax] | |
test al, al | |
je .L2838 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 14[rax], 0 | |
jmp .L2839 | |
.L2838: | |
mov eax, DWORD PTR -28[rbp] | |
and eax, 8 | |
test eax, eax | |
je .L2840 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 14[rax], 3 | |
jmp .L2839 | |
.L2840: | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 14[rax], 2 | |
.L2839: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 14[rax] | |
lea edx, 0[0+rax*4] | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 15[rax], dl | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 12[rax] | |
test al, al | |
je .L2841 | |
mov rax, QWORD PTR -24[rbp] | |
movzx edx, BYTE PTR 15[rax] | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 14[rax] | |
or edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 15[rax], dl | |
.L2841: | |
mov eax, DWORD PTR -28[rbp] | |
and eax, 16 | |
test eax, eax | |
je .L2842 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 11[rax] | |
test al, al | |
jne .L2842 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 15[rax] | |
or eax, 12 | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 15[rax], dl | |
.L2842: | |
mov eax, DWORD PTR -28[rbp] | |
and eax, 32 | |
test eax, eax | |
je .L2843 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 24[rax] | |
and eax, -2 | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 24[rax], dl | |
jmp .L2845 | |
.L2843: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 24[rax] | |
or eax, 1 | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 24[rax], dl | |
.L2845: | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE460: | |
.size sqlite3PagerSetFlags, .-sqlite3PagerSetFlags | |
.type pagerOpentemp, @function | |
pagerOpentemp: | |
.LFB461: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov DWORD PTR -36[rbp], edx | |
or DWORD PTR -36[rbp], 30 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov ecx, DWORD PTR -36[rbp] | |
mov rdx, QWORD PTR -32[rbp] | |
mov r8d, 0 | |
mov esi, 0 | |
mov rdi, rax | |
call sqlite3OsOpen | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE461: | |
.size pagerOpentemp, .-pagerOpentemp | |
.type sqlite3PagerSetBusyhandler, @function | |
sqlite3PagerSetBusyhandler: | |
.LFB462: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov QWORD PTR -40[rbp], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -32[rbp] | |
mov QWORD PTR 224[rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -40[rbp] | |
mov QWORD PTR 232[rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
je .L2850 | |
mov rax, QWORD PTR -24[rbp] | |
add rax, 224 | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rdx, QWORD PTR -8[rbp] | |
mov esi, 15 | |
mov rdi, rax | |
call sqlite3OsFileControlHint | |
.L2850: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE462: | |
.size sqlite3PagerSetBusyhandler, .-sqlite3PagerSetBusyhandler | |
.type sqlite3PagerSetPagesize, @function | |
sqlite3PagerSetPagesize: | |
.LFB463: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -48[rbp], rsi | |
mov DWORD PTR -52[rbp], edx | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -48[rbp] | |
mov eax, DWORD PTR [rax] | |
mov DWORD PTR -20[rbp], eax | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 19[rax] | |
test al, al | |
je .L2852 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 28[rax] | |
test eax, eax | |
jne .L2853 | |
.L2852: | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 280[rax] | |
mov rdi, rax | |
call sqlite3PcacheRefCount | |
test eax, eax | |
jne .L2853 | |
cmp DWORD PTR -20[rbp], 0 | |
je .L2853 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 188[rax] | |
cmp eax, DWORD PTR -20[rbp] | |
je .L2853 | |
mov QWORD PTR -16[rbp], 0 | |
mov QWORD PTR -32[rbp], 0 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
test al, al | |
je .L2854 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
je .L2854 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 72[rax] | |
lea rdx, -32[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3OsFileSize | |
mov DWORD PTR -4[rbp], eax | |
.L2854: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2855 | |
mov eax, DWORD PTR -20[rbp] | |
mov edi, eax | |
call sqlite3PageMalloc | |
mov QWORD PTR -16[rbp], rax | |
cmp QWORD PTR -16[rbp], 0 | |
jne .L2855 | |
mov DWORD PTR -4[rbp], 7 | |
.L2855: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2856 | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call pager_reset | |
mov edx, DWORD PTR -20[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 280[rax] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3PcacheSetPageSize | |
mov DWORD PTR -4[rbp], eax | |
.L2856: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2857 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 272[rax] | |
mov rdi, rax | |
call sqlite3PageFree | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR -16[rbp] | |
mov QWORD PTR 272[rax], rdx | |
mov edx, DWORD PTR -20[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
add rax, rdx | |
sub rax, 1 | |
mov ecx, DWORD PTR -20[rbp] | |
cqo | |
idiv rcx | |
mov edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 28[rax], edx | |
mov edx, DWORD PTR -20[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 188[rax], edx | |
jmp .L2853 | |
.L2857: | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call sqlite3PageFree | |
.L2853: | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 188[rax] | |
mov edx, eax | |
mov rax, QWORD PTR -48[rbp] | |
mov DWORD PTR [rax], edx | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2859 | |
cmp DWORD PTR -52[rbp], 0 | |
jns .L2860 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, WORD PTR 178[rax] | |
cwde | |
mov DWORD PTR -52[rbp], eax | |
.L2860: | |
mov eax, DWORD PTR -52[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov WORD PTR 178[rax], dx | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call pagerFixMaplimit | |
.L2859: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE463: | |
.size sqlite3PagerSetPagesize, .-sqlite3PagerSetPagesize | |
.type sqlite3PagerTempSpace, @function | |
sqlite3PagerTempSpace: | |
.LFB464: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 272[rax] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE464: | |
.size sqlite3PagerTempSpace, .-sqlite3PagerTempSpace | |
.type sqlite3PagerMaxPageCount, @function | |
sqlite3PagerMaxPageCount: | |
.LFB465: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
cmp DWORD PTR -12[rbp], 0 | |
jle .L2865 | |
mov edx, DWORD PTR -12[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 192[rax], edx | |
.L2865: | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 192[rax] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE465: | |
.size sqlite3PagerMaxPageCount, .-sqlite3PagerMaxPageCount | |
.type sqlite3PagerReadFileheader, @function | |
sqlite3PagerReadFileheader: | |
.LFB466: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov QWORD PTR -40[rbp], rdx | |
mov DWORD PTR -4[rbp], 0 | |
mov eax, DWORD PTR -28[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
je .L2868 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov edx, DWORD PTR -28[rbp] | |
mov rsi, QWORD PTR -40[rbp] | |
mov ecx, 0 | |
mov rdi, rax | |
call sqlite3OsRead | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 522 | |
jne .L2868 | |
mov DWORD PTR -4[rbp], 0 | |
.L2868: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE466: | |
.size sqlite3PagerReadFileheader, .-sqlite3PagerReadFileheader | |
.type sqlite3PagerPagecount, @function | |
sqlite3PagerPagecount: | |
.LFB467: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 28[rax] | |
mov edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
mov DWORD PTR [rax], edx | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE467: | |
.size sqlite3PagerPagecount, .-sqlite3PagerPagecount | |
.type pager_wait_on_lock, @function | |
pager_wait_on_lock: | |
.LFB468: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
.L2873: | |
mov edx, DWORD PTR -28[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call pagerLockDb | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 5 | |
jne .L2872 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 224[rax] | |
mov rdx, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 232[rdx] | |
mov rdi, rdx | |
call rax | |
test eax, eax | |
jne .L2873 | |
.L2872: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE468: | |
.size pager_wait_on_lock, .-pager_wait_on_lock | |
.type sqlite3PagerTruncateImage, @function | |
sqlite3PagerTruncateImage: | |
.LFB469: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, DWORD PTR -12[rbp] | |
mov DWORD PTR 28[rax], edx | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE469: | |
.size sqlite3PagerTruncateImage, .-sqlite3PagerTruncateImage | |
.type pagerSyncHotJournal, @function | |
pagerSyncHotJournal: | |
.LFB470: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 11[rax] | |
test al, al | |
jne .L2877 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov esi, 2 | |
mov rdi, rax | |
call sqlite3OsSync | |
mov DWORD PTR -4[rbp], eax | |
.L2877: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2878 | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 104[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3OsFileSize | |
mov DWORD PTR -4[rbp], eax | |
.L2878: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE470: | |
.size pagerSyncHotJournal, .-pagerSyncHotJournal | |
.type pagerAcquireMapPage, @function | |
pagerAcquireMapPage: | |
.LFB471: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov QWORD PTR -40[rbp], rdx | |
mov QWORD PTR -48[rbp], rcx | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 168[rax] | |
test rax, rax | |
je .L2881 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 168[rax] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -48[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 32[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 168[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 32[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov edx, 8 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
jmp .L2882 | |
.L2881: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, WORD PTR 176[rax] | |
movzx eax, ax | |
add rax, 72 | |
mov rdi, rax | |
call sqlite3MallocZero | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -48[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], rdx | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L2883 | |
mov eax, DWORD PTR -28[rbp] | |
sub eax, 1 | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 188[rax] | |
cdqe | |
mov rcx, rdx | |
imul rcx, rax | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rdx, QWORD PTR -40[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3OsUnfetch | |
mov eax, 7 | |
jmp .L2884 | |
.L2883: | |
mov rax, QWORD PTR -8[rbp] | |
lea rdx, 72[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 16[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov WORD PTR 52[rax], 32 | |
mov rax, QWORD PTR -8[rbp] | |
mov WORD PTR 54[rax], 1 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov QWORD PTR 40[rax], rdx | |
.L2882: | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, DWORD PTR -28[rbp] | |
mov DWORD PTR 48[rax], edx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -40[rbp] | |
mov QWORD PTR 8[rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 152[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 152[rax], edx | |
mov eax, 0 | |
.L2884: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE471: | |
.size pagerAcquireMapPage, .-pagerAcquireMapPage | |
.type pagerReleaseMapPage, @function | |
pagerReleaseMapPage: | |
.LFB472: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 40[rax] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 152[rax] | |
lea edx, -1[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 152[rax], edx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 168[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 32[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov QWORD PTR 168[rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 48[rax] | |
sub eax, 1 | |
mov ecx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 188[rax] | |
cdqe | |
imul rcx, rax | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3OsUnfetch | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE472: | |
.size pagerReleaseMapPage, .-pagerReleaseMapPage | |
.type pagerFreeMapHdrs, @function | |
pagerFreeMapHdrs: | |
.LFB473: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 168[rax] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L2887 | |
.L2888: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR -8[rbp], rax | |
.L2887: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L2888 | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE473: | |
.size pagerFreeMapHdrs, .-pagerFreeMapHdrs | |
.type sqlite3PagerClose, @function | |
sqlite3PagerClose: | |
.LFB474: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 272[rax] | |
mov QWORD PTR -8[rbp], rax | |
call sqlite3BeginBenignMalloc | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call pagerFreeMapHdrs | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 8[rax], 0 | |
cmp QWORD PTR -32[rbp], 0 | |
je .L2890 | |
mov rax, QWORD PTR -32[rbp] | |
mov eax, DWORD PTR 48[rax] | |
and eax, 2048 | |
test eax, eax | |
jne .L2891 | |
.L2890: | |
mov rdi, QWORD PTR -8[rbp] | |
jmp .L2892 | |
.L2891: | |
mov edi, 0 | |
.L2892: | |
mov rax, QWORD PTR -24[rbp] | |
mov ecx, DWORD PTR 188[rax] | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 15[rax] | |
movzx edx, al | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 288[rax] | |
mov rsi, QWORD PTR -32[rbp] | |
mov r8, rdi | |
mov rdi, rax | |
call sqlite3WalClose | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 288[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call pager_reset | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 19[rax] | |
test al, al | |
je .L2893 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call pager_unlock | |
jmp .L2894 | |
.L2893: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
je .L2895 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call pagerSyncHotJournal | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call pager_error | |
.L2895: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call pagerUnlockAndRollback | |
.L2894: | |
call sqlite3EndBenignMalloc | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rdi, rax | |
call sqlite3OsClose | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rdi, rax | |
call sqlite3OsClose | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3PageFree | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 280[rax] | |
mov rdi, rax | |
call sqlite3PcacheClose | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
mov eax, 0 | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE474: | |
.size sqlite3PagerClose, .-sqlite3PagerClose | |
.type sqlite3PagerRef, @function | |
sqlite3PagerRef: | |
.LFB475: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 8 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3PcacheRef | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE475: | |
.size sqlite3PagerRef, .-sqlite3PagerRef | |
.type syncJournal, @function | |
syncJournal: | |
.LFB476: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -56[rbp], rdi | |
mov DWORD PTR -60[rbp], esi | |
mov rax, QWORD PTR -56[rbp] | |
mov rdi, rax | |
call sqlite3PagerExclusiveLock | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L2899 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L2900 | |
.L2899: | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR 11[rax] | |
test al, al | |
jne .L2901 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
je .L2902 | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR 9[rax] | |
cmp al, 4 | |
je .L2902 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rdi, rax | |
call sqlite3OsDeviceCharacteristics | |
mov DWORD PTR -8[rbp], eax | |
mov eax, DWORD PTR -8[rbp] | |
and eax, 512 | |
test eax, eax | |
jne .L2903 | |
mov rax, QWORD PTR aJournalMagic[rip] | |
mov QWORD PTR -36[rbp], rax | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 48[rax] | |
mov edx, eax | |
lea rax, -36[rbp] | |
add rax, 8 | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3Put4byte | |
mov rax, QWORD PTR -56[rbp] | |
mov rdi, rax | |
call journalHdrOffset | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rdx, QWORD PTR -16[rbp] | |
lea rsi, -24[rbp] | |
mov rcx, rdx | |
mov edx, 8 | |
mov rdi, rax | |
call sqlite3OsRead | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2904 | |
lea rax, -24[rbp] | |
mov edx, 8 | |
lea rsi, aJournalMagic[rip] | |
mov rdi, rax | |
call memcmp@PLT | |
test eax, eax | |
jne .L2904 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rdx, QWORD PTR -16[rbp] | |
mov rcx, rdx | |
mov edx, 1 | |
lea rsi, zerobyte.14089[rip] | |
mov rdi, rax | |
call sqlite3OsWrite | |
mov DWORD PTR -4[rbp], eax | |
.L2904: | |
cmp DWORD PTR -4[rbp], 0 | |
je .L2905 | |
cmp DWORD PTR -4[rbp], 522 | |
je .L2905 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L2900 | |
.L2905: | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR 12[rax] | |
test al, al | |
je .L2907 | |
mov eax, DWORD PTR -8[rbp] | |
and eax, 1024 | |
test eax, eax | |
jne .L2907 | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR 14[rax] | |
movzx edx, al | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3OsSync | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L2907 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L2900 | |
.L2907: | |
mov rax, QWORD PTR -56[rbp] | |
mov rdx, QWORD PTR 104[rax] | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 80[rax] | |
lea rsi, -36[rbp] | |
mov rcx, rdx | |
mov edx, 12 | |
mov rdi, rax | |
call sqlite3OsWrite | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L2903 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L2900 | |
.L2903: | |
mov eax, DWORD PTR -8[rbp] | |
and eax, 1024 | |
test eax, eax | |
jne .L2909 | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR 14[rax] | |
movzx edx, al | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR 14[rax] | |
cmp al, 3 | |
jne .L2910 | |
mov eax, 16 | |
jmp .L2911 | |
.L2910: | |
mov eax, 0 | |
.L2911: | |
or edx, eax | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3OsSync | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L2909 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L2900 | |
.L2909: | |
mov rax, QWORD PTR -56[rbp] | |
mov rdx, QWORD PTR 96[rax] | |
mov rax, QWORD PTR -56[rbp] | |
mov QWORD PTR 104[rax], rdx | |
cmp DWORD PTR -60[rbp], 0 | |
je .L2913 | |
mov eax, DWORD PTR -8[rbp] | |
and eax, 512 | |
test eax, eax | |
jne .L2913 | |
mov rax, QWORD PTR -56[rbp] | |
mov DWORD PTR 48[rax], 0 | |
mov rax, QWORD PTR -56[rbp] | |
mov rdi, rax | |
call writeJournalHdr | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L2913 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L2900 | |
.L2902: | |
mov rax, QWORD PTR -56[rbp] | |
mov rdx, QWORD PTR 96[rax] | |
mov rax, QWORD PTR -56[rbp] | |
mov QWORD PTR 104[rax], rdx | |
jmp .L2901 | |
.L2913: | |
nop | |
.L2901: | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 280[rax] | |
mov rdi, rax | |
call sqlite3PcacheClearSyncFlags | |
mov rax, QWORD PTR -56[rbp] | |
mov BYTE PTR 20[rax], 4 | |
mov eax, 0 | |
.L2900: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE476: | |
.size syncJournal, .-syncJournal | |
.type pager_write_pagelist, @function | |
pager_write_pagelist: | |
.LFB477: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -48[rbp], rsi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
jne .L2915 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 180[rax] | |
mov edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov rcx, QWORD PTR 72[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call pagerOpentemp | |
mov DWORD PTR -4[rbp], eax | |
.L2915: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2918 | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR 40[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 28[rax] | |
cmp edx, eax | |
jnb .L2918 | |
mov rax, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR 32[rax] | |
test rax, rax | |
jne .L2917 | |
mov rax, QWORD PTR -48[rbp] | |
mov edx, DWORD PTR 48[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 40[rax] | |
cmp edx, eax | |
jbe .L2918 | |
.L2917: | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 188[rax] | |
movsx rdx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 28[rax] | |
mov eax, eax | |
imul rax, rdx | |
mov QWORD PTR -32[rbp], rax | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 72[rax] | |
lea rdx, -32[rbp] | |
mov esi, 5 | |
mov rdi, rax | |
call sqlite3OsFileControlHint | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR 28[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 40[rax], edx | |
jmp .L2918 | |
.L2924: | |
mov rax, QWORD PTR -48[rbp] | |
mov eax, DWORD PTR 48[rax] | |
mov DWORD PTR -8[rbp], eax | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 28[rax] | |
cmp eax, DWORD PTR -8[rbp] | |
jb .L2919 | |
mov rax, QWORD PTR -48[rbp] | |
movzx eax, WORD PTR 52[rax] | |
movzx eax, ax | |
and eax, 16 | |
test eax, eax | |
jne .L2919 | |
mov eax, DWORD PTR -8[rbp] | |
sub eax, 1 | |
mov edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 188[rax] | |
cdqe | |
imul rax, rdx | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -48[rbp] | |
mov eax, DWORD PTR 48[rax] | |
cmp eax, 1 | |
jne .L2920 | |
mov rax, QWORD PTR -48[rbp] | |
mov rdi, rax | |
call pager_write_changecounter | |
.L2920: | |
mov rax, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR 188[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rcx, QWORD PTR -16[rbp] | |
mov rsi, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3OsWrite | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -8[rbp], 1 | |
jne .L2921 | |
mov rax, QWORD PTR -24[rbp] | |
add rax, 24 | |
mov rdx, QWORD PTR -40[rbp] | |
lea rcx, 136[rdx] | |
mov rdx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR [rcx], rax | |
mov QWORD PTR 8[rcx], rdx | |
.L2921: | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 36[rax] | |
cmp eax, DWORD PTR -8[rbp] | |
jnb .L2922 | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR -8[rbp] | |
mov DWORD PTR 36[rax], edx | |
.L2922: | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 248[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 248[rax], edx | |
mov rax, QWORD PTR -48[rbp] | |
mov rdx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 112[rax] | |
mov ecx, DWORD PTR -8[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call sqlite3BackupUpdate | |
.L2919: | |
mov rax, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov QWORD PTR -48[rbp], rax | |
.L2918: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2923 | |
cmp QWORD PTR -48[rbp], 0 | |
jne .L2924 | |
.L2923: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE477: | |
.size pager_write_pagelist, .-pager_write_pagelist | |
.type openSubJournal, @function | |
openSubJournal: | |
.LFB478: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 88[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
jne .L2927 | |
mov DWORD PTR -12[rbp], 8222 | |
mov eax, DWORD PTR sqlite3Config[rip+40] | |
mov DWORD PTR -8[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 9[rax] | |
cmp al, 4 | |
je .L2928 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 25[rax] | |
test al, al | |
je .L2929 | |
.L2928: | |
mov DWORD PTR -8[rbp], -1 | |
.L2929: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 88[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov esi, DWORD PTR -8[rbp] | |
mov ecx, DWORD PTR -12[rbp] | |
mov r8d, esi | |
mov esi, 0 | |
mov rdi, rax | |
call sqlite3JournalOpen | |
mov DWORD PTR -4[rbp], eax | |
.L2927: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE478: | |
.size openSubJournal, .-openSubJournal | |
.type subjournalPage, @function | |
subjournalPage: | |
.LFB479: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -56[rbp], rdi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 40[rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, BYTE PTR 9[rax] | |
cmp al, 2 | |
je .L2932 | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call openSubJournal | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2932 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 56[rax] | |
mov edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 188[rax] | |
add eax, 4 | |
cdqe | |
imul rax, rdx | |
mov QWORD PTR -32[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -40[rbp], rax | |
mov rax, QWORD PTR -56[rbp] | |
mov edx, DWORD PTR 48[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 88[rax] | |
mov rcx, QWORD PTR -32[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call write32bits | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2932 | |
mov rax, QWORD PTR -32[rbp] | |
lea rcx, 4[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov edx, DWORD PTR 188[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 88[rax] | |
mov rsi, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call sqlite3OsWrite | |
mov DWORD PTR -4[rbp], eax | |
.L2932: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2933 | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 56[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov DWORD PTR 56[rax], edx | |
mov rax, QWORD PTR -56[rbp] | |
mov edx, DWORD PTR 48[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call addToSavepointBitvecs | |
mov DWORD PTR -4[rbp], eax | |
.L2933: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE479: | |
.size subjournalPage, .-subjournalPage | |
.type subjournalPageIfRequired, @function | |
subjournalPageIfRequired: | |
.LFB480: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call subjRequiresPage | |
test eax, eax | |
je .L2936 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call subjournalPage | |
jmp .L2937 | |
.L2936: | |
mov eax, 0 | |
.L2937: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE480: | |
.size subjournalPageIfRequired, .-subjournalPageIfRequired | |
.type pagerStress, @function | |
pagerStress: | |
.LFB481: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -16[rbp], rax | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 44[rax] | |
test eax, eax | |
je .L2939 | |
mov eax, 0 | |
jmp .L2940 | |
.L2939: | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, BYTE PTR 24[rax] | |
test al, al | |
je .L2941 | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, BYTE PTR 24[rax] | |
movzx eax, al | |
and eax, 3 | |
test eax, eax | |
jne .L2942 | |
mov rax, QWORD PTR -32[rbp] | |
movzx eax, WORD PTR 52[rax] | |
movzx eax, ax | |
and eax, 8 | |
test eax, eax | |
je .L2941 | |
.L2942: | |
mov eax, 0 | |
jmp .L2940 | |
.L2941: | |
mov rax, QWORD PTR -32[rbp] | |
mov QWORD PTR 32[rax], 0 | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 288[rax] | |
test rax, rax | |
je .L2943 | |
mov rax, QWORD PTR -32[rbp] | |
mov rdi, rax | |
call subjournalPageIfRequired | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2945 | |
mov rsi, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov ecx, 0 | |
mov edx, 0 | |
mov rdi, rax | |
call pagerWalFrames | |
mov DWORD PTR -4[rbp], eax | |
jmp .L2945 | |
.L2943: | |
mov rax, QWORD PTR -32[rbp] | |
movzx eax, WORD PTR 52[rax] | |
movzx eax, ax | |
and eax, 8 | |
test eax, eax | |
jne .L2946 | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
cmp al, 3 | |
jne .L2947 | |
.L2946: | |
mov rax, QWORD PTR -16[rbp] | |
mov esi, 1 | |
mov rdi, rax | |
call syncJournal | |
mov DWORD PTR -4[rbp], eax | |
.L2947: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2945 | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call pager_write_pagelist | |
mov DWORD PTR -4[rbp], eax | |
.L2945: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2948 | |
mov rax, QWORD PTR -32[rbp] | |
mov rdi, rax | |
call sqlite3PcacheMakeClean | |
.L2948: | |
mov edx, DWORD PTR -4[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call pager_error | |
.L2940: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE481: | |
.size pagerStress, .-pagerStress | |
.type sqlite3PagerFlush, @function | |
sqlite3PagerFlush: | |
.LFB482: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 44[rax] | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 19[rax] | |
test al, al | |
jne .L2950 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 280[rax] | |
mov rdi, rax | |
call sqlite3PcacheDirtyList | |
mov QWORD PTR -16[rbp], rax | |
jmp .L2951 | |
.L2953: | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, WORD PTR 54[rax] | |
test ax, ax | |
jne .L2952 | |
mov rdx, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call pagerStress | |
mov DWORD PTR -4[rbp], eax | |
.L2952: | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR -16[rbp], rax | |
.L2951: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2950 | |
cmp QWORD PTR -16[rbp], 0 | |
jne .L2953 | |
.L2950: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE482: | |
.size sqlite3PagerFlush, .-sqlite3PagerFlush | |
.section .rodata | |
.LC127: | |
.string "-journal" | |
.string "" | |
.LC128: | |
.string "-wal" | |
.string "" | |
.LC129: | |
.string "nolock" | |
.LC130: | |
.string "immutable" | |
.text | |
.type sqlite3PagerOpen, @function | |
sqlite3PagerOpen: | |
.LFB483: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 160 | |
mov QWORD PTR -120[rbp], rdi | |
mov QWORD PTR -128[rbp], rsi | |
mov QWORD PTR -136[rbp], rdx | |
mov DWORD PTR -140[rbp], ecx | |
mov DWORD PTR -144[rbp], r8d | |
mov DWORD PTR -148[rbp], r9d | |
mov QWORD PTR -64[rbp], 0 | |
mov DWORD PTR -4[rbp], 0 | |
mov DWORD PTR -8[rbp], 0 | |
mov DWORD PTR -12[rbp], 0 | |
mov DWORD PTR -16[rbp], 0 | |
mov QWORD PTR -24[rbp], 0 | |
mov DWORD PTR -28[rbp], 0 | |
mov eax, DWORD PTR -144[rbp] | |
and eax, 1 | |
test eax, eax | |
sete al | |
movzx eax, al | |
mov DWORD PTR -68[rbp], eax | |
call sqlite3PcacheSize | |
mov DWORD PTR -72[rbp], eax | |
mov DWORD PTR -96[rbp], 4096 | |
mov QWORD PTR -40[rbp], 0 | |
mov DWORD PTR -44[rbp], 0 | |
mov rax, QWORD PTR -120[rbp] | |
mov rdi, rax | |
call sqlite3JournalSize | |
add eax, 7 | |
and eax, -8 | |
mov DWORD PTR -76[rbp], eax | |
mov rax, QWORD PTR -128[rbp] | |
mov QWORD PTR [rax], 0 | |
mov eax, DWORD PTR -144[rbp] | |
and eax, 2 | |
test eax, eax | |
je .L2956 | |
mov DWORD PTR -12[rbp], 1 | |
cmp QWORD PTR -136[rbp], 0 | |
je .L2956 | |
mov rax, QWORD PTR -136[rbp] | |
movzx eax, BYTE PTR [rax] | |
test al, al | |
je .L2956 | |
mov rax, QWORD PTR -136[rbp] | |
mov rsi, rax | |
mov edi, 0 | |
call sqlite3DbStrDup | |
mov QWORD PTR -24[rbp], rax | |
cmp QWORD PTR -24[rbp], 0 | |
jne .L2957 | |
mov eax, 7 | |
jmp .L2982 | |
.L2957: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3Strlen30 | |
mov DWORD PTR -28[rbp], eax | |
mov QWORD PTR -136[rbp], 0 | |
.L2956: | |
cmp QWORD PTR -136[rbp], 0 | |
je .L2959 | |
mov rax, QWORD PTR -136[rbp] | |
movzx eax, BYTE PTR [rax] | |
test al, al | |
je .L2959 | |
mov rax, QWORD PTR -120[rbp] | |
mov eax, DWORD PTR 8[rax] | |
add eax, 1 | |
mov DWORD PTR -28[rbp], eax | |
mov eax, DWORD PTR -28[rbp] | |
add eax, eax | |
cdqe | |
mov rsi, rax | |
mov edi, 0 | |
call sqlite3DbMallocRaw | |
mov QWORD PTR -24[rbp], rax | |
cmp QWORD PTR -24[rbp], 0 | |
jne .L2960 | |
mov eax, 7 | |
jmp .L2982 | |
.L2960: | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR [rax], 0 | |
mov rcx, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR -28[rbp] | |
mov rsi, QWORD PTR -136[rbp] | |
mov rax, QWORD PTR -120[rbp] | |
mov rdi, rax | |
call sqlite3OsFullPathname | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3Strlen30 | |
mov DWORD PTR -28[rbp], eax | |
mov rax, QWORD PTR -136[rbp] | |
mov rdi, rax | |
call sqlite3Strlen30 | |
cdqe | |
lea rdx, 1[rax] | |
mov rax, QWORD PTR -136[rbp] | |
add rax, rdx | |
mov QWORD PTR -40[rbp], rax | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR -56[rbp], rax | |
jmp .L2961 | |
.L2962: | |
mov rax, QWORD PTR -56[rbp] | |
mov rdi, rax | |
call sqlite3Strlen30 | |
add eax, 1 | |
cdqe | |
add QWORD PTR -56[rbp], rax | |
mov rax, QWORD PTR -56[rbp] | |
mov rdi, rax | |
call sqlite3Strlen30 | |
add eax, 1 | |
cdqe | |
add QWORD PTR -56[rbp], rax | |
.L2961: | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR [rax] | |
test al, al | |
jne .L2962 | |
mov rax, QWORD PTR -56[rbp] | |
add rax, 1 | |
mov rdx, rax | |
mov rax, QWORD PTR -40[rbp] | |
sub rdx, rax | |
mov rax, rdx | |
mov DWORD PTR -44[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2963 | |
mov eax, DWORD PTR -28[rbp] | |
lea edx, 8[rax] | |
mov rax, QWORD PTR -120[rbp] | |
mov eax, DWORD PTR 8[rax] | |
cmp edx, eax | |
jle .L2963 | |
mov edi, 52720 | |
call sqlite3CantopenError | |
mov DWORD PTR -4[rbp], eax | |
.L2963: | |
cmp DWORD PTR -4[rbp], 0 | |
je .L2959 | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rax | |
mov edi, 0 | |
call sqlite3DbFree | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L2982 | |
.L2959: | |
mov eax, DWORD PTR -72[rbp] | |
add eax, 7 | |
and eax, -8 | |
movsx rdx, eax | |
mov rax, QWORD PTR -120[rbp] | |
mov eax, DWORD PTR 4[rax] | |
add eax, 7 | |
and eax, -8 | |
cdqe | |
add rdx, rax | |
mov eax, DWORD PTR -76[rbp] | |
add eax, eax | |
cdqe | |
add rdx, rax | |
mov eax, DWORD PTR -28[rbp] | |
cdqe | |
add rdx, rax | |
mov eax, DWORD PTR -44[rbp] | |
cdqe | |
add rdx, rax | |
mov eax, DWORD PTR -28[rbp] | |
cdqe | |
add rdx, rax | |
mov eax, DWORD PTR -28[rbp] | |
cdqe | |
add rax, rdx | |
add rax, 321 | |
mov rdi, rax | |
call sqlite3MallocZero | |
mov QWORD PTR -88[rbp], rax | |
cmp QWORD PTR -88[rbp], 0 | |
jne .L2964 | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rax | |
mov edi, 0 | |
call sqlite3DbFree | |
mov eax, 7 | |
jmp .L2982 | |
.L2964: | |
mov rax, QWORD PTR -88[rbp] | |
mov QWORD PTR -64[rbp], rax | |
add QWORD PTR -88[rbp], 304 | |
mov rax, QWORD PTR -64[rbp] | |
mov rdx, QWORD PTR -88[rbp] | |
mov QWORD PTR 280[rax], rdx | |
mov eax, DWORD PTR -72[rbp] | |
add eax, 7 | |
and eax, -8 | |
cdqe | |
add QWORD PTR -88[rbp], rax | |
mov rax, QWORD PTR -64[rbp] | |
mov rdx, QWORD PTR -88[rbp] | |
mov QWORD PTR 72[rax], rdx | |
mov rax, QWORD PTR -120[rbp] | |
mov eax, DWORD PTR 4[rax] | |
add eax, 7 | |
and eax, -8 | |
cdqe | |
add QWORD PTR -88[rbp], rax | |
mov rax, QWORD PTR -64[rbp] | |
mov rdx, QWORD PTR -88[rbp] | |
mov QWORD PTR 88[rax], rdx | |
mov eax, DWORD PTR -76[rbp] | |
cdqe | |
add QWORD PTR -88[rbp], rax | |
mov rax, QWORD PTR -64[rbp] | |
mov rdx, QWORD PTR -88[rbp] | |
mov QWORD PTR 80[rax], rdx | |
mov eax, DWORD PTR -76[rbp] | |
cdqe | |
add QWORD PTR -88[rbp], rax | |
mov rax, QWORD PTR -64[rbp] | |
mov rdx, QWORD PTR -88[rbp] | |
mov QWORD PTR 208[rax], rdx | |
cmp QWORD PTR -24[rbp], 0 | |
je .L2965 | |
mov eax, DWORD PTR -28[rbp] | |
lea edx, 1[rax] | |
mov eax, DWORD PTR -44[rbp] | |
add eax, edx | |
cdqe | |
add QWORD PTR -88[rbp], rax | |
mov rax, QWORD PTR -64[rbp] | |
mov rdx, QWORD PTR -88[rbp] | |
mov QWORD PTR 216[rax], rdx | |
mov eax, DWORD PTR -28[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -64[rbp] | |
mov rax, QWORD PTR 208[rax] | |
mov rcx, QWORD PTR -24[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call memcpy@PLT | |
cmp DWORD PTR -44[rbp], 0 | |
je .L2966 | |
mov eax, DWORD PTR -44[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -64[rbp] | |
mov rax, QWORD PTR 208[rax] | |
mov ecx, DWORD PTR -28[rbp] | |
movsx rcx, ecx | |
add rcx, 1 | |
add rcx, rax | |
mov rax, QWORD PTR -40[rbp] | |
mov rsi, rax | |
mov rdi, rcx | |
call memcpy@PLT | |
.L2966: | |
mov eax, DWORD PTR -28[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -64[rbp] | |
mov rax, QWORD PTR 216[rax] | |
mov rcx, QWORD PTR -24[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call memcpy@PLT | |
mov rax, QWORD PTR -64[rbp] | |
mov rdx, QWORD PTR 216[rax] | |
mov eax, DWORD PTR -28[rbp] | |
cdqe | |
add rax, rdx | |
mov edx, 10 | |
lea rsi, .LC127[rip] | |
mov rdi, rax | |
call memcpy@PLT | |
mov rax, QWORD PTR -64[rbp] | |
mov rax, QWORD PTR 216[rax] | |
mov edx, DWORD PTR -28[rbp] | |
add edx, 8 | |
movsx rdx, edx | |
add rdx, 1 | |
add rdx, rax | |
mov rax, QWORD PTR -64[rbp] | |
mov QWORD PTR 296[rax], rdx | |
mov eax, DWORD PTR -28[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -64[rbp] | |
mov rax, QWORD PTR 296[rax] | |
mov rcx, QWORD PTR -24[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call memcpy@PLT | |
mov rax, QWORD PTR -64[rbp] | |
mov rdx, QWORD PTR 296[rax] | |
mov eax, DWORD PTR -28[rbp] | |
cdqe | |
add rax, rdx | |
mov edx, 5 | |
lea rsi, .LC128[rip] | |
mov rdi, rax | |
call memcpy@PLT | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rax | |
mov edi, 0 | |
call sqlite3DbFree | |
.L2965: | |
mov rax, QWORD PTR -64[rbp] | |
mov rdx, QWORD PTR -120[rbp] | |
mov QWORD PTR [rax], rdx | |
mov edx, DWORD PTR -148[rbp] | |
mov rax, QWORD PTR -64[rbp] | |
mov DWORD PTR 180[rax], edx | |
cmp QWORD PTR -136[rbp], 0 | |
je .L2967 | |
mov rax, QWORD PTR -136[rbp] | |
movzx eax, BYTE PTR [rax] | |
test al, al | |
je .L2967 | |
mov DWORD PTR -100[rbp], 0 | |
mov rax, QWORD PTR -64[rbp] | |
mov rdx, QWORD PTR 72[rax] | |
mov rax, QWORD PTR -64[rbp] | |
mov rsi, QWORD PTR 208[rax] | |
lea rdi, -100[rbp] | |
mov ecx, DWORD PTR -148[rbp] | |
mov rax, QWORD PTR -120[rbp] | |
mov r8, rdi | |
mov rdi, rax | |
call sqlite3OsOpen | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -100[rbp] | |
and eax, 1 | |
mov DWORD PTR -16[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2983 | |
mov rax, QWORD PTR -64[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rdi, rax | |
call sqlite3OsDeviceCharacteristics | |
mov DWORD PTR -92[rbp], eax | |
cmp DWORD PTR -16[rbp], 0 | |
jne .L2969 | |
mov rax, QWORD PTR -64[rbp] | |
mov rdi, rax | |
call setSectorSize | |
mov rax, QWORD PTR -64[rbp] | |
mov edx, DWORD PTR 184[rax] | |
mov eax, DWORD PTR -96[rbp] | |
cmp edx, eax | |
jbe .L2969 | |
mov rax, QWORD PTR -64[rbp] | |
mov eax, DWORD PTR 184[rax] | |
cmp eax, 8192 | |
jbe .L2970 | |
mov DWORD PTR -96[rbp], 8192 | |
jmp .L2969 | |
.L2970: | |
mov rax, QWORD PTR -64[rbp] | |
mov eax, DWORD PTR 184[rax] | |
mov DWORD PTR -96[rbp], eax | |
.L2969: | |
mov rax, QWORD PTR -136[rbp] | |
mov edx, 0 | |
lea rsi, .LC129[rip] | |
mov rdi, rax | |
call sqlite3_uri_boolean | |
mov edx, eax | |
mov rax, QWORD PTR -64[rbp] | |
mov BYTE PTR 17[rax], dl | |
mov eax, DWORD PTR -92[rbp] | |
and eax, 8192 | |
test eax, eax | |
jne .L2971 | |
mov rax, QWORD PTR -136[rbp] | |
mov edx, 0 | |
lea rsi, .LC130[rip] | |
mov rdi, rax | |
call sqlite3_uri_boolean | |
test eax, eax | |
je .L2983 | |
.L2971: | |
or DWORD PTR -148[rbp], 1 | |
nop | |
.L2967: | |
mov DWORD PTR -8[rbp], 1 | |
mov rax, QWORD PTR -64[rbp] | |
mov BYTE PTR 20[rax], 1 | |
mov rax, QWORD PTR -64[rbp] | |
mov BYTE PTR 21[rax], 4 | |
mov rax, QWORD PTR -64[rbp] | |
mov BYTE PTR 17[rax], 1 | |
mov eax, DWORD PTR -148[rbp] | |
and eax, 1 | |
mov DWORD PTR -16[rbp], eax | |
jmp .L2973 | |
.L2983: | |
nop | |
.L2973: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2974 | |
lea rcx, -96[rbp] | |
mov rax, QWORD PTR -64[rbp] | |
mov edx, -1 | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3PagerSetPagesize | |
mov DWORD PTR -4[rbp], eax | |
.L2974: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2975 | |
mov eax, DWORD PTR -140[rbp] | |
add eax, 7 | |
and eax, -8 | |
mov DWORD PTR -140[rbp], eax | |
mov rax, QWORD PTR -64[rbp] | |
mov rdi, QWORD PTR 280[rax] | |
cmp DWORD PTR -12[rbp], 0 | |
jne .L2976 | |
lea rax, pagerStress[rip] | |
jmp .L2977 | |
.L2976: | |
mov eax, 0 | |
.L2977: | |
cmp DWORD PTR -12[rbp], 0 | |
sete dl | |
movzx edx, dl | |
mov ecx, DWORD PTR -96[rbp] | |
mov r10d, ecx | |
mov rcx, QWORD PTR -64[rbp] | |
mov esi, DWORD PTR -140[rbp] | |
mov r9, rdi | |
mov r8, rcx | |
mov rcx, rax | |
mov edi, r10d | |
call sqlite3PcacheOpen | |
mov DWORD PTR -4[rbp], eax | |
.L2975: | |
cmp DWORD PTR -4[rbp], 0 | |
je .L2978 | |
mov rax, QWORD PTR -64[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rdi, rax | |
call sqlite3OsClose | |
mov rax, QWORD PTR -64[rbp] | |
mov rax, QWORD PTR 272[rax] | |
mov rdi, rax | |
call sqlite3PageFree | |
mov rax, QWORD PTR -64[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L2982 | |
.L2978: | |
mov eax, DWORD PTR -68[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -64[rbp] | |
mov BYTE PTR 10[rax], dl | |
mov rax, QWORD PTR -64[rbp] | |
mov DWORD PTR 192[rax], 1073741823 | |
mov eax, DWORD PTR -8[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -64[rbp] | |
mov BYTE PTR 16[rax], dl | |
mov eax, DWORD PTR -8[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -64[rbp] | |
mov BYTE PTR 8[rax], dl | |
mov rax, QWORD PTR -64[rbp] | |
movzx edx, BYTE PTR 16[rax] | |
mov rax, QWORD PTR -64[rbp] | |
mov BYTE PTR 22[rax], dl | |
mov eax, DWORD PTR -12[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -64[rbp] | |
mov BYTE PTR 19[rax], dl | |
mov eax, DWORD PTR -16[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -64[rbp] | |
mov BYTE PTR 18[rax], dl | |
mov rax, QWORD PTR -64[rbp] | |
movzx edx, BYTE PTR 16[rax] | |
mov rax, QWORD PTR -64[rbp] | |
mov BYTE PTR 11[rax], dl | |
mov rax, QWORD PTR -64[rbp] | |
movzx eax, BYTE PTR 11[rax] | |
test al, al | |
jne .L2979 | |
mov rax, QWORD PTR -64[rbp] | |
mov BYTE PTR 12[rax], 1 | |
mov rax, QWORD PTR -64[rbp] | |
mov BYTE PTR 13[rax], 0 | |
mov rax, QWORD PTR -64[rbp] | |
mov BYTE PTR 14[rax], 2 | |
mov rax, QWORD PTR -64[rbp] | |
mov BYTE PTR 15[rax], 10 | |
.L2979: | |
mov eax, DWORD PTR -140[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -64[rbp] | |
mov WORD PTR 176[rax], dx | |
mov rax, QWORD PTR -64[rbp] | |
mov QWORD PTR 200[rax], -1 | |
mov rax, QWORD PTR -64[rbp] | |
mov rdi, rax | |
call setSectorSize | |
cmp DWORD PTR -68[rbp], 0 | |
jne .L2980 | |
mov rax, QWORD PTR -64[rbp] | |
mov BYTE PTR 9[rax], 2 | |
jmp .L2981 | |
.L2980: | |
cmp DWORD PTR -12[rbp], 0 | |
je .L2981 | |
mov rax, QWORD PTR -64[rbp] | |
mov BYTE PTR 9[rax], 4 | |
.L2981: | |
mov rax, QWORD PTR -64[rbp] | |
mov rdx, QWORD PTR 16[rbp] | |
mov QWORD PTR 256[rax], rdx | |
mov rax, QWORD PTR -64[rbp] | |
mov rdi, rax | |
call setGetterMethod | |
mov rax, QWORD PTR -128[rbp] | |
mov rdx, QWORD PTR -64[rbp] | |
mov QWORD PTR [rax], rdx | |
mov eax, 0 | |
.L2982: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE483: | |
.size sqlite3PagerOpen, .-sqlite3PagerOpen | |
.type databaseIsUnmoved, @function | |
databaseIsUnmoved: | |
.LFB484: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -8[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 16[rax] | |
test al, al | |
je .L2985 | |
mov eax, 0 | |
jmp .L2990 | |
.L2985: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 28[rax] | |
test eax, eax | |
jne .L2987 | |
mov eax, 0 | |
jmp .L2990 | |
.L2987: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
lea rdx, -8[rbp] | |
mov esi, 20 | |
mov rdi, rax | |
call sqlite3OsFileControl | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 12 | |
jne .L2988 | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L2989 | |
.L2988: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2989 | |
mov eax, DWORD PTR -8[rbp] | |
test eax, eax | |
je .L2989 | |
mov DWORD PTR -4[rbp], 1032 | |
.L2989: | |
mov eax, DWORD PTR -4[rbp] | |
.L2990: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE484: | |
.size databaseIsUnmoved, .-databaseIsUnmoved | |
.type hasHotJournal, @function | |
hasHotJournal: | |
.LFB485: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -56[rbp], rdi | |
mov QWORD PTR -64[rbp], rsi | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -16[rbp], rax | |
mov DWORD PTR -4[rbp], 0 | |
mov DWORD PTR -24[rbp], 1 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
setne al | |
movzx eax, al | |
mov DWORD PTR -20[rbp], eax | |
mov rax, QWORD PTR -64[rbp] | |
mov DWORD PTR [rax], 0 | |
cmp DWORD PTR -20[rbp], 0 | |
jne .L2992 | |
mov rax, QWORD PTR -56[rbp] | |
mov rsi, QWORD PTR 216[rax] | |
lea rdx, -24[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov rcx, rdx | |
mov edx, 0 | |
mov rdi, rax | |
call sqlite3OsAccess | |
mov DWORD PTR -4[rbp], eax | |
.L2992: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2993 | |
mov eax, DWORD PTR -24[rbp] | |
test eax, eax | |
je .L2993 | |
mov DWORD PTR -28[rbp], 0 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 72[rax] | |
lea rdx, -28[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3OsCheckReservedLock | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2993 | |
mov eax, DWORD PTR -28[rbp] | |
test eax, eax | |
jne .L2993 | |
lea rdx, -32[rbp] | |
mov rax, QWORD PTR -56[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call pagerPagecount | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2993 | |
mov eax, DWORD PTR -32[rbp] | |
test eax, eax | |
jne .L2996 | |
cmp DWORD PTR -20[rbp], 0 | |
jne .L2996 | |
call sqlite3BeginBenignMalloc | |
mov rax, QWORD PTR -56[rbp] | |
mov esi, 2 | |
mov rdi, rax | |
call pagerLockDb | |
test eax, eax | |
jne .L2997 | |
mov rax, QWORD PTR -56[rbp] | |
mov rcx, QWORD PTR 216[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov edx, 0 | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3OsDelete | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR 8[rax] | |
test al, al | |
jne .L2997 | |
mov rax, QWORD PTR -56[rbp] | |
mov esi, 1 | |
mov rdi, rax | |
call pagerUnlockDb | |
.L2997: | |
call sqlite3EndBenignMalloc | |
jmp .L2993 | |
.L2996: | |
cmp DWORD PTR -20[rbp], 0 | |
jne .L2998 | |
mov DWORD PTR -36[rbp], 2049 | |
mov ecx, DWORD PTR -36[rbp] | |
mov rax, QWORD PTR -56[rbp] | |
mov rdx, QWORD PTR 80[rax] | |
mov rax, QWORD PTR -56[rbp] | |
mov rsi, QWORD PTR 216[rax] | |
lea rdi, -36[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov r8, rdi | |
mov rdi, rax | |
call sqlite3OsOpen | |
mov DWORD PTR -4[rbp], eax | |
.L2998: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L2999 | |
mov BYTE PTR -37[rbp], 0 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 80[rax] | |
lea rsi, -37[rbp] | |
mov ecx, 0 | |
mov edx, 1 | |
mov rdi, rax | |
call sqlite3OsRead | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 522 | |
jne .L3000 | |
mov DWORD PTR -4[rbp], 0 | |
.L3000: | |
cmp DWORD PTR -20[rbp], 0 | |
jne .L3001 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rdi, rax | |
call sqlite3OsClose | |
.L3001: | |
movzx eax, BYTE PTR -37[rbp] | |
test al, al | |
setne al | |
movzx edx, al | |
mov rax, QWORD PTR -64[rbp] | |
mov DWORD PTR [rax], edx | |
jmp .L2993 | |
.L2999: | |
cmp DWORD PTR -4[rbp], 14 | |
jne .L2993 | |
mov rax, QWORD PTR -64[rbp] | |
mov DWORD PTR [rax], 1 | |
mov DWORD PTR -4[rbp], 0 | |
.L2993: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE485: | |
.size hasHotJournal, .-hasHotJournal | |
.type sqlite3PagerSharedLock, @function | |
sqlite3PagerSharedLock: | |
.LFB486: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -56[rbp], rdi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 288[rax] | |
test rax, rax | |
jne .L3004 | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
test al, al | |
jne .L3004 | |
mov DWORD PTR -24[rbp], 1 | |
mov rax, QWORD PTR -56[rbp] | |
mov esi, 1 | |
mov rdi, rax | |
call pager_wait_on_lock | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3027 | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR 21[rax] | |
cmp al, 1 | |
ja .L3007 | |
lea rdx, -24[rbp] | |
mov rax, QWORD PTR -56[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call hasHotJournal | |
mov DWORD PTR -4[rbp], eax | |
.L3007: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3028 | |
mov eax, DWORD PTR -24[rbp] | |
test eax, eax | |
je .L3009 | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR 18[rax] | |
test al, al | |
je .L3010 | |
mov DWORD PTR -4[rbp], 776 | |
jmp .L3022 | |
.L3010: | |
mov rax, QWORD PTR -56[rbp] | |
mov esi, 4 | |
mov rdi, rax | |
call pagerLockDb | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3029 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
jne .L3012 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -56[rbp] | |
mov rsi, QWORD PTR 216[rax] | |
lea rdx, -28[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov rcx, rdx | |
mov edx, 0 | |
mov rdi, rax | |
call sqlite3OsAccess | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3012 | |
mov eax, DWORD PTR -28[rbp] | |
test eax, eax | |
je .L3012 | |
mov DWORD PTR -32[rbp], 0 | |
mov DWORD PTR -20[rbp], 2050 | |
mov rax, QWORD PTR -56[rbp] | |
mov rdx, QWORD PTR 80[rax] | |
mov rax, QWORD PTR -56[rbp] | |
mov rsi, QWORD PTR 216[rax] | |
lea rdi, -32[rbp] | |
mov ecx, DWORD PTR -20[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov r8, rdi | |
mov rdi, rax | |
call sqlite3OsOpen | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3012 | |
mov eax, DWORD PTR -32[rbp] | |
and eax, 1 | |
test eax, eax | |
je .L3012 | |
mov edi, 53196 | |
call sqlite3CantopenError | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rdi, rax | |
call sqlite3OsClose | |
.L3012: | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
je .L3015 | |
mov rax, QWORD PTR -56[rbp] | |
mov rdi, rax | |
call pagerSyncHotJournal | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3017 | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR 16[rax] | |
test al, al | |
sete al | |
movzx edx, al | |
mov rax, QWORD PTR -56[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call pager_playback | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -56[rbp] | |
mov BYTE PTR 20[rax], 0 | |
jmp .L3017 | |
.L3015: | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR 8[rax] | |
test al, al | |
jne .L3017 | |
mov rax, QWORD PTR -56[rbp] | |
mov esi, 1 | |
mov rdi, rax | |
call pagerUnlockDb | |
.L3017: | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3009 | |
mov edx, DWORD PTR -4[rbp] | |
mov rax, QWORD PTR -56[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call pager_error | |
nop | |
jmp .L3022 | |
.L3009: | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR 16[rax] | |
test al, al | |
jne .L3018 | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR 27[rax] | |
test al, al | |
je .L3018 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 72[rax] | |
lea rsi, -48[rbp] | |
mov ecx, 24 | |
mov edx, 16 | |
mov rdi, rax | |
call sqlite3OsRead | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3019 | |
cmp DWORD PTR -4[rbp], 522 | |
je .L3020 | |
nop | |
jmp .L3027 | |
.L3020: | |
lea rax, -48[rbp] | |
mov edx, 16 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
.L3019: | |
mov rax, QWORD PTR -56[rbp] | |
lea rcx, 136[rax] | |
lea rax, -48[rbp] | |
mov edx, 16 | |
mov rsi, rax | |
mov rdi, rcx | |
call memcmp@PLT | |
test eax, eax | |
je .L3018 | |
mov rax, QWORD PTR -56[rbp] | |
mov rdi, rax | |
call pager_reset | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR 26[rax] | |
test al, al | |
je .L3018 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov edx, 0 | |
mov esi, 0 | |
mov rdi, rax | |
call sqlite3OsUnfetch | |
.L3018: | |
mov rax, QWORD PTR -56[rbp] | |
mov rdi, rax | |
call pagerOpenWalIfPresent | |
mov DWORD PTR -4[rbp], eax | |
.L3004: | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 288[rax] | |
test rax, rax | |
je .L3023 | |
mov rax, QWORD PTR -56[rbp] | |
mov rdi, rax | |
call pagerBeginReadTransaction | |
mov DWORD PTR -4[rbp], eax | |
.L3023: | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR 16[rax] | |
test al, al | |
jne .L3022 | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
test al, al | |
jne .L3022 | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3022 | |
mov rax, QWORD PTR -56[rbp] | |
lea rdx, 28[rax] | |
mov rax, QWORD PTR -56[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call pagerPagecount | |
mov DWORD PTR -4[rbp], eax | |
jmp .L3022 | |
.L3027: | |
nop | |
jmp .L3022 | |
.L3028: | |
nop | |
jmp .L3022 | |
.L3029: | |
nop | |
.L3022: | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3024 | |
mov rax, QWORD PTR -56[rbp] | |
mov rdi, rax | |
call pager_unlock | |
jmp .L3025 | |
.L3024: | |
mov rax, QWORD PTR -56[rbp] | |
mov BYTE PTR 20[rax], 1 | |
mov rax, QWORD PTR -56[rbp] | |
mov BYTE PTR 27[rax], 1 | |
.L3025: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE486: | |
.size sqlite3PagerSharedLock, .-sqlite3PagerSharedLock | |
.type pagerUnlockIfUnused, @function | |
pagerUnlockIfUnused: | |
.LFB487: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 280[rax] | |
mov rdi, rax | |
call sqlite3PcacheRefCount | |
test eax, eax | |
jne .L3032 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call pagerUnlockAndRollback | |
.L3032: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE487: | |
.size pagerUnlockIfUnused, .-pagerUnlockIfUnused | |
.type getPageNormal, @function | |
getPageNormal: | |
.LFB488: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov QWORD PTR -56[rbp], rdx | |
mov DWORD PTR -48[rbp], ecx | |
mov DWORD PTR -4[rbp], 0 | |
cmp DWORD PTR -44[rbp], 0 | |
jne .L3034 | |
mov edi, 53409 | |
call sqlite3CorruptError | |
jmp .L3049 | |
.L3034: | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 280[rax] | |
mov ecx, DWORD PTR -44[rbp] | |
mov edx, 3 | |
mov esi, ecx | |
mov rdi, rax | |
call sqlite3PcacheFetch | |
mov QWORD PTR -32[rbp], rax | |
mov rax, QWORD PTR -32[rbp] | |
test rax, rax | |
jne .L3036 | |
mov QWORD PTR -16[rbp], 0 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 280[rax] | |
lea rdx, -32[rbp] | |
mov ecx, DWORD PTR -44[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call sqlite3PcacheFetchStress | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3050 | |
mov rax, QWORD PTR -32[rbp] | |
test rax, rax | |
jne .L3036 | |
mov DWORD PTR -4[rbp], 7 | |
jmp .L3038 | |
.L3036: | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 280[rax] | |
mov ecx, DWORD PTR -44[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call sqlite3PcacheFetchFinish | |
mov rdx, rax | |
mov rax, QWORD PTR -56[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -16[rbp], rax | |
mov eax, DWORD PTR -48[rbp] | |
and eax, 1 | |
test eax, eax | |
setne al | |
mov BYTE PTR -17[rbp], al | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 40[rax] | |
test rax, rax | |
je .L3039 | |
cmp BYTE PTR -17[rbp], 0 | |
jne .L3039 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 240[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 240[rax], edx | |
mov eax, 0 | |
jmp .L3049 | |
.L3039: | |
mov eax, DWORD PTR -44[rbp] | |
test eax, eax | |
js .L3040 | |
mov eax, DWORD PTR sqlite3PendingByte[rip] | |
mov rdx, QWORD PTR -40[rbp] | |
mov ecx, DWORD PTR 188[rdx] | |
cdq | |
idiv ecx | |
add eax, 1 | |
cmp eax, DWORD PTR -44[rbp] | |
jne .L3041 | |
.L3040: | |
mov edi, 53441 | |
call sqlite3CorruptError | |
mov DWORD PTR -4[rbp], eax | |
jmp .L3038 | |
.L3041: | |
mov rax, QWORD PTR -16[rbp] | |
mov rdx, QWORD PTR -40[rbp] | |
mov QWORD PTR 40[rax], rdx | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
je .L3042 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 28[rax] | |
cmp eax, DWORD PTR -44[rbp] | |
jb .L3042 | |
cmp BYTE PTR -17[rbp], 0 | |
je .L3043 | |
.L3042: | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 192[rax] | |
cmp eax, DWORD PTR -44[rbp] | |
jnb .L3044 | |
mov DWORD PTR -4[rbp], 13 | |
jmp .L3038 | |
.L3044: | |
cmp BYTE PTR -17[rbp], 0 | |
je .L3045 | |
call sqlite3BeginBenignMalloc | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 32[rax] | |
cmp eax, DWORD PTR -44[rbp] | |
jb .L3046 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov edx, DWORD PTR -44[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3BitvecSet | |
.L3046: | |
mov edx, DWORD PTR -44[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call addToSavepointBitvecs | |
call sqlite3EndBenignMalloc | |
.L3045: | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 188[rax] | |
movsx rdx, eax | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
jmp .L3047 | |
.L3043: | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 244[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 244[rax], edx | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call readDbPage | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3051 | |
.L3047: | |
mov eax, 0 | |
jmp .L3049 | |
.L3050: | |
nop | |
jmp .L3038 | |
.L3051: | |
nop | |
.L3038: | |
cmp QWORD PTR -16[rbp], 0 | |
je .L3048 | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call sqlite3PcacheDrop | |
.L3048: | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call pagerUnlockIfUnused | |
mov rax, QWORD PTR -56[rbp] | |
mov QWORD PTR [rax], 0 | |
mov eax, DWORD PTR -4[rbp] | |
.L3049: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE488: | |
.size getPageNormal, .-getPageNormal | |
.type getPageMMap, @function | |
getPageMMap: | |
.LFB489: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov QWORD PTR -56[rbp], rdx | |
mov DWORD PTR -48[rbp], ecx | |
mov DWORD PTR -4[rbp], 0 | |
mov QWORD PTR -16[rbp], 0 | |
mov DWORD PTR -20[rbp], 0 | |
cmp DWORD PTR -44[rbp], 1 | |
jbe .L3053 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
cmp al, 1 | |
je .L3054 | |
mov eax, DWORD PTR -48[rbp] | |
and eax, 2 | |
test eax, eax | |
je .L3053 | |
.L3054: | |
mov eax, 1 | |
jmp .L3055 | |
.L3053: | |
mov eax, 0 | |
.L3055: | |
mov DWORD PTR -8[rbp], eax | |
cmp DWORD PTR -44[rbp], 1 | |
ja .L3056 | |
cmp DWORD PTR -44[rbp], 0 | |
jne .L3056 | |
mov edi, 53523 | |
call sqlite3CorruptError | |
jmp .L3067 | |
.L3056: | |
cmp DWORD PTR -8[rbp], 0 | |
je .L3058 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 288[rax] | |
test rax, rax | |
je .L3058 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 288[rax] | |
lea rdx, -20[rbp] | |
mov ecx, DWORD PTR -44[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call sqlite3WalFindFrame | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3058 | |
mov rax, QWORD PTR -56[rbp] | |
mov QWORD PTR [rax], 0 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L3067 | |
.L3058: | |
cmp DWORD PTR -8[rbp], 0 | |
je .L3059 | |
mov eax, DWORD PTR -20[rbp] | |
test eax, eax | |
jne .L3059 | |
mov QWORD PTR -32[rbp], 0 | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR 188[rax] | |
mov eax, DWORD PTR -44[rbp] | |
sub eax, 1 | |
mov ecx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 188[rax] | |
cdqe | |
mov rsi, rcx | |
imul rsi, rax | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 72[rax] | |
lea rcx, -32[rbp] | |
mov rdi, rax | |
call sqlite3OsFetch | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3060 | |
mov rax, QWORD PTR -32[rbp] | |
test rax, rax | |
je .L3060 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
cmp al, 1 | |
ja .L3061 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 16[rax] | |
test al, al | |
je .L3062 | |
.L3061: | |
mov edx, DWORD PTR -44[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3PagerLookup | |
mov QWORD PTR -16[rbp], rax | |
.L3062: | |
mov rax, QWORD PTR -16[rbp] | |
test rax, rax | |
jne .L3063 | |
mov rdx, QWORD PTR -32[rbp] | |
lea rcx, -16[rbp] | |
mov esi, DWORD PTR -44[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call pagerAcquireMapPage | |
mov DWORD PTR -4[rbp], eax | |
jmp .L3064 | |
.L3063: | |
mov rdx, QWORD PTR -32[rbp] | |
mov eax, DWORD PTR -44[rbp] | |
sub eax, 1 | |
mov ecx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 188[rax] | |
cdqe | |
imul rcx, rax | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3OsUnfetch | |
.L3064: | |
mov rax, QWORD PTR -16[rbp] | |
test rax, rax | |
je .L3060 | |
mov rdx, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -56[rbp] | |
mov QWORD PTR [rax], rdx | |
mov eax, 0 | |
jmp .L3067 | |
.L3060: | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3059 | |
mov rax, QWORD PTR -56[rbp] | |
mov QWORD PTR [rax], 0 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L3067 | |
.L3059: | |
mov ecx, DWORD PTR -48[rbp] | |
mov rdx, QWORD PTR -56[rbp] | |
mov esi, DWORD PTR -44[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call getPageNormal | |
.L3067: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE489: | |
.size getPageMMap, .-getPageMMap | |
.type getPageError, @function | |
getPageError: | |
.LFB490: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov QWORD PTR -24[rbp], rdx | |
mov DWORD PTR -16[rbp], ecx | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR [rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 44[rax] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE490: | |
.size getPageError, .-getPageError | |
.type sqlite3PagerGet, @function | |
sqlite3PagerGet: | |
.LFB491: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov QWORD PTR -24[rbp], rdx | |
mov DWORD PTR -16[rbp], ecx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 264[rax] | |
mov ecx, DWORD PTR -16[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov esi, DWORD PTR -12[rbp] | |
mov rdi, QWORD PTR -8[rbp] | |
call rax | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE491: | |
.size sqlite3PagerGet, .-sqlite3PagerGet | |
.type sqlite3PagerLookup, @function | |
sqlite3PagerLookup: | |
.LFB492: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 280[rax] | |
mov ecx, DWORD PTR -28[rbp] | |
mov edx, 0 | |
mov esi, ecx | |
mov rdi, rax | |
call sqlite3PcacheFetch | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L3073 | |
mov eax, 0 | |
jmp .L3074 | |
.L3073: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 280[rax] | |
mov rdx, QWORD PTR -8[rbp] | |
mov ecx, DWORD PTR -28[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call sqlite3PcacheFetchFinish | |
.L3074: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE492: | |
.size sqlite3PagerLookup, .-sqlite3PagerLookup | |
.type sqlite3PagerUnrefNotNull, @function | |
sqlite3PagerUnrefNotNull: | |
.LFB493: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 52[rax] | |
movzx eax, ax | |
and eax, 32 | |
test eax, eax | |
je .L3076 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call pagerReleaseMapPage | |
jmp .L3078 | |
.L3076: | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3PcacheRelease | |
.L3078: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE493: | |
.size sqlite3PagerUnrefNotNull, .-sqlite3PagerUnrefNotNull | |
.type sqlite3PagerUnref, @function | |
sqlite3PagerUnref: | |
.LFB494: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
cmp QWORD PTR -8[rbp], 0 | |
je .L3081 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3PagerUnrefNotNull | |
.L3081: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE494: | |
.size sqlite3PagerUnref, .-sqlite3PagerUnref | |
.type sqlite3PagerUnrefPageOne, @function | |
sqlite3PagerUnrefPageOne: | |
.LFB495: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 40[rax] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3PcacheRelease | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call pagerUnlockIfUnused | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE495: | |
.size sqlite3PagerUnrefPageOne, .-sqlite3PagerUnrefPageOne | |
.type pager_open_journal, @function | |
pager_open_journal: | |
.LFB496: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 44[rax] | |
test eax, eax | |
je .L3084 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 44[rax] | |
jmp .L3085 | |
.L3084: | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 288[rax] | |
test rax, rax | |
jne .L3086 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 9[rax] | |
cmp al, 2 | |
je .L3086 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 28[rax] | |
mov edi, eax | |
call sqlite3BitvecCreate | |
mov rdx, rax | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR 64[rax], rdx | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 64[rax] | |
test rax, rax | |
jne .L3087 | |
mov eax, 7 | |
jmp .L3085 | |
.L3087: | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
jne .L3088 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 9[rax] | |
cmp al, 4 | |
jne .L3089 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rdi, rax | |
call sqlite3MemJournalOpen | |
jmp .L3088 | |
.L3089: | |
mov DWORD PTR -8[rbp], 6 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 16[rax] | |
test al, al | |
je .L3090 | |
or DWORD PTR -8[rbp], 4104 | |
mov eax, DWORD PTR sqlite3Config[rip+40] | |
mov DWORD PTR -12[rbp], eax | |
jmp .L3091 | |
.L3090: | |
or DWORD PTR -8[rbp], 2048 | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call jrnlBufferSize | |
mov DWORD PTR -12[rbp], eax | |
.L3091: | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call databaseIsUnmoved | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3088 | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR 80[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov rsi, QWORD PTR 216[rax] | |
mov edi, DWORD PTR -12[rbp] | |
mov ecx, DWORD PTR -8[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov r8d, edi | |
mov rdi, rax | |
call sqlite3JournalOpen | |
mov DWORD PTR -4[rbp], eax | |
.L3088: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3086 | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 48[rax], 0 | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR 96[rax], 0 | |
mov rax, QWORD PTR -40[rbp] | |
mov BYTE PTR 23[rax], 0 | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR 104[rax], 0 | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call writeJournalHdr | |
mov DWORD PTR -4[rbp], eax | |
.L3086: | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3092 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov rdi, rax | |
call sqlite3BitvecDestroy | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR 64[rax], 0 | |
jmp .L3093 | |
.L3092: | |
mov rax, QWORD PTR -40[rbp] | |
mov BYTE PTR 20[rax], 3 | |
.L3093: | |
mov eax, DWORD PTR -4[rbp] | |
.L3085: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE496: | |
.size pager_open_journal, .-pager_open_journal | |
.type sqlite3PagerBegin, @function | |
sqlite3PagerBegin: | |
.LFB497: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov DWORD PTR -32[rbp], edx | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 44[rax] | |
test eax, eax | |
je .L3095 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 44[rax] | |
jmp .L3096 | |
.L3095: | |
mov eax, DWORD PTR -32[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 25[rax], dl | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
cmp al, 1 | |
jne .L3097 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 288[rax] | |
test rax, rax | |
je .L3098 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 8[rax] | |
test al, al | |
je .L3099 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 288[rax] | |
mov esi, -1 | |
mov rdi, rax | |
call sqlite3WalExclusiveMode | |
test eax, eax | |
je .L3099 | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 4 | |
mov rdi, rax | |
call pagerLockDb | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3100 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L3096 | |
.L3100: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 288[rax] | |
mov esi, 1 | |
mov rdi, rax | |
call sqlite3WalExclusiveMode | |
.L3099: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 288[rax] | |
mov rdi, rax | |
call sqlite3WalBeginWriteTransaction | |
mov DWORD PTR -4[rbp], eax | |
jmp .L3101 | |
.L3098: | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 2 | |
mov rdi, rax | |
call pagerLockDb | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3101 | |
cmp DWORD PTR -28[rbp], 0 | |
je .L3101 | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 4 | |
mov rdi, rax | |
call pager_wait_on_lock | |
mov DWORD PTR -4[rbp], eax | |
.L3101: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3097 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 20[rax], 2 | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR 28[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 40[rax], edx | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR 28[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 36[rax], edx | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR 28[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 32[rax], edx | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 96[rax], 0 | |
.L3097: | |
mov eax, DWORD PTR -4[rbp] | |
.L3096: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE497: | |
.size sqlite3PagerBegin, .-sqlite3PagerBegin | |
.type pagerAddPageToRollbackJournal, @function | |
pagerAddPageToRollbackJournal: | |
.LFB498: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 40[rax] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 96[rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -24[rbp], rax | |
mov rdx, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call pager_cksum | |
mov DWORD PTR -28[rbp], eax | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, WORD PTR 52[rax] | |
or eax, 8 | |
mov edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov WORD PTR 52[rax], dx | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR 48[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rcx, QWORD PTR -16[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call write32bits | |
mov DWORD PTR -32[rbp], eax | |
cmp DWORD PTR -32[rbp], 0 | |
je .L3103 | |
mov eax, DWORD PTR -32[rbp] | |
jmp .L3104 | |
.L3103: | |
mov rax, QWORD PTR -16[rbp] | |
lea rcx, 4[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, DWORD PTR 188[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rsi, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3OsWrite | |
mov DWORD PTR -32[rbp], eax | |
cmp DWORD PTR -32[rbp], 0 | |
je .L3105 | |
mov eax, DWORD PTR -32[rbp] | |
jmp .L3104 | |
.L3105: | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 188[rax] | |
movsx rdx, eax | |
mov rax, QWORD PTR -16[rbp] | |
add rax, rdx | |
lea rcx, 4[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov edx, DWORD PTR -28[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call write32bits | |
mov DWORD PTR -32[rbp], eax | |
cmp DWORD PTR -32[rbp], 0 | |
je .L3106 | |
mov eax, DWORD PTR -32[rbp] | |
jmp .L3104 | |
.L3106: | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 96[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 188[rax] | |
add eax, 8 | |
cdqe | |
add rdx, rax | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 96[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 48[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 48[rax], edx | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR 48[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3BitvecSet | |
mov DWORD PTR -32[rbp], eax | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR 48[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call addToSavepointBitvecs | |
or DWORD PTR -32[rbp], eax | |
mov eax, DWORD PTR -32[rbp] | |
.L3104: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE498: | |
.size pagerAddPageToRollbackJournal, .-pagerAddPageToRollbackJournal | |
.type pager_write, @function | |
pager_write: | |
.LFB499: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 40[rax] | |
mov QWORD PTR -16[rbp], rax | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
cmp al, 2 | |
jne .L3108 | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call pager_open_journal | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3108 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L3109 | |
.L3108: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3PcacheMakeDirty | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 64[rax] | |
test rax, rax | |
je .L3110 | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR 48[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3BitvecTestNotNull | |
test eax, eax | |
jne .L3110 | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR 48[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 32[rax] | |
cmp edx, eax | |
ja .L3111 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call pagerAddPageToRollbackJournal | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3110 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L3109 | |
.L3111: | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
cmp al, 4 | |
je .L3110 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, WORD PTR 52[rax] | |
or eax, 8 | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov WORD PTR 52[rax], dx | |
.L3110: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, WORD PTR 52[rax] | |
or eax, 4 | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov WORD PTR 52[rax], dx | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 128[rax] | |
test eax, eax | |
jle .L3112 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call subjournalPageIfRequired | |
mov DWORD PTR -4[rbp], eax | |
.L3112: | |
mov rax, QWORD PTR -16[rbp] | |
mov edx, DWORD PTR 28[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 48[rax] | |
cmp edx, eax | |
jnb .L3113 | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR 48[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov DWORD PTR 28[rax], edx | |
.L3113: | |
mov eax, DWORD PTR -4[rbp] | |
.L3109: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE499: | |
.size pager_write, .-pager_write | |
.type pagerWriteLargeSector, @function | |
pagerWriteLargeSector: | |
.LFB500: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 80 | |
mov QWORD PTR -72[rbp], rdi | |
mov DWORD PTR -4[rbp], 0 | |
mov DWORD PTR -8[rbp], 0 | |
mov DWORD PTR -16[rbp], 0 | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 40[rax] | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 184[rax] | |
mov rdx, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR 188[rdx] | |
mov ecx, edx | |
mov edx, 0 | |
div ecx | |
mov DWORD PTR -28[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 24[rax] | |
or eax, 4 | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 24[rax], dl | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 48[rax] | |
lea edx, -1[rax] | |
mov eax, DWORD PTR -28[rbp] | |
neg eax | |
and eax, edx | |
add eax, 1 | |
mov DWORD PTR -32[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 28[rax] | |
mov DWORD PTR -36[rbp], eax | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 48[rax] | |
cmp eax, DWORD PTR -36[rbp] | |
jbe .L3115 | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 48[rax] | |
sub eax, DWORD PTR -32[rbp] | |
add eax, 1 | |
mov DWORD PTR -8[rbp], eax | |
jmp .L3116 | |
.L3115: | |
mov edx, DWORD PTR -32[rbp] | |
mov eax, DWORD PTR -28[rbp] | |
add eax, edx | |
sub eax, 1 | |
cmp eax, DWORD PTR -36[rbp] | |
jbe .L3117 | |
mov eax, DWORD PTR -36[rbp] | |
sub eax, DWORD PTR -32[rbp] | |
add eax, 1 | |
mov DWORD PTR -8[rbp], eax | |
jmp .L3116 | |
.L3117: | |
mov eax, DWORD PTR -28[rbp] | |
mov DWORD PTR -8[rbp], eax | |
.L3116: | |
mov DWORD PTR -12[rbp], 0 | |
jmp .L3118 | |
.L3126: | |
mov edx, DWORD PTR -12[rbp] | |
mov eax, DWORD PTR -32[rbp] | |
add eax, edx | |
mov DWORD PTR -40[rbp], eax | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 48[rax] | |
cmp eax, DWORD PTR -40[rbp] | |
je .L3119 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov edx, DWORD PTR -40[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3BitvecTest | |
test eax, eax | |
jne .L3120 | |
.L3119: | |
mov eax, DWORD PTR sqlite3PendingByte[rip] | |
mov rdx, QWORD PTR -24[rbp] | |
mov ecx, DWORD PTR 188[rdx] | |
cdq | |
idiv ecx | |
add eax, 1 | |
cmp eax, DWORD PTR -40[rbp] | |
je .L3132 | |
lea rdx, -56[rbp] | |
mov esi, DWORD PTR -40[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov ecx, 0 | |
mov rdi, rax | |
call sqlite3PagerGet | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3132 | |
mov rax, QWORD PTR -56[rbp] | |
mov rdi, rax | |
call pager_write | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, WORD PTR 52[rax] | |
movzx eax, ax | |
and eax, 8 | |
test eax, eax | |
je .L3122 | |
mov DWORD PTR -16[rbp], 1 | |
.L3122: | |
mov rax, QWORD PTR -56[rbp] | |
mov rdi, rax | |
call sqlite3PagerUnrefNotNull | |
jmp .L3132 | |
.L3120: | |
mov edx, DWORD PTR -40[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3PagerLookup | |
mov QWORD PTR -56[rbp], rax | |
mov rax, QWORD PTR -56[rbp] | |
test rax, rax | |
je .L3123 | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, WORD PTR 52[rax] | |
movzx eax, ax | |
and eax, 8 | |
test eax, eax | |
je .L3124 | |
mov DWORD PTR -16[rbp], 1 | |
.L3124: | |
mov rax, QWORD PTR -56[rbp] | |
mov rdi, rax | |
call sqlite3PagerUnrefNotNull | |
jmp .L3123 | |
.L3132: | |
nop | |
.L3123: | |
add DWORD PTR -12[rbp], 1 | |
.L3118: | |
mov eax, DWORD PTR -12[rbp] | |
cmp eax, DWORD PTR -8[rbp] | |
jge .L3125 | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3126 | |
.L3125: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3127 | |
cmp DWORD PTR -16[rbp], 0 | |
je .L3127 | |
mov DWORD PTR -12[rbp], 0 | |
jmp .L3128 | |
.L3130: | |
mov edx, DWORD PTR -12[rbp] | |
mov eax, DWORD PTR -32[rbp] | |
add edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3PagerLookup | |
mov QWORD PTR -48[rbp], rax | |
cmp QWORD PTR -48[rbp], 0 | |
je .L3129 | |
mov rax, QWORD PTR -48[rbp] | |
movzx eax, WORD PTR 52[rax] | |
or eax, 8 | |
mov edx, eax | |
mov rax, QWORD PTR -48[rbp] | |
mov WORD PTR 52[rax], dx | |
mov rax, QWORD PTR -48[rbp] | |
mov rdi, rax | |
call sqlite3PagerUnrefNotNull | |
.L3129: | |
add DWORD PTR -12[rbp], 1 | |
.L3128: | |
mov eax, DWORD PTR -12[rbp] | |
cmp eax, DWORD PTR -8[rbp] | |
jl .L3130 | |
.L3127: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 24[rax] | |
and eax, -5 | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 24[rax], dl | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE500: | |
.size pagerWriteLargeSector, .-pagerWriteLargeSector | |
.type sqlite3PagerWrite, @function | |
sqlite3PagerWrite: | |
.LFB501: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 40[rax] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, WORD PTR 52[rax] | |
movzx eax, ax | |
and eax, 4 | |
test eax, eax | |
je .L3134 | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, DWORD PTR 28[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 48[rax] | |
cmp edx, eax | |
jb .L3134 | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 128[rax] | |
test eax, eax | |
je .L3135 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call subjournalPageIfRequired | |
jmp .L3136 | |
.L3135: | |
mov eax, 0 | |
jmp .L3136 | |
.L3134: | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 44[rax] | |
test eax, eax | |
je .L3137 | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 44[rax] | |
jmp .L3136 | |
.L3137: | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, DWORD PTR 184[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 188[rax] | |
cmp edx, eax | |
jbe .L3138 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call pagerWriteLargeSector | |
jmp .L3136 | |
.L3138: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call pager_write | |
.L3136: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE501: | |
.size sqlite3PagerWrite, .-sqlite3PagerWrite | |
.type sqlite3PagerDontWrite, @function | |
sqlite3PagerDontWrite: | |
.LFB502: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 40[rax] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 16[rax] | |
test al, al | |
jne .L3141 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, WORD PTR 52[rax] | |
movzx eax, ax | |
and eax, 2 | |
test eax, eax | |
je .L3141 | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 128[rax] | |
test eax, eax | |
jne .L3141 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, WORD PTR 52[rax] | |
or eax, 16 | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov WORD PTR 52[rax], dx | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, WORD PTR 52[rax] | |
and eax, -5 | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov WORD PTR 52[rax], dx | |
.L3141: | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE502: | |
.size sqlite3PagerDontWrite, .-sqlite3PagerDontWrite | |
.type pager_incr_changecounter, @function | |
pager_incr_changecounter: | |
.LFB503: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 22[rax] | |
test al, al | |
jne .L3143 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 28[rax] | |
test eax, eax | |
je .L3143 | |
lea rdx, -16[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov ecx, 0 | |
mov esi, 1 | |
mov rdi, rax | |
call sqlite3PagerGet | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3144 | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call sqlite3PagerWrite | |
mov DWORD PTR -4[rbp], eax | |
.L3144: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3145 | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call pager_write_changecounter | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 22[rax], 1 | |
.L3145: | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call sqlite3PagerUnref | |
.L3143: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE503: | |
.size pager_incr_changecounter, .-pager_incr_changecounter | |
.type sqlite3PagerSync, @function | |
sqlite3PagerSync: | |
.LFB504: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
je .L3148 | |
mov rax, QWORD PTR -32[rbp] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rdx, QWORD PTR -16[rbp] | |
mov esi, 21 | |
mov rdi, rax | |
call sqlite3OsFileControl | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 12 | |
jne .L3148 | |
mov DWORD PTR -4[rbp], 0 | |
.L3148: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3149 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 11[rax] | |
test al, al | |
jne .L3149 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 14[rax] | |
movzx edx, al | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3OsSync | |
mov DWORD PTR -4[rbp], eax | |
.L3149: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE504: | |
.size sqlite3PagerSync, .-sqlite3PagerSync | |
.type sqlite3PagerExclusiveLock, @function | |
sqlite3PagerExclusiveLock: | |
.LFB505: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 44[rax] | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3152 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 288[rax] | |
test rax, rax | |
jne .L3152 | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 4 | |
mov rdi, rax | |
call pager_wait_on_lock | |
mov DWORD PTR -4[rbp], eax | |
.L3152: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE505: | |
.size sqlite3PagerExclusiveLock, .-sqlite3PagerExclusiveLock | |
.type sqlite3PagerCommitPhaseOne, @function | |
sqlite3PagerCommitPhaseOne: | |
.LFB506: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 80 | |
mov QWORD PTR -56[rbp], rdi | |
mov QWORD PTR -64[rbp], rsi | |
mov DWORD PTR -68[rbp], edx | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 44[rax] | |
test eax, eax | |
je .L3155 | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 44[rax] | |
jmp .L3156 | |
.L3155: | |
mov edi, 400 | |
call sqlite3FaultSim | |
test eax, eax | |
je .L3157 | |
mov eax, 10 | |
jmp .L3156 | |
.L3157: | |
mov rax, QWORD PTR -56[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
cmp al, 2 | |
ja .L3158 | |
mov eax, 0 | |
jmp .L3156 | |
.L3158: | |
mov rax, QWORD PTR -56[rbp] | |
mov esi, 1 | |
mov rdi, rax | |
call pagerFlushOnCommit | |
test eax, eax | |
jne .L3159 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 112[rax] | |
mov rdi, rax | |
call sqlite3BackupRestart | |
jmp .L3160 | |
.L3159: | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 288[rax] | |
test rax, rax | |
je .L3161 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 280[rax] | |
mov rdi, rax | |
call sqlite3PcacheDirtyList | |
mov QWORD PTR -16[rbp], rax | |
mov QWORD PTR -40[rbp], 0 | |
cmp QWORD PTR -16[rbp], 0 | |
jne .L3162 | |
lea rdx, -40[rbp] | |
mov rax, QWORD PTR -56[rbp] | |
mov ecx, 0 | |
mov esi, 1 | |
mov rdi, rax | |
call sqlite3PagerGet | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -40[rbp] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR 32[rax], 0 | |
.L3162: | |
cmp QWORD PTR -16[rbp], 0 | |
je .L3163 | |
mov rax, QWORD PTR -56[rbp] | |
mov edx, DWORD PTR 28[rax] | |
mov rsi, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -56[rbp] | |
mov ecx, 1 | |
mov rdi, rax | |
call pagerWalFrames | |
mov DWORD PTR -4[rbp], eax | |
.L3163: | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call sqlite3PagerUnref | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3160 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 280[rax] | |
mov rdi, rax | |
call sqlite3PcacheCleanAll | |
jmp .L3160 | |
.L3161: | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -56[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call pager_incr_changecounter | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3171 | |
mov rdx, QWORD PTR -64[rbp] | |
mov rax, QWORD PTR -56[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call writeMasterJournal | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3172 | |
mov rax, QWORD PTR -56[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call syncJournal | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3173 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 280[rax] | |
mov rdi, rax | |
call sqlite3PcacheDirtyList | |
mov rdx, rax | |
mov rax, QWORD PTR -56[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call pager_write_pagelist | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3174 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 280[rax] | |
mov rdi, rax | |
call sqlite3PcacheCleanAll | |
mov rax, QWORD PTR -56[rbp] | |
mov edx, DWORD PTR 28[rax] | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 36[rax] | |
cmp edx, eax | |
jbe .L3169 | |
mov rax, QWORD PTR -56[rbp] | |
mov ecx, DWORD PTR 28[rax] | |
mov rax, QWORD PTR -56[rbp] | |
mov esi, DWORD PTR 28[rax] | |
mov eax, DWORD PTR sqlite3PendingByte[rip] | |
mov rdx, QWORD PTR -56[rbp] | |
mov edi, DWORD PTR 188[rdx] | |
cdq | |
idiv edi | |
add eax, 1 | |
cmp esi, eax | |
sete al | |
movzx eax, al | |
sub ecx, eax | |
mov eax, ecx | |
mov DWORD PTR -28[rbp], eax | |
mov edx, DWORD PTR -28[rbp] | |
mov rax, QWORD PTR -56[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call pager_truncate | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3175 | |
.L3169: | |
cmp DWORD PTR -68[rbp], 0 | |
jne .L3160 | |
mov rdx, QWORD PTR -64[rbp] | |
mov rax, QWORD PTR -56[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3PagerSync | |
mov DWORD PTR -4[rbp], eax | |
jmp .L3160 | |
.L3171: | |
nop | |
jmp .L3160 | |
.L3172: | |
nop | |
jmp .L3160 | |
.L3173: | |
nop | |
jmp .L3160 | |
.L3174: | |
nop | |
jmp .L3160 | |
.L3175: | |
nop | |
.L3160: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3170 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 288[rax] | |
test rax, rax | |
jne .L3170 | |
mov rax, QWORD PTR -56[rbp] | |
mov BYTE PTR 20[rax], 5 | |
.L3170: | |
mov eax, DWORD PTR -4[rbp] | |
.L3156: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE506: | |
.size sqlite3PagerCommitPhaseOne, .-sqlite3PagerCommitPhaseOne | |
.type sqlite3PagerCommitPhaseTwo, @function | |
sqlite3PagerCommitPhaseTwo: | |
.LFB507: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 44[rax] | |
test eax, eax | |
je .L3177 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 44[rax] | |
jmp .L3178 | |
.L3177: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
cmp al, 2 | |
jne .L3179 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 8[rax] | |
test al, al | |
je .L3179 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 9[rax] | |
cmp al, 1 | |
jne .L3179 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 20[rax], 1 | |
mov eax, 0 | |
jmp .L3178 | |
.L3179: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 132[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 132[rax], edx | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 23[rax] | |
movzx ecx, al | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, 1 | |
mov esi, ecx | |
mov rdi, rax | |
call pager_end_transaction | |
mov DWORD PTR -4[rbp], eax | |
mov edx, DWORD PTR -4[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call pager_error | |
.L3178: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE507: | |
.size sqlite3PagerCommitPhaseTwo, .-sqlite3PagerCommitPhaseTwo | |
.type sqlite3PagerRollback, @function | |
sqlite3PagerRollback: | |
.LFB508: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
cmp al, 6 | |
jne .L3181 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 44[rax] | |
jmp .L3182 | |
.L3181: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
cmp al, 1 | |
ja .L3183 | |
mov eax, 0 | |
jmp .L3182 | |
.L3183: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 288[rax] | |
test rax, rax | |
je .L3184 | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, -1 | |
mov esi, 2 | |
mov rdi, rax | |
call sqlite3PagerSavepoint | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 23[rax] | |
movzx ecx, al | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, 0 | |
mov esi, ecx | |
mov rdi, rax | |
call pager_end_transaction | |
mov DWORD PTR -12[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3186 | |
mov eax, DWORD PTR -12[rbp] | |
mov DWORD PTR -4[rbp], eax | |
jmp .L3186 | |
.L3184: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
je .L3187 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
cmp al, 2 | |
jne .L3188 | |
.L3187: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
movzx eax, al | |
mov DWORD PTR -8[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, 0 | |
mov esi, 0 | |
mov rdi, rax | |
call pager_end_transaction | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 19[rax] | |
test al, al | |
jne .L3190 | |
cmp DWORD PTR -8[rbp], 2 | |
jle .L3190 | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 44[rax], 4 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 20[rax], 6 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call setGetterMethod | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L3182 | |
.L3188: | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call pager_playback | |
mov DWORD PTR -4[rbp], eax | |
jmp .L3186 | |
.L3190: | |
nop | |
.L3186: | |
mov edx, DWORD PTR -4[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call pager_error | |
.L3182: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE508: | |
.size sqlite3PagerRollback, .-sqlite3PagerRollback | |
.type sqlite3PagerIsreadonly, @function | |
sqlite3PagerIsreadonly: | |
.LFB509: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 18[rax] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE509: | |
.size sqlite3PagerIsreadonly, .-sqlite3PagerIsreadonly | |
.type sqlite3PagerMemUsed, @function | |
sqlite3PagerMemUsed: | |
.LFB510: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
push rbx | |
sub rsp, 40 | |
.cfi_offset 3, -24 | |
mov QWORD PTR -40[rbp], rdi | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR 188[rax] | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, WORD PTR 176[rax] | |
movzx eax, ax | |
add eax, edx | |
add eax, 112 | |
mov DWORD PTR -20[rbp], eax | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 280[rax] | |
mov rdi, rax | |
call sqlite3PcachePagecount | |
imul eax, DWORD PTR -20[rbp] | |
mov ebx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call sqlite3MallocSize | |
lea edx, [rbx+rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 188[rax] | |
add eax, edx | |
add rsp, 40 | |
pop rbx | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE510: | |
.size sqlite3PagerMemUsed, .-sqlite3PagerMemUsed | |
.type sqlite3PagerPageRefcount, @function | |
sqlite3PagerPageRefcount: | |
.LFB511: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 8 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3PcachePageRefcount | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE511: | |
.size sqlite3PagerPageRefcount, .-sqlite3PagerPageRefcount | |
.type sqlite3PagerCacheStat, @function | |
sqlite3PagerCacheStat: | |
.LFB512: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov DWORD PTR -16[rbp], edx | |
mov QWORD PTR -24[rbp], rcx | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR [rax] | |
mov eax, DWORD PTR -12[rbp] | |
lea ecx, -7[rax] | |
mov rax, QWORD PTR -8[rbp] | |
movsx rcx, ecx | |
add rcx, 60 | |
mov eax, DWORD PTR [rax+rcx*4] | |
add edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR [rax], edx | |
cmp DWORD PTR -16[rbp], 0 | |
je .L3199 | |
mov eax, DWORD PTR -12[rbp] | |
lea edx, -7[rax] | |
mov rax, QWORD PTR -8[rbp] | |
movsx rdx, edx | |
add rdx, 60 | |
mov DWORD PTR [rax+rdx*4], 0 | |
.L3199: | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE512: | |
.size sqlite3PagerCacheStat, .-sqlite3PagerCacheStat | |
.type sqlite3PagerIsMemdb, @function | |
sqlite3PagerIsMemdb: | |
.LFB513: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 16[rax] | |
movzx eax, al | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE513: | |
.size sqlite3PagerIsMemdb, .-sqlite3PagerIsMemdb | |
.type pagerOpenSavepoint, @function | |
pagerOpenSavepoint: | |
.LFB514: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
push rbx | |
sub rsp, 56 | |
.cfi_offset 3, -24 | |
mov QWORD PTR -56[rbp], rdi | |
mov DWORD PTR -60[rbp], esi | |
mov DWORD PTR -24[rbp], 0 | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 128[rax] | |
mov DWORD PTR -28[rbp], eax | |
mov eax, DWORD PTR -60[rbp] | |
movsx rdx, eax | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 4 | |
mov rdx, rax | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 120[rax] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3Realloc | |
mov QWORD PTR -40[rbp], rax | |
cmp QWORD PTR -40[rbp], 0 | |
jne .L3203 | |
mov eax, 7 | |
jmp .L3204 | |
.L3203: | |
mov eax, DWORD PTR -60[rbp] | |
sub eax, DWORD PTR -28[rbp] | |
movsx rdx, eax | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 4 | |
mov rcx, rax | |
mov eax, DWORD PTR -28[rbp] | |
movsx rdx, eax | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 4 | |
mov rdx, rax | |
mov rax, QWORD PTR -40[rbp] | |
add rax, rdx | |
mov rdx, rcx | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
mov rax, QWORD PTR -56[rbp] | |
mov rdx, QWORD PTR -40[rbp] | |
mov QWORD PTR 120[rax], rdx | |
mov eax, DWORD PTR -28[rbp] | |
mov DWORD PTR -20[rbp], eax | |
jmp .L3205 | |
.L3210: | |
mov eax, DWORD PTR -20[rbp] | |
movsx rdx, eax | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 4 | |
mov rdx, rax | |
mov rax, QWORD PTR -40[rbp] | |
add rdx, rax | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 28[rax] | |
mov DWORD PTR 24[rdx], eax | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
je .L3206 | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 96[rax] | |
test rax, rax | |
jle .L3206 | |
mov eax, DWORD PTR -20[rbp] | |
movsx rdx, eax | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 4 | |
mov rdx, rax | |
mov rax, QWORD PTR -40[rbp] | |
add rdx, rax | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 96[rax] | |
mov QWORD PTR [rdx], rax | |
jmp .L3207 | |
.L3206: | |
mov eax, DWORD PTR -20[rbp] | |
movsx rdx, eax | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 4 | |
mov rdx, rax | |
mov rax, QWORD PTR -40[rbp] | |
add rdx, rax | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 184[rax] | |
mov eax, eax | |
mov QWORD PTR [rdx], rax | |
.L3207: | |
mov eax, DWORD PTR -20[rbp] | |
movsx rdx, eax | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 4 | |
mov rdx, rax | |
mov rax, QWORD PTR -40[rbp] | |
add rdx, rax | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 56[rax] | |
mov DWORD PTR 28[rdx], eax | |
mov eax, DWORD PTR -20[rbp] | |
movsx rdx, eax | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 4 | |
mov rdx, rax | |
mov rax, QWORD PTR -40[rbp] | |
lea rbx, [rdx+rax] | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 28[rax] | |
mov edi, eax | |
call sqlite3BitvecCreate | |
mov QWORD PTR 16[rbx], rax | |
mov eax, DWORD PTR -20[rbp] | |
movsx rdx, eax | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 4 | |
mov rdx, rax | |
mov rax, QWORD PTR -40[rbp] | |
add rax, rdx | |
mov rax, QWORD PTR 16[rax] | |
test rax, rax | |
jne .L3208 | |
mov eax, 7 | |
jmp .L3204 | |
.L3208: | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 288[rax] | |
test rax, rax | |
je .L3209 | |
mov eax, DWORD PTR -20[rbp] | |
movsx rdx, eax | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 4 | |
mov rdx, rax | |
mov rax, QWORD PTR -40[rbp] | |
add rax, rdx | |
lea rdx, 32[rax] | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR 288[rax] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3WalSavepoint | |
.L3209: | |
mov eax, DWORD PTR -20[rbp] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -56[rbp] | |
mov DWORD PTR 128[rax], edx | |
add DWORD PTR -20[rbp], 1 | |
.L3205: | |
mov eax, DWORD PTR -20[rbp] | |
cmp eax, DWORD PTR -60[rbp] | |
jl .L3210 | |
mov eax, DWORD PTR -24[rbp] | |
.L3204: | |
add rsp, 56 | |
pop rbx | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE514: | |
.size pagerOpenSavepoint, .-pagerOpenSavepoint | |
.type sqlite3PagerOpenSavepoint, @function | |
sqlite3PagerOpenSavepoint: | |
.LFB515: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 128[rax] | |
cmp eax, DWORD PTR -12[rbp] | |
jge .L3212 | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 10[rax] | |
test al, al | |
je .L3212 | |
mov edx, DWORD PTR -12[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call pagerOpenSavepoint | |
jmp .L3213 | |
.L3212: | |
mov eax, 0 | |
.L3213: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE515: | |
.size sqlite3PagerOpenSavepoint, .-sqlite3PagerOpenSavepoint | |
.type sqlite3PagerSavepoint, @function | |
sqlite3PagerSavepoint: | |
.LFB516: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov DWORD PTR -48[rbp], edx | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 44[rax] | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3215 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 128[rax] | |
cmp eax, DWORD PTR -48[rbp] | |
jle .L3215 | |
cmp DWORD PTR -44[rbp], 1 | |
setne al | |
movzx edx, al | |
mov eax, DWORD PTR -48[rbp] | |
add eax, edx | |
mov DWORD PTR -12[rbp], eax | |
mov eax, DWORD PTR -12[rbp] | |
mov DWORD PTR -8[rbp], eax | |
jmp .L3216 | |
.L3217: | |
mov rax, QWORD PTR -40[rbp] | |
mov rcx, QWORD PTR 120[rax] | |
mov eax, DWORD PTR -8[rbp] | |
movsx rdx, eax | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 4 | |
add rax, rcx | |
mov rax, QWORD PTR 16[rax] | |
mov rdi, rax | |
call sqlite3BitvecDestroy | |
add DWORD PTR -8[rbp], 1 | |
.L3216: | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 128[rax] | |
cmp eax, DWORD PTR -8[rbp] | |
jg .L3217 | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR -12[rbp] | |
mov DWORD PTR 128[rax], edx | |
cmp DWORD PTR -44[rbp], 1 | |
jne .L3218 | |
cmp DWORD PTR -12[rbp], 0 | |
jne .L3215 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 88[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
je .L3215 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 88[rax] | |
mov rdi, rax | |
call sqlite3JournalIsInMemory | |
test eax, eax | |
je .L3220 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 88[rax] | |
mov esi, 0 | |
mov rdi, rax | |
call sqlite3OsTruncate | |
mov DWORD PTR -4[rbp], eax | |
.L3220: | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 56[rax], 0 | |
jmp .L3215 | |
.L3218: | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 288[rax] | |
test rax, rax | |
jne .L3221 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
je .L3215 | |
.L3221: | |
cmp DWORD PTR -12[rbp], 0 | |
je .L3222 | |
mov rax, QWORD PTR -40[rbp] | |
mov rcx, QWORD PTR 120[rax] | |
mov eax, DWORD PTR -12[rbp] | |
movsx rdx, eax | |
mov rax, rdx | |
add rax, rax | |
add rax, rdx | |
sal rax, 4 | |
sub rax, 48 | |
add rax, rcx | |
jmp .L3223 | |
.L3222: | |
mov eax, 0 | |
.L3223: | |
mov QWORD PTR -24[rbp], rax | |
mov rdx, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call pagerPlaybackSavepoint | |
mov DWORD PTR -4[rbp], eax | |
.L3215: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE516: | |
.size sqlite3PagerSavepoint, .-sqlite3PagerSavepoint | |
.type sqlite3PagerFilename, @function | |
sqlite3PagerFilename: | |
.LFB517: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
cmp DWORD PTR -12[rbp], 0 | |
je .L3226 | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 19[rax] | |
test al, al | |
jne .L3227 | |
.L3226: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 208[rax] | |
jmp .L3229 | |
.L3227: | |
lea rax, .LC65[rip] | |
.L3229: | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE517: | |
.size sqlite3PagerFilename, .-sqlite3PagerFilename | |
.type sqlite3PagerVfs, @function | |
sqlite3PagerVfs: | |
.LFB518: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE518: | |
.size sqlite3PagerVfs, .-sqlite3PagerVfs | |
.type sqlite3PagerFile, @function | |
sqlite3PagerFile: | |
.LFB519: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 72[rax] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE519: | |
.size sqlite3PagerFile, .-sqlite3PagerFile | |
.type sqlite3PagerJrnlFile, @function | |
sqlite3PagerJrnlFile: | |
.LFB520: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 288[rax] | |
test rax, rax | |
je .L3235 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 288[rax] | |
mov rdi, rax | |
call sqlite3WalFile | |
jmp .L3237 | |
.L3235: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 80[rax] | |
.L3237: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE520: | |
.size sqlite3PagerJrnlFile, .-sqlite3PagerJrnlFile | |
.type sqlite3PagerJournalname, @function | |
sqlite3PagerJournalname: | |
.LFB521: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 216[rax] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE521: | |
.size sqlite3PagerJournalname, .-sqlite3PagerJournalname | |
.type sqlite3PagerMovepage, @function | |
sqlite3PagerMovepage: | |
.LFB522: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -48[rbp], rsi | |
mov DWORD PTR -52[rbp], edx | |
mov DWORD PTR -56[rbp], ecx | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 16[rax] | |
test al, al | |
je .L3241 | |
mov rax, QWORD PTR -48[rbp] | |
mov rdi, rax | |
call sqlite3PagerWrite | |
mov DWORD PTR -8[rbp], eax | |
cmp DWORD PTR -8[rbp], 0 | |
je .L3241 | |
mov eax, DWORD PTR -8[rbp] | |
jmp .L3242 | |
.L3241: | |
mov rax, QWORD PTR -48[rbp] | |
movzx eax, WORD PTR 52[rax] | |
movzx eax, ax | |
and eax, 2 | |
test eax, eax | |
je .L3243 | |
mov rax, QWORD PTR -48[rbp] | |
mov rdi, rax | |
call subjournalPageIfRequired | |
mov DWORD PTR -8[rbp], eax | |
cmp DWORD PTR -8[rbp], 0 | |
je .L3243 | |
mov eax, DWORD PTR -8[rbp] | |
jmp .L3242 | |
.L3243: | |
mov rax, QWORD PTR -48[rbp] | |
movzx eax, WORD PTR 52[rax] | |
movzx eax, ax | |
and eax, 8 | |
test eax, eax | |
je .L3244 | |
cmp DWORD PTR -56[rbp], 0 | |
jne .L3244 | |
mov rax, QWORD PTR -48[rbp] | |
mov eax, DWORD PTR 48[rax] | |
mov DWORD PTR -4[rbp], eax | |
.L3244: | |
mov rax, QWORD PTR -48[rbp] | |
movzx eax, WORD PTR 52[rax] | |
and eax, -9 | |
mov edx, eax | |
mov rax, QWORD PTR -48[rbp] | |
mov WORD PTR 52[rax], dx | |
mov edx, DWORD PTR -52[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3PagerLookup | |
mov QWORD PTR -16[rbp], rax | |
cmp QWORD PTR -16[rbp], 0 | |
je .L3245 | |
mov rax, QWORD PTR -48[rbp] | |
movzx eax, WORD PTR 52[rax] | |
mov edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, WORD PTR 52[rax] | |
and eax, 8 | |
or eax, edx | |
mov edx, eax | |
mov rax, QWORD PTR -48[rbp] | |
mov WORD PTR 52[rax], dx | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 16[rax] | |
test al, al | |
je .L3246 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 28[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3PcacheMove | |
jmp .L3245 | |
.L3246: | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call sqlite3PcacheDrop | |
.L3245: | |
mov rax, QWORD PTR -48[rbp] | |
mov eax, DWORD PTR 48[rax] | |
mov DWORD PTR -20[rbp], eax | |
mov edx, DWORD PTR -52[rbp] | |
mov rax, QWORD PTR -48[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3PcacheMove | |
mov rax, QWORD PTR -48[rbp] | |
mov rdi, rax | |
call sqlite3PcacheMakeDirty | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 16[rax] | |
test al, al | |
je .L3247 | |
cmp QWORD PTR -16[rbp], 0 | |
je .L3247 | |
mov edx, DWORD PTR -20[rbp] | |
mov rax, QWORD PTR -16[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3PcacheMove | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call sqlite3PagerUnrefNotNull | |
.L3247: | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3248 | |
lea rdx, -32[rbp] | |
mov esi, DWORD PTR -4[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov ecx, 0 | |
mov rdi, rax | |
call sqlite3PagerGet | |
mov DWORD PTR -8[rbp], eax | |
cmp DWORD PTR -8[rbp], 0 | |
je .L3249 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 32[rax] | |
cmp eax, DWORD PTR -4[rbp] | |
jb .L3250 | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR 272[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov ecx, DWORD PTR -4[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call sqlite3BitvecClear | |
.L3250: | |
mov eax, DWORD PTR -8[rbp] | |
jmp .L3242 | |
.L3249: | |
mov rax, QWORD PTR -32[rbp] | |
mov rdx, QWORD PTR -32[rbp] | |
movzx edx, WORD PTR 52[rdx] | |
or edx, 8 | |
mov WORD PTR 52[rax], dx | |
mov rax, QWORD PTR -32[rbp] | |
mov rdi, rax | |
call sqlite3PcacheMakeDirty | |
mov rax, QWORD PTR -32[rbp] | |
mov rdi, rax | |
call sqlite3PagerUnrefNotNull | |
.L3248: | |
mov eax, 0 | |
.L3242: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE522: | |
.size sqlite3PagerMovepage, .-sqlite3PagerMovepage | |
.type sqlite3PagerRekey, @function | |
sqlite3PagerRekey: | |
.LFB523: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov eax, edx | |
mov WORD PTR -16[rbp], ax | |
mov rax, QWORD PTR -8[rbp] | |
movzx edx, WORD PTR -16[rbp] | |
mov WORD PTR 52[rax], dx | |
mov edx, DWORD PTR -12[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3PcacheMove | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE523: | |
.size sqlite3PagerRekey, .-sqlite3PagerRekey | |
.type sqlite3PagerGetData, @function | |
sqlite3PagerGetData: | |
.LFB524: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 8[rax] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE524: | |
.size sqlite3PagerGetData, .-sqlite3PagerGetData | |
.type sqlite3PagerGetExtra, @function | |
sqlite3PagerGetExtra: | |
.LFB525: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 16[rax] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE525: | |
.size sqlite3PagerGetExtra, .-sqlite3PagerGetExtra | |
.type sqlite3PagerLockingMode, @function | |
sqlite3PagerLockingMode: | |
.LFB526: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
cmp DWORD PTR -12[rbp], 0 | |
js .L3257 | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 16[rax] | |
test al, al | |
jne .L3257 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 288[rax] | |
mov rdi, rax | |
call sqlite3WalHeapMemory | |
test eax, eax | |
jne .L3257 | |
mov eax, DWORD PTR -12[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 8[rax], dl | |
.L3257: | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 8[rax] | |
movzx eax, al | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE526: | |
.size sqlite3PagerLockingMode, .-sqlite3PagerLockingMode | |
.type sqlite3PagerSetJournalMode, @function | |
sqlite3PagerSetJournalMode: | |
.LFB527: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 9[rax] | |
mov BYTE PTR -5[rbp], al | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 19[rax] | |
test al, al | |
je .L3260 | |
cmp DWORD PTR -28[rbp], 4 | |
je .L3260 | |
cmp DWORD PTR -28[rbp], 2 | |
je .L3260 | |
movzx eax, BYTE PTR -5[rbp] | |
mov DWORD PTR -28[rbp], eax | |
.L3260: | |
movzx eax, BYTE PTR -5[rbp] | |
cmp eax, DWORD PTR -28[rbp] | |
je .L3261 | |
mov eax, DWORD PTR -28[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 9[rax], dl | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 8[rax] | |
test al, al | |
jne .L3262 | |
movzx eax, BYTE PTR -5[rbp] | |
and eax, 5 | |
cmp eax, 1 | |
jne .L3262 | |
mov eax, DWORD PTR -28[rbp] | |
and eax, 1 | |
test eax, eax | |
jne .L3262 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rdi, rax | |
call sqlite3OsClose | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 21[rax] | |
cmp al, 1 | |
jbe .L3263 | |
mov rax, QWORD PTR -24[rbp] | |
mov rcx, QWORD PTR 216[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov edx, 0 | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3OsDelete | |
jmp .L3270 | |
.L3263: | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
movzx eax, al | |
mov DWORD PTR -12[rbp], eax | |
cmp DWORD PTR -12[rbp], 0 | |
jne .L3265 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3PagerSharedLock | |
mov DWORD PTR -4[rbp], eax | |
.L3265: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
cmp al, 1 | |
jne .L3266 | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 2 | |
mov rdi, rax | |
call pagerLockDb | |
mov DWORD PTR -4[rbp], eax | |
.L3266: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3267 | |
mov rax, QWORD PTR -24[rbp] | |
mov rcx, QWORD PTR 216[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov edx, 0 | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3OsDelete | |
.L3267: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3268 | |
cmp DWORD PTR -12[rbp], 1 | |
jne .L3268 | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 1 | |
mov rdi, rax | |
call pagerUnlockDb | |
jmp .L3270 | |
.L3268: | |
cmp DWORD PTR -12[rbp], 0 | |
jne .L3270 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call pager_unlock | |
jmp .L3270 | |
.L3262: | |
cmp DWORD PTR -28[rbp], 2 | |
jne .L3261 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rdi, rax | |
call sqlite3OsClose | |
jmp .L3261 | |
.L3270: | |
nop | |
.L3261: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 9[rax] | |
movzx eax, al | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE527: | |
.size sqlite3PagerSetJournalMode, .-sqlite3PagerSetJournalMode | |
.type sqlite3PagerGetJournalMode, @function | |
sqlite3PagerGetJournalMode: | |
.LFB528: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 9[rax] | |
movzx eax, al | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE528: | |
.size sqlite3PagerGetJournalMode, .-sqlite3PagerGetJournalMode | |
.type sqlite3PagerOkToChangeJournalMode, @function | |
sqlite3PagerOkToChangeJournalMode: | |
.LFB529: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 20[rax] | |
cmp al, 2 | |
jbe .L3274 | |
mov eax, 0 | |
jmp .L3275 | |
.L3274: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
je .L3276 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 96[rax] | |
test rax, rax | |
jle .L3276 | |
mov eax, 0 | |
jmp .L3275 | |
.L3276: | |
mov eax, 1 | |
.L3275: | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE529: | |
.size sqlite3PagerOkToChangeJournalMode, .-sqlite3PagerOkToChangeJournalMode | |
.type sqlite3PagerJournalSizeLimit, @function | |
sqlite3PagerJournalSizeLimit: | |
.LFB530: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
cmp QWORD PTR -16[rbp], -1 | |
jl .L3278 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -16[rbp] | |
mov QWORD PTR 200[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 288[rax] | |
mov rdx, QWORD PTR -16[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3WalLimit | |
.L3278: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 200[rax] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE530: | |
.size sqlite3PagerJournalSizeLimit, .-sqlite3PagerJournalSizeLimit | |
.type sqlite3PagerBackupPtr, @function | |
sqlite3PagerBackupPtr: | |
.LFB531: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
add rax, 112 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE531: | |
.size sqlite3PagerBackupPtr, .-sqlite3PagerBackupPtr | |
.type sqlite3PagerClearCache, @function | |
sqlite3PagerClearCache: | |
.LFB532: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 16[rax] | |
test al, al | |
jne .L3284 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call pager_reset | |
.L3284: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE532: | |
.size sqlite3PagerClearCache, .-sqlite3PagerClearCache | |
.type sqlite3PagerCheckpoint, @function | |
sqlite3PagerCheckpoint: | |
.LFB533: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov DWORD PTR -36[rbp], edx | |
mov QWORD PTR -48[rbp], rcx | |
mov QWORD PTR -56[rbp], r8 | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 288[rax] | |
test rax, rax | |
je .L3286 | |
mov rax, QWORD PTR -24[rbp] | |
mov r8, QWORD PTR 272[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov ecx, DWORD PTR 188[rax] | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 15[rax] | |
movzx r9d, al | |
mov rax, QWORD PTR -24[rbp] | |
mov r10, QWORD PTR 232[rax] | |
cmp DWORD PTR -36[rbp], 0 | |
je .L3287 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 224[rax] | |
jmp .L3288 | |
.L3287: | |
mov eax, 0 | |
.L3288: | |
mov rdx, QWORD PTR -24[rbp] | |
mov rdi, QWORD PTR 288[rdx] | |
mov edx, DWORD PTR -36[rbp] | |
mov rsi, QWORD PTR -32[rbp] | |
push QWORD PTR -56[rbp] | |
push QWORD PTR -48[rbp] | |
push r8 | |
push rcx | |
mov r8, r10 | |
mov rcx, rax | |
call sqlite3WalCheckpoint | |
add rsp, 32 | |
mov DWORD PTR -4[rbp], eax | |
.L3286: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE533: | |
.size sqlite3PagerCheckpoint, .-sqlite3PagerCheckpoint | |
.type sqlite3PagerWalCallback, @function | |
sqlite3PagerWalCallback: | |
.LFB534: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 288[rax] | |
mov rdi, rax | |
call sqlite3WalCallback | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE534: | |
.size sqlite3PagerWalCallback, .-sqlite3PagerWalCallback | |
.type sqlite3PagerWalSupported, @function | |
sqlite3PagerWalSupported: | |
.LFB535: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 17[rax] | |
test al, al | |
je .L3293 | |
mov eax, 0 | |
jmp .L3294 | |
.L3293: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 8[rax] | |
test al, al | |
jne .L3295 | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp eax, 1 | |
jle .L3296 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 104[rax] | |
test rax, rax | |
je .L3296 | |
.L3295: | |
mov eax, 1 | |
jmp .L3294 | |
.L3296: | |
mov eax, 0 | |
.L3294: | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE535: | |
.size sqlite3PagerWalSupported, .-sqlite3PagerWalSupported | |
.type pagerExclusiveLock, @function | |
pagerExclusiveLock: | |
.LFB536: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 4 | |
mov rdi, rax | |
call pagerLockDb | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3299 | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 1 | |
mov rdi, rax | |
call pagerUnlockDb | |
.L3299: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE536: | |
.size pagerExclusiveLock, .-pagerExclusiveLock | |
.type pagerOpenWal, @function | |
pagerOpenWal: | |
.LFB537: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 8[rax] | |
test al, al | |
je .L3302 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call pagerExclusiveLock | |
mov DWORD PTR -4[rbp], eax | |
.L3302: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3303 | |
mov rax, QWORD PTR -24[rbp] | |
lea r8, 288[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, QWORD PTR 200[rax] | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 8[rax] | |
movzx ecx, al | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 296[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, QWORD PTR 72[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov r9, r8 | |
mov r8, rdi | |
mov rdi, rax | |
call sqlite3WalOpen | |
mov DWORD PTR -4[rbp], eax | |
.L3303: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call pagerFixMaplimit | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE537: | |
.size pagerOpenWal, .-pagerOpenWal | |
.type sqlite3PagerOpenWal, @function | |
sqlite3PagerOpenWal: | |
.LFB538: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 16[rax] | |
test al, al | |
jne .L3306 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 288[rax] | |
test rax, rax | |
jne .L3306 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3PagerWalSupported | |
test eax, eax | |
jne .L3307 | |
mov eax, 14 | |
jmp .L3308 | |
.L3307: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rdi, rax | |
call sqlite3OsClose | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call pagerOpenWal | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3310 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 9[rax], 5 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 20[rax], 0 | |
jmp .L3310 | |
.L3306: | |
mov rax, QWORD PTR -32[rbp] | |
mov DWORD PTR [rax], 1 | |
.L3310: | |
mov eax, DWORD PTR -4[rbp] | |
.L3308: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE538: | |
.size sqlite3PagerOpenWal, .-sqlite3PagerOpenWal | |
.type sqlite3PagerCloseWal, @function | |
sqlite3PagerCloseWal: | |
.LFB539: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 288[rax] | |
test rax, rax | |
jne .L3312 | |
mov DWORD PTR -8[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 1 | |
mov rdi, rax | |
call pagerLockDb | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3313 | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, QWORD PTR 296[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
lea rdx, -8[rbp] | |
mov rcx, rdx | |
mov edx, 0 | |
mov rdi, rax | |
call sqlite3OsAccess | |
mov DWORD PTR -4[rbp], eax | |
.L3313: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3312 | |
mov eax, DWORD PTR -8[rbp] | |
test eax, eax | |
je .L3312 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call pagerOpenWal | |
mov DWORD PTR -4[rbp], eax | |
.L3312: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3315 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 288[rax] | |
test rax, rax | |
je .L3315 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call pagerExclusiveLock | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3315 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, QWORD PTR 272[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov ecx, DWORD PTR 188[rax] | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 15[rax] | |
movzx edx, al | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 288[rax] | |
mov rsi, QWORD PTR -32[rbp] | |
mov r8, rdi | |
mov rdi, rax | |
call sqlite3WalClose | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 288[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call pagerFixMaplimit | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3315 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 8[rax] | |
test al, al | |
jne .L3315 | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 1 | |
mov rdi, rax | |
call pagerUnlockDb | |
.L3315: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE539: | |
.size sqlite3PagerCloseWal, .-sqlite3PagerCloseWal | |
.type walIndexPage, @function | |
walIndexPage: | |
.LFB540: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
push rbx | |
sub rsp, 56 | |
.cfi_offset 3, -24 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov QWORD PTR -56[rbp], rdx | |
mov DWORD PTR -20[rbp], 0 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 40[rax] | |
cmp eax, DWORD PTR -44[rbp] | |
jg .L3318 | |
mov eax, DWORD PTR -44[rbp] | |
add eax, 1 | |
sal eax, 3 | |
mov DWORD PTR -24[rbp], eax | |
mov eax, DWORD PTR -24[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3_realloc64 | |
mov QWORD PTR -32[rbp], rax | |
cmp QWORD PTR -32[rbp], 0 | |
jne .L3319 | |
mov rax, QWORD PTR -56[rbp] | |
mov QWORD PTR [rax], 0 | |
mov eax, 7 | |
jmp .L3320 | |
.L3319: | |
mov eax, DWORD PTR -44[rbp] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 40[rax] | |
sub edx, eax | |
mov eax, edx | |
cdqe | |
lea rdx, 0[0+rax*8] | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 40[rax] | |
cdqe | |
lea rcx, 0[0+rax*8] | |
mov rax, QWORD PTR -32[rbp] | |
add rax, rcx | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
mov rax, QWORD PTR -40[rbp] | |
mov rdx, QWORD PTR -32[rbp] | |
mov QWORD PTR 48[rax], rdx | |
mov eax, DWORD PTR -44[rbp] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 40[rax], edx | |
.L3318: | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov edx, DWORD PTR -44[rbp] | |
movsx rdx, edx | |
sal rdx, 3 | |
add rax, rdx | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
jne .L3321 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 63[rax] | |
cmp al, 2 | |
jne .L3322 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov edx, DWORD PTR -44[rbp] | |
movsx rdx, edx | |
sal rdx, 3 | |
lea rbx, [rax+rdx] | |
mov edi, 32768 | |
call sqlite3MallocZero | |
mov QWORD PTR [rbx], rax | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov edx, DWORD PTR -44[rbp] | |
movsx rdx, edx | |
sal rdx, 3 | |
add rax, rdx | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
jne .L3321 | |
mov DWORD PTR -20[rbp], 7 | |
jmp .L3321 | |
.L3322: | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov edx, DWORD PTR -44[rbp] | |
movsx rdx, edx | |
sal rdx, 3 | |
lea rcx, [rax+rdx] | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 64[rax] | |
movzx edx, al | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov esi, DWORD PTR -44[rbp] | |
mov r8, rcx | |
mov ecx, edx | |
mov edx, 32768 | |
mov rdi, rax | |
call sqlite3OsShmMap | |
mov DWORD PTR -20[rbp], eax | |
mov eax, DWORD PTR -20[rbp] | |
movzx eax, al | |
cmp eax, 8 | |
jne .L3321 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 66[rax] | |
or eax, 2 | |
mov edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov BYTE PTR 66[rax], dl | |
cmp DWORD PTR -20[rbp], 8 | |
jne .L3321 | |
mov DWORD PTR -20[rbp], 0 | |
.L3321: | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov edx, DWORD PTR -44[rbp] | |
movsx rdx, edx | |
sal rdx, 3 | |
add rax, rdx | |
mov rdx, QWORD PTR [rax] | |
mov rax, QWORD PTR -56[rbp] | |
mov QWORD PTR [rax], rdx | |
mov eax, DWORD PTR -20[rbp] | |
.L3320: | |
add rsp, 56 | |
pop rbx | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE540: | |
.size walIndexPage, .-walIndexPage | |
.type walCkptInfo, @function | |
walCkptInfo: | |
.LFB541: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov rax, QWORD PTR [rax] | |
add rax, 96 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE541: | |
.size walCkptInfo, .-walCkptInfo | |
.type walIndexHdr, @function | |
walIndexHdr: | |
.LFB542: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov rax, QWORD PTR [rax] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE542: | |
.size walIndexHdr, .-walIndexHdr | |
.type walChecksumBytes, @function | |
walChecksumBytes: | |
.LFB543: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov DWORD PTR -36[rbp], edi | |
mov QWORD PTR -48[rbp], rsi | |
mov DWORD PTR -40[rbp], edx | |
mov QWORD PTR -56[rbp], rcx | |
mov QWORD PTR -64[rbp], r8 | |
mov rax, QWORD PTR -48[rbp] | |
mov QWORD PTR -16[rbp], rax | |
mov eax, DWORD PTR -40[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -48[rbp] | |
add rax, rdx | |
mov QWORD PTR -24[rbp], rax | |
cmp QWORD PTR -56[rbp], 0 | |
je .L3329 | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR [rax] | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 4[rax] | |
mov DWORD PTR -8[rbp], eax | |
jmp .L3330 | |
.L3329: | |
mov DWORD PTR -8[rbp], 0 | |
mov eax, DWORD PTR -8[rbp] | |
mov DWORD PTR -4[rbp], eax | |
.L3330: | |
cmp DWORD PTR -36[rbp], 0 | |
je .L3331 | |
.L3332: | |
mov rax, QWORD PTR -16[rbp] | |
lea rdx, 4[rax] | |
mov QWORD PTR -16[rbp], rdx | |
mov edx, DWORD PTR [rax] | |
mov eax, DWORD PTR -8[rbp] | |
add eax, edx | |
add DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -16[rbp] | |
lea rdx, 4[rax] | |
mov QWORD PTR -16[rbp], rdx | |
mov edx, DWORD PTR [rax] | |
mov eax, DWORD PTR -4[rbp] | |
add eax, edx | |
add DWORD PTR -8[rbp], eax | |
mov rax, QWORD PTR -16[rbp] | |
cmp rax, QWORD PTR -24[rbp] | |
jb .L3332 | |
jmp .L3333 | |
.L3331: | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR [rax] | |
sal eax, 24 | |
mov edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR [rax] | |
sal eax, 8 | |
and eax, 16711680 | |
add edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR [rax] | |
shr eax, 8 | |
and eax, 65280 | |
add edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR [rax] | |
shr eax, 24 | |
add edx, eax | |
mov eax, DWORD PTR -8[rbp] | |
add eax, edx | |
add DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -16[rbp] | |
add rax, 4 | |
mov eax, DWORD PTR [rax] | |
sal eax, 24 | |
mov edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
add rax, 4 | |
mov eax, DWORD PTR [rax] | |
sal eax, 8 | |
and eax, 16711680 | |
add edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
add rax, 4 | |
mov eax, DWORD PTR [rax] | |
shr eax, 8 | |
and eax, 65280 | |
add edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
add rax, 4 | |
mov eax, DWORD PTR [rax] | |
shr eax, 24 | |
add edx, eax | |
mov eax, DWORD PTR -4[rbp] | |
add eax, edx | |
add DWORD PTR -8[rbp], eax | |
add QWORD PTR -16[rbp], 8 | |
mov rax, QWORD PTR -16[rbp] | |
cmp rax, QWORD PTR -24[rbp] | |
jb .L3331 | |
.L3333: | |
mov rax, QWORD PTR -64[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
mov DWORD PTR [rax], edx | |
mov rax, QWORD PTR -64[rbp] | |
lea rdx, 4[rax] | |
mov eax, DWORD PTR -8[rbp] | |
mov DWORD PTR [rdx], eax | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE543: | |
.size walChecksumBytes, .-walChecksumBytes | |
.type walShmBarrier, @function | |
walShmBarrier: | |
.LFB544: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 63[rax] | |
cmp al, 2 | |
je .L3336 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rdi, rax | |
call sqlite3OsShmBarrier | |
.L3336: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE544: | |
.size walShmBarrier, .-walShmBarrier | |
.type walIndexWriteHdr, @function | |
walIndexWriteHdr: | |
.LFB545: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call walIndexHdr | |
mov QWORD PTR -8[rbp], rax | |
mov DWORD PTR -12[rbp], 40 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 84[rax], 1 | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 72[rax], 3007000 | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, 112[rax] | |
mov rax, QWORD PTR -24[rbp] | |
lea rsi, 72[rax] | |
mov eax, DWORD PTR -12[rbp] | |
mov r8, rdx | |
mov ecx, 0 | |
mov edx, eax | |
mov edi, 1 | |
call walChecksumBytes | |
mov rax, QWORD PTR -24[rbp] | |
lea rcx, 72[rax] | |
mov rax, QWORD PTR -8[rbp] | |
add rax, 48 | |
mov edx, 48 | |
mov rsi, rcx | |
mov rdi, rax | |
call memcpy@PLT | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call walShmBarrier | |
mov rax, QWORD PTR -24[rbp] | |
lea rcx, 72[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, 48 | |
mov rsi, rcx | |
mov rdi, rax | |
call memcpy@PLT | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE545: | |
.size walIndexWriteHdr, .-walIndexWriteHdr | |
.type walEncodeFrame, @function | |
walEncodeFrame: | |
.LFB546: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov DWORD PTR -32[rbp], edx | |
mov QWORD PTR -40[rbp], rcx | |
mov QWORD PTR -48[rbp], r8 | |
mov rax, QWORD PTR -24[rbp] | |
add rax, 96 | |
mov QWORD PTR -8[rbp], rax | |
mov edx, DWORD PTR -28[rbp] | |
mov rax, QWORD PTR -48[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3Put4byte | |
mov rax, QWORD PTR -48[rbp] | |
lea rdx, 4[rax] | |
mov eax, DWORD PTR -32[rbp] | |
mov esi, eax | |
mov rdi, rdx | |
call sqlite3Put4byte | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 124[rax] | |
test eax, eax | |
jne .L3339 | |
mov rax, QWORD PTR -24[rbp] | |
add rax, 104 | |
mov rdx, QWORD PTR -48[rbp] | |
add rdx, 8 | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR [rdx], rax | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 85[rax] | |
test al, al | |
sete al | |
movzx eax, al | |
mov DWORD PTR -12[rbp], eax | |
mov rcx, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rsi, QWORD PTR -48[rbp] | |
mov eax, DWORD PTR -12[rbp] | |
mov r8, rcx | |
mov rcx, rdx | |
mov edx, 8 | |
mov edi, eax | |
call walChecksumBytes | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 56[rax] | |
mov edi, eax | |
mov rcx, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rsi, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR -12[rbp] | |
mov r8, rcx | |
mov rcx, rdx | |
mov edx, edi | |
mov edi, eax | |
call walChecksumBytes | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR [rax] | |
mov rdx, QWORD PTR -48[rbp] | |
add rdx, 16 | |
mov esi, eax | |
mov rdi, rdx | |
call sqlite3Put4byte | |
mov rax, QWORD PTR -8[rbp] | |
add rax, 4 | |
mov eax, DWORD PTR [rax] | |
mov rdx, QWORD PTR -48[rbp] | |
add rdx, 20 | |
mov esi, eax | |
mov rdi, rdx | |
call sqlite3Put4byte | |
jmp .L3341 | |
.L3339: | |
mov rax, QWORD PTR -48[rbp] | |
add rax, 8 | |
mov edx, 16 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
.L3341: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE546: | |
.size walEncodeFrame, .-walEncodeFrame | |
.type walDecodeFrame, @function | |
walDecodeFrame: | |
.LFB547: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
push rbx | |
sub rsp, 72 | |
.cfi_offset 3, -24 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -48[rbp], rsi | |
mov QWORD PTR -56[rbp], rdx | |
mov QWORD PTR -64[rbp], rcx | |
mov QWORD PTR -72[rbp], r8 | |
mov rax, QWORD PTR -40[rbp] | |
add rax, 96 | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -72[rbp] | |
lea rcx, 8[rax] | |
mov rax, QWORD PTR -40[rbp] | |
add rax, 104 | |
mov edx, 8 | |
mov rsi, rcx | |
mov rdi, rax | |
call memcmp@PLT | |
test eax, eax | |
je .L3343 | |
mov eax, 0 | |
jmp .L3344 | |
.L3343: | |
mov rax, QWORD PTR -72[rbp] | |
mov rdi, rax | |
call sqlite3Get4byte | |
mov DWORD PTR -28[rbp], eax | |
cmp DWORD PTR -28[rbp], 0 | |
jne .L3345 | |
mov eax, 0 | |
jmp .L3344 | |
.L3345: | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 85[rax] | |
test al, al | |
sete al | |
movzx eax, al | |
mov DWORD PTR -32[rbp], eax | |
mov rcx, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov rsi, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR -32[rbp] | |
mov r8, rcx | |
mov rcx, rdx | |
mov edx, 8 | |
mov edi, eax | |
call walChecksumBytes | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 56[rax] | |
mov edi, eax | |
mov rcx, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -24[rbp] | |
mov rsi, QWORD PTR -64[rbp] | |
mov eax, DWORD PTR -32[rbp] | |
mov r8, rcx | |
mov rcx, rdx | |
mov edx, edi | |
mov edi, eax | |
call walChecksumBytes | |
mov rax, QWORD PTR -24[rbp] | |
mov ebx, DWORD PTR [rax] | |
mov rax, QWORD PTR -72[rbp] | |
add rax, 16 | |
mov rdi, rax | |
call sqlite3Get4byte | |
cmp ebx, eax | |
jne .L3346 | |
mov rax, QWORD PTR -24[rbp] | |
add rax, 4 | |
mov ebx, DWORD PTR [rax] | |
mov rax, QWORD PTR -72[rbp] | |
add rax, 20 | |
mov rdi, rax | |
call sqlite3Get4byte | |
cmp ebx, eax | |
je .L3347 | |
.L3346: | |
mov eax, 0 | |
jmp .L3344 | |
.L3347: | |
mov rax, QWORD PTR -48[rbp] | |
mov edx, DWORD PTR -28[rbp] | |
mov DWORD PTR [rax], edx | |
mov rax, QWORD PTR -72[rbp] | |
add rax, 4 | |
mov rdi, rax | |
call sqlite3Get4byte | |
mov edx, eax | |
mov rax, QWORD PTR -56[rbp] | |
mov DWORD PTR [rax], edx | |
mov eax, 1 | |
.L3344: | |
add rsp, 72 | |
pop rbx | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE547: | |
.size walDecodeFrame, .-walDecodeFrame | |
.type walLockShared, @function | |
walLockShared: | |
.LFB548: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 63[rax] | |
test al, al | |
je .L3349 | |
mov eax, 0 | |
jmp .L3350 | |
.L3349: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov esi, DWORD PTR -28[rbp] | |
mov ecx, 6 | |
mov edx, 1 | |
mov rdi, rax | |
call sqlite3OsShmLock | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
.L3350: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE548: | |
.size walLockShared, .-walLockShared | |
.type walUnlockShared, @function | |
walUnlockShared: | |
.LFB549: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 63[rax] | |
test al, al | |
jne .L3354 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov esi, DWORD PTR -12[rbp] | |
mov ecx, 5 | |
mov edx, 1 | |
mov rdi, rax | |
call sqlite3OsShmLock | |
jmp .L3351 | |
.L3354: | |
nop | |
.L3351: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE549: | |
.size walUnlockShared, .-walUnlockShared | |
.type walLockExclusive, @function | |
walLockExclusive: | |
.LFB550: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov DWORD PTR -32[rbp], edx | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 63[rax] | |
test al, al | |
je .L3356 | |
mov eax, 0 | |
jmp .L3357 | |
.L3356: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov edx, DWORD PTR -32[rbp] | |
mov esi, DWORD PTR -28[rbp] | |
mov ecx, 10 | |
mov rdi, rax | |
call sqlite3OsShmLock | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
.L3357: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE550: | |
.size walLockExclusive, .-walLockExclusive | |
.type walUnlockExclusive, @function | |
walUnlockExclusive: | |
.LFB551: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov DWORD PTR -16[rbp], edx | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 63[rax] | |
test al, al | |
jne .L3361 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov edx, DWORD PTR -16[rbp] | |
mov esi, DWORD PTR -12[rbp] | |
mov ecx, 9 | |
mov rdi, rax | |
call sqlite3OsShmLock | |
jmp .L3358 | |
.L3361: | |
nop | |
.L3358: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE551: | |
.size walUnlockExclusive, .-walUnlockExclusive | |
.type walHash, @function | |
walHash: | |
.LFB552: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov DWORD PTR -4[rbp], edi | |
mov eax, DWORD PTR -4[rbp] | |
imul eax, eax, 383 | |
and eax, 8191 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE552: | |
.size walHash, .-walHash | |
.type walNextHash, @function | |
walNextHash: | |
.LFB553: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov DWORD PTR -4[rbp], edi | |
mov eax, DWORD PTR -4[rbp] | |
add eax, 1 | |
and eax, 8191 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE553: | |
.size walNextHash, .-walNextHash | |
.type walHashGet, @function | |
walHashGet: | |
.LFB554: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 80 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov QWORD PTR -56[rbp], rdx | |
mov QWORD PTR -64[rbp], rcx | |
mov QWORD PTR -72[rbp], r8 | |
lea rdx, -24[rbp] | |
mov ecx, DWORD PTR -44[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call walIndexPage | |
mov DWORD PTR -8[rbp], eax | |
cmp DWORD PTR -8[rbp], 0 | |
jne .L3367 | |
mov rax, QWORD PTR -24[rbp] | |
add rax, 16384 | |
mov QWORD PTR -16[rbp], rax | |
cmp DWORD PTR -44[rbp], 0 | |
jne .L3368 | |
mov rax, QWORD PTR -24[rbp] | |
add rax, 136 | |
mov QWORD PTR -24[rbp], rax | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L3369 | |
.L3368: | |
mov eax, DWORD PTR -44[rbp] | |
sub eax, 1 | |
sal eax, 12 | |
add eax, 4062 | |
mov DWORD PTR -4[rbp], eax | |
.L3369: | |
mov rax, QWORD PTR -24[rbp] | |
lea rdx, -4[rax] | |
mov rax, QWORD PTR -64[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -56[rbp] | |
mov rdx, QWORD PTR -16[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -72[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
mov DWORD PTR [rax], edx | |
.L3367: | |
mov eax, DWORD PTR -8[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE554: | |
.size walHashGet, .-walHashGet | |
.type walFramePage, @function | |
walFramePage: | |
.LFB555: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov DWORD PTR -20[rbp], edi | |
mov eax, DWORD PTR -20[rbp] | |
add eax, 4096 | |
mov eax, eax | |
sub rax, 4063 | |
shr rax, 12 | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE555: | |
.size walFramePage, .-walFramePage | |
.type walFramePgno, @function | |
walFramePgno: | |
.LFB556: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov eax, DWORD PTR -28[rbp] | |
mov edi, eax | |
call walFramePage | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3374 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov rax, QWORD PTR [rax] | |
mov edx, DWORD PTR -28[rbp] | |
add rdx, 34 | |
sal rdx, 2 | |
sub rdx, 4 | |
add rax, rdx | |
mov eax, DWORD PTR [rax] | |
jmp .L3375 | |
.L3374: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov edx, DWORD PTR -4[rbp] | |
movsx rdx, edx | |
sal rdx, 3 | |
add rax, rdx | |
mov rax, QWORD PTR [rax] | |
mov edx, DWORD PTR -28[rbp] | |
sub edx, 1 | |
mov edx, edx | |
sub rdx, 4062 | |
and edx, 4095 | |
sal rdx, 2 | |
add rax, rdx | |
mov eax, DWORD PTR [rax] | |
.L3375: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE556: | |
.size walFramePgno, .-walFramePgno | |
.type walCleanupHash, @function | |
walCleanupHash: | |
.LFB557: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -56[rbp], rdi | |
mov QWORD PTR -24[rbp], 0 | |
mov QWORD PTR -32[rbp], 0 | |
mov DWORD PTR -36[rbp], 0 | |
mov DWORD PTR -8[rbp], 0 | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 88[rax] | |
test eax, eax | |
je .L3382 | |
mov rax, QWORD PTR -56[rbp] | |
mov eax, DWORD PTR 88[rax] | |
mov edi, eax | |
call walFramePage | |
mov edi, eax | |
lea rsi, -36[rbp] | |
lea rcx, -32[rbp] | |
lea rdx, -24[rbp] | |
mov rax, QWORD PTR -56[rbp] | |
mov r8, rsi | |
mov esi, edi | |
mov rdi, rax | |
call walHashGet | |
mov rax, QWORD PTR -56[rbp] | |
mov edx, DWORD PTR 88[rax] | |
mov eax, DWORD PTR -36[rbp] | |
sub edx, eax | |
mov eax, edx | |
mov DWORD PTR -8[rbp], eax | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L3379 | |
.L3381: | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
movsx rdx, edx | |
add rdx, rdx | |
add rax, rdx | |
movzx eax, WORD PTR [rax] | |
movzx eax, ax | |
cmp eax, DWORD PTR -8[rbp] | |
jle .L3380 | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
movsx rdx, edx | |
add rdx, rdx | |
add rax, rdx | |
mov WORD PTR [rax], 0 | |
.L3380: | |
add DWORD PTR -4[rbp], 1 | |
.L3379: | |
cmp DWORD PTR -4[rbp], 8191 | |
jle .L3381 | |
mov rax, QWORD PTR -24[rbp] | |
mov rcx, rax | |
mov rax, QWORD PTR -32[rbp] | |
mov edx, DWORD PTR -8[rbp] | |
movsx rdx, edx | |
add rdx, 1 | |
sal rdx, 2 | |
add rax, rdx | |
sub rcx, rax | |
mov rax, rcx | |
mov DWORD PTR -12[rbp], eax | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
mov rdx, QWORD PTR -32[rbp] | |
mov ecx, DWORD PTR -8[rbp] | |
movsx rcx, ecx | |
add rcx, 1 | |
sal rcx, 2 | |
add rcx, rdx | |
mov rdx, rax | |
mov esi, 0 | |
mov rdi, rcx | |
call memset@PLT | |
jmp .L3376 | |
.L3382: | |
nop | |
.L3376: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE557: | |
.size walCleanupHash, .-walCleanupHash | |
.type walIndexAppend, @function | |
walIndexAppend: | |
.LFB558: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -56[rbp], rdi | |
mov DWORD PTR -60[rbp], esi | |
mov DWORD PTR -64[rbp], edx | |
mov DWORD PTR -24[rbp], 0 | |
mov QWORD PTR -32[rbp], 0 | |
mov QWORD PTR -40[rbp], 0 | |
mov eax, DWORD PTR -60[rbp] | |
mov edi, eax | |
call walFramePage | |
mov edi, eax | |
lea rsi, -24[rbp] | |
lea rcx, -32[rbp] | |
lea rdx, -40[rbp] | |
mov rax, QWORD PTR -56[rbp] | |
mov r8, rsi | |
mov esi, edi | |
mov rdi, rax | |
call walHashGet | |
mov DWORD PTR -12[rbp], eax | |
cmp DWORD PTR -12[rbp], 0 | |
jne .L3384 | |
mov eax, DWORD PTR -24[rbp] | |
mov edx, DWORD PTR -60[rbp] | |
sub edx, eax | |
mov eax, edx | |
mov DWORD PTR -16[rbp], eax | |
cmp DWORD PTR -16[rbp], 1 | |
jne .L3385 | |
mov rax, QWORD PTR -40[rbp] | |
add rax, 16384 | |
mov rdx, rax | |
mov rax, QWORD PTR -32[rbp] | |
add rax, 4 | |
sub rdx, rax | |
mov rax, rdx | |
mov DWORD PTR -20[rbp], eax | |
mov eax, DWORD PTR -20[rbp] | |
cdqe | |
mov rdx, QWORD PTR -32[rbp] | |
lea rcx, 4[rdx] | |
mov rdx, rax | |
mov esi, 0 | |
mov rdi, rcx | |
call memset@PLT | |
.L3385: | |
mov rax, QWORD PTR -32[rbp] | |
mov edx, DWORD PTR -16[rbp] | |
movsx rdx, edx | |
sal rdx, 2 | |
add rax, rdx | |
mov eax, DWORD PTR [rax] | |
test eax, eax | |
je .L3386 | |
mov rax, QWORD PTR -56[rbp] | |
mov rdi, rax | |
call walCleanupHash | |
.L3386: | |
mov eax, DWORD PTR -16[rbp] | |
mov DWORD PTR -8[rbp], eax | |
mov eax, DWORD PTR -64[rbp] | |
mov edi, eax | |
call walHash | |
mov DWORD PTR -4[rbp], eax | |
jmp .L3387 | |
.L3390: | |
mov eax, DWORD PTR -8[rbp] | |
lea edx, -1[rax] | |
mov DWORD PTR -8[rbp], edx | |
test eax, eax | |
jne .L3388 | |
mov edi, 56660 | |
call sqlite3CorruptError | |
jmp .L3391 | |
.L3388: | |
mov eax, DWORD PTR -4[rbp] | |
mov edi, eax | |
call walNextHash | |
mov DWORD PTR -4[rbp], eax | |
.L3387: | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
movsx rdx, edx | |
add rdx, rdx | |
add rax, rdx | |
movzx eax, WORD PTR [rax] | |
test ax, ax | |
jne .L3390 | |
mov rax, QWORD PTR -32[rbp] | |
mov edx, DWORD PTR -16[rbp] | |
movsx rdx, edx | |
sal rdx, 2 | |
add rdx, rax | |
mov eax, DWORD PTR -64[rbp] | |
mov DWORD PTR [rdx], eax | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
movsx rdx, edx | |
add rdx, rdx | |
add rax, rdx | |
mov edx, DWORD PTR -16[rbp] | |
mov WORD PTR [rax], dx | |
.L3384: | |
mov eax, DWORD PTR -12[rbp] | |
.L3391: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE558: | |
.size walIndexAppend, .-walIndexAppend | |
.section .rodata | |
.align 8 | |
.LC131: | |
.string "recovered %d frames from WAL file %s" | |
.text | |
.type walIndexRecover, @function | |
walIndexRecover: | |
.LFB559: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
push rbx | |
sub rsp, 152 | |
.cfi_offset 3, -24 | |
mov QWORD PTR -152[rbp], rdi | |
mov DWORD PTR -104[rbp], 0 | |
mov DWORD PTR -100[rbp], 0 | |
mov rax, QWORD PTR -152[rbp] | |
movzx eax, BYTE PTR 65[rax] | |
movzx eax, al | |
add eax, 1 | |
mov DWORD PTR -40[rbp], eax | |
mov eax, 3 | |
sub eax, DWORD PTR -40[rbp] | |
mov edx, eax | |
mov ecx, DWORD PTR -40[rbp] | |
mov rax, QWORD PTR -152[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call walLockExclusive | |
mov DWORD PTR -20[rbp], eax | |
cmp DWORD PTR -20[rbp], 0 | |
jne .L3393 | |
mov rax, QWORD PTR -152[rbp] | |
mov edx, 4 | |
mov esi, 4 | |
mov rdi, rax | |
call walLockExclusive | |
mov DWORD PTR -20[rbp], eax | |
cmp DWORD PTR -20[rbp], 0 | |
je .L3393 | |
mov eax, 3 | |
sub eax, DWORD PTR -40[rbp] | |
mov edx, eax | |
mov ecx, DWORD PTR -40[rbp] | |
mov rax, QWORD PTR -152[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call walUnlockExclusive | |
.L3393: | |
cmp DWORD PTR -20[rbp], 0 | |
je .L3394 | |
mov eax, DWORD PTR -20[rbp] | |
jmp .L3415 | |
.L3394: | |
mov rax, QWORD PTR -152[rbp] | |
add rax, 72 | |
mov edx, 48 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
mov rax, QWORD PTR -152[rbp] | |
mov rax, QWORD PTR 16[rax] | |
lea rdx, -96[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3OsFileSize | |
mov DWORD PTR -20[rbp], eax | |
cmp DWORD PTR -20[rbp], 0 | |
jne .L3416 | |
mov rax, QWORD PTR -96[rbp] | |
cmp rax, 32 | |
jle .L3398 | |
mov QWORD PTR -48[rbp], 0 | |
mov rax, QWORD PTR -152[rbp] | |
mov rax, QWORD PTR 16[rax] | |
lea rsi, -144[rbp] | |
mov ecx, 0 | |
mov edx, 32 | |
mov rdi, rax | |
call sqlite3OsRead | |
mov DWORD PTR -20[rbp], eax | |
cmp DWORD PTR -20[rbp], 0 | |
jne .L3417 | |
lea rax, -144[rbp] | |
mov rdi, rax | |
call sqlite3Get4byte | |
mov DWORD PTR -52[rbp], eax | |
lea rax, -144[rbp] | |
add rax, 8 | |
mov rdi, rax | |
call sqlite3Get4byte | |
mov DWORD PTR -56[rbp], eax | |
mov eax, DWORD PTR -52[rbp] | |
and eax, -2 | |
cmp eax, 931071618 | |
jne .L3398 | |
mov eax, DWORD PTR -56[rbp] | |
sub eax, 1 | |
and eax, DWORD PTR -56[rbp] | |
test eax, eax | |
jne .L3398 | |
cmp DWORD PTR -56[rbp], 65536 | |
jg .L3398 | |
cmp DWORD PTR -56[rbp], 511 | |
jle .L3398 | |
mov eax, DWORD PTR -52[rbp] | |
and eax, 1 | |
mov edx, eax | |
mov rax, QWORD PTR -152[rbp] | |
mov BYTE PTR 85[rax], dl | |
mov edx, DWORD PTR -56[rbp] | |
mov rax, QWORD PTR -152[rbp] | |
mov DWORD PTR 56[rax], edx | |
lea rax, -144[rbp] | |
add rax, 12 | |
mov rdi, rax | |
call sqlite3Get4byte | |
mov edx, eax | |
mov rax, QWORD PTR -152[rbp] | |
mov DWORD PTR 136[rax], edx | |
mov rax, QWORD PTR -152[rbp] | |
lea rdx, 104[rax] | |
mov rax, QWORD PTR -128[rbp] | |
mov QWORD PTR [rdx], rax | |
mov rax, QWORD PTR -152[rbp] | |
lea rdx, 96[rax] | |
mov rax, QWORD PTR -152[rbp] | |
movzx eax, BYTE PTR 85[rax] | |
test al, al | |
sete al | |
movzx eax, al | |
lea rsi, -144[rbp] | |
mov r8, rdx | |
mov ecx, 0 | |
mov edx, 24 | |
mov edi, eax | |
call walChecksumBytes | |
mov rax, QWORD PTR -152[rbp] | |
mov ebx, DWORD PTR 96[rax] | |
lea rax, -144[rbp] | |
add rax, 24 | |
mov rdi, rax | |
call sqlite3Get4byte | |
cmp ebx, eax | |
jne .L3398 | |
mov rax, QWORD PTR -152[rbp] | |
mov ebx, DWORD PTR 100[rax] | |
lea rax, -144[rbp] | |
add rax, 28 | |
mov rdi, rax | |
call sqlite3Get4byte | |
cmp ebx, eax | |
jne .L3398 | |
lea rax, -144[rbp] | |
add rax, 4 | |
mov rdi, rax | |
call sqlite3Get4byte | |
mov DWORD PTR -60[rbp], eax | |
cmp DWORD PTR -60[rbp], 3007000 | |
je .L3402 | |
mov edi, 56796 | |
call sqlite3CantopenError | |
mov DWORD PTR -20[rbp], eax | |
jmp .L3398 | |
.L3402: | |
mov eax, DWORD PTR -56[rbp] | |
add eax, 24 | |
mov DWORD PTR -64[rbp], eax | |
mov eax, DWORD PTR -64[rbp] | |
cdqe | |
mov rdi, rax | |
call sqlite3_malloc64 | |
mov QWORD PTR -48[rbp], rax | |
cmp QWORD PTR -48[rbp], 0 | |
jne .L3403 | |
mov DWORD PTR -20[rbp], 7 | |
nop | |
jmp .L3397 | |
.L3403: | |
mov rax, QWORD PTR -48[rbp] | |
add rax, 24 | |
mov QWORD PTR -72[rbp], rax | |
mov DWORD PTR -24[rbp], 0 | |
mov QWORD PTR -32[rbp], 32 | |
jmp .L3404 | |
.L3411: | |
add DWORD PTR -24[rbp], 1 | |
mov rax, QWORD PTR -152[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov rcx, QWORD PTR -32[rbp] | |
mov edx, DWORD PTR -64[rbp] | |
mov rsi, QWORD PTR -48[rbp] | |
mov rdi, rax | |
call sqlite3OsRead | |
mov DWORD PTR -20[rbp], eax | |
cmp DWORD PTR -20[rbp], 0 | |
jne .L3418 | |
mov rdi, QWORD PTR -48[rbp] | |
mov rcx, QWORD PTR -72[rbp] | |
lea rdx, -112[rbp] | |
lea rsi, -108[rbp] | |
mov rax, QWORD PTR -152[rbp] | |
mov r8, rdi | |
mov rdi, rax | |
call walDecodeFrame | |
mov DWORD PTR -76[rbp], eax | |
cmp DWORD PTR -76[rbp], 0 | |
je .L3419 | |
mov edx, DWORD PTR -108[rbp] | |
mov ecx, DWORD PTR -24[rbp] | |
mov rax, QWORD PTR -152[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call walIndexAppend | |
mov DWORD PTR -20[rbp], eax | |
cmp DWORD PTR -20[rbp], 0 | |
jne .L3420 | |
mov eax, DWORD PTR -112[rbp] | |
test eax, eax | |
je .L3409 | |
mov edx, DWORD PTR -24[rbp] | |
mov rax, QWORD PTR -152[rbp] | |
mov DWORD PTR 88[rax], edx | |
mov edx, DWORD PTR -112[rbp] | |
mov rax, QWORD PTR -152[rbp] | |
mov DWORD PTR 92[rax], edx | |
mov eax, DWORD PTR -56[rbp] | |
mov al, 0 | |
mov edx, eax | |
mov eax, DWORD PTR -56[rbp] | |
sar eax, 16 | |
or eax, edx | |
mov edx, eax | |
mov rax, QWORD PTR -152[rbp] | |
mov WORD PTR 86[rax], dx | |
mov rax, QWORD PTR -152[rbp] | |
mov eax, DWORD PTR 96[rax] | |
mov DWORD PTR -104[rbp], eax | |
mov rax, QWORD PTR -152[rbp] | |
mov eax, DWORD PTR 100[rax] | |
mov DWORD PTR -100[rbp], eax | |
.L3409: | |
mov eax, DWORD PTR -64[rbp] | |
cdqe | |
add QWORD PTR -32[rbp], rax | |
.L3404: | |
mov eax, DWORD PTR -64[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -32[rbp] | |
add rdx, rax | |
mov rax, QWORD PTR -96[rbp] | |
cmp rdx, rax | |
jle .L3411 | |
jmp .L3410 | |
.L3418: | |
nop | |
jmp .L3410 | |
.L3419: | |
nop | |
jmp .L3410 | |
.L3420: | |
nop | |
.L3410: | |
mov rax, QWORD PTR -48[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
.L3398: | |
cmp DWORD PTR -20[rbp], 0 | |
jne .L3397 | |
mov edx, DWORD PTR -104[rbp] | |
mov rax, QWORD PTR -152[rbp] | |
mov DWORD PTR 96[rax], edx | |
mov edx, DWORD PTR -100[rbp] | |
mov rax, QWORD PTR -152[rbp] | |
mov DWORD PTR 100[rax], edx | |
mov rax, QWORD PTR -152[rbp] | |
mov rdi, rax | |
call walIndexWriteHdr | |
mov rax, QWORD PTR -152[rbp] | |
mov rdi, rax | |
call walCkptInfo | |
mov QWORD PTR -88[rbp], rax | |
mov rax, QWORD PTR -88[rbp] | |
mov DWORD PTR [rax], 0 | |
mov rax, QWORD PTR -152[rbp] | |
mov edx, DWORD PTR 88[rax] | |
mov rax, QWORD PTR -88[rbp] | |
mov DWORD PTR 32[rax], edx | |
mov rax, QWORD PTR -88[rbp] | |
mov DWORD PTR 4[rax], 0 | |
mov DWORD PTR -36[rbp], 1 | |
jmp .L3412 | |
.L3413: | |
mov rax, QWORD PTR -88[rbp] | |
mov edx, DWORD PTR -36[rbp] | |
movsx rdx, edx | |
mov DWORD PTR 4[rax+rdx*4], -1 | |
add DWORD PTR -36[rbp], 1 | |
.L3412: | |
cmp DWORD PTR -36[rbp], 4 | |
jle .L3413 | |
mov rax, QWORD PTR -152[rbp] | |
mov eax, DWORD PTR 88[rax] | |
test eax, eax | |
je .L3414 | |
mov rax, QWORD PTR -152[rbp] | |
mov edx, DWORD PTR 88[rax] | |
mov rax, QWORD PTR -88[rbp] | |
mov DWORD PTR 8[rax], edx | |
.L3414: | |
mov rax, QWORD PTR -152[rbp] | |
mov eax, DWORD PTR 92[rax] | |
test eax, eax | |
je .L3397 | |
mov rax, QWORD PTR -152[rbp] | |
mov rdx, QWORD PTR 128[rax] | |
mov rax, QWORD PTR -152[rbp] | |
mov eax, DWORD PTR 88[rax] | |
mov rcx, rdx | |
mov edx, eax | |
lea rsi, .LC131[rip] | |
mov edi, 283 | |
mov eax, 0 | |
call sqlite3_log | |
jmp .L3397 | |
.L3416: | |
nop | |
jmp .L3397 | |
.L3417: | |
nop | |
.L3397: | |
mov eax, 3 | |
sub eax, DWORD PTR -40[rbp] | |
mov edx, eax | |
mov ecx, DWORD PTR -40[rbp] | |
mov rax, QWORD PTR -152[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call walUnlockExclusive | |
mov rax, QWORD PTR -152[rbp] | |
mov edx, 4 | |
mov esi, 4 | |
mov rdi, rax | |
call walUnlockExclusive | |
mov eax, DWORD PTR -20[rbp] | |
.L3415: | |
add rsp, 152 | |
pop rbx | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE559: | |
.size walIndexRecover, .-walIndexRecover | |
.type walIndexClose, @function | |
walIndexClose: | |
.LFB560: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 63[rax] | |
cmp al, 2 | |
je .L3422 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 70[rax] | |
test al, al | |
je .L3423 | |
.L3422: | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L3424 | |
.L3425: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov edx, DWORD PTR -4[rbp] | |
movsx rdx, edx | |
sal rdx, 3 | |
add rax, rdx | |
mov rax, QWORD PTR [rax] | |
mov rdi, rax | |
call sqlite3_free | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov edx, DWORD PTR -4[rbp] | |
movsx rdx, edx | |
sal rdx, 3 | |
add rax, rdx | |
mov QWORD PTR [rax], 0 | |
add DWORD PTR -4[rbp], 1 | |
.L3424: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 40[rax] | |
cmp eax, DWORD PTR -4[rbp] | |
jg .L3425 | |
.L3423: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 63[rax] | |
cmp al, 2 | |
je .L3427 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov edx, DWORD PTR -28[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3OsShmUnmap | |
.L3427: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE560: | |
.size walIndexClose, .-walIndexClose | |
.type sqlite3WalOpen, @function | |
sqlite3WalOpen: | |
.LFB561: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 80 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -48[rbp], rsi | |
mov QWORD PTR -56[rbp], rdx | |
mov DWORD PTR -60[rbp], ecx | |
mov QWORD PTR -72[rbp], r8 | |
mov QWORD PTR -80[rbp], r9 | |
mov rax, QWORD PTR -80[rbp] | |
mov QWORD PTR [rax], 0 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 4[rax] | |
cdqe | |
add rax, 144 | |
mov rdi, rax | |
call sqlite3MallocZero | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L3429 | |
mov eax, 7 | |
jmp .L3438 | |
.L3429: | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -40[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
lea rdx, 144[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 16[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -48[rbp] | |
mov QWORD PTR 8[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov WORD PTR 60[rax], -1 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -72[rbp] | |
mov QWORD PTR 32[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -56[rbp] | |
mov QWORD PTR 128[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 68[rax], 1 | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 69[rax], 1 | |
cmp DWORD PTR -60[rbp], 0 | |
je .L3431 | |
mov edx, 2 | |
jmp .L3432 | |
.L3431: | |
mov edx, 0 | |
.L3432: | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 63[rax], dl | |
mov DWORD PTR -20[rbp], 524294 | |
mov ecx, DWORD PTR -20[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
lea rdi, -20[rbp] | |
mov rsi, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov r8, rdi | |
mov rdi, rax | |
call sqlite3OsOpen | |
mov DWORD PTR -12[rbp], eax | |
cmp DWORD PTR -12[rbp], 0 | |
jne .L3433 | |
mov eax, DWORD PTR -20[rbp] | |
and eax, 1 | |
test eax, eax | |
je .L3433 | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 66[rax], 1 | |
.L3433: | |
cmp DWORD PTR -12[rbp], 0 | |
je .L3434 | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call walIndexClose | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov rdi, rax | |
call sqlite3OsClose | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
jmp .L3435 | |
.L3434: | |
mov rax, QWORD PTR -48[rbp] | |
mov rdi, rax | |
call sqlite3OsDeviceCharacteristics | |
mov DWORD PTR -16[rbp], eax | |
mov eax, DWORD PTR -16[rbp] | |
and eax, 1024 | |
test eax, eax | |
je .L3436 | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 68[rax], 0 | |
.L3436: | |
mov eax, DWORD PTR -16[rbp] | |
and eax, 4096 | |
test eax, eax | |
je .L3437 | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 69[rax], 0 | |
.L3437: | |
mov rax, QWORD PTR -80[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], rdx | |
.L3435: | |
mov eax, DWORD PTR -12[rbp] | |
.L3438: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE561: | |
.size sqlite3WalOpen, .-sqlite3WalOpen | |
.type sqlite3WalLimit, @function | |
sqlite3WalLimit: | |
.LFB562: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
cmp QWORD PTR -8[rbp], 0 | |
je .L3441 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -16[rbp] | |
mov QWORD PTR 32[rax], rdx | |
.L3441: | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE562: | |
.size sqlite3WalLimit, .-sqlite3WalLimit | |
.type walIteratorNext, @function | |
walIteratorNext: | |
.LFB563: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -48[rbp], rsi | |
mov QWORD PTR -56[rbp], rdx | |
mov DWORD PTR -4[rbp], -1 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR [rax] | |
mov DWORD PTR -12[rbp], eax | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 4[rax] | |
sub eax, 1 | |
mov DWORD PTR -8[rbp], eax | |
jmp .L3443 | |
.L3449: | |
mov eax, DWORD PTR -8[rbp] | |
cdqe | |
sal rax, 5 | |
mov rdx, rax | |
mov rax, QWORD PTR -40[rbp] | |
add rax, rdx | |
add rax, 8 | |
mov QWORD PTR -24[rbp], rax | |
jmp .L3444 | |
.L3448: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov rcx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR [rax] | |
cdqe | |
add rax, rax | |
add rax, rcx | |
movzx eax, WORD PTR [rax] | |
movzx eax, ax | |
sal rax, 2 | |
add rax, rdx | |
mov eax, DWORD PTR [rax] | |
mov DWORD PTR -28[rbp], eax | |
mov eax, DWORD PTR -28[rbp] | |
cmp eax, DWORD PTR -12[rbp] | |
jbe .L3445 | |
mov eax, DWORD PTR -28[rbp] | |
cmp eax, DWORD PTR -4[rbp] | |
jnb .L3451 | |
mov eax, DWORD PTR -28[rbp] | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR 28[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov rcx, QWORD PTR 8[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR [rax] | |
cdqe | |
add rax, rax | |
add rax, rcx | |
movzx eax, WORD PTR [rax] | |
movzx eax, ax | |
add eax, edx | |
mov edx, eax | |
mov rax, QWORD PTR -56[rbp] | |
mov DWORD PTR [rax], edx | |
jmp .L3451 | |
.L3445: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR [rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR [rax], edx | |
.L3444: | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 24[rax] | |
cmp edx, eax | |
jl .L3448 | |
jmp .L3447 | |
.L3451: | |
nop | |
.L3447: | |
sub DWORD PTR -8[rbp], 1 | |
.L3443: | |
cmp DWORD PTR -8[rbp], 0 | |
jns .L3449 | |
mov edx, DWORD PTR -4[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR [rax], edx | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR [rax] | |
mov edx, eax | |
mov rax, QWORD PTR -48[rbp] | |
mov DWORD PTR [rax], edx | |
cmp DWORD PTR -4[rbp], -1 | |
sete al | |
movzx eax, al | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE563: | |
.size walIteratorNext, .-walIteratorNext | |
.type walMerge, @function | |
walMerge: | |
.LFB564: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 96 | |
mov QWORD PTR -56[rbp], rdi | |
mov QWORD PTR -64[rbp], rsi | |
mov DWORD PTR -68[rbp], edx | |
mov QWORD PTR -80[rbp], rcx | |
mov QWORD PTR -88[rbp], r8 | |
mov QWORD PTR -96[rbp], r9 | |
mov DWORD PTR -4[rbp], 0 | |
mov DWORD PTR -8[rbp], 0 | |
mov DWORD PTR -12[rbp], 0 | |
mov rax, QWORD PTR -88[rbp] | |
mov eax, DWORD PTR [rax] | |
mov DWORD PTR -20[rbp], eax | |
mov rax, QWORD PTR -80[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -32[rbp], rax | |
jmp .L3453 | |
.L3457: | |
mov eax, DWORD PTR -4[rbp] | |
cmp eax, DWORD PTR -68[rbp] | |
jge .L3454 | |
mov eax, DWORD PTR -8[rbp] | |
cmp eax, DWORD PTR -20[rbp] | |
jge .L3455 | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
lea rdx, [rax+rax] | |
mov rax, QWORD PTR -64[rbp] | |
add rax, rdx | |
movzx eax, WORD PTR [rax] | |
movzx eax, ax | |
lea rdx, 0[0+rax*4] | |
mov rax, QWORD PTR -56[rbp] | |
add rax, rdx | |
mov edx, DWORD PTR [rax] | |
mov eax, DWORD PTR -8[rbp] | |
cdqe | |
lea rcx, [rax+rax] | |
mov rax, QWORD PTR -32[rbp] | |
add rax, rcx | |
movzx eax, WORD PTR [rax] | |
movzx eax, ax | |
lea rcx, 0[0+rax*4] | |
mov rax, QWORD PTR -56[rbp] | |
add rax, rcx | |
mov eax, DWORD PTR [rax] | |
cmp edx, eax | |
jnb .L3454 | |
.L3455: | |
mov eax, DWORD PTR -4[rbp] | |
lea edx, 1[rax] | |
mov DWORD PTR -4[rbp], edx | |
cdqe | |
lea rdx, [rax+rax] | |
mov rax, QWORD PTR -64[rbp] | |
add rax, rdx | |
movzx eax, WORD PTR [rax] | |
mov WORD PTR -14[rbp], ax | |
jmp .L3456 | |
.L3454: | |
mov eax, DWORD PTR -8[rbp] | |
lea edx, 1[rax] | |
mov DWORD PTR -8[rbp], edx | |
cdqe | |
lea rdx, [rax+rax] | |
mov rax, QWORD PTR -32[rbp] | |
add rax, rdx | |
movzx eax, WORD PTR [rax] | |
mov WORD PTR -14[rbp], ax | |
.L3456: | |
movzx eax, WORD PTR -14[rbp] | |
lea rdx, 0[0+rax*4] | |
mov rax, QWORD PTR -56[rbp] | |
add rax, rdx | |
mov eax, DWORD PTR [rax] | |
mov DWORD PTR -36[rbp], eax | |
mov eax, DWORD PTR -12[rbp] | |
lea edx, 1[rax] | |
mov DWORD PTR -12[rbp], edx | |
cdqe | |
lea rdx, [rax+rax] | |
mov rax, QWORD PTR -96[rbp] | |
add rdx, rax | |
movzx eax, WORD PTR -14[rbp] | |
mov WORD PTR [rdx], ax | |
mov eax, DWORD PTR -4[rbp] | |
cmp eax, DWORD PTR -68[rbp] | |
jge .L3453 | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
lea rdx, [rax+rax] | |
mov rax, QWORD PTR -64[rbp] | |
add rax, rdx | |
movzx eax, WORD PTR [rax] | |
movzx eax, ax | |
lea rdx, 0[0+rax*4] | |
mov rax, QWORD PTR -56[rbp] | |
add rax, rdx | |
mov eax, DWORD PTR [rax] | |
cmp eax, DWORD PTR -36[rbp] | |
jne .L3453 | |
add DWORD PTR -4[rbp], 1 | |
.L3453: | |
mov eax, DWORD PTR -8[rbp] | |
cmp eax, DWORD PTR -20[rbp] | |
jl .L3457 | |
mov eax, DWORD PTR -4[rbp] | |
cmp eax, DWORD PTR -68[rbp] | |
jl .L3457 | |
mov rax, QWORD PTR -80[rbp] | |
mov rdx, QWORD PTR -64[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -88[rbp] | |
mov edx, DWORD PTR -12[rbp] | |
mov DWORD PTR [rax], edx | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
lea rdx, [rax+rax] | |
mov rcx, QWORD PTR -96[rbp] | |
mov rax, QWORD PTR -64[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call memcpy@PLT | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE564: | |
.size walMerge, .-walMerge | |
.type walMergesort, @function | |
walMergesort: | |
.LFB565: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 288 | |
mov QWORD PTR -264[rbp], rdi | |
mov QWORD PTR -272[rbp], rsi | |
mov QWORD PTR -280[rbp], rdx | |
mov QWORD PTR -288[rbp], rcx | |
mov rax, QWORD PTR -288[rbp] | |
mov eax, DWORD PTR [rax] | |
mov DWORD PTR -12[rbp], eax | |
mov DWORD PTR -36[rbp], 0 | |
mov QWORD PTR -48[rbp], 0 | |
mov DWORD PTR -8[rbp], 0 | |
lea rax, -256[rbp] | |
mov edx, 208 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L3459 | |
.L3462: | |
mov DWORD PTR -36[rbp], 1 | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
lea rdx, [rax+rax] | |
mov rax, QWORD PTR -280[rbp] | |
add rax, rdx | |
mov QWORD PTR -48[rbp], rax | |
mov DWORD PTR -8[rbp], 0 | |
jmp .L3460 | |
.L3461: | |
lea rax, -256[rbp] | |
mov edx, DWORD PTR -8[rbp] | |
sal rdx, 4 | |
add rax, rdx | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, QWORD PTR 8[rax] | |
mov r8, QWORD PTR -272[rbp] | |
lea rdi, -36[rbp] | |
lea rcx, -48[rbp] | |
mov rax, QWORD PTR -264[rbp] | |
mov r9, r8 | |
mov r8, rdi | |
mov rdi, rax | |
call walMerge | |
add DWORD PTR -8[rbp], 1 | |
.L3460: | |
mov eax, DWORD PTR -8[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
mov ecx, eax | |
sar edx, cl | |
mov eax, edx | |
and eax, 1 | |
test eax, eax | |
jne .L3461 | |
mov rax, QWORD PTR -48[rbp] | |
mov edx, DWORD PTR -8[rbp] | |
sal rdx, 4 | |
add rdx, rbp | |
sub rdx, 248 | |
mov QWORD PTR [rdx], rax | |
mov eax, DWORD PTR -36[rbp] | |
mov edx, DWORD PTR -8[rbp] | |
sal rdx, 4 | |
add rdx, rbp | |
sub rdx, 256 | |
mov DWORD PTR [rdx], eax | |
add DWORD PTR -4[rbp], 1 | |
.L3459: | |
mov eax, DWORD PTR -4[rbp] | |
cmp eax, DWORD PTR -12[rbp] | |
jl .L3462 | |
add DWORD PTR -8[rbp], 1 | |
jmp .L3463 | |
.L3465: | |
mov eax, DWORD PTR -8[rbp] | |
mov edx, DWORD PTR -12[rbp] | |
mov ecx, eax | |
sar edx, cl | |
mov eax, edx | |
and eax, 1 | |
test eax, eax | |
je .L3464 | |
lea rax, -256[rbp] | |
mov edx, DWORD PTR -8[rbp] | |
sal rdx, 4 | |
add rax, rdx | |
mov QWORD PTR -32[rbp], rax | |
mov rax, QWORD PTR -32[rbp] | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -32[rbp] | |
mov rsi, QWORD PTR 8[rax] | |
mov r8, QWORD PTR -272[rbp] | |
lea rdi, -36[rbp] | |
lea rcx, -48[rbp] | |
mov rax, QWORD PTR -264[rbp] | |
mov r9, r8 | |
mov r8, rdi | |
mov rdi, rax | |
call walMerge | |
.L3464: | |
add DWORD PTR -8[rbp], 1 | |
.L3463: | |
cmp DWORD PTR -8[rbp], 12 | |
jbe .L3465 | |
mov edx, DWORD PTR -36[rbp] | |
mov rax, QWORD PTR -288[rbp] | |
mov DWORD PTR [rax], edx | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE565: | |
.size walMergesort, .-walMergesort | |
.type walIteratorFree, @function | |
walIteratorFree: | |
.LFB566: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE566: | |
.size walIteratorFree, .-walIteratorFree | |
.type walIteratorInit, @function | |
walIteratorInit: | |
.LFB567: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 96 | |
mov QWORD PTR -88[rbp], rdi | |
mov QWORD PTR -96[rbp], rsi | |
mov DWORD PTR -8[rbp], 0 | |
mov rax, QWORD PTR -88[rbp] | |
mov eax, DWORD PTR 88[rax] | |
mov DWORD PTR -16[rbp], eax | |
mov eax, DWORD PTR -16[rbp] | |
mov edi, eax | |
call walFramePage | |
add eax, 1 | |
mov DWORD PTR -20[rbp], eax | |
mov eax, DWORD PTR -20[rbp] | |
sub eax, 1 | |
cdqe | |
sal rax, 4 | |
mov rdx, rax | |
mov eax, DWORD PTR -16[rbp] | |
add rax, rdx | |
add rax, 20 | |
add eax, eax | |
mov DWORD PTR -24[rbp], eax | |
mov eax, DWORD PTR -24[rbp] | |
cdqe | |
mov rdi, rax | |
call sqlite3_malloc64 | |
mov QWORD PTR -32[rbp], rax | |
cmp QWORD PTR -32[rbp], 0 | |
jne .L3468 | |
mov eax, 7 | |
jmp .L3469 | |
.L3468: | |
mov eax, DWORD PTR -24[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -32[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
mov rax, QWORD PTR -32[rbp] | |
mov edx, DWORD PTR -20[rbp] | |
mov DWORD PTR 4[rax], edx | |
cmp DWORD PTR -16[rbp], 4096 | |
ja .L3470 | |
mov eax, DWORD PTR -16[rbp] | |
add rax, rax | |
jmp .L3471 | |
.L3470: | |
mov eax, 8192 | |
.L3471: | |
mov rdi, rax | |
call sqlite3_malloc64 | |
mov QWORD PTR -40[rbp], rax | |
cmp QWORD PTR -40[rbp], 0 | |
jne .L3472 | |
mov DWORD PTR -8[rbp], 7 | |
.L3472: | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L3473 | |
.L3480: | |
lea rdi, -60[rbp] | |
lea rcx, -72[rbp] | |
lea rdx, -56[rbp] | |
mov esi, DWORD PTR -4[rbp] | |
mov rax, QWORD PTR -88[rbp] | |
mov r8, rdi | |
mov rdi, rax | |
call walHashGet | |
mov DWORD PTR -8[rbp], eax | |
cmp DWORD PTR -8[rbp], 0 | |
jne .L3474 | |
mov rax, QWORD PTR -72[rbp] | |
add rax, 4 | |
mov QWORD PTR -72[rbp], rax | |
mov eax, DWORD PTR -4[rbp] | |
add eax, 1 | |
cmp eax, DWORD PTR -20[rbp] | |
jne .L3475 | |
mov eax, DWORD PTR -60[rbp] | |
mov edx, DWORD PTR -16[rbp] | |
sub edx, eax | |
mov eax, edx | |
mov DWORD PTR -76[rbp], eax | |
jmp .L3476 | |
.L3475: | |
mov rax, QWORD PTR -56[rbp] | |
mov rdx, rax | |
mov rax, QWORD PTR -72[rbp] | |
sub rdx, rax | |
mov rax, rdx | |
sar rax, 2 | |
mov DWORD PTR -76[rbp], eax | |
.L3476: | |
mov rax, QWORD PTR -32[rbp] | |
mov eax, DWORD PTR 4[rax] | |
cdqe | |
sal rax, 5 | |
mov rdx, rax | |
mov rax, QWORD PTR -32[rbp] | |
add rax, rdx | |
lea rdx, 8[rax] | |
mov eax, DWORD PTR -60[rbp] | |
mov eax, eax | |
add rax, rax | |
add rax, rdx | |
mov QWORD PTR -48[rbp], rax | |
mov eax, DWORD PTR -60[rbp] | |
add eax, 1 | |
mov DWORD PTR -60[rbp], eax | |
mov DWORD PTR -12[rbp], 0 | |
jmp .L3477 | |
.L3478: | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
lea rdx, [rax+rax] | |
mov rax, QWORD PTR -48[rbp] | |
add rax, rdx | |
mov edx, DWORD PTR -12[rbp] | |
mov WORD PTR [rax], dx | |
add DWORD PTR -12[rbp], 1 | |
.L3477: | |
mov eax, DWORD PTR -76[rbp] | |
cmp DWORD PTR -12[rbp], eax | |
jl .L3478 | |
mov rax, QWORD PTR -72[rbp] | |
lea rcx, -76[rbp] | |
mov rdx, QWORD PTR -48[rbp] | |
mov rsi, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call walMergesort | |
mov eax, DWORD PTR -60[rbp] | |
mov ecx, eax | |
mov rax, QWORD PTR -32[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
movsx rdx, edx | |
sal rdx, 5 | |
add rax, rdx | |
add rax, 36 | |
mov DWORD PTR [rax], ecx | |
mov eax, DWORD PTR -76[rbp] | |
mov rdx, QWORD PTR -32[rbp] | |
mov ecx, DWORD PTR -4[rbp] | |
movsx rcx, ecx | |
sal rcx, 5 | |
add rdx, rcx | |
add rdx, 32 | |
mov DWORD PTR [rdx], eax | |
mov rax, QWORD PTR -32[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
movsx rdx, edx | |
sal rdx, 5 | |
add rax, rdx | |
lea rdx, 16[rax] | |
mov rax, QWORD PTR -48[rbp] | |
mov QWORD PTR [rdx], rax | |
mov rax, QWORD PTR -72[rbp] | |
mov rdx, QWORD PTR -32[rbp] | |
mov ecx, DWORD PTR -4[rbp] | |
movsx rcx, ecx | |
sal rcx, 5 | |
add rdx, rcx | |
add rdx, 24 | |
mov QWORD PTR [rdx], rax | |
.L3474: | |
add DWORD PTR -4[rbp], 1 | |
.L3473: | |
cmp DWORD PTR -8[rbp], 0 | |
jne .L3479 | |
mov eax, DWORD PTR -4[rbp] | |
cmp eax, DWORD PTR -20[rbp] | |
jl .L3480 | |
.L3479: | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
cmp DWORD PTR -8[rbp], 0 | |
je .L3481 | |
mov rax, QWORD PTR -32[rbp] | |
mov rdi, rax | |
call walIteratorFree | |
.L3481: | |
mov rax, QWORD PTR -96[rbp] | |
mov rdx, QWORD PTR -32[rbp] | |
mov QWORD PTR [rax], rdx | |
mov eax, DWORD PTR -8[rbp] | |
.L3469: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE567: | |
.size walIteratorInit, .-walIteratorInit | |
.type walBusyLock, @function | |
walBusyLock: | |
.LFB568: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov QWORD PTR -40[rbp], rdx | |
mov DWORD PTR -44[rbp], ecx | |
mov DWORD PTR -48[rbp], r8d | |
.L3484: | |
mov edx, DWORD PTR -48[rbp] | |
mov ecx, DWORD PTR -44[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call walLockExclusive | |
mov DWORD PTR -4[rbp], eax | |
cmp QWORD PTR -32[rbp], 0 | |
je .L3483 | |
cmp DWORD PTR -4[rbp], 5 | |
jne .L3483 | |
mov rdx, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov rdi, rdx | |
call rax | |
test eax, eax | |
jne .L3484 | |
.L3483: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE568: | |
.size walBusyLock, .-walBusyLock | |
.type walPagesize, @function | |
walPagesize: | |
.LFB569: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 86[rax] | |
movzx eax, ax | |
and eax, 65024 | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 86[rax] | |
movzx eax, ax | |
sal eax, 16 | |
and eax, 65536 | |
or eax, edx | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE569: | |
.size walPagesize, .-walPagesize | |
.type walRestartHdr, @function | |
walRestartHdr: | |
.LFB570: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call walCkptInfo | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -40[rbp] | |
add rax, 104 | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 136[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 136[rax], edx | |
mov rax, QWORD PTR -40[rbp] | |
mov DWORD PTR 88[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3Get4byte | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3Put4byte | |
mov rax, QWORD PTR -40[rbp] | |
lea rdx, 108[rax] | |
mov eax, DWORD PTR -44[rbp] | |
mov DWORD PTR [rdx], eax | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call walIndexWriteHdr | |
mov rax, QWORD PTR -16[rbp] | |
mov DWORD PTR [rax], 0 | |
mov rax, QWORD PTR -16[rbp] | |
mov DWORD PTR 32[rax], 0 | |
mov rax, QWORD PTR -16[rbp] | |
mov DWORD PTR 8[rax], 0 | |
mov DWORD PTR -4[rbp], 2 | |
jmp .L3489 | |
.L3490: | |
mov rax, QWORD PTR -16[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
movsx rdx, edx | |
mov DWORD PTR 4[rax+rdx*4], -1 | |
add DWORD PTR -4[rbp], 1 | |
.L3489: | |
cmp DWORD PTR -4[rbp], 4 | |
jle .L3490 | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE570: | |
.size walRestartHdr, .-walRestartHdr | |
.type walCheckpoint, @function | |
walCheckpoint: | |
.LFB571: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 144 | |
mov QWORD PTR -104[rbp], rdi | |
mov QWORD PTR -112[rbp], rsi | |
mov DWORD PTR -116[rbp], edx | |
mov QWORD PTR -128[rbp], rcx | |
mov QWORD PTR -136[rbp], r8 | |
mov DWORD PTR -120[rbp], r9d | |
mov DWORD PTR -4[rbp], 0 | |
mov QWORD PTR -64[rbp], 0 | |
mov DWORD PTR -68[rbp], 0 | |
mov DWORD PTR -72[rbp], 0 | |
mov rax, QWORD PTR -104[rbp] | |
mov rdi, rax | |
call walPagesize | |
mov DWORD PTR -16[rbp], eax | |
mov rax, QWORD PTR -104[rbp] | |
mov rdi, rax | |
call walCkptInfo | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -104[rbp] | |
mov eax, DWORD PTR 88[rax] | |
cmp edx, eax | |
jnb .L3492 | |
lea rdx, -64[rbp] | |
mov rax, QWORD PTR -104[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call walIteratorInit | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3493 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L3520 | |
.L3493: | |
mov rax, QWORD PTR -104[rbp] | |
mov eax, DWORD PTR 88[rax] | |
mov DWORD PTR -8[rbp], eax | |
mov rax, QWORD PTR -104[rbp] | |
mov eax, DWORD PTR 92[rax] | |
mov DWORD PTR -28[rbp], eax | |
mov DWORD PTR -12[rbp], 1 | |
jmp .L3495 | |
.L3502: | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR -12[rbp] | |
movsx rdx, edx | |
mov eax, DWORD PTR 4[rax+rdx*4] | |
mov DWORD PTR -32[rbp], eax | |
mov eax, DWORD PTR -8[rbp] | |
cmp eax, DWORD PTR -32[rbp] | |
jbe .L3496 | |
mov eax, DWORD PTR -12[rbp] | |
lea ecx, 3[rax] | |
mov rdx, QWORD PTR -136[rbp] | |
mov rsi, QWORD PTR -128[rbp] | |
mov rax, QWORD PTR -104[rbp] | |
mov r8d, 1 | |
mov rdi, rax | |
call walBusyLock | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3497 | |
cmp DWORD PTR -12[rbp], 1 | |
jne .L3498 | |
mov eax, DWORD PTR -8[rbp] | |
jmp .L3499 | |
.L3498: | |
mov eax, -1 | |
.L3499: | |
mov rdx, QWORD PTR -24[rbp] | |
mov ecx, DWORD PTR -12[rbp] | |
movsx rcx, ecx | |
mov DWORD PTR 4[rdx+rcx*4], eax | |
mov eax, DWORD PTR -12[rbp] | |
lea ecx, 3[rax] | |
mov rax, QWORD PTR -104[rbp] | |
mov edx, 1 | |
mov esi, ecx | |
mov rdi, rax | |
call walUnlockExclusive | |
jmp .L3496 | |
.L3497: | |
cmp DWORD PTR -4[rbp], 5 | |
jne .L3521 | |
mov eax, DWORD PTR -32[rbp] | |
mov DWORD PTR -8[rbp], eax | |
mov QWORD PTR -128[rbp], 0 | |
.L3496: | |
add DWORD PTR -12[rbp], 1 | |
.L3495: | |
cmp DWORD PTR -12[rbp], 4 | |
jle .L3502 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR [rax] | |
cmp eax, DWORD PTR -8[rbp] | |
jnb .L3503 | |
mov rdx, QWORD PTR -136[rbp] | |
mov rsi, QWORD PTR -128[rbp] | |
mov rax, QWORD PTR -104[rbp] | |
mov r8d, 1 | |
mov ecx, 3 | |
mov rdi, rax | |
call walBusyLock | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3503 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR [rax] | |
mov DWORD PTR -36[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR -8[rbp] | |
mov DWORD PTR 32[rax], edx | |
mov eax, DWORD PTR -120[rbp] | |
sar eax, 2 | |
and eax, 3 | |
mov edx, eax | |
mov rax, QWORD PTR -104[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3OsSync | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3506 | |
mov edx, DWORD PTR -28[rbp] | |
mov eax, DWORD PTR -16[rbp] | |
cdqe | |
imul rax, rdx | |
mov QWORD PTR -88[rbp], rax | |
mov rax, QWORD PTR -104[rbp] | |
mov rax, QWORD PTR 8[rax] | |
lea rdx, -80[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3OsFileSize | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3506 | |
mov rdx, QWORD PTR -80[rbp] | |
mov rax, QWORD PTR -88[rbp] | |
cmp rdx, rax | |
jge .L3506 | |
mov rax, QWORD PTR -104[rbp] | |
mov rax, QWORD PTR 8[rax] | |
lea rdx, -88[rbp] | |
mov esi, 5 | |
mov rdi, rax | |
call sqlite3OsFileControlHint | |
jmp .L3506 | |
.L3514: | |
mov rax, QWORD PTR -112[rbp] | |
mov eax, DWORD PTR 344[rax] | |
test eax, eax | |
je .L3507 | |
mov rax, QWORD PTR -112[rbp] | |
movzx eax, BYTE PTR 97[rax] | |
test al, al | |
je .L3508 | |
mov eax, 7 | |
jmp .L3509 | |
.L3508: | |
mov eax, 9 | |
.L3509: | |
mov DWORD PTR -4[rbp], eax | |
jmp .L3510 | |
.L3507: | |
mov eax, DWORD PTR -72[rbp] | |
cmp eax, DWORD PTR -36[rbp] | |
jbe .L3506 | |
mov eax, DWORD PTR -72[rbp] | |
cmp eax, DWORD PTR -8[rbp] | |
ja .L3506 | |
mov eax, DWORD PTR -68[rbp] | |
cmp eax, DWORD PTR -28[rbp] | |
jbe .L3512 | |
jmp .L3506 | |
.L3512: | |
mov eax, DWORD PTR -72[rbp] | |
sub eax, 1 | |
mov edx, eax | |
mov eax, DWORD PTR -16[rbp] | |
add eax, 24 | |
cdqe | |
imul rax, rdx | |
add rax, 56 | |
mov QWORD PTR -48[rbp], rax | |
mov rax, QWORD PTR -104[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov rcx, QWORD PTR -48[rbp] | |
mov edx, DWORD PTR -16[rbp] | |
mov rsi, QWORD PTR 16[rbp] | |
mov rdi, rax | |
call sqlite3OsRead | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3522 | |
mov eax, DWORD PTR -68[rbp] | |
sub eax, 1 | |
mov edx, eax | |
mov eax, DWORD PTR -16[rbp] | |
cdqe | |
imul rax, rdx | |
mov QWORD PTR -48[rbp], rax | |
mov rax, QWORD PTR -104[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rcx, QWORD PTR -48[rbp] | |
mov edx, DWORD PTR -16[rbp] | |
mov rsi, QWORD PTR 16[rbp] | |
mov rdi, rax | |
call sqlite3OsWrite | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3523 | |
.L3506: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3510 | |
mov rax, QWORD PTR -64[rbp] | |
lea rdx, -72[rbp] | |
lea rcx, -68[rbp] | |
mov rsi, rcx | |
mov rdi, rax | |
call walIteratorNext | |
test eax, eax | |
je .L3514 | |
jmp .L3510 | |
.L3522: | |
nop | |
jmp .L3510 | |
.L3523: | |
nop | |
.L3510: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3515 | |
mov rax, QWORD PTR -104[rbp] | |
mov rdi, rax | |
call walIndexHdr | |
mov eax, DWORD PTR 16[rax] | |
cmp eax, DWORD PTR -8[rbp] | |
jne .L3516 | |
mov rax, QWORD PTR -104[rbp] | |
mov eax, DWORD PTR 92[rax] | |
mov edx, eax | |
mov eax, DWORD PTR -16[rbp] | |
cdqe | |
imul rax, rdx | |
mov QWORD PTR -56[rbp], rax | |
mov rax, QWORD PTR -104[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rdx, QWORD PTR -56[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3OsTruncate | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3516 | |
mov eax, DWORD PTR -120[rbp] | |
sar eax, 2 | |
and eax, 3 | |
mov edx, eax | |
mov rax, QWORD PTR -104[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3OsSync | |
mov DWORD PTR -4[rbp], eax | |
.L3516: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3515 | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR -8[rbp] | |
mov DWORD PTR [rax], edx | |
.L3515: | |
mov rax, QWORD PTR -104[rbp] | |
mov edx, 1 | |
mov esi, 3 | |
mov rdi, rax | |
call walUnlockExclusive | |
.L3503: | |
cmp DWORD PTR -4[rbp], 5 | |
jne .L3492 | |
mov DWORD PTR -4[rbp], 0 | |
.L3492: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3501 | |
cmp DWORD PTR -116[rbp], 0 | |
je .L3501 | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -104[rbp] | |
mov eax, DWORD PTR 88[rax] | |
cmp edx, eax | |
jnb .L3517 | |
mov DWORD PTR -4[rbp], 5 | |
jmp .L3501 | |
.L3517: | |
cmp DWORD PTR -116[rbp], 1 | |
jle .L3501 | |
lea rax, -92[rbp] | |
mov rsi, rax | |
mov edi, 4 | |
call sqlite3_randomness | |
mov rdx, QWORD PTR -136[rbp] | |
mov rsi, QWORD PTR -128[rbp] | |
mov rax, QWORD PTR -104[rbp] | |
mov r8d, 4 | |
mov ecx, 4 | |
mov rdi, rax | |
call walBusyLock | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3501 | |
cmp DWORD PTR -116[rbp], 3 | |
jne .L3519 | |
mov edx, DWORD PTR -92[rbp] | |
mov rax, QWORD PTR -104[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call walRestartHdr | |
mov rax, QWORD PTR -104[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov esi, 0 | |
mov rdi, rax | |
call sqlite3OsTruncate | |
mov DWORD PTR -4[rbp], eax | |
.L3519: | |
mov rax, QWORD PTR -104[rbp] | |
mov edx, 4 | |
mov esi, 4 | |
mov rdi, rax | |
call walUnlockExclusive | |
jmp .L3501 | |
.L3521: | |
nop | |
.L3501: | |
mov rax, QWORD PTR -64[rbp] | |
mov rdi, rax | |
call walIteratorFree | |
mov eax, DWORD PTR -4[rbp] | |
.L3520: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE571: | |
.size walCheckpoint, .-walCheckpoint | |
.section .rodata | |
.LC132: | |
.string "cannot limit WAL size: %s" | |
.text | |
.type walLimitSize, @function | |
walLimitSize: | |
.LFB572: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
call sqlite3BeginBenignMalloc | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 16[rax] | |
lea rdx, -16[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3OsFileSize | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3525 | |
mov rax, QWORD PTR -16[rbp] | |
cmp rax, QWORD PTR -32[rbp] | |
jle .L3525 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov rdx, QWORD PTR -32[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3OsTruncate | |
mov DWORD PTR -4[rbp], eax | |
.L3525: | |
call sqlite3EndBenignMalloc | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3527 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 128[rax] | |
mov eax, DWORD PTR -4[rbp] | |
lea rsi, .LC132[rip] | |
mov edi, eax | |
mov eax, 0 | |
call sqlite3_log | |
.L3527: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE572: | |
.size walLimitSize, .-walLimitSize | |
.type sqlite3WalClose, @function | |
sqlite3WalClose: | |
.LFB573: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov DWORD PTR -36[rbp], edx | |
mov DWORD PTR -40[rbp], ecx | |
mov QWORD PTR -48[rbp], r8 | |
mov DWORD PTR -4[rbp], 0 | |
cmp QWORD PTR -24[rbp], 0 | |
je .L3529 | |
mov DWORD PTR -8[rbp], 0 | |
cmp QWORD PTR -48[rbp], 0 | |
je .L3530 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov esi, 4 | |
mov rdi, rax | |
call sqlite3OsLock | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3530 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 63[rax] | |
test al, al | |
jne .L3531 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 63[rax], 1 | |
.L3531: | |
mov ecx, DWORD PTR -36[rbp] | |
mov rsi, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
push 0 | |
push 0 | |
push QWORD PTR -48[rbp] | |
mov edx, DWORD PTR -40[rbp] | |
push rdx | |
mov r9d, ecx | |
mov r8d, 0 | |
mov ecx, 0 | |
mov edx, 0 | |
mov rdi, rax | |
call sqlite3WalCheckpoint | |
add rsp, 32 | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3530 | |
mov DWORD PTR -12[rbp], -1 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
lea rdx, -12[rbp] | |
mov esi, 10 | |
mov rdi, rax | |
call sqlite3OsFileControlHint | |
mov eax, DWORD PTR -12[rbp] | |
cmp eax, 1 | |
je .L3532 | |
mov DWORD PTR -8[rbp], 1 | |
jmp .L3530 | |
.L3532: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 32[rax] | |
test rax, rax | |
js .L3530 | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call walLimitSize | |
.L3530: | |
mov edx, DWORD PTR -8[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call walIndexClose | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov rdi, rax | |
call sqlite3OsClose | |
cmp DWORD PTR -8[rbp], 0 | |
je .L3534 | |
call sqlite3BeginBenignMalloc | |
mov rax, QWORD PTR -24[rbp] | |
mov rcx, QWORD PTR 128[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
mov edx, 0 | |
mov rsi, rcx | |
mov rdi, rax | |
call sqlite3OsDelete | |
call sqlite3EndBenignMalloc | |
.L3534: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov rdi, rax | |
call sqlite3_free | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
.L3529: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE573: | |
.size sqlite3WalClose, .-sqlite3WalClose | |
.type walIndexTryHdr, @function | |
walIndexTryHdr: | |
.LFB574: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
add rsp, -128 | |
mov QWORD PTR -120[rbp], rdi | |
mov QWORD PTR -128[rbp], rsi | |
mov rax, QWORD PTR -120[rbp] | |
mov rdi, rax | |
call walIndexHdr | |
mov QWORD PTR -8[rbp], rax | |
mov rcx, QWORD PTR -8[rbp] | |
lea rax, -64[rbp] | |
mov edx, 48 | |
mov rsi, rcx | |
mov rdi, rax | |
call memcpy@PLT | |
mov rax, QWORD PTR -120[rbp] | |
mov rdi, rax | |
call walShmBarrier | |
mov rax, QWORD PTR -8[rbp] | |
lea rcx, 48[rax] | |
lea rax, -112[rbp] | |
mov edx, 48 | |
mov rsi, rcx | |
mov rdi, rax | |
call memcpy@PLT | |
lea rcx, -112[rbp] | |
lea rax, -64[rbp] | |
mov edx, 48 | |
mov rsi, rcx | |
mov rdi, rax | |
call memcmp@PLT | |
test eax, eax | |
je .L3537 | |
mov eax, 1 | |
jmp .L3543 | |
.L3537: | |
movzx eax, BYTE PTR -52[rbp] | |
test al, al | |
jne .L3539 | |
mov eax, 1 | |
jmp .L3543 | |
.L3539: | |
lea rdx, -16[rbp] | |
lea rax, -64[rbp] | |
mov r8, rdx | |
mov ecx, 0 | |
mov edx, 40 | |
mov rsi, rax | |
mov edi, 1 | |
call walChecksumBytes | |
mov edx, DWORD PTR -16[rbp] | |
mov eax, DWORD PTR -24[rbp] | |
cmp edx, eax | |
jne .L3540 | |
mov edx, DWORD PTR -12[rbp] | |
mov eax, DWORD PTR -20[rbp] | |
cmp edx, eax | |
je .L3541 | |
.L3540: | |
mov eax, 1 | |
jmp .L3543 | |
.L3541: | |
mov rax, QWORD PTR -120[rbp] | |
lea rcx, 72[rax] | |
lea rax, -64[rbp] | |
mov edx, 48 | |
mov rsi, rax | |
mov rdi, rcx | |
call memcmp@PLT | |
test eax, eax | |
je .L3542 | |
mov rax, QWORD PTR -128[rbp] | |
mov DWORD PTR [rax], 1 | |
mov rax, QWORD PTR -120[rbp] | |
lea rcx, 72[rax] | |
lea rax, -64[rbp] | |
mov edx, 48 | |
mov rsi, rax | |
mov rdi, rcx | |
call memcpy@PLT | |
mov rax, QWORD PTR -120[rbp] | |
movzx eax, WORD PTR 86[rax] | |
movzx eax, ax | |
and eax, 65024 | |
mov edx, eax | |
mov rax, QWORD PTR -120[rbp] | |
movzx eax, WORD PTR 86[rax] | |
movzx eax, ax | |
sal eax, 16 | |
and eax, 65536 | |
or eax, edx | |
mov edx, eax | |
mov rax, QWORD PTR -120[rbp] | |
mov DWORD PTR 56[rax], edx | |
.L3542: | |
mov eax, 0 | |
.L3543: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE574: | |
.size walIndexTryHdr, .-walIndexTryHdr | |
.type walIndexReadHdr, @function | |
walIndexReadHdr: | |
.LFB575: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
lea rdx, -16[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call walIndexPage | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3545 | |
cmp DWORD PTR -4[rbp], 1288 | |
jne .L3546 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 70[rax], 1 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 63[rax], 2 | |
mov rax, QWORD PTR -32[rbp] | |
mov DWORD PTR [rax], 1 | |
jmp .L3545 | |
.L3546: | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L3557 | |
.L3545: | |
mov rax, QWORD PTR -16[rbp] | |
test rax, rax | |
je .L3548 | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call walIndexTryHdr | |
jmp .L3549 | |
.L3548: | |
mov eax, 1 | |
.L3549: | |
mov DWORD PTR -8[rbp], eax | |
cmp DWORD PTR -8[rbp], 0 | |
je .L3550 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 70[rax] | |
test al, al | |
jne .L3551 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 66[rax] | |
movzx eax, al | |
and eax, 2 | |
test eax, eax | |
je .L3551 | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call walLockShared | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3550 | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call walUnlockShared | |
mov DWORD PTR -4[rbp], 264 | |
jmp .L3550 | |
.L3551: | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, 1 | |
mov esi, 0 | |
mov rdi, rax | |
call walLockExclusive | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3550 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 64[rax], 1 | |
lea rdx, -16[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call walIndexPage | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3553 | |
mov rdx, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call walIndexTryHdr | |
mov DWORD PTR -8[rbp], eax | |
cmp DWORD PTR -8[rbp], 0 | |
je .L3553 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call walIndexRecover | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -32[rbp] | |
mov DWORD PTR [rax], 1 | |
.L3553: | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 64[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, 1 | |
mov esi, 0 | |
mov rdi, rax | |
call walUnlockExclusive | |
.L3550: | |
cmp DWORD PTR -8[rbp], 0 | |
jne .L3554 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 72[rax] | |
cmp eax, 3007000 | |
je .L3554 | |
mov edi, 57775 | |
call sqlite3CantopenError | |
mov DWORD PTR -4[rbp], eax | |
.L3554: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 70[rax] | |
test al, al | |
je .L3555 | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3556 | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, 0 | |
mov rdi, rax | |
call walIndexClose | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 70[rax], 0 | |
cmp DWORD PTR -4[rbp], 522 | |
jne .L3556 | |
mov DWORD PTR -4[rbp], -1 | |
.L3556: | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 63[rax], 0 | |
.L3555: | |
mov eax, DWORD PTR -4[rbp] | |
.L3557: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE575: | |
.size walIndexReadHdr, .-walIndexReadHdr | |
.type walBeginShmUnreliable, @function | |
walBeginShmUnreliable: | |
.LFB576: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
add rsp, -128 | |
mov QWORD PTR -120[rbp], rdi | |
mov QWORD PTR -128[rbp], rsi | |
mov QWORD PTR -16[rbp], 0 | |
mov rax, QWORD PTR -120[rbp] | |
mov esi, 3 | |
mov rdi, rax | |
call walLockShared | |
mov DWORD PTR -20[rbp], eax | |
cmp DWORD PTR -20[rbp], 0 | |
je .L3559 | |
cmp DWORD PTR -20[rbp], 5 | |
jne .L3583 | |
mov DWORD PTR -20[rbp], -1 | |
jmp .L3583 | |
.L3559: | |
mov rax, QWORD PTR -120[rbp] | |
mov WORD PTR 60[rax], 0 | |
mov rax, QWORD PTR -120[rbp] | |
mov rax, QWORD PTR 8[rax] | |
lea rdx, -88[rbp] | |
mov r8, rdx | |
mov ecx, 0 | |
mov edx, 32768 | |
mov esi, 0 | |
mov rdi, rax | |
call sqlite3OsShmMap | |
mov DWORD PTR -20[rbp], eax | |
cmp DWORD PTR -20[rbp], 1288 | |
je .L3562 | |
cmp DWORD PTR -20[rbp], 8 | |
je .L3563 | |
mov eax, DWORD PTR -20[rbp] | |
jmp .L3564 | |
.L3563: | |
mov eax, -1 | |
.L3564: | |
mov DWORD PTR -20[rbp], eax | |
jmp .L3561 | |
.L3562: | |
mov rax, QWORD PTR -120[rbp] | |
mov rdi, rax | |
call walIndexHdr | |
mov rcx, rax | |
mov rax, QWORD PTR -120[rbp] | |
add rax, 72 | |
mov edx, 48 | |
mov rsi, rcx | |
mov rdi, rax | |
call memcpy@PLT | |
mov rax, QWORD PTR -120[rbp] | |
mov rax, QWORD PTR 16[rax] | |
lea rdx, -48[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3OsFileSize | |
mov DWORD PTR -20[rbp], eax | |
cmp DWORD PTR -20[rbp], 0 | |
jne .L3584 | |
mov rax, QWORD PTR -48[rbp] | |
cmp rax, 31 | |
jg .L3566 | |
mov rax, QWORD PTR -128[rbp] | |
mov DWORD PTR [rax], 1 | |
mov rax, QWORD PTR -120[rbp] | |
mov eax, DWORD PTR 88[rax] | |
test eax, eax | |
jne .L3567 | |
mov eax, 0 | |
jmp .L3568 | |
.L3567: | |
mov eax, -1 | |
.L3568: | |
mov DWORD PTR -20[rbp], eax | |
jmp .L3561 | |
.L3566: | |
mov rax, QWORD PTR -120[rbp] | |
mov rax, QWORD PTR 16[rax] | |
lea rsi, -80[rbp] | |
mov ecx, 0 | |
mov edx, 32 | |
mov rdi, rax | |
call sqlite3OsRead | |
mov DWORD PTR -20[rbp], eax | |
cmp DWORD PTR -20[rbp], 0 | |
jne .L3585 | |
mov rax, QWORD PTR -120[rbp] | |
add rax, 104 | |
lea rdx, -80[rbp] | |
lea rcx, 16[rdx] | |
mov edx, 8 | |
mov rsi, rcx | |
mov rdi, rax | |
call memcmp@PLT | |
test eax, eax | |
je .L3570 | |
mov DWORD PTR -20[rbp], -1 | |
jmp .L3561 | |
.L3570: | |
mov rax, QWORD PTR -120[rbp] | |
movzx eax, WORD PTR 86[rax] | |
movzx eax, ax | |
add eax, 24 | |
mov DWORD PTR -28[rbp], eax | |
mov eax, DWORD PTR -28[rbp] | |
cdqe | |
mov rdi, rax | |
call sqlite3_malloc64 | |
mov QWORD PTR -16[rbp], rax | |
cmp QWORD PTR -16[rbp], 0 | |
jne .L3571 | |
mov DWORD PTR -20[rbp], 7 | |
jmp .L3561 | |
.L3571: | |
mov rax, QWORD PTR -16[rbp] | |
add rax, 24 | |
mov QWORD PTR -40[rbp], rax | |
mov rax, QWORD PTR -120[rbp] | |
mov eax, DWORD PTR 96[rax] | |
mov DWORD PTR -96[rbp], eax | |
mov rax, QWORD PTR -120[rbp] | |
mov eax, DWORD PTR 100[rax] | |
mov DWORD PTR -92[rbp], eax | |
mov rax, QWORD PTR -120[rbp] | |
mov eax, DWORD PTR 88[rax] | |
mov edx, eax | |
mov rax, QWORD PTR -120[rbp] | |
movzx eax, WORD PTR 86[rax] | |
movzx eax, ax | |
add eax, 24 | |
cdqe | |
imul rax, rdx | |
add rax, 32 | |
mov QWORD PTR -8[rbp], rax | |
jmp .L3572 | |
.L3578: | |
mov rax, QWORD PTR -120[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov rcx, QWORD PTR -8[rbp] | |
mov edx, DWORD PTR -28[rbp] | |
mov rsi, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call sqlite3OsRead | |
mov DWORD PTR -20[rbp], eax | |
cmp DWORD PTR -20[rbp], 0 | |
jne .L3586 | |
mov rdi, QWORD PTR -16[rbp] | |
mov rcx, QWORD PTR -40[rbp] | |
lea rdx, -104[rbp] | |
lea rsi, -100[rbp] | |
mov rax, QWORD PTR -120[rbp] | |
mov r8, rdi | |
mov rdi, rax | |
call walDecodeFrame | |
test eax, eax | |
je .L3587 | |
mov eax, DWORD PTR -104[rbp] | |
test eax, eax | |
je .L3576 | |
mov DWORD PTR -20[rbp], -1 | |
nop | |
jmp .L3577 | |
.L3576: | |
mov eax, DWORD PTR -28[rbp] | |
cdqe | |
add QWORD PTR -8[rbp], rax | |
.L3572: | |
mov eax, DWORD PTR -28[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -8[rbp] | |
add rdx, rax | |
mov rax, QWORD PTR -48[rbp] | |
cmp rdx, rax | |
jle .L3578 | |
jmp .L3577 | |
.L3586: | |
nop | |
jmp .L3577 | |
.L3587: | |
nop | |
.L3577: | |
mov edx, DWORD PTR -96[rbp] | |
mov rax, QWORD PTR -120[rbp] | |
mov DWORD PTR 96[rax], edx | |
mov edx, DWORD PTR -92[rbp] | |
mov rax, QWORD PTR -120[rbp] | |
mov DWORD PTR 100[rax], edx | |
jmp .L3561 | |
.L3583: | |
nop | |
jmp .L3561 | |
.L3584: | |
nop | |
jmp .L3561 | |
.L3585: | |
nop | |
.L3561: | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
cmp DWORD PTR -20[rbp], 0 | |
je .L3579 | |
mov DWORD PTR -24[rbp], 0 | |
jmp .L3580 | |
.L3581: | |
mov rax, QWORD PTR -120[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov edx, DWORD PTR -24[rbp] | |
movsx rdx, edx | |
sal rdx, 3 | |
add rax, rdx | |
mov rax, QWORD PTR [rax] | |
mov rdi, rax | |
call sqlite3_free | |
mov rax, QWORD PTR -120[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov edx, DWORD PTR -24[rbp] | |
movsx rdx, edx | |
sal rdx, 3 | |
add rax, rdx | |
mov QWORD PTR [rax], 0 | |
add DWORD PTR -24[rbp], 1 | |
.L3580: | |
mov rax, QWORD PTR -120[rbp] | |
mov eax, DWORD PTR 40[rax] | |
cmp eax, DWORD PTR -24[rbp] | |
jg .L3581 | |
mov rax, QWORD PTR -120[rbp] | |
mov BYTE PTR 70[rax], 0 | |
mov rax, QWORD PTR -120[rbp] | |
mov rdi, rax | |
call sqlite3WalEndReadTransaction | |
mov rax, QWORD PTR -128[rbp] | |
mov DWORD PTR [rax], 1 | |
.L3579: | |
mov eax, DWORD PTR -20[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE576: | |
.size walBeginShmUnreliable, .-walBeginShmUnreliable | |
.type walTryBeginRead, @function | |
walTryBeginRead: | |
.LFB577: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
push rbx | |
sub rsp, 88 | |
.cfi_offset 3, -24 | |
mov QWORD PTR -72[rbp], rdi | |
mov QWORD PTR -80[rbp], rsi | |
mov DWORD PTR -84[rbp], edx | |
mov DWORD PTR -88[rbp], ecx | |
mov DWORD PTR -32[rbp], 0 | |
cmp DWORD PTR -88[rbp], 5 | |
jle .L3589 | |
mov DWORD PTR -36[rbp], 1 | |
cmp DWORD PTR -88[rbp], 100 | |
jle .L3590 | |
mov eax, 15 | |
jmp .L3591 | |
.L3590: | |
cmp DWORD PTR -88[rbp], 9 | |
jle .L3592 | |
mov eax, DWORD PTR -88[rbp] | |
lea edx, -9[rax] | |
mov eax, DWORD PTR -88[rbp] | |
sub eax, 9 | |
imul eax, edx | |
imul eax, eax, 39 | |
mov DWORD PTR -36[rbp], eax | |
.L3592: | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR [rax] | |
mov edx, DWORD PTR -36[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3OsSleep | |
.L3589: | |
cmp DWORD PTR -84[rbp], 0 | |
jne .L3593 | |
mov rax, QWORD PTR -72[rbp] | |
movzx eax, BYTE PTR 70[rax] | |
test al, al | |
jne .L3594 | |
mov rdx, QWORD PTR -80[rbp] | |
mov rax, QWORD PTR -72[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call walIndexReadHdr | |
mov DWORD PTR -32[rbp], eax | |
.L3594: | |
cmp DWORD PTR -32[rbp], 5 | |
jne .L3595 | |
mov rax, QWORD PTR -72[rbp] | |
mov rax, QWORD PTR 48[rax] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
jne .L3596 | |
mov DWORD PTR -32[rbp], -1 | |
jmp .L3595 | |
.L3596: | |
mov rax, QWORD PTR -72[rbp] | |
mov esi, 2 | |
mov rdi, rax | |
call walLockShared | |
mov DWORD PTR -32[rbp], eax | |
cmp DWORD PTR -32[rbp], 0 | |
jne .L3597 | |
mov rax, QWORD PTR -72[rbp] | |
mov esi, 2 | |
mov rdi, rax | |
call walUnlockShared | |
mov DWORD PTR -32[rbp], -1 | |
jmp .L3595 | |
.L3597: | |
cmp DWORD PTR -32[rbp], 5 | |
jne .L3595 | |
mov DWORD PTR -32[rbp], 261 | |
.L3595: | |
cmp DWORD PTR -32[rbp], 0 | |
je .L3598 | |
mov eax, DWORD PTR -32[rbp] | |
jmp .L3591 | |
.L3598: | |
mov rax, QWORD PTR -72[rbp] | |
movzx eax, BYTE PTR 70[rax] | |
test al, al | |
je .L3593 | |
mov rdx, QWORD PTR -80[rbp] | |
mov rax, QWORD PTR -72[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call walBeginShmUnreliable | |
jmp .L3591 | |
.L3593: | |
mov rax, QWORD PTR -72[rbp] | |
mov rdi, rax | |
call walCkptInfo | |
mov QWORD PTR -48[rbp], rax | |
cmp DWORD PTR -84[rbp], 0 | |
jne .L3599 | |
mov rax, QWORD PTR -48[rbp] | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 88[rax] | |
cmp edx, eax | |
jne .L3599 | |
mov rax, QWORD PTR -72[rbp] | |
mov esi, 3 | |
mov rdi, rax | |
call walLockShared | |
mov DWORD PTR -32[rbp], eax | |
mov rax, QWORD PTR -72[rbp] | |
mov rdi, rax | |
call walShmBarrier | |
cmp DWORD PTR -32[rbp], 0 | |
jne .L3600 | |
mov rax, QWORD PTR -72[rbp] | |
lea rbx, 72[rax] | |
mov rax, QWORD PTR -72[rbp] | |
mov rdi, rax | |
call walIndexHdr | |
mov edx, 48 | |
mov rsi, rbx | |
mov rdi, rax | |
call memcmp@PLT | |
test eax, eax | |
je .L3601 | |
mov rax, QWORD PTR -72[rbp] | |
mov esi, 3 | |
mov rdi, rax | |
call walUnlockShared | |
mov eax, -1 | |
jmp .L3591 | |
.L3601: | |
mov rax, QWORD PTR -72[rbp] | |
mov WORD PTR 60[rax], 0 | |
mov eax, 0 | |
jmp .L3591 | |
.L3600: | |
cmp DWORD PTR -32[rbp], 5 | |
je .L3599 | |
mov eax, DWORD PTR -32[rbp] | |
jmp .L3591 | |
.L3599: | |
mov DWORD PTR -20[rbp], 0 | |
mov DWORD PTR -24[rbp], 0 | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 88[rax] | |
mov DWORD PTR -52[rbp], eax | |
mov DWORD PTR -28[rbp], 1 | |
jmp .L3602 | |
.L3604: | |
mov rax, QWORD PTR -48[rbp] | |
mov edx, DWORD PTR -28[rbp] | |
movsx rdx, edx | |
mov eax, DWORD PTR 4[rax+rdx*4] | |
mov DWORD PTR -56[rbp], eax | |
mov eax, DWORD PTR -20[rbp] | |
cmp eax, DWORD PTR -56[rbp] | |
ja .L3603 | |
mov eax, DWORD PTR -56[rbp] | |
cmp eax, DWORD PTR -52[rbp] | |
ja .L3603 | |
mov eax, DWORD PTR -56[rbp] | |
mov DWORD PTR -20[rbp], eax | |
mov eax, DWORD PTR -28[rbp] | |
mov DWORD PTR -24[rbp], eax | |
.L3603: | |
add DWORD PTR -28[rbp], 1 | |
.L3602: | |
cmp DWORD PTR -28[rbp], 4 | |
jle .L3604 | |
mov rax, QWORD PTR -72[rbp] | |
movzx eax, BYTE PTR 66[rax] | |
movzx eax, al | |
and eax, 2 | |
test eax, eax | |
jne .L3605 | |
mov eax, DWORD PTR -20[rbp] | |
cmp eax, DWORD PTR -52[rbp] | |
jb .L3606 | |
cmp DWORD PTR -24[rbp], 0 | |
jne .L3605 | |
.L3606: | |
mov DWORD PTR -28[rbp], 1 | |
jmp .L3607 | |
.L3610: | |
mov eax, DWORD PTR -28[rbp] | |
lea ecx, 3[rax] | |
mov rax, QWORD PTR -72[rbp] | |
mov edx, 1 | |
mov esi, ecx | |
mov rdi, rax | |
call walLockExclusive | |
mov DWORD PTR -32[rbp], eax | |
cmp DWORD PTR -32[rbp], 0 | |
jne .L3608 | |
mov eax, DWORD PTR -52[rbp] | |
mov rdx, QWORD PTR -48[rbp] | |
mov ecx, DWORD PTR -28[rbp] | |
movsx rcx, ecx | |
mov DWORD PTR 4[rdx+rcx*4], eax | |
mov DWORD PTR -20[rbp], eax | |
mov eax, DWORD PTR -28[rbp] | |
mov DWORD PTR -24[rbp], eax | |
mov eax, DWORD PTR -28[rbp] | |
lea ecx, 3[rax] | |
mov rax, QWORD PTR -72[rbp] | |
mov edx, 1 | |
mov esi, ecx | |
mov rdi, rax | |
call walUnlockExclusive | |
jmp .L3605 | |
.L3608: | |
cmp DWORD PTR -32[rbp], 5 | |
je .L3609 | |
mov eax, DWORD PTR -32[rbp] | |
jmp .L3591 | |
.L3609: | |
add DWORD PTR -28[rbp], 1 | |
.L3607: | |
cmp DWORD PTR -28[rbp], 4 | |
jle .L3610 | |
.L3605: | |
cmp DWORD PTR -24[rbp], 0 | |
jne .L3611 | |
cmp DWORD PTR -32[rbp], 5 | |
jne .L3612 | |
mov eax, -1 | |
jmp .L3591 | |
.L3612: | |
mov eax, 1288 | |
jmp .L3591 | |
.L3611: | |
mov eax, DWORD PTR -24[rbp] | |
lea edx, 3[rax] | |
mov rax, QWORD PTR -72[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call walLockShared | |
mov DWORD PTR -32[rbp], eax | |
cmp DWORD PTR -32[rbp], 0 | |
je .L3614 | |
cmp DWORD PTR -32[rbp], 5 | |
je .L3615 | |
mov eax, DWORD PTR -32[rbp] | |
jmp .L3591 | |
.L3615: | |
mov eax, -1 | |
jmp .L3591 | |
.L3614: | |
mov rax, QWORD PTR -48[rbp] | |
mov eax, DWORD PTR [rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -72[rbp] | |
mov DWORD PTR 120[rax], edx | |
mov rax, QWORD PTR -72[rbp] | |
mov rdi, rax | |
call walShmBarrier | |
mov rax, QWORD PTR -48[rbp] | |
mov edx, DWORD PTR -24[rbp] | |
movsx rdx, edx | |
mov eax, DWORD PTR 4[rax+rdx*4] | |
cmp eax, DWORD PTR -20[rbp] | |
jne .L3617 | |
mov rax, QWORD PTR -72[rbp] | |
lea rbx, 72[rax] | |
mov rax, QWORD PTR -72[rbp] | |
mov rdi, rax | |
call walIndexHdr | |
mov edx, 48 | |
mov rsi, rbx | |
mov rdi, rax | |
call memcmp@PLT | |
test eax, eax | |
je .L3618 | |
.L3617: | |
mov eax, DWORD PTR -24[rbp] | |
lea edx, 3[rax] | |
mov rax, QWORD PTR -72[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call walUnlockShared | |
mov eax, -1 | |
jmp .L3591 | |
.L3618: | |
mov eax, DWORD PTR -24[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -72[rbp] | |
mov WORD PTR 60[rax], dx | |
mov eax, DWORD PTR -32[rbp] | |
.L3591: | |
add rsp, 88 | |
pop rbx | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE577: | |
.size walTryBeginRead, .-walTryBeginRead | |
.type sqlite3WalBeginReadTransaction, @function | |
sqlite3WalBeginReadTransaction: | |
.LFB578: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov DWORD PTR -4[rbp], 0 | |
.L3620: | |
add DWORD PTR -4[rbp], 1 | |
mov edx, DWORD PTR -4[rbp] | |
mov rsi, QWORD PTR -32[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov ecx, edx | |
mov edx, 0 | |
mov rdi, rax | |
call walTryBeginRead | |
mov DWORD PTR -8[rbp], eax | |
cmp DWORD PTR -8[rbp], -1 | |
je .L3620 | |
mov eax, DWORD PTR -8[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE578: | |
.size sqlite3WalBeginReadTransaction, .-sqlite3WalBeginReadTransaction | |
.type sqlite3WalEndReadTransaction, @function | |
sqlite3WalEndReadTransaction: | |
.LFB579: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3WalEndWriteTransaction | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 60[rax] | |
test ax, ax | |
js .L3624 | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 60[rax] | |
cwde | |
lea edx, 3[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call walUnlockShared | |
mov rax, QWORD PTR -8[rbp] | |
mov WORD PTR 60[rax], -1 | |
.L3624: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE579: | |
.size sqlite3WalEndReadTransaction, .-sqlite3WalEndReadTransaction | |
.type sqlite3WalFindFrame, @function | |
sqlite3WalFindFrame: | |
.LFB580: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 96 | |
mov QWORD PTR -72[rbp], rdi | |
mov DWORD PTR -76[rbp], esi | |
mov QWORD PTR -88[rbp], rdx | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 88[rax] | |
mov DWORD PTR -20[rbp], eax | |
cmp DWORD PTR -20[rbp], 0 | |
je .L3626 | |
mov rax, QWORD PTR -72[rbp] | |
movzx eax, WORD PTR 60[rax] | |
test ax, ax | |
jne .L3627 | |
mov rax, QWORD PTR -72[rbp] | |
movzx eax, BYTE PTR 70[rax] | |
test al, al | |
jne .L3627 | |
.L3626: | |
mov rax, QWORD PTR -88[rbp] | |
mov DWORD PTR [rax], 0 | |
mov eax, 0 | |
jmp .L3628 | |
.L3627: | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 120[rax] | |
mov edi, eax | |
call walFramePage | |
mov DWORD PTR -24[rbp], eax | |
mov eax, DWORD PTR -20[rbp] | |
mov edi, eax | |
call walFramePage | |
mov DWORD PTR -8[rbp], eax | |
jmp .L3629 | |
.L3637: | |
lea rdi, -52[rbp] | |
lea rcx, -48[rbp] | |
lea rdx, -40[rbp] | |
mov esi, DWORD PTR -8[rbp] | |
mov rax, QWORD PTR -72[rbp] | |
mov r8, rdi | |
mov rdi, rax | |
call walHashGet | |
mov DWORD PTR -28[rbp], eax | |
cmp DWORD PTR -28[rbp], 0 | |
je .L3630 | |
mov eax, DWORD PTR -28[rbp] | |
jmp .L3628 | |
.L3630: | |
mov DWORD PTR -16[rbp], 8192 | |
mov eax, DWORD PTR -76[rbp] | |
mov edi, eax | |
call walHash | |
mov DWORD PTR -12[rbp], eax | |
jmp .L3632 | |
.L3635: | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR -12[rbp] | |
movsx rdx, edx | |
add rdx, rdx | |
add rax, rdx | |
movzx eax, WORD PTR [rax] | |
movzx edx, ax | |
mov eax, DWORD PTR -52[rbp] | |
add eax, edx | |
mov DWORD PTR -32[rbp], eax | |
mov eax, DWORD PTR -32[rbp] | |
cmp eax, DWORD PTR -20[rbp] | |
ja .L3633 | |
mov rax, QWORD PTR -72[rbp] | |
mov eax, DWORD PTR 120[rax] | |
cmp eax, DWORD PTR -32[rbp] | |
ja .L3633 | |
mov rax, QWORD PTR -48[rbp] | |
mov rdx, QWORD PTR -40[rbp] | |
mov ecx, DWORD PTR -12[rbp] | |
movsx rcx, ecx | |
add rcx, rcx | |
add rdx, rcx | |
movzx edx, WORD PTR [rdx] | |
movzx edx, dx | |
sal rdx, 2 | |
add rax, rdx | |
mov eax, DWORD PTR [rax] | |
cmp eax, DWORD PTR -76[rbp] | |
jne .L3633 | |
mov eax, DWORD PTR -32[rbp] | |
mov DWORD PTR -4[rbp], eax | |
.L3633: | |
mov eax, DWORD PTR -16[rbp] | |
lea edx, -1[rax] | |
mov DWORD PTR -16[rbp], edx | |
test eax, eax | |
jne .L3634 | |
mov edi, 58492 | |
call sqlite3CorruptError | |
jmp .L3628 | |
.L3634: | |
mov eax, DWORD PTR -12[rbp] | |
mov edi, eax | |
call walNextHash | |
mov DWORD PTR -12[rbp], eax | |
.L3632: | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR -12[rbp] | |
movsx rdx, edx | |
add rdx, rdx | |
add rax, rdx | |
movzx eax, WORD PTR [rax] | |
test ax, ax | |
jne .L3635 | |
sub DWORD PTR -8[rbp], 1 | |
.L3629: | |
mov eax, DWORD PTR -8[rbp] | |
cmp eax, DWORD PTR -24[rbp] | |
jl .L3636 | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3637 | |
.L3636: | |
mov rax, QWORD PTR -88[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
mov DWORD PTR [rax], edx | |
mov eax, 0 | |
.L3628: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE580: | |
.size sqlite3WalFindFrame, .-sqlite3WalFindFrame | |
.type sqlite3WalReadFrame, @function | |
sqlite3WalReadFrame: | |
.LFB581: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov DWORD PTR -32[rbp], edx | |
mov QWORD PTR -40[rbp], rcx | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, WORD PTR 86[rax] | |
movzx eax, ax | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
and eax, 65024 | |
mov edx, eax | |
mov eax, DWORD PTR -4[rbp] | |
sal eax, 16 | |
and eax, 65536 | |
or eax, edx | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -28[rbp] | |
sub eax, 1 | |
mov edx, eax | |
mov eax, DWORD PTR -4[rbp] | |
add eax, 24 | |
cdqe | |
imul rax, rdx | |
add rax, 56 | |
mov QWORD PTR -16[rbp], rax | |
mov eax, DWORD PTR -4[rbp] | |
cmp DWORD PTR -32[rbp], eax | |
cmovle eax, DWORD PTR -32[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov rcx, QWORD PTR -16[rbp] | |
mov rsi, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call sqlite3OsRead | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE581: | |
.size sqlite3WalReadFrame, .-sqlite3WalReadFrame | |
.type sqlite3WalDbsize, @function | |
sqlite3WalDbsize: | |
.LFB582: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
cmp QWORD PTR -8[rbp], 0 | |
je .L3641 | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, WORD PTR 60[rax] | |
test ax, ax | |
js .L3641 | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 92[rax] | |
jmp .L3642 | |
.L3641: | |
mov eax, 0 | |
.L3642: | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE582: | |
.size sqlite3WalDbsize, .-sqlite3WalDbsize | |
.type sqlite3WalBeginWriteTransaction, @function | |
sqlite3WalBeginWriteTransaction: | |
.LFB583: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 66[rax] | |
test al, al | |
je .L3644 | |
mov eax, 8 | |
jmp .L3645 | |
.L3644: | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, 1 | |
mov esi, 0 | |
mov rdi, rax | |
call walLockExclusive | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3646 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L3645 | |
.L3646: | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 64[rax], 1 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call walIndexHdr | |
mov rcx, rax | |
mov rax, QWORD PTR -24[rbp] | |
add rax, 72 | |
mov edx, 48 | |
mov rsi, rcx | |
mov rdi, rax | |
call memcmp@PLT | |
test eax, eax | |
je .L3647 | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, 1 | |
mov esi, 0 | |
mov rdi, rax | |
call walUnlockExclusive | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 64[rax], 0 | |
mov DWORD PTR -4[rbp], 517 | |
.L3647: | |
mov eax, DWORD PTR -4[rbp] | |
.L3645: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE583: | |
.size sqlite3WalBeginWriteTransaction, .-sqlite3WalBeginWriteTransaction | |
.type sqlite3WalEndWriteTransaction, @function | |
sqlite3WalEndWriteTransaction: | |
.LFB584: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 64[rax] | |
test al, al | |
je .L3649 | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, 1 | |
mov esi, 0 | |
mov rdi, rax | |
call walUnlockExclusive | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 64[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 124[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 67[rax], 0 | |
.L3649: | |
mov eax, 0 | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE584: | |
.size sqlite3WalEndWriteTransaction, .-sqlite3WalEndWriteTransaction | |
.type sqlite3WalUndo, @function | |
sqlite3WalUndo: | |
.LFB585: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov QWORD PTR -40[rbp], rdx | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 64[rax] | |
test al, al | |
je .L3652 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 88[rax] | |
mov DWORD PTR -12[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call walIndexHdr | |
mov rcx, rax | |
mov rax, QWORD PTR -24[rbp] | |
add rax, 72 | |
mov edx, 48 | |
mov rsi, rcx | |
mov rdi, rax | |
call memcpy@PLT | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 88[rax] | |
add eax, 1 | |
mov DWORD PTR -8[rbp], eax | |
jmp .L3653 | |
.L3655: | |
mov edx, DWORD PTR -8[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call walFramePgno | |
mov ecx, eax | |
mov rdx, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR -32[rbp] | |
mov esi, ecx | |
mov rdi, rdx | |
call rax | |
mov DWORD PTR -4[rbp], eax | |
add DWORD PTR -8[rbp], 1 | |
.L3653: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3654 | |
mov eax, DWORD PTR -8[rbp] | |
cmp eax, DWORD PTR -12[rbp] | |
jbe .L3655 | |
.L3654: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 88[rax] | |
cmp eax, DWORD PTR -12[rbp] | |
je .L3652 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call walCleanupHash | |
.L3652: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE585: | |
.size sqlite3WalUndo, .-sqlite3WalUndo | |
.type sqlite3WalSavepoint, @function | |
sqlite3WalSavepoint: | |
.LFB586: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov QWORD PTR -16[rbp], rsi | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, DWORD PTR 88[rax] | |
mov rax, QWORD PTR -16[rbp] | |
mov DWORD PTR [rax], edx | |
mov rax, QWORD PTR -16[rbp] | |
lea rdx, 4[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 96[rax] | |
mov DWORD PTR [rdx], eax | |
mov rax, QWORD PTR -16[rbp] | |
lea rdx, 8[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 100[rax] | |
mov DWORD PTR [rdx], eax | |
mov rax, QWORD PTR -16[rbp] | |
lea rdx, 12[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 136[rax] | |
mov DWORD PTR [rdx], eax | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE586: | |
.size sqlite3WalSavepoint, .-sqlite3WalSavepoint | |
.type sqlite3WalSavepointUndo, @function | |
sqlite3WalSavepointUndo: | |
.LFB587: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -32[rbp] | |
add rax, 12 | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 136[rax] | |
cmp edx, eax | |
je .L3659 | |
mov rax, QWORD PTR -32[rbp] | |
mov DWORD PTR [rax], 0 | |
mov rax, QWORD PTR -32[rbp] | |
lea rdx, 12[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 136[rax] | |
mov DWORD PTR [rdx], eax | |
.L3659: | |
mov rax, QWORD PTR -32[rbp] | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 88[rax] | |
cmp edx, eax | |
jnb .L3660 | |
mov rax, QWORD PTR -32[rbp] | |
mov edx, DWORD PTR [rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 88[rax], edx | |
mov rax, QWORD PTR -32[rbp] | |
mov edx, DWORD PTR 4[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 96[rax], edx | |
mov rax, QWORD PTR -32[rbp] | |
mov edx, DWORD PTR 8[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 100[rax], edx | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call walCleanupHash | |
.L3660: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE587: | |
.size sqlite3WalSavepointUndo, .-sqlite3WalSavepointUndo | |
.type walRestartLog, @function | |
walRestartLog: | |
.LFB588: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, WORD PTR 60[rax] | |
test ax, ax | |
jne .L3663 | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call walCkptInfo | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR [rax] | |
test eax, eax | |
je .L3664 | |
lea rax, -20[rbp] | |
mov rsi, rax | |
mov edi, 4 | |
call sqlite3_randomness | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, 4 | |
mov esi, 4 | |
mov rdi, rax | |
call walLockExclusive | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3665 | |
mov edx, DWORD PTR -20[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call walRestartHdr | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, 4 | |
mov esi, 4 | |
mov rdi, rax | |
call walUnlockExclusive | |
jmp .L3664 | |
.L3665: | |
cmp DWORD PTR -4[rbp], 5 | |
je .L3664 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L3667 | |
.L3664: | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, 3 | |
mov rdi, rax | |
call walUnlockShared | |
mov rax, QWORD PTR -40[rbp] | |
mov WORD PTR 60[rax], -1 | |
mov DWORD PTR -8[rbp], 0 | |
.L3668: | |
add DWORD PTR -8[rbp], 1 | |
mov edx, DWORD PTR -8[rbp] | |
lea rsi, -24[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov ecx, edx | |
mov edx, 1 | |
mov rdi, rax | |
call walTryBeginRead | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], -1 | |
je .L3668 | |
.L3663: | |
mov eax, DWORD PTR -4[rbp] | |
.L3667: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE588: | |
.size walRestartLog, .-walRestartLog | |
.type walWriteToLog, @function | |
walWriteToLog: | |
.LFB589: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov DWORD PTR -36[rbp], edx | |
mov QWORD PTR -48[rbp], rcx | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 16[rax] | |
cmp rax, QWORD PTR -48[rbp] | |
jle .L3670 | |
mov eax, DWORD PTR -36[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -48[rbp] | |
add rdx, rax | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 16[rax] | |
cmp rdx, rax | |
jl .L3670 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov edx, eax | |
mov rax, QWORD PTR -48[rbp] | |
sub edx, eax | |
mov eax, edx | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rcx, QWORD PTR -48[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
mov rsi, QWORD PTR -32[rbp] | |
mov rdi, rax | |
call sqlite3OsWrite | |
mov DWORD PTR -8[rbp], eax | |
cmp DWORD PTR -8[rbp], 0 | |
je .L3671 | |
mov eax, DWORD PTR -8[rbp] | |
jmp .L3672 | |
.L3671: | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add QWORD PTR -48[rbp], rax | |
mov eax, DWORD PTR -4[rbp] | |
sub DWORD PTR -36[rbp], eax | |
mov eax, DWORD PTR -4[rbp] | |
cdqe | |
add QWORD PTR -32[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 24[rax] | |
and eax, 3 | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3OsSync | |
mov DWORD PTR -8[rbp], eax | |
cmp DWORD PTR -36[rbp], 0 | |
je .L3673 | |
cmp DWORD PTR -8[rbp], 0 | |
je .L3670 | |
.L3673: | |
mov eax, DWORD PTR -8[rbp] | |
jmp .L3672 | |
.L3670: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rcx, QWORD PTR -48[rbp] | |
mov edx, DWORD PTR -36[rbp] | |
mov rsi, QWORD PTR -32[rbp] | |
mov rdi, rax | |
call sqlite3OsWrite | |
mov DWORD PTR -8[rbp], eax | |
mov eax, DWORD PTR -8[rbp] | |
.L3672: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE589: | |
.size walWriteToLog, .-walWriteToLog | |
.type walWriteOneFrame, @function | |
walWriteOneFrame: | |
.LFB590: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 80 | |
mov QWORD PTR -56[rbp], rdi | |
mov QWORD PTR -64[rbp], rsi | |
mov DWORD PTR -68[rbp], edx | |
mov QWORD PTR -80[rbp], rcx | |
mov rax, QWORD PTR -64[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -8[rbp], rax | |
mov edx, DWORD PTR -68[rbp] | |
mov rax, QWORD PTR -64[rbp] | |
mov esi, DWORD PTR 48[rax] | |
mov rax, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR [rax] | |
lea rdi, -48[rbp] | |
mov rcx, QWORD PTR -8[rbp] | |
mov r8, rdi | |
mov rdi, rax | |
call walEncodeFrame | |
mov rdx, QWORD PTR -80[rbp] | |
lea rsi, -48[rbp] | |
mov rax, QWORD PTR -56[rbp] | |
mov rcx, rdx | |
mov edx, 24 | |
mov rdi, rax | |
call walWriteToLog | |
mov DWORD PTR -12[rbp], eax | |
cmp DWORD PTR -12[rbp], 0 | |
je .L3675 | |
mov eax, DWORD PTR -12[rbp] | |
jmp .L3677 | |
.L3675: | |
mov rax, QWORD PTR -80[rbp] | |
add rax, 24 | |
mov rcx, rax | |
mov rax, QWORD PTR -56[rbp] | |
mov edx, DWORD PTR 28[rax] | |
mov rsi, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR -56[rbp] | |
mov rdi, rax | |
call walWriteToLog | |
mov DWORD PTR -12[rbp], eax | |
mov eax, DWORD PTR -12[rbp] | |
.L3677: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE590: | |
.size walWriteOneFrame, .-walWriteOneFrame | |
.type walRewriteChecksums, @function | |
walRewriteChecksums: | |
.LFB591: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 96 | |
mov QWORD PTR -88[rbp], rdi | |
mov DWORD PTR -92[rbp], esi | |
mov rax, QWORD PTR -88[rbp] | |
mov eax, DWORD PTR 56[rax] | |
mov DWORD PTR -20[rbp], eax | |
mov DWORD PTR -4[rbp], 0 | |
mov eax, DWORD PTR -20[rbp] | |
add eax, 24 | |
mov edi, eax | |
call sqlite3_malloc | |
mov QWORD PTR -32[rbp], rax | |
cmp QWORD PTR -32[rbp], 0 | |
jne .L3679 | |
mov eax, 7 | |
jmp .L3687 | |
.L3679: | |
mov rax, QWORD PTR -88[rbp] | |
mov eax, DWORD PTR 124[rax] | |
cmp eax, 1 | |
jne .L3681 | |
mov QWORD PTR -16[rbp], 24 | |
jmp .L3682 | |
.L3681: | |
mov rax, QWORD PTR -88[rbp] | |
mov eax, DWORD PTR 124[rax] | |
sub eax, 2 | |
mov edx, eax | |
mov eax, DWORD PTR -20[rbp] | |
add eax, 24 | |
cdqe | |
imul rax, rdx | |
add rax, 48 | |
mov QWORD PTR -16[rbp], rax | |
.L3682: | |
mov rax, QWORD PTR -88[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov rdx, QWORD PTR -16[rbp] | |
mov rsi, QWORD PTR -32[rbp] | |
mov rcx, rdx | |
mov edx, 8 | |
mov rdi, rax | |
call sqlite3OsRead | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -32[rbp] | |
mov rdi, rax | |
call sqlite3Get4byte | |
mov edx, eax | |
mov rax, QWORD PTR -88[rbp] | |
mov DWORD PTR 96[rax], edx | |
mov rax, QWORD PTR -32[rbp] | |
add rax, 4 | |
mov rdi, rax | |
call sqlite3Get4byte | |
mov edx, eax | |
mov rax, QWORD PTR -88[rbp] | |
mov DWORD PTR 100[rax], edx | |
mov rax, QWORD PTR -88[rbp] | |
mov eax, DWORD PTR 124[rax] | |
mov DWORD PTR -8[rbp], eax | |
mov rax, QWORD PTR -88[rbp] | |
mov DWORD PTR 124[rax], 0 | |
jmp .L3683 | |
.L3686: | |
mov eax, DWORD PTR -8[rbp] | |
sub eax, 1 | |
mov edx, eax | |
mov eax, DWORD PTR -20[rbp] | |
add eax, 24 | |
cdqe | |
imul rax, rdx | |
add rax, 32 | |
mov QWORD PTR -40[rbp], rax | |
mov eax, DWORD PTR -20[rbp] | |
lea edi, 24[rax] | |
mov rax, QWORD PTR -88[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov rdx, QWORD PTR -40[rbp] | |
mov rsi, QWORD PTR -32[rbp] | |
mov rcx, rdx | |
mov edx, edi | |
mov rdi, rax | |
call sqlite3OsRead | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3684 | |
mov rax, QWORD PTR -32[rbp] | |
mov rdi, rax | |
call sqlite3Get4byte | |
mov DWORD PTR -44[rbp], eax | |
mov rax, QWORD PTR -32[rbp] | |
add rax, 4 | |
mov rdi, rax | |
call sqlite3Get4byte | |
mov DWORD PTR -48[rbp], eax | |
mov rax, QWORD PTR -32[rbp] | |
lea rcx, 24[rax] | |
lea rdi, -80[rbp] | |
mov edx, DWORD PTR -48[rbp] | |
mov esi, DWORD PTR -44[rbp] | |
mov rax, QWORD PTR -88[rbp] | |
mov r8, rdi | |
mov rdi, rax | |
call walEncodeFrame | |
mov rax, QWORD PTR -88[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov rdx, QWORD PTR -40[rbp] | |
lea rsi, -80[rbp] | |
mov rcx, rdx | |
mov edx, 24 | |
mov rdi, rax | |
call sqlite3OsWrite | |
mov DWORD PTR -4[rbp], eax | |
.L3684: | |
add DWORD PTR -8[rbp], 1 | |
.L3683: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3685 | |
mov eax, DWORD PTR -8[rbp] | |
cmp eax, DWORD PTR -92[rbp] | |
jbe .L3686 | |
.L3685: | |
mov rax, QWORD PTR -32[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
mov eax, DWORD PTR -4[rbp] | |
.L3687: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE591: | |
.size walRewriteChecksums, .-walRewriteChecksums | |
.type sqlite3WalFrames, @function | |
sqlite3WalFrames: | |
.LFB592: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 208 | |
mov QWORD PTR -184[rbp], rdi | |
mov DWORD PTR -188[rbp], esi | |
mov QWORD PTR -200[rbp], rdx | |
mov DWORD PTR -192[rbp], ecx | |
mov DWORD PTR -204[rbp], r8d | |
mov DWORD PTR -208[rbp], r9d | |
mov QWORD PTR -24[rbp], 0 | |
mov DWORD PTR -28[rbp], 0 | |
mov DWORD PTR -44[rbp], 0 | |
mov rax, QWORD PTR -184[rbp] | |
mov rdi, rax | |
call walIndexHdr | |
mov QWORD PTR -64[rbp], rax | |
mov rax, QWORD PTR -184[rbp] | |
lea rcx, 72[rax] | |
mov rax, QWORD PTR -64[rbp] | |
mov edx, 48 | |
mov rsi, rax | |
mov rdi, rcx | |
call memcmp@PLT | |
test eax, eax | |
je .L3689 | |
mov rax, QWORD PTR -64[rbp] | |
mov eax, DWORD PTR 16[rax] | |
add eax, 1 | |
mov DWORD PTR -44[rbp], eax | |
.L3689: | |
mov rax, QWORD PTR -184[rbp] | |
mov rdi, rax | |
call walRestartLog | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3690 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L3727 | |
.L3690: | |
mov rax, QWORD PTR -184[rbp] | |
mov eax, DWORD PTR 88[rax] | |
mov DWORD PTR -8[rbp], eax | |
cmp DWORD PTR -8[rbp], 0 | |
jne .L3692 | |
lea rax, -176[rbp] | |
mov esi, 931071618 | |
mov rdi, rax | |
call sqlite3Put4byte | |
lea rax, -176[rbp] | |
add rax, 4 | |
mov esi, 3007000 | |
mov rdi, rax | |
call sqlite3Put4byte | |
mov eax, DWORD PTR -188[rbp] | |
lea rdx, -176[rbp] | |
add rdx, 8 | |
mov esi, eax | |
mov rdi, rdx | |
call sqlite3Put4byte | |
mov rax, QWORD PTR -184[rbp] | |
mov eax, DWORD PTR 136[rax] | |
lea rdx, -176[rbp] | |
add rdx, 12 | |
mov esi, eax | |
mov rdi, rdx | |
call sqlite3Put4byte | |
mov rax, QWORD PTR -184[rbp] | |
mov eax, DWORD PTR 136[rax] | |
test eax, eax | |
jne .L3693 | |
mov rax, QWORD PTR -184[rbp] | |
add rax, 104 | |
mov rsi, rax | |
mov edi, 8 | |
call sqlite3_randomness | |
.L3693: | |
mov rax, QWORD PTR -184[rbp] | |
add rax, 104 | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -160[rbp], rax | |
lea rdx, -136[rbp] | |
lea rax, -176[rbp] | |
mov r8, rdx | |
mov ecx, 0 | |
mov edx, 24 | |
mov rsi, rax | |
mov edi, 1 | |
call walChecksumBytes | |
mov eax, DWORD PTR -136[rbp] | |
lea rdx, -176[rbp] | |
add rdx, 24 | |
mov esi, eax | |
mov rdi, rdx | |
call sqlite3Put4byte | |
mov eax, DWORD PTR -132[rbp] | |
lea rdx, -176[rbp] | |
add rdx, 28 | |
mov esi, eax | |
mov rdi, rdx | |
call sqlite3Put4byte | |
mov edx, DWORD PTR -188[rbp] | |
mov rax, QWORD PTR -184[rbp] | |
mov DWORD PTR 56[rax], edx | |
mov rax, QWORD PTR -184[rbp] | |
mov BYTE PTR 85[rax], 0 | |
mov edx, DWORD PTR -136[rbp] | |
mov rax, QWORD PTR -184[rbp] | |
mov DWORD PTR 96[rax], edx | |
mov edx, DWORD PTR -132[rbp] | |
mov rax, QWORD PTR -184[rbp] | |
mov DWORD PTR 100[rax], edx | |
mov rax, QWORD PTR -184[rbp] | |
mov BYTE PTR 67[rax], 1 | |
mov rax, QWORD PTR -184[rbp] | |
mov rax, QWORD PTR 16[rax] | |
lea rsi, -176[rbp] | |
mov ecx, 0 | |
mov edx, 32 | |
mov rdi, rax | |
call sqlite3OsWrite | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3694 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L3727 | |
.L3694: | |
mov rax, QWORD PTR -184[rbp] | |
movzx eax, BYTE PTR 68[rax] | |
test al, al | |
je .L3692 | |
mov eax, DWORD PTR -208[rbp] | |
sar eax, 2 | |
and eax, 3 | |
mov edx, eax | |
mov rax, QWORD PTR -184[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3OsSync | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3692 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L3727 | |
.L3692: | |
mov rax, QWORD PTR -184[rbp] | |
mov QWORD PTR -128[rbp], rax | |
mov rax, QWORD PTR -184[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -120[rbp], rax | |
mov QWORD PTR -112[rbp], 0 | |
mov eax, DWORD PTR -208[rbp] | |
mov DWORD PTR -104[rbp], eax | |
mov eax, DWORD PTR -188[rbp] | |
mov DWORD PTR -100[rbp], eax | |
mov edx, DWORD PTR -8[rbp] | |
mov eax, DWORD PTR -188[rbp] | |
add eax, 24 | |
cdqe | |
imul rax, rdx | |
add rax, 32 | |
mov QWORD PTR -40[rbp], rax | |
mov eax, DWORD PTR -188[rbp] | |
add eax, 24 | |
mov DWORD PTR -68[rbp], eax | |
mov rax, QWORD PTR -200[rbp] | |
mov QWORD PTR -16[rbp], rax | |
jmp .L3697 | |
.L3708: | |
cmp DWORD PTR -44[rbp], 0 | |
je .L3698 | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 32[rax] | |
test rax, rax | |
jne .L3699 | |
cmp DWORD PTR -204[rbp], 0 | |
jne .L3698 | |
.L3699: | |
mov DWORD PTR -140[rbp], 0 | |
mov rax, QWORD PTR -16[rbp] | |
mov ecx, DWORD PTR 48[rax] | |
lea rdx, -140[rbp] | |
mov rax, QWORD PTR -184[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call sqlite3WalFindFrame | |
mov eax, DWORD PTR -140[rbp] | |
cmp eax, DWORD PTR -44[rbp] | |
jb .L3698 | |
mov eax, DWORD PTR -140[rbp] | |
sub eax, 1 | |
mov edx, eax | |
mov eax, DWORD PTR -188[rbp] | |
add eax, 24 | |
cdqe | |
imul rax, rdx | |
add rax, 56 | |
mov QWORD PTR -80[rbp], rax | |
mov rax, QWORD PTR -184[rbp] | |
mov eax, DWORD PTR 124[rax] | |
test eax, eax | |
je .L3701 | |
mov rax, QWORD PTR -184[rbp] | |
mov edx, DWORD PTR 124[rax] | |
mov eax, DWORD PTR -140[rbp] | |
cmp edx, eax | |
jbe .L3702 | |
.L3701: | |
mov edx, DWORD PTR -140[rbp] | |
mov rax, QWORD PTR -184[rbp] | |
mov DWORD PTR 124[rax], edx | |
.L3702: | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -88[rbp], rax | |
mov rax, QWORD PTR -184[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov rcx, QWORD PTR -80[rbp] | |
mov edx, DWORD PTR -188[rbp] | |
mov rsi, QWORD PTR -88[rbp] | |
mov rdi, rax | |
call sqlite3OsWrite | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3703 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L3727 | |
.L3703: | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, WORD PTR 52[rax] | |
and eax, -65 | |
mov edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
mov WORD PTR 52[rax], dx | |
jmp .L3704 | |
.L3698: | |
add DWORD PTR -8[rbp], 1 | |
cmp DWORD PTR -204[rbp], 0 | |
je .L3705 | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 32[rax] | |
test rax, rax | |
jne .L3705 | |
mov eax, DWORD PTR -192[rbp] | |
jmp .L3706 | |
.L3705: | |
mov eax, 0 | |
.L3706: | |
mov DWORD PTR -72[rbp], eax | |
mov rcx, QWORD PTR -40[rbp] | |
mov edx, DWORD PTR -72[rbp] | |
mov rsi, QWORD PTR -16[rbp] | |
lea rax, -128[rbp] | |
mov rdi, rax | |
call walWriteOneFrame | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3707 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L3727 | |
.L3707: | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR -24[rbp], rax | |
mov eax, DWORD PTR -68[rbp] | |
cdqe | |
add QWORD PTR -40[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, WORD PTR 52[rax] | |
or eax, 64 | |
mov edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
mov WORD PTR 52[rax], dx | |
.L3704: | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov QWORD PTR -16[rbp], rax | |
.L3697: | |
cmp QWORD PTR -16[rbp], 0 | |
jne .L3708 | |
cmp DWORD PTR -204[rbp], 0 | |
je .L3709 | |
mov rax, QWORD PTR -184[rbp] | |
mov eax, DWORD PTR 124[rax] | |
test eax, eax | |
je .L3709 | |
mov edx, DWORD PTR -8[rbp] | |
mov rax, QWORD PTR -184[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call walRewriteChecksums | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3709 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L3727 | |
.L3709: | |
cmp DWORD PTR -204[rbp], 0 | |
je .L3710 | |
mov eax, DWORD PTR -208[rbp] | |
and eax, 3 | |
test eax, eax | |
je .L3710 | |
mov DWORD PTR -48[rbp], 1 | |
mov rax, QWORD PTR -184[rbp] | |
movzx eax, BYTE PTR 69[rax] | |
test al, al | |
je .L3711 | |
mov rax, QWORD PTR -184[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov rdi, rax | |
call sqlite3SectorSize | |
mov DWORD PTR -92[rbp], eax | |
mov eax, DWORD PTR -92[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -40[rbp] | |
add rax, rdx | |
sub rax, 1 | |
mov edx, DWORD PTR -92[rbp] | |
movsx rcx, edx | |
cqo | |
idiv rcx | |
mov rdx, rax | |
mov eax, DWORD PTR -92[rbp] | |
cdqe | |
imul rax, rdx | |
mov QWORD PTR -112[rbp], rax | |
mov rax, QWORD PTR -112[rbp] | |
cmp rax, QWORD PTR -40[rbp] | |
sete al | |
movzx eax, al | |
mov DWORD PTR -48[rbp], eax | |
jmp .L3712 | |
.L3714: | |
mov edx, DWORD PTR -192[rbp] | |
mov rcx, QWORD PTR -40[rbp] | |
mov rsi, QWORD PTR -24[rbp] | |
lea rax, -128[rbp] | |
mov rdi, rax | |
call walWriteOneFrame | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3713 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L3727 | |
.L3713: | |
mov eax, DWORD PTR -68[rbp] | |
cdqe | |
add QWORD PTR -40[rbp], rax | |
add DWORD PTR -28[rbp], 1 | |
.L3712: | |
mov rax, QWORD PTR -112[rbp] | |
cmp rax, QWORD PTR -40[rbp] | |
jg .L3714 | |
.L3711: | |
cmp DWORD PTR -48[rbp], 0 | |
je .L3710 | |
mov eax, DWORD PTR -208[rbp] | |
and eax, 3 | |
mov edx, eax | |
mov rax, QWORD PTR -120[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3OsSync | |
mov DWORD PTR -4[rbp], eax | |
.L3710: | |
cmp DWORD PTR -204[rbp], 0 | |
je .L3715 | |
mov rax, QWORD PTR -184[rbp] | |
movzx eax, BYTE PTR 67[rax] | |
test al, al | |
je .L3715 | |
mov rax, QWORD PTR -184[rbp] | |
mov rax, QWORD PTR 32[rax] | |
test rax, rax | |
js .L3715 | |
mov rax, QWORD PTR -184[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov QWORD PTR -56[rbp], rax | |
mov edx, DWORD PTR -28[rbp] | |
mov eax, DWORD PTR -8[rbp] | |
add eax, edx | |
mov edx, eax | |
mov eax, DWORD PTR -188[rbp] | |
add eax, 24 | |
cdqe | |
imul rax, rdx | |
lea rdx, 32[rax] | |
mov rax, QWORD PTR -184[rbp] | |
mov rax, QWORD PTR 32[rax] | |
cmp rdx, rax | |
jle .L3716 | |
mov edx, DWORD PTR -28[rbp] | |
mov eax, DWORD PTR -8[rbp] | |
add eax, edx | |
mov edx, eax | |
mov eax, DWORD PTR -188[rbp] | |
add eax, 24 | |
cdqe | |
imul rax, rdx | |
add rax, 32 | |
mov QWORD PTR -56[rbp], rax | |
.L3716: | |
mov rdx, QWORD PTR -56[rbp] | |
mov rax, QWORD PTR -184[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call walLimitSize | |
mov rax, QWORD PTR -184[rbp] | |
mov BYTE PTR 67[rax], 0 | |
.L3715: | |
mov rax, QWORD PTR -184[rbp] | |
mov eax, DWORD PTR 88[rax] | |
mov DWORD PTR -8[rbp], eax | |
mov rax, QWORD PTR -200[rbp] | |
mov QWORD PTR -16[rbp], rax | |
jmp .L3717 | |
.L3721: | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, WORD PTR 52[rax] | |
movzx eax, ax | |
and eax, 64 | |
test eax, eax | |
je .L3728 | |
add DWORD PTR -8[rbp], 1 | |
mov rax, QWORD PTR -16[rbp] | |
mov edx, DWORD PTR 48[rax] | |
mov ecx, DWORD PTR -8[rbp] | |
mov rax, QWORD PTR -184[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call walIndexAppend | |
mov DWORD PTR -4[rbp], eax | |
jmp .L3719 | |
.L3728: | |
nop | |
.L3719: | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov QWORD PTR -16[rbp], rax | |
.L3717: | |
cmp QWORD PTR -16[rbp], 0 | |
je .L3722 | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3721 | |
jmp .L3722 | |
.L3724: | |
add DWORD PTR -8[rbp], 1 | |
sub DWORD PTR -28[rbp], 1 | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR 48[rax] | |
mov ecx, DWORD PTR -8[rbp] | |
mov rax, QWORD PTR -184[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call walIndexAppend | |
mov DWORD PTR -4[rbp], eax | |
.L3722: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3723 | |
cmp DWORD PTR -28[rbp], 0 | |
jg .L3724 | |
.L3723: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3725 | |
mov eax, DWORD PTR -188[rbp] | |
mov al, 0 | |
mov edx, eax | |
mov eax, DWORD PTR -188[rbp] | |
sar eax, 16 | |
or eax, edx | |
mov edx, eax | |
mov rax, QWORD PTR -184[rbp] | |
mov WORD PTR 86[rax], dx | |
mov rax, QWORD PTR -184[rbp] | |
mov edx, DWORD PTR -8[rbp] | |
mov DWORD PTR 88[rax], edx | |
cmp DWORD PTR -204[rbp], 0 | |
je .L3726 | |
mov rax, QWORD PTR -184[rbp] | |
mov eax, DWORD PTR 80[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -184[rbp] | |
mov DWORD PTR 80[rax], edx | |
mov rax, QWORD PTR -184[rbp] | |
mov edx, DWORD PTR -192[rbp] | |
mov DWORD PTR 92[rax], edx | |
.L3726: | |
cmp DWORD PTR -204[rbp], 0 | |
je .L3725 | |
mov rax, QWORD PTR -184[rbp] | |
mov rdi, rax | |
call walIndexWriteHdr | |
mov rax, QWORD PTR -184[rbp] | |
mov edx, DWORD PTR -8[rbp] | |
mov DWORD PTR 24[rax], edx | |
.L3725: | |
mov eax, DWORD PTR -4[rbp] | |
.L3727: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE592: | |
.size sqlite3WalFrames, .-sqlite3WalFrames | |
.type sqlite3WalCheckpoint, @function | |
sqlite3WalCheckpoint: | |
.LFB593: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 80 | |
mov QWORD PTR -40[rbp], rdi | |
mov QWORD PTR -48[rbp], rsi | |
mov DWORD PTR -52[rbp], edx | |
mov QWORD PTR -64[rbp], rcx | |
mov QWORD PTR -72[rbp], r8 | |
mov DWORD PTR -56[rbp], r9d | |
mov DWORD PTR -20[rbp], 0 | |
mov eax, DWORD PTR -52[rbp] | |
mov DWORD PTR -8[rbp], eax | |
mov rax, QWORD PTR -64[rbp] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 66[rax] | |
test al, al | |
je .L3730 | |
mov eax, 8 | |
jmp .L3745 | |
.L3730: | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, 1 | |
mov esi, 1 | |
mov rdi, rax | |
call walLockExclusive | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3732 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L3745 | |
.L3732: | |
mov rax, QWORD PTR -40[rbp] | |
mov BYTE PTR 65[rax], 1 | |
cmp DWORD PTR -52[rbp], 0 | |
je .L3733 | |
mov rdx, QWORD PTR -72[rbp] | |
mov rsi, QWORD PTR -64[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov r8d, 1 | |
mov ecx, 0 | |
mov rdi, rax | |
call walBusyLock | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3734 | |
mov rax, QWORD PTR -40[rbp] | |
mov BYTE PTR 64[rax], 1 | |
jmp .L3733 | |
.L3734: | |
cmp DWORD PTR -4[rbp], 5 | |
jne .L3733 | |
mov DWORD PTR -8[rbp], 0 | |
mov QWORD PTR -16[rbp], 0 | |
mov DWORD PTR -4[rbp], 0 | |
.L3733: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3735 | |
lea rdx, -20[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call walIndexReadHdr | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR -20[rbp] | |
test eax, eax | |
je .L3735 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rax, QWORD PTR [rax] | |
mov eax, DWORD PTR [rax] | |
cmp eax, 2 | |
jle .L3735 | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov edx, 0 | |
mov esi, 0 | |
mov rdi, rax | |
call sqlite3OsUnfetch | |
.L3735: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3736 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 88[rax] | |
test eax, eax | |
je .L3737 | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call walPagesize | |
cmp eax, DWORD PTR 16[rbp] | |
je .L3737 | |
mov edi, 59198 | |
call sqlite3CorruptError | |
mov DWORD PTR -4[rbp], eax | |
jmp .L3738 | |
.L3737: | |
mov r8d, DWORD PTR -56[rbp] | |
mov rdi, QWORD PTR -72[rbp] | |
mov rcx, QWORD PTR -16[rbp] | |
mov edx, DWORD PTR -8[rbp] | |
mov rsi, QWORD PTR -48[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
sub rsp, 8 | |
push QWORD PTR 24[rbp] | |
mov r9d, r8d | |
mov r8, rdi | |
mov rdi, rax | |
call walCheckpoint | |
add rsp, 16 | |
mov DWORD PTR -4[rbp], eax | |
.L3738: | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3739 | |
cmp DWORD PTR -4[rbp], 5 | |
jne .L3736 | |
.L3739: | |
cmp QWORD PTR 32[rbp], 0 | |
je .L3740 | |
mov rax, QWORD PTR -40[rbp] | |
mov eax, DWORD PTR 88[rax] | |
mov edx, eax | |
mov rax, QWORD PTR 32[rbp] | |
mov DWORD PTR [rax], edx | |
.L3740: | |
cmp QWORD PTR 40[rbp], 0 | |
je .L3736 | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call walCkptInfo | |
mov eax, DWORD PTR [rax] | |
mov edx, eax | |
mov rax, QWORD PTR 40[rbp] | |
mov DWORD PTR [rax], edx | |
.L3736: | |
mov eax, DWORD PTR -20[rbp] | |
test eax, eax | |
je .L3741 | |
mov rax, QWORD PTR -40[rbp] | |
add rax, 72 | |
mov edx, 48 | |
mov esi, 0 | |
mov rdi, rax | |
call memset@PLT | |
.L3741: | |
mov rax, QWORD PTR -40[rbp] | |
mov rdi, rax | |
call sqlite3WalEndWriteTransaction | |
mov rax, QWORD PTR -40[rbp] | |
mov edx, 1 | |
mov esi, 1 | |
mov rdi, rax | |
call walUnlockExclusive | |
mov rax, QWORD PTR -40[rbp] | |
mov BYTE PTR 65[rax], 0 | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3742 | |
mov eax, DWORD PTR -52[rbp] | |
cmp eax, DWORD PTR -8[rbp] | |
jne .L3743 | |
.L3742: | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L3745 | |
.L3743: | |
mov eax, 5 | |
.L3745: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE593: | |
.size sqlite3WalCheckpoint, .-sqlite3WalCheckpoint | |
.type sqlite3WalCallback, @function | |
sqlite3WalCallback: | |
.LFB594: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -4[rbp], 0 | |
cmp QWORD PTR -24[rbp], 0 | |
je .L3747 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 24[rax] | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 24[rax], 0 | |
.L3747: | |
mov eax, DWORD PTR -4[rbp] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE594: | |
.size sqlite3WalCallback, .-sqlite3WalCallback | |
.type sqlite3WalExclusiveMode, @function | |
sqlite3WalExclusiveMode: | |
.LFB595: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
cmp DWORD PTR -28[rbp], 0 | |
jne .L3750 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 63[rax] | |
test al, al | |
je .L3751 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 63[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, WORD PTR 60[rax] | |
cwde | |
lea edx, 3[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call walLockShared | |
test eax, eax | |
je .L3752 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 63[rax], 1 | |
.L3752: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 63[rax] | |
test al, al | |
sete al | |
movzx eax, al | |
mov DWORD PTR -4[rbp], eax | |
jmp .L3754 | |
.L3751: | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L3754 | |
.L3750: | |
cmp DWORD PTR -28[rbp], 0 | |
jle .L3755 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, WORD PTR 60[rax] | |
cwde | |
lea edx, 3[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call walUnlockShared | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 63[rax], 1 | |
mov DWORD PTR -4[rbp], 1 | |
jmp .L3754 | |
.L3755: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 63[rax] | |
test al, al | |
sete al | |
movzx eax, al | |
mov DWORD PTR -4[rbp], eax | |
.L3754: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE595: | |
.size sqlite3WalExclusiveMode, .-sqlite3WalExclusiveMode | |
.type sqlite3WalHeapMemory, @function | |
sqlite3WalHeapMemory: | |
.LFB596: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
cmp QWORD PTR -8[rbp], 0 | |
je .L3758 | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 63[rax] | |
cmp al, 2 | |
jne .L3758 | |
mov eax, 1 | |
jmp .L3760 | |
.L3758: | |
mov eax, 0 | |
.L3760: | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE596: | |
.size sqlite3WalHeapMemory, .-sqlite3WalHeapMemory | |
.type sqlite3WalFile, @function | |
sqlite3WalFile: | |
.LFB597: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 16[rax] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE597: | |
.size sqlite3WalFile, .-sqlite3WalFile | |
.type lockBtreeMutex, @function | |
lockBtreeMutex: | |
.LFB598: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rax, QWORD PTR 80[rax] | |
mov rdi, rax | |
call sqlite3_mutex_enter | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rdx, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR [rdx] | |
mov QWORD PTR 8[rax], rdx | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 18[rax], 1 | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE598: | |
.size lockBtreeMutex, .-lockBtreeMutex | |
.type unlockBtreeMutex, @function | |
unlockBtreeMutex: | |
.LFB599: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -8[rbp], rax | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 80[rax] | |
mov rdi, rax | |
call sqlite3_mutex_leave | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 18[rax], 0 | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE599: | |
.size unlockBtreeMutex, .-unlockBtreeMutex | |
.type sqlite3BtreeEnter, @function | |
sqlite3BtreeEnter: | |
.LFB600: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 17[rax] | |
test al, al | |
je .L3769 | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 20[rax] | |
lea edx, 1[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 20[rax], edx | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 18[rax] | |
test al, al | |
jne .L3770 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call btreeLockCarefully | |
jmp .L3765 | |
.L3769: | |
nop | |
jmp .L3765 | |
.L3770: | |
nop | |
.L3765: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE600: | |
.size sqlite3BtreeEnter, .-sqlite3BtreeEnter | |
.type btreeLockCarefully, @function | |
btreeLockCarefully: | |
.LFB601: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rax, QWORD PTR 80[rax] | |
mov rdi, rax | |
call sqlite3_mutex_try | |
test eax, eax | |
jne .L3772 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rdx, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR [rdx] | |
mov QWORD PTR 8[rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 18[rax], 1 | |
jmp .L3771 | |
.L3772: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L3774 | |
.L3776: | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 18[rax] | |
test al, al | |
je .L3775 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call unlockBtreeMutex | |
.L3775: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov QWORD PTR -8[rbp], rax | |
.L3774: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L3776 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call lockBtreeMutex | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L3777 | |
.L3779: | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 20[rax] | |
test eax, eax | |
je .L3778 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call lockBtreeMutex | |
.L3778: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov QWORD PTR -8[rbp], rax | |
.L3777: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L3779 | |
.L3771: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE601: | |
.size btreeLockCarefully, .-btreeLockCarefully | |
.type sqlite3BtreeLeave, @function | |
sqlite3BtreeLeave: | |
.LFB602: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 17[rax] | |
test al, al | |
je .L3782 | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 20[rax] | |
lea edx, -1[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov DWORD PTR 20[rax], edx | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 20[rax] | |
test eax, eax | |
jne .L3782 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call unlockBtreeMutex | |
.L3782: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE602: | |
.size sqlite3BtreeLeave, .-sqlite3BtreeLeave | |
.type btreeEnterAll, @function | |
btreeEnterAll: | |
.LFB603: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -8[rbp], 1 | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L3784 | |
.L3786: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov edx, DWORD PTR -4[rbp] | |
movsx rdx, edx | |
sal rdx, 5 | |
add rax, rdx | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -16[rbp], rax | |
cmp QWORD PTR -16[rbp], 0 | |
je .L3785 | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, BYTE PTR 17[rax] | |
test al, al | |
je .L3785 | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call sqlite3BtreeEnter | |
mov DWORD PTR -8[rbp], 0 | |
.L3785: | |
add DWORD PTR -4[rbp], 1 | |
.L3784: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 40[rax] | |
cmp eax, DWORD PTR -4[rbp] | |
jg .L3786 | |
mov eax, DWORD PTR -8[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 105[rax], dl | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE603: | |
.size btreeEnterAll, .-btreeEnterAll | |
.type sqlite3BtreeEnterAll, @function | |
sqlite3BtreeEnterAll: | |
.LFB604: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 105[rax] | |
test al, al | |
jne .L3789 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call btreeEnterAll | |
.L3789: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE604: | |
.size sqlite3BtreeEnterAll, .-sqlite3BtreeEnterAll | |
.type btreeLeaveAll, @function | |
btreeLeaveAll: | |
.LFB605: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L3791 | |
.L3793: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 32[rax] | |
mov edx, DWORD PTR -4[rbp] | |
movsx rdx, edx | |
sal rdx, 5 | |
add rax, rdx | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -16[rbp], rax | |
cmp QWORD PTR -16[rbp], 0 | |
je .L3792 | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call sqlite3BtreeLeave | |
.L3792: | |
add DWORD PTR -4[rbp], 1 | |
.L3791: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 40[rax] | |
cmp eax, DWORD PTR -4[rbp] | |
jg .L3793 | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE605: | |
.size btreeLeaveAll, .-btreeLeaveAll | |
.type sqlite3BtreeLeaveAll, @function | |
sqlite3BtreeLeaveAll: | |
.LFB606: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 105[rax] | |
test al, al | |
jne .L3796 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call btreeLeaveAll | |
.L3796: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE606: | |
.size sqlite3BtreeLeaveAll, .-sqlite3BtreeLeaveAll | |
.type sqlite3BtreeEnterCursor, @function | |
sqlite3BtreeEnterCursor: | |
.LFB607: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rdi, rax | |
call sqlite3BtreeEnter | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE607: | |
.size sqlite3BtreeEnterCursor, .-sqlite3BtreeEnterCursor | |
.type sqlite3BtreeLeaveCursor, @function | |
sqlite3BtreeLeaveCursor: | |
.LFB608: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rdi, rax | |
call sqlite3BtreeLeave | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE608: | |
.size sqlite3BtreeLeaveCursor, .-sqlite3BtreeLeaveCursor | |
.section .rodata | |
.align 16 | |
.type zMagicHeader, @object | |
.size zMagicHeader, 16 | |
zMagicHeader: | |
.string "SQLite format 3" | |
.local sqlite3SharedCacheList | |
.comm sqlite3SharedCacheList,8,8 | |
.text | |
.globl sqlite3_enable_shared_cache | |
.type sqlite3_enable_shared_cache, @function | |
sqlite3_enable_shared_cache: | |
.LFB609: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov DWORD PTR -4[rbp], edi | |
mov eax, DWORD PTR -4[rbp] | |
mov DWORD PTR sqlite3Config[rip+348], eax | |
mov eax, 0 | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE609: | |
.size sqlite3_enable_shared_cache, .-sqlite3_enable_shared_cache | |
.type querySharedCacheTableLock, @function | |
querySharedCacheTableLock: | |
.LFB610: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov eax, edx | |
mov BYTE PTR -32[rbp], al | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 17[rax] | |
test al, al | |
jne .L3802 | |
mov eax, 0 | |
jmp .L3803 | |
.L3802: | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 120[rax] | |
cmp rax, QWORD PTR -24[rbp] | |
je .L3804 | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, WORD PTR 38[rax] | |
movzx eax, ax | |
and eax, 64 | |
test eax, eax | |
je .L3804 | |
mov eax, 262 | |
jmp .L3803 | |
.L3804: | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 112[rax] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L3805 | |
.L3808: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
cmp rax, QWORD PTR -24[rbp] | |
je .L3806 | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 8[rax] | |
cmp eax, DWORD PTR -28[rbp] | |
jne .L3806 | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 12[rax] | |
cmp al, BYTE PTR -32[rbp] | |
je .L3806 | |
cmp BYTE PTR -32[rbp], 2 | |
jne .L3807 | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, WORD PTR 38[rax] | |
or al, -128 | |
mov edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
mov WORD PTR 38[rax], dx | |
.L3807: | |
mov eax, 262 | |
jmp .L3803 | |
.L3806: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -8[rbp], rax | |
.L3805: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L3808 | |
mov eax, 0 | |
.L3803: | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE610: | |
.size querySharedCacheTableLock, .-querySharedCacheTableLock | |
.type setSharedCacheTableLock, @function | |
setSharedCacheTableLock: | |
.LFB611: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov eax, edx | |
mov BYTE PTR -48[rbp], al | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -24[rbp], rax | |
mov QWORD PTR -8[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 112[rax] | |
mov QWORD PTR -16[rbp], rax | |
jmp .L3810 | |
.L3813: | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 8[rax] | |
cmp eax, DWORD PTR -44[rbp] | |
jne .L3811 | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR [rax] | |
cmp rax, QWORD PTR -40[rbp] | |
jne .L3811 | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L3812 | |
.L3811: | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -16[rbp], rax | |
.L3810: | |
cmp QWORD PTR -16[rbp], 0 | |
jne .L3813 | |
.L3812: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L3814 | |
mov edi, 24 | |
call sqlite3MallocZero | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L3815 | |
mov eax, 7 | |
jmp .L3816 | |
.L3815: | |
mov rax, QWORD PTR -8[rbp] | |
mov edx, DWORD PTR -44[rbp] | |
mov DWORD PTR 8[rax], edx | |
mov rax, QWORD PTR -8[rbp] | |
mov rdx, QWORD PTR -40[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 112[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 16[rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -8[rbp] | |
mov QWORD PTR 112[rax], rdx | |
.L3814: | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 12[rax] | |
cmp al, BYTE PTR -48[rbp] | |
jnb .L3817 | |
mov rax, QWORD PTR -8[rbp] | |
movzx edx, BYTE PTR -48[rbp] | |
mov BYTE PTR 12[rax], dl | |
.L3817: | |
mov eax, 0 | |
.L3816: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE611: | |
.size setSharedCacheTableLock, .-setSharedCacheTableLock | |
.type clearAllSharedCacheTableLocks, @function | |
clearAllSharedCacheTableLocks: | |
.LFB612: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -40[rbp], rdi | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
add rax, 112 | |
mov QWORD PTR -8[rbp], rax | |
jmp .L3819 | |
.L3822: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR -24[rbp], rax | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR [rax] | |
cmp rax, QWORD PTR -40[rbp] | |
jne .L3820 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 16[rax] | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR [rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 8[rax] | |
cmp eax, 1 | |
je .L3819 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
jmp .L3819 | |
.L3820: | |
mov rax, QWORD PTR -24[rbp] | |
add rax, 16 | |
mov QWORD PTR -8[rbp], rax | |
.L3819: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR [rax] | |
test rax, rax | |
jne .L3822 | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 120[rax] | |
cmp rax, QWORD PTR -40[rbp] | |
jne .L3823 | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR 120[rax], 0 | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, WORD PTR 38[rax] | |
and al, 63 | |
mov edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
mov WORD PTR 38[rax], dx | |
jmp .L3825 | |
.L3823: | |
mov rax, QWORD PTR -16[rbp] | |
mov eax, DWORD PTR 56[rax] | |
cmp eax, 2 | |
jne .L3825 | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, WORD PTR 38[rax] | |
and al, 127 | |
mov edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
mov WORD PTR 38[rax], dx | |
.L3825: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE612: | |
.size clearAllSharedCacheTableLocks, .-clearAllSharedCacheTableLocks | |
.type downgradeAllSharedCacheTableLocks, @function | |
downgradeAllSharedCacheTableLocks: | |
.LFB613: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR -16[rbp], rax | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 120[rax] | |
cmp rax, QWORD PTR -24[rbp] | |
jne .L3830 | |
mov rax, QWORD PTR -16[rbp] | |
mov QWORD PTR 120[rax], 0 | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, WORD PTR 38[rax] | |
and al, 63 | |
mov edx, eax | |
mov rax, QWORD PTR -16[rbp] | |
mov WORD PTR 38[rax], dx | |
mov rax, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR 112[rax] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L3828 | |
.L3829: | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 12[rax], 1 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -8[rbp], rax | |
.L3828: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L3829 | |
.L3830: | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE613: | |
.size downgradeAllSharedCacheTableLocks, .-downgradeAllSharedCacheTableLocks | |
.type invalidateAllOverflowCache, @function | |
invalidateAllOverflowCache: | |
.LFB614: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L3832 | |
.L3833: | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 1[rax] | |
and eax, -5 | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 1[rax], dl | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 24[rax] | |
mov QWORD PTR -8[rbp], rax | |
.L3832: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L3833 | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE614: | |
.size invalidateAllOverflowCache, .-invalidateAllOverflowCache | |
.type invalidateIncrblobCursors, @function | |
invalidateIncrblobCursors: | |
.LFB615: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov QWORD PTR -40[rbp], rdx | |
mov DWORD PTR -32[rbp], ecx | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 19[rax] | |
test al, al | |
je .L3841 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 19[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 8[rax] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L3837 | |
.L3840: | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR 1[rax] | |
movzx eax, al | |
and eax, 16 | |
test eax, eax | |
je .L3838 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 19[rax], 1 | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 80[rax] | |
cmp eax, DWORD PTR -28[rbp] | |
jne .L3838 | |
cmp DWORD PTR -32[rbp], 0 | |
jne .L3839 | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 40[rax] | |
cmp rax, QWORD PTR -40[rbp] | |
jne .L3838 | |
.L3839: | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR [rax], 0 | |
.L3838: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 24[rax] | |
mov QWORD PTR -8[rbp], rax | |
.L3837: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L3840 | |
jmp .L3834 | |
.L3841: | |
nop | |
.L3834: | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE615: | |
.size invalidateIncrblobCursors, .-invalidateIncrblobCursors | |
.type btreeSetHasContent, @function | |
btreeSetHasContent: | |
.LFB616: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 88[rax] | |
test rax, rax | |
jne .L3843 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 60[rax] | |
mov edi, eax | |
call sqlite3BitvecCreate | |
mov rdx, rax | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 88[rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 88[rax] | |
test rax, rax | |
jne .L3843 | |
mov DWORD PTR -4[rbp], 7 | |
.L3843: | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3844 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 88[rax] | |
mov rdi, rax | |
call sqlite3BitvecSize | |
cmp eax, DWORD PTR -28[rbp] | |
jb .L3844 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 88[rax] | |
mov edx, DWORD PTR -28[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3BitvecSet | |
mov DWORD PTR -4[rbp], eax | |
.L3844: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE616: | |
.size btreeSetHasContent, .-btreeSetHasContent | |
.type btreeGetHasContent, @function | |
btreeGetHasContent: | |
.LFB617: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 88[rax] | |
mov QWORD PTR -8[rbp], rax | |
cmp QWORD PTR -8[rbp], 0 | |
je .L3847 | |
mov rax, QWORD PTR -8[rbp] | |
mov rdi, rax | |
call sqlite3BitvecSize | |
cmp eax, DWORD PTR -28[rbp] | |
jb .L3848 | |
mov edx, DWORD PTR -28[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call sqlite3BitvecTest | |
test eax, eax | |
je .L3847 | |
.L3848: | |
mov eax, 1 | |
jmp .L3850 | |
.L3847: | |
mov eax, 0 | |
.L3850: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE617: | |
.size btreeGetHasContent, .-btreeGetHasContent | |
.type btreeClearHasContent, @function | |
btreeClearHasContent: | |
.LFB618: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 88[rax] | |
mov rdi, rax | |
call sqlite3BitvecDestroy | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 88[rax], 0 | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE618: | |
.size btreeClearHasContent, .-btreeClearHasContent | |
.type btreeReleaseAllCursorPages, @function | |
btreeReleaseAllCursorPages: | |
.LFB619: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 88[rax] | |
test al, al | |
js .L3856 | |
mov DWORD PTR -4[rbp], 0 | |
jmp .L3854 | |
.L3855: | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR -4[rbp] | |
movsx rdx, edx | |
add rdx, 18 | |
mov rax, QWORD PTR 8[rax+rdx*8] | |
mov rdi, rax | |
call releasePageNotNull | |
add DWORD PTR -4[rbp], 1 | |
.L3854: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 88[rax] | |
movsx eax, al | |
cmp eax, DWORD PTR -4[rbp] | |
jg .L3855 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 144[rax] | |
mov rdi, rax | |
call releasePageNotNull | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 88[rax], -1 | |
.L3856: | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE619: | |
.size btreeReleaseAllCursorPages, .-btreeReleaseAllCursorPages | |
.type saveCursorKey, @function | |
saveCursorKey: | |
.LFB620: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -4[rbp], 0 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 89[rax] | |
test al, al | |
je .L3858 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3BtreeIntegerKey | |
mov rdx, rax | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 64[rax], rdx | |
jmp .L3859 | |
.L3858: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call sqlite3BtreePayloadSize | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 64[rax], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov rdi, rax | |
call sqlite3Malloc | |
mov QWORD PTR -16[rbp], rax | |
cmp QWORD PTR -16[rbp], 0 | |
je .L3860 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 64[rax] | |
mov esi, eax | |
mov rdx, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov rcx, rdx | |
mov edx, esi | |
mov esi, 0 | |
mov rdi, rax | |
call sqlite3BtreePayload | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3861 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR -16[rbp] | |
mov QWORD PTR 72[rax], rdx | |
jmp .L3859 | |
.L3861: | |
mov rax, QWORD PTR -16[rbp] | |
mov rdi, rax | |
call sqlite3_free | |
jmp .L3859 | |
.L3860: | |
mov DWORD PTR -4[rbp], 7 | |
.L3859: | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE620: | |
.size saveCursorKey, .-saveCursorKey | |
.type saveCursorPosition, @function | |
saveCursorPosition: | |
.LFB621: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 2 | |
jne .L3865 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR [rax], 1 | |
jmp .L3866 | |
.L3865: | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 84[rax], 0 | |
.L3866: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call saveCursorKey | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3867 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call btreeReleaseAllCursorPages | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR [rax], 3 | |
.L3867: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR 1[rax] | |
and eax, -15 | |
mov edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR 1[rax], dl | |
mov eax, DWORD PTR -4[rbp] | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE621: | |
.size saveCursorPosition, .-saveCursorPosition | |
.type saveAllCursors, @function | |
saveAllCursors: | |
.LFB622: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov QWORD PTR -40[rbp], rdx | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 16[rax] | |
mov QWORD PTR -8[rbp], rax | |
jmp .L3870 | |
.L3873: | |
mov rax, QWORD PTR -8[rbp] | |
cmp rax, QWORD PTR -40[rbp] | |
je .L3871 | |
cmp DWORD PTR -28[rbp], 0 | |
je .L3872 | |
mov rax, QWORD PTR -8[rbp] | |
mov eax, DWORD PTR 80[rax] | |
cmp eax, DWORD PTR -28[rbp] | |
je .L3872 | |
.L3871: | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 24[rax] | |
mov QWORD PTR -8[rbp], rax | |
.L3870: | |
cmp QWORD PTR -8[rbp], 0 | |
jne .L3873 | |
.L3872: | |
cmp QWORD PTR -8[rbp], 0 | |
je .L3874 | |
mov rdx, QWORD PTR -40[rbp] | |
mov ecx, DWORD PTR -28[rbp] | |
mov rax, QWORD PTR -8[rbp] | |
mov esi, ecx | |
mov rdi, rax | |
call saveCursorsOnList | |
jmp .L3875 | |
.L3874: | |
cmp QWORD PTR -40[rbp], 0 | |
je .L3876 | |
mov rax, QWORD PTR -40[rbp] | |
movzx eax, BYTE PTR 1[rax] | |
and eax, -33 | |
mov edx, eax | |
mov rax, QWORD PTR -40[rbp] | |
mov BYTE PTR 1[rax], dl | |
.L3876: | |
mov eax, 0 | |
.L3875: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE622: | |
.size saveAllCursors, .-saveAllCursors | |
.type saveCursorsOnList, @function | |
saveCursorsOnList: | |
.LFB623: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 48 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
mov QWORD PTR -40[rbp], rdx | |
.L3884: | |
mov rax, QWORD PTR -24[rbp] | |
cmp rax, QWORD PTR -40[rbp] | |
je .L3878 | |
cmp DWORD PTR -28[rbp], 0 | |
je .L3879 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 80[rax] | |
cmp eax, DWORD PTR -28[rbp] | |
jne .L3878 | |
.L3879: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 1 | |
je .L3880 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 2 | |
jne .L3881 | |
.L3880: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call saveCursorPosition | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3885 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L3883 | |
.L3881: | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call btreeReleaseAllCursorPages | |
jmp .L3878 | |
.L3885: | |
nop | |
.L3878: | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 24[rax] | |
mov QWORD PTR -24[rbp], rax | |
cmp QWORD PTR -24[rbp], 0 | |
jne .L3884 | |
mov eax, 0 | |
.L3883: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE623: | |
.size saveCursorsOnList, .-saveCursorsOnList | |
.type sqlite3BtreeClearCursor, @function | |
sqlite3BtreeClearCursor: | |
.LFB624: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 16 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rdi, rax | |
call sqlite3_free | |
mov rax, QWORD PTR -8[rbp] | |
mov QWORD PTR 72[rax], 0 | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR [rax], 0 | |
nop | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE624: | |
.size sqlite3BtreeClearCursor, .-sqlite3BtreeClearCursor | |
.type btreeMoveto, @function | |
btreeMoveto: | |
.LFB625: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov QWORD PTR -40[rbp], rdx | |
mov DWORD PTR -44[rbp], ecx | |
mov QWORD PTR -56[rbp], r8 | |
cmp QWORD PTR -32[rbp], 0 | |
je .L3888 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 136[rax] | |
mov rdi, rax | |
call sqlite3VdbeAllocUnpackedRecord | |
mov QWORD PTR -16[rbp], rax | |
cmp QWORD PTR -16[rbp], 0 | |
jne .L3889 | |
mov eax, 7 | |
jmp .L3890 | |
.L3889: | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 136[rax] | |
mov rcx, QWORD PTR -16[rbp] | |
mov rdx, QWORD PTR -32[rbp] | |
mov rdi, rax | |
call sqlite3VdbeRecordUnpack | |
mov rax, QWORD PTR -16[rbp] | |
movzx eax, WORD PTR 16[rax] | |
test ax, ax | |
jne .L3891 | |
mov edi, 61209 | |
call sqlite3CorruptError | |
mov DWORD PTR -4[rbp], eax | |
jmp .L3892 | |
.L3888: | |
mov QWORD PTR -16[rbp], 0 | |
.L3891: | |
mov rdi, QWORD PTR -56[rbp] | |
mov ecx, DWORD PTR -44[rbp] | |
mov rdx, QWORD PTR -40[rbp] | |
mov rsi, QWORD PTR -16[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov r8, rdi | |
mov rdi, rax | |
call sqlite3BtreeMovetoUnpacked | |
mov DWORD PTR -4[rbp], eax | |
.L3892: | |
cmp QWORD PTR -16[rbp], 0 | |
je .L3893 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 136[rax] | |
mov rax, QWORD PTR 16[rax] | |
mov rdx, QWORD PTR -16[rbp] | |
mov rsi, rdx | |
mov rdi, rax | |
call sqlite3DbFree | |
.L3893: | |
mov eax, DWORD PTR -4[rbp] | |
.L3890: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE625: | |
.size btreeMoveto, .-btreeMoveto | |
.type btreeRestoreCursorPosition, @function | |
btreeRestoreCursorPosition: | |
.LFB626: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 4 | |
jne .L3895 | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 84[rax] | |
jmp .L3898 | |
.L3895: | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR [rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdx, QWORD PTR 64[rax] | |
mov rax, QWORD PTR -24[rbp] | |
mov rsi, QWORD PTR 72[rax] | |
lea rcx, -8[rbp] | |
mov rax, QWORD PTR -24[rbp] | |
mov r8, rcx | |
mov ecx, 0 | |
mov rdi, rax | |
call btreeMoveto | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
jne .L3897 | |
mov rax, QWORD PTR -24[rbp] | |
mov rax, QWORD PTR 72[rax] | |
mov rdi, rax | |
call sqlite3_free | |
mov rax, QWORD PTR -24[rbp] | |
mov QWORD PTR 72[rax], 0 | |
mov rax, QWORD PTR -24[rbp] | |
mov edx, DWORD PTR 84[rax] | |
mov eax, DWORD PTR -8[rbp] | |
or edx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov DWORD PTR 84[rax], edx | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 84[rax] | |
test eax, eax | |
je .L3897 | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 1 | |
jne .L3897 | |
mov rax, QWORD PTR -24[rbp] | |
mov BYTE PTR [rax], 2 | |
.L3897: | |
mov eax, DWORD PTR -4[rbp] | |
.L3898: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE626: | |
.size btreeRestoreCursorPosition, .-btreeRestoreCursorPosition | |
.type sqlite3BtreeCursorHasMoved, @function | |
sqlite3BtreeCursorHasMoved: | |
.LFB627: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov rax, QWORD PTR -8[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 1 | |
setne al | |
movzx eax, al | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE627: | |
.size sqlite3BtreeCursorHasMoved, .-sqlite3BtreeCursorHasMoved | |
.type sqlite3BtreeFakeValidCursor, @function | |
sqlite3BtreeFakeValidCursor: | |
.LFB628: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
lea rax, fakeCursor.15452[rip] | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE628: | |
.size sqlite3BtreeFakeValidCursor, .-sqlite3BtreeFakeValidCursor | |
.type sqlite3BtreeCursorRestore, @function | |
sqlite3BtreeCursorRestore: | |
.LFB629: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 32 | |
mov QWORD PTR -24[rbp], rdi | |
mov QWORD PTR -32[rbp], rsi | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 2 | |
jbe .L3904 | |
mov rax, QWORD PTR -24[rbp] | |
mov rdi, rax | |
call btreeRestoreCursorPosition | |
jmp .L3905 | |
.L3904: | |
mov eax, 0 | |
.L3905: | |
mov DWORD PTR -4[rbp], eax | |
cmp DWORD PTR -4[rbp], 0 | |
je .L3906 | |
mov rax, QWORD PTR -32[rbp] | |
mov DWORD PTR [rax], 1 | |
mov eax, DWORD PTR -4[rbp] | |
jmp .L3907 | |
.L3906: | |
mov rax, QWORD PTR -24[rbp] | |
movzx eax, BYTE PTR [rax] | |
cmp al, 1 | |
je .L3908 | |
mov rax, QWORD PTR -32[rbp] | |
mov DWORD PTR [rax], 1 | |
jmp .L3909 | |
.L3908: | |
mov rax, QWORD PTR -32[rbp] | |
mov DWORD PTR [rax], 0 | |
.L3909: | |
mov eax, 0 | |
.L3907: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE629: | |
.size sqlite3BtreeCursorRestore, .-sqlite3BtreeCursorRestore | |
.type sqlite3BtreeCursorHintFlags, @function | |
sqlite3BtreeCursorHintFlags: | |
.LFB630: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -8[rbp], rdi | |
mov DWORD PTR -12[rbp], esi | |
mov eax, DWORD PTR -12[rbp] | |
mov edx, eax | |
mov rax, QWORD PTR -8[rbp] | |
mov BYTE PTR 3[rax], dl | |
nop | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE630: | |
.size sqlite3BtreeCursorHintFlags, .-sqlite3BtreeCursorHintFlags | |
.type ptrmapPageno, @function | |
ptrmapPageno: | |
.LFB631: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
mov QWORD PTR -24[rbp], rdi | |
mov DWORD PTR -28[rbp], esi | |
cmp DWORD PTR -28[rbp], 1 | |
ja .L3912 | |
mov eax, 0 | |
jmp .L3913 | |
.L3912: | |
mov rax, QWORD PTR -24[rbp] | |
mov eax, DWORD PTR 52[rax] | |
mov edx, -858993459 | |
mul edx | |
mov eax, edx | |
shr eax, 2 | |
add eax, 1 | |
mov DWORD PTR -8[rbp], eax | |
mov eax, DWORD PTR -28[rbp] | |
sub eax, 2 | |
mov esi, DWORD PTR -8[rbp] | |
mov edx, 0 | |
div esi | |
mov DWORD PTR -12[rbp], eax | |
mov eax, DWORD PTR -8[rbp] | |
imul eax, DWORD PTR -12[rbp] | |
add eax, 2 | |
mov DWORD PTR -4[rbp], eax | |
mov eax, DWORD PTR sqlite3PendingByte[rip] | |
mov ecx, eax | |
mov rax, QWORD PTR -24[rbp] | |
mov edi, DWORD PTR 48[rax] | |
mov eax, ecx | |
mov edx, 0 | |
div edi | |
add eax, 1 | |
cmp eax, DWORD PTR -4[rbp] | |
jne .L3914 | |
add DWORD PTR -4[rbp], 1 | |
.L3914: | |
mov eax, DWORD PTR -4[rbp] | |
.L3913: | |
pop rbp | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE631: | |
.size ptrmapPageno, .-ptrmapPageno | |
.type ptrmapPut, @function | |
ptrmapPut: | |
.LFB632: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
mov rbp, rsp | |
.cfi_def_cfa_register 6 | |
sub rsp, 64 | |
mov QWORD PTR -40[rbp], rdi | |
mov DWORD PTR -44[rbp], esi | |
mov eax, edx | |
mov DWORD PTR -52[rbp], ecx | |
mov QWORD PTR -64[rbp], r8 | |
mov BYTE PTR -48[rbp], al | |
mov rax, QWORD PTR -64[rbp] | |
mov eax, DWORD PTR [rax] | |
test eax, eax | |
jne .L3924 | |
cmp DWORD PTR -44[rbp], 0 | |
jne .L3918 | |
mov edi, 61385 | |
call sqlite3CorruptError | |
mov edx, eax | |
mov rax, QWORD PTR -64[rbp] | |
mov DWORD PTR [rax], edx | |
jmp .L3915 | |
.L3918: | |
mov edx, DWORD PTR -44[rbp] | |
mov rax, QWORD PTR -40[rbp] | |
mov esi, edx | |
mov rdi, rax | |
call ptrmapPageno | |
mov DWORD PTR -4[rbp], eax | |
mov rax, QWORD PTR -40[rbp] | |
mov rax, QWORD PTR [rax] | |
lea rdx, -32[rbp] | |
mov esi, DWORD PTR -4[rbp] | |
mov ecx, 0 | |
mov rdi, rax | |
call sqlite3PagerGet | |
mov DWORD PTR -8[rbp], eax | |
cmp DWORD PTR -8[rbp], 0 | |
je .L3919 | |
mov rax, QWORD PTR -64[rbp] | |
mov edx, DWORD PTR -8[rbp] | |
mov DWORD PTR [rax], edx | |
jmp .L3915 | |
.L3919: | |
mov eax, DWORD PTR -44[rbp] | |
sub eax, DWORD PTR -4[rbp] | |
mov edx, eax | |
mov eax, edx | |
sal eax, 2 | |
add eax, edx | |
sub eax, 5 | |
mov DWORD PTR -12[rbp], eax | |
cmp DWORD PTR -12[rbp], 0 | |
jns .L3920 | |
mov edi, 61396 | |
call sqlite3CorruptError | |
mov edx, eax | |
mov rax, QWORD PTR -64[rbp] | |
mov DWORD PTR [rax], edx | |
jmp .L3921 | |
.L3920: | |
mov rax, QWORD PTR -32[rbp] | |
mov rdi, rax | |
call sqlite3PagerGetData | |
mov QWORD PTR -24[rbp], rax | |
mov eax, DWORD PTR -12[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
movzx eax, BYTE PTR [rax] | |
cmp al, BYTE PTR -48[rbp] | |
jne .L3922 | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
lea rdx, 1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
add rax, rdx | |
mov rdi, rax | |
call sqlite3Get4byte | |
cmp eax, DWORD PTR -52[rbp] | |
je .L3921 | |
.L3922: | |
mov rax, QWORD PTR -32[rbp] | |
mov rdi, rax | |
call sqlite3PagerWrite | |
mov DWORD PTR -8[rbp], eax | |
mov rax, QWORD PTR -64[rbp] | |
mov edx, DWORD PTR -8[rbp] | |
mov DWORD PTR [rax], edx | |
cmp DWORD PTR -8[rbp], 0 | |
jne .L3921 | |
mov eax, DWORD PTR -12[rbp] | |
movsx rdx, eax | |
mov rax, QWORD PTR -24[rbp] | |
add rdx, rax | |
movzx eax, BYTE PTR -48[rbp] | |
mov BYTE PTR [rdx], al | |
mov eax, DWORD PTR -12[rbp] | |
cdqe | |
lea rdx, 1[rax] | |
mov rax, QWORD PTR -24[rbp] | |
add rdx, rax | |
mov eax, DWORD PTR -52[rbp] | |
mov esi, eax | |
mov rdi, rdx | |
call sqlite3Put4byte | |
.L3921: | |
mov rax, QWORD PTR -32[rbp] | |
mov rdi, rax | |
call sqlite3PagerUnref | |
jmp .L3915 | |
.L3924: | |
nop | |
.L3915: | |
leave | |
.cfi_def_cfa 7, 8 | |
ret | |
.cfi_endproc | |
.LFE632: | |
.size ptrmapPut, .-ptrmapPut | |
.type ptrmapGet, @function | |
ptrmapGet: | |
.LFB633: | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment