Re: BUG #16696: Backend crash in llvmjit

From: Dmitry Marakasov <amdmi3(at)amdmi3(dot)ru>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #16696: Backend crash in llvmjit
Date: 2020-11-03 00:38:35
Message-ID: 20201103003835.GX30304@hades.panopticon
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

* Andres Freund (andres(at)anarazel(dot)de) wrote:

> On Mon, Nov 2, 2020, at 13:45, Dmitry Marakasov wrote:
> > * PG Bug reporting form (noreply(at)postgresql(dot)org) wrote:
> >
> > > Environment details:
> > > - FreeBSD 12.1 amd64
> > > - PostgreSQL 13.0 (built from FreeBSD ports)
> > > - llvm-10.0.1 (build from FreeBSD ports)
> >
> > My bad, it's actually llvm-9.0.1. Multiple llvm versions are installed on
> > the system, and PostgreSQL uses llvm9:
> >
> > ldd /usr/local/lib/postgresql/llvmjit.so | grep LLVM
> > libLLVM-9.so => /usr/local/llvm90/lib/libLLVM-9.so (0x800e00000)
>
> Could you try generating a backtrace after turning jit_debugging_support on? That might give a bit more information.

It doesn't give too much apart from the function name. Here's gdb
output:

#0 0x0000000810f5c70b in evalexpr_0_2 ()
No symbol table info available.
#1 0x000000080bfded8d in ExecRunCompiledExpr (state=0x80b18a850, econtext=0x801bc2a80, isNull=0x7fffffffddd7) at llvmjit_expr.c:2424
cstate = 0x80b4a9fe0
func = 0x810f5c120 <evalexpr_0_2>
#2 0x00000000007dd70b in ExecEvalExprSwitchContext (state=0x80b18a850, econtext=0x801bc2a80, isNull=0x7fffffffddd7) at ../../../src/include/executor/executor.h:313
retDatum = 140737488346496
oldContext = 0x801bc2000
#3 0x00000000007dd669 in ExecProject (projInfo=0x80b18a848) at ../../../src/include/executor/executor.h:347
econtext = 0x801bc2a80
state = 0x80b18a850
slot = 0x801bc3ec0
isnull = false
#4 0x00000000007dd42f in ExecResult (pstate=0x801bc2970) at nodeResult.c:136
node = 0x801bc2970
outerTupleSlot = 0x801bc31e0
outerPlan = 0x801bc2b10
econtext = 0x801bc2a80
#5 0x00000000007a1035 in ExecProcNodeFirst (node=0x801bc2970) at execProcnode.c:450
No locals.
#6 0x00000000007b5e22 in ExecProcNode (node=0x801bc2970) at ../../../src/include/executor/executor.h:245
No locals.
#7 0x00000000007b5a4c in fetch_input_tuple (aggstate=0x801bc2398) at nodeAgg.c:589
slot = 0x7a9ef7 <ReScanExprContext+39>
#8 0x00000000007b5678 in agg_retrieve_direct (aggstate=0x801bc2398) at nodeAgg.c:2356
node = 0x801bb5dd0
econtext = 0x801bc28e0
tmpcontext = 0x801bc27c0
peragg = 0x80b4aa6f0
pergroups = 0x80b4aa990
outerslot = 0x1a
firstSlot = 0x80b4aa000
result = 0xffff0b4aa12c
hasGroupingSets = false
numGroupingSets = 1
currentSet = 32767
nextSetSize = 0
numReset = 1
i = 1
#9 0x00000000007b250e in ExecAgg (pstate=0x801bc2398) at nodeAgg.c:2171
node = 0x801bc2398
result = 0x0
#10 0x00000000007a1035 in ExecProcNodeFirst (node=0x801bc2398) at execProcnode.c:450
No locals.
#11 0x0000000000799db2 in ExecProcNode (node=0x801bc2398) at ../../../src/include/executor/executor.h:245
No locals.
#12 0x0000000000796161 in ExecutePlan (estate=0x801bc2118, planstate=0x801bc2398, use_parallel_mode=false, operation=CMD_SELECT, sendTuples=true, numberTuples=0, direction=ForwardScanDirection,
dest=0x80b565f00, execute_once=true) at execMain.c:1646
slot = 0x80b565f50
current_tuple_count = 0
#13 0x000000000079602e in standard_ExecutorRun (queryDesc=0x80220e918, direction=ForwardScanDirection, count=0, execute_once=true) at execMain.c:364
estate = 0x801bc2118
operation = CMD_SELECT
dest = 0x80b565f00
sendTuples = true
oldcontext = 0x80220e800
#14 0x0000000000795e84 in ExecutorRun (queryDesc=0x80220e918, direction=ForwardScanDirection, count=0, execute_once=true) at execMain.c:308
No locals.
#15 0x00000000009f4928 in PortalRunSelect (portal=0x80b0c3118, forward=true, count=0, dest=0x80b565f00) at pquery.c:912
queryDesc = 0x80220e918
direction = ForwardScanDirection
nprocessed = 294333
#16 0x00000000009f438d in PortalRun (portal=0x80b0c3118, count=9223372036854775807, isTopLevel=true, run_once=true, dest=0x80b565f00, altdest=0x80b565f00, qc=0x7fffffffe3a0) at pquery.c:756
_save_exception_stack = 0x7fffffffe580
_save_context_stack = 0x0
_local_sigjmp_buf = {{_sjb = {10437281, -4571079317099439115, 140737488347448, 140737488347776, 140737488350016, 0, 140737488350024, 140737488350056, -64641, 2, 4294967297, 34359738368}}}
_do_rethrow = false
result = false
nprocessed = 34395449568
saveTopTransactionResourceOwner = 0x80b0ae3a0
saveTopTransactionContext = 0x80b0cb000
saveActivePortal = 0x0
saveResourceOwner = 0x80b0ae3a0
savePortalContext = 0x0
saveMemoryContext = 0x80b0cb000
#17 0x00000000009efc10 in exec_simple_query (
query_string=0x801b87118 "SELECT COUNT(*) FROM(\n\t\tSELECT\n\t\t\tjsonb_array_elements(data)->>0,\n\t\t\tjsonb_array_elements(data)->>1,\n\t\t\tjsonb_array_elements(data)->>2,\n\t\t\tjsonb_array_elements(data)->>3,\n\t\t\tjsonb_array_elements(data)"...) at postgres.c:1239
snapshot_set = true
per_parsetree_context = 0x0
plantree_list = 0x80b565eb0
parsetree = 0x801b8ecd0
commandTag = CMDTAG_SELECT
qc = {commandTag = CMDTAG_UNKNOWN, nprocessed = 0}
querytree_list = 0x801bb9160
portal = 0x80b0c3118
receiver = 0x80b565f00
format = 0
parsetree_item__state = {l = 0x801b8ed00, i = 0}
dest = DestRemote
oldcontext = 0x80b0cb000
parsetree_list = 0x801b8ed00
parsetree_item = 0x801b8ed18
save_log_statement_stats = false
was_logged = false
use_implicit_block = false
msec_str = "\340\343\377\377\377\177\000\000\022S\201\000\000\000\000\000\377q\t\000\000\000\000\000\365\033'h\356\001\000"
#18 0x00000000009eeec9 in PostgresMain (argc=1, argv=0x80b0ac730, dbname=0x80b0ac6a8 "repology", username=0x80b0ac688 "repology") at postgres.c:4315
query_string = 0x801b87118 "SELECT COUNT(*) FROM(\n\t\tSELECT\n\t\t\tjsonb_array_elements(data)->>0,\n\t\t\tjsonb_array_elements(data)->>1,\n\t\t\tjsonb_array_elements(data)->>2,\n\t\t\tjsonb_array_elements(data)->>3,\n\t\t\tjsonb_array_elements(data)"...
firstchar = 81
input_message = {
data = 0x801b87118 "SELECT COUNT(*) FROM(\n\t\tSELECT\n\t\t\tjsonb_array_elements(data)->>0,\n\t\t\tjsonb_array_elements(data)->>1,\n\t\t\tjsonb_array_elements(data)->>2,\n\t\t\tjsonb_array_elements(data)->>3,\n\t\t\tjsonb_array_elements(data)"..., len = 495, maxlen = 1024, cursor = 495}
local_sigjmp_buf = {{_sjb = {10414768, 3, 140737488348136, 140737488348704, 140737488350016, 0, 140737488350024, 140737488350056, 34388575103, 0, 0, 1}}}
send_ready_for_query = false
disable_idle_in_transaction_timeout = false
#19 0x000000000092bcb7 in BackendRun (port=0x80b0a5000) at postmaster.c:4536
av = 0x80b0ac730
maxac = 2
ac = 1
i = 1
#20 0x000000000092b090 in BackendStartup (port=0x80b0a5000) at postmaster.c:4220
bn = 0x801b97510
pid = 0
#21 0x000000000092a073 in ServerLoop () at postmaster.c:1739
port = 0x80b0a5000
i = 2
rmask = {__fds_bits = {256, 0 <repeats 15 times>}}
selres = 1
now = 1604363041
readmask = {__fds_bits = {448, 0 <repeats 15 times>}}
nSockets = 9
last_lockfile_recheck_time = 1604363041
last_touch_time = 1604363041
#22 0x0000000000927d52 in PostmasterMain (argc=3, argv=0x7fffffffeb48) at postmaster.c:1412
opt = -1
status = 0
userDoption = 0x800c881a0 "/var/db/postgres/data13"
listen_addr_saved = true
i = 64
output_config_variable = 0x0
#23 0x0000000000819bcf in main (argc=3, argv=0x7fffffffeb48) at main.c:210
do_check_root = true

Disassembly:

Dump of assembler code for function evalexpr_0_2:
0x0000000810f5c120 <+0>: push %rbp
0x0000000810f5c121 <+1>: mov %rsp,%rbp
0x0000000810f5c124 <+4>: push %r15
0x0000000810f5c126 <+6>: push %r14
0x0000000810f5c128 <+8>: push %r13
0x0000000810f5c12a <+10>: push %r12
0x0000000810f5c12c <+12>: push %rbx
0x0000000810f5c12d <+13>: sub $0x48,%rsp
0x0000000810f5c131 <+17>: mov %rdx,-0x68(%rbp)
0x0000000810f5c135 <+21>: mov %rdi,%r12
0x0000000810f5c138 <+24>: movabs $0x80b18a855,%r13
0x0000000810f5c142 <+34>: mov 0x18(%rsi),%rax
0x0000000810f5c146 <+38>: mov 0x10(%rdi),%rcx
0x0000000810f5c14a <+42>: mov 0x18(%rax),%r14
0x0000000810f5c14e <+46>: mov 0x20(%rax),%r15
0x0000000810f5c152 <+50>: mov 0x18(%rcx),%rbx
0x0000000810f5c156 <+54>: mov 0x20(%rcx),%rdx
0x0000000810f5c15a <+58>: mov (%r14),%rax
0x0000000810f5c15d <+61>: mov (%r15),%cl
0x0000000810f5c160 <+64>: mov %rax,0xf3(%r13)
0x0000000810f5c167 <+71>: mov %cl,0xfb(%r13)
0x0000000810f5c16e <+78>: movb $0x1,0x0(%r13)
0x0000000810f5c173 <+83>: cmp $0x1,%cl
0x0000000810f5c176 <+86>: mov %rdx,-0x30(%rbp)
0x0000000810f5c17a <+90>: je 0x810f5c1b4 <evalexpr_0_2+148>
0x0000000810f5c17c <+92>: cmpb $0x1,0x10b(%r13)
0x0000000810f5c184 <+100>: je 0x810f5c1b4 <evalexpr_0_2+148>
0x0000000810f5c186 <+102>: movb $0x0,0xef(%r13)
0x0000000810f5c18e <+110>: lea 0xd3(%r13),%rdi
0x0000000810f5c195 <+117>: movabs $0xaa0b40,%rax
0x0000000810f5c19f <+127>: callq *%rax
0x0000000810f5c1a1 <+129>: mov -0x30(%rbp),%rdx
0x0000000810f5c1a5 <+133>: mov 0xef(%r13),%cl
0x0000000810f5c1ac <+140>: mov %rax,0x3(%r13)
0x0000000810f5c1b0 <+144>: mov %cl,0x0(%r13)
0x0000000810f5c1b4 <+148>: mov 0x8(%r12),%rax
0x0000000810f5c1b9 <+153>: mov 0x5(%r12),%cl
0x0000000810f5c1be <+158>: mov %cl,(%rdx)
0x0000000810f5c1c0 <+160>: test %cl,%cl
0x0000000810f5c1c2 <+162>: jne 0x810f5c1da <evalexpr_0_2+186>
0x0000000810f5c1c4 <+164>: cmpb $0x1,(%rax)
0x0000000810f5c1c7 <+167>: jne 0x810f5c1d7 <evalexpr_0_2+183>
0x0000000810f5c1c9 <+169>: cmpb $0x3,0x1(%rax)
0x0000000810f5c1cd <+173>: jne 0x810f5c1d7 <evalexpr_0_2+183>
0x0000000810f5c1cf <+175>: mov 0x2(%rax),%rax
0x0000000810f5c1d3 <+179>: add $0x22,%rax
0x0000000810f5c1d7 <+183>: mov %rax,(%rbx)
0x0000000810f5c1da <+186>: mov (%r14),%rax
0x0000000810f5c1dd <+189>: mov (%r15),%cl
0x0000000810f5c1e0 <+192>: mov %rax,0x5a3(%r13)
0x0000000810f5c1e7 <+199>: mov %cl,0x5ab(%r13)
0x0000000810f5c1ee <+206>: movb $0x1,0x0(%r13)
0x0000000810f5c1f3 <+211>: cmp $0x1,%cl
0x0000000810f5c1f6 <+214>: je 0x810f5c230 <evalexpr_0_2+272>
0x0000000810f5c1f8 <+216>: cmpb $0x1,0x5bb(%r13)
0x0000000810f5c200 <+224>: je 0x810f5c230 <evalexpr_0_2+272>
0x0000000810f5c202 <+226>: movb $0x0,0x59f(%r13)
0x0000000810f5c20a <+234>: lea 0x583(%r13),%rdi
0x0000000810f5c211 <+241>: movabs $0xaa0b40,%rax
0x0000000810f5c21b <+251>: callq *%rax
0x0000000810f5c21d <+253>: mov -0x30(%rbp),%rdx
0x0000000810f5c221 <+257>: mov 0x59f(%r13),%cl
0x0000000810f5c228 <+264>: mov %rax,0x3(%r13)
0x0000000810f5c22c <+268>: mov %cl,0x0(%r13)
0x0000000810f5c230 <+272>: mov 0x8(%r12),%rax
0x0000000810f5c235 <+277>: mov 0x5(%r12),%cl
0x0000000810f5c23a <+282>: mov %cl,0x1(%rdx)
0x0000000810f5c23d <+285>: test %cl,%cl
0x0000000810f5c23f <+287>: jne 0x810f5c258 <evalexpr_0_2+312>
0x0000000810f5c241 <+289>: cmpb $0x1,(%rax)
0x0000000810f5c244 <+292>: jne 0x810f5c254 <evalexpr_0_2+308>
0x0000000810f5c246 <+294>: cmpb $0x3,0x1(%rax)
0x0000000810f5c24a <+298>: jne 0x810f5c254 <evalexpr_0_2+308>
0x0000000810f5c24c <+300>: mov 0x2(%rax),%rax
0x0000000810f5c250 <+304>: add $0x22,%rax
0x0000000810f5c254 <+308>: mov %rax,0x8(%rbx)
0x0000000810f5c258 <+312>: mov (%r14),%rax
0x0000000810f5c25b <+315>: mov (%r15),%cl
0x0000000810f5c25e <+318>: mov %rax,0x643(%r13)
0x0000000810f5c265 <+325>: mov %cl,0x64b(%r13)
0x0000000810f5c26c <+332>: movb $0x1,0x0(%r13)
0x0000000810f5c271 <+337>: cmp $0x1,%cl
0x0000000810f5c274 <+340>: je 0x810f5c2ae <evalexpr_0_2+398>
0x0000000810f5c276 <+342>: cmpb $0x1,0x65b(%r13)
0x0000000810f5c27e <+350>: je 0x810f5c2ae <evalexpr_0_2+398>
0x0000000810f5c280 <+352>: movb $0x0,0x63f(%r13)
0x0000000810f5c288 <+360>: lea 0x623(%r13),%rdi
0x0000000810f5c28f <+367>: movabs $0xaa0b40,%rax
0x0000000810f5c299 <+377>: callq *%rax
0x0000000810f5c29b <+379>: mov -0x30(%rbp),%rdx
0x0000000810f5c29f <+383>: mov 0x63f(%r13),%cl
0x0000000810f5c2a6 <+390>: mov %rax,0x3(%r13)
0x0000000810f5c2aa <+394>: mov %cl,0x0(%r13)
0x0000000810f5c2ae <+398>: mov 0x8(%r12),%rax
0x0000000810f5c2b3 <+403>: mov 0x5(%r12),%cl
0x0000000810f5c2b8 <+408>: mov %cl,0x2(%rdx)
0x0000000810f5c2bb <+411>: test %cl,%cl
0x0000000810f5c2bd <+413>: jne 0x810f5c2d6 <evalexpr_0_2+438>
0x0000000810f5c2bf <+415>: cmpb $0x1,(%rax)
0x0000000810f5c2c2 <+418>: jne 0x810f5c2d2 <evalexpr_0_2+434>
0x0000000810f5c2c4 <+420>: cmpb $0x3,0x1(%rax)
0x0000000810f5c2c8 <+424>: jne 0x810f5c2d2 <evalexpr_0_2+434>
0x0000000810f5c2ca <+426>: mov 0x2(%rax),%rax
0x0000000810f5c2ce <+430>: add $0x22,%rax
0x0000000810f5c2d2 <+434>: mov %rax,0x10(%rbx)
0x0000000810f5c2d6 <+438>: mov (%r14),%rax
0x0000000810f5c2d9 <+441>: mov (%r15),%cl
0x0000000810f5c2dc <+444>: mov %rax,0x6e3(%r13)
0x0000000810f5c2e3 <+451>: mov %cl,0x6eb(%r13)
0x0000000810f5c2ea <+458>: movb $0x1,0x0(%r13)
0x0000000810f5c2ef <+463>: cmp $0x1,%cl
0x0000000810f5c2f2 <+466>: je 0x810f5c32c <evalexpr_0_2+524>
0x0000000810f5c2f4 <+468>: cmpb $0x1,0x6fb(%r13)
0x0000000810f5c2fc <+476>: je 0x810f5c32c <evalexpr_0_2+524>
0x0000000810f5c2fe <+478>: movb $0x0,0x6df(%r13)
0x0000000810f5c306 <+486>: lea 0x6c3(%r13),%rdi
0x0000000810f5c30d <+493>: movabs $0xaa0b40,%rax
0x0000000810f5c317 <+503>: callq *%rax
0x0000000810f5c319 <+505>: mov -0x30(%rbp),%rdx
0x0000000810f5c31d <+509>: mov 0x6df(%r13),%cl
0x0000000810f5c324 <+516>: mov %rax,0x3(%r13)
0x0000000810f5c328 <+520>: mov %cl,0x0(%r13)
0x0000000810f5c32c <+524>: mov 0x8(%r12),%rax
0x0000000810f5c331 <+529>: mov 0x5(%r12),%cl
0x0000000810f5c336 <+534>: mov %cl,0x3(%rdx)
0x0000000810f5c339 <+537>: test %cl,%cl
0x0000000810f5c33b <+539>: jne 0x810f5c354 <evalexpr_0_2+564>
0x0000000810f5c33d <+541>: cmpb $0x1,(%rax)
0x0000000810f5c340 <+544>: jne 0x810f5c350 <evalexpr_0_2+560>
0x0000000810f5c342 <+546>: cmpb $0x3,0x1(%rax)
0x0000000810f5c346 <+550>: jne 0x810f5c350 <evalexpr_0_2+560>
0x0000000810f5c348 <+552>: mov 0x2(%rax),%rax
0x0000000810f5c34c <+556>: add $0x22,%rax
0x0000000810f5c350 <+560>: mov %rax,0x18(%rbx)
0x0000000810f5c354 <+564>: mov (%r14),%rax
0x0000000810f5c357 <+567>: mov (%r15),%cl
0x0000000810f5c35a <+570>: mov %rax,0x783(%r13)
0x0000000810f5c361 <+577>: mov %cl,0x78b(%r13)
0x0000000810f5c368 <+584>: movb $0x1,0x0(%r13)
0x0000000810f5c36d <+589>: cmp $0x1,%cl
0x0000000810f5c370 <+592>: je 0x810f5c3aa <evalexpr_0_2+650>
0x0000000810f5c372 <+594>: cmpb $0x1,0x79b(%r13)
0x0000000810f5c37a <+602>: je 0x810f5c3aa <evalexpr_0_2+650>
0x0000000810f5c37c <+604>: movb $0x0,0x77f(%r13)
0x0000000810f5c384 <+612>: lea 0x763(%r13),%rdi
0x0000000810f5c38b <+619>: movabs $0xaa0b40,%rax
0x0000000810f5c395 <+629>: callq *%rax
0x0000000810f5c397 <+631>: mov -0x30(%rbp),%rdx
0x0000000810f5c39b <+635>: mov 0x77f(%r13),%cl
0x0000000810f5c3a2 <+642>: mov %rax,0x3(%r13)
0x0000000810f5c3a6 <+646>: mov %cl,0x0(%r13)
0x0000000810f5c3aa <+650>: mov 0x8(%r12),%rax
0x0000000810f5c3af <+655>: mov 0x5(%r12),%cl
0x0000000810f5c3b4 <+660>: mov %cl,0x4(%rdx)
0x0000000810f5c3b7 <+663>: test %cl,%cl
0x0000000810f5c3b9 <+665>: jne 0x810f5c3d2 <evalexpr_0_2+690>
0x0000000810f5c3bb <+667>: cmpb $0x1,(%rax)
0x0000000810f5c3be <+670>: jne 0x810f5c3ce <evalexpr_0_2+686>
0x0000000810f5c3c0 <+672>: cmpb $0x3,0x1(%rax)
0x0000000810f5c3c4 <+676>: jne 0x810f5c3ce <evalexpr_0_2+686>
0x0000000810f5c3c6 <+678>: mov 0x2(%rax),%rax
0x0000000810f5c3ca <+682>: add $0x22,%rax
0x0000000810f5c3ce <+686>: mov %rax,0x20(%rbx)
0x0000000810f5c3d2 <+690>: mov (%r14),%rax
0x0000000810f5c3d5 <+693>: mov (%r15),%cl
0x0000000810f5c3d8 <+696>: mov %rax,0x823(%r13)
0x0000000810f5c3df <+703>: mov %cl,0x82b(%r13)
0x0000000810f5c3e6 <+710>: movb $0x1,0x0(%r13)
0x0000000810f5c3eb <+715>: cmp $0x1,%cl
0x0000000810f5c3ee <+718>: je 0x810f5c428 <evalexpr_0_2+776>
0x0000000810f5c3f0 <+720>: cmpb $0x1,0x83b(%r13)
0x0000000810f5c3f8 <+728>: je 0x810f5c428 <evalexpr_0_2+776>
0x0000000810f5c3fa <+730>: movb $0x0,0x81f(%r13)
0x0000000810f5c402 <+738>: lea 0x803(%r13),%rdi
0x0000000810f5c409 <+745>: movabs $0xaa0b40,%rax
0x0000000810f5c413 <+755>: callq *%rax
0x0000000810f5c415 <+757>: mov -0x30(%rbp),%rdx
0x0000000810f5c419 <+761>: mov 0x81f(%r13),%cl
0x0000000810f5c420 <+768>: mov %rax,0x3(%r13)
0x0000000810f5c424 <+772>: mov %cl,0x0(%r13)
0x0000000810f5c428 <+776>: mov 0x8(%r12),%rax
0x0000000810f5c42d <+781>: mov 0x5(%r12),%cl
0x0000000810f5c432 <+786>: mov %cl,0x5(%rdx)
0x0000000810f5c435 <+789>: test %cl,%cl
0x0000000810f5c437 <+791>: jne 0x810f5c450 <evalexpr_0_2+816>
0x0000000810f5c439 <+793>: cmpb $0x1,(%rax)
0x0000000810f5c43c <+796>: jne 0x810f5c44c <evalexpr_0_2+812>
0x0000000810f5c43e <+798>: cmpb $0x3,0x1(%rax)
0x0000000810f5c442 <+802>: jne 0x810f5c44c <evalexpr_0_2+812>
0x0000000810f5c444 <+804>: mov 0x2(%rax),%rax
0x0000000810f5c448 <+808>: add $0x22,%rax
0x0000000810f5c44c <+812>: mov %rax,0x28(%rbx)
0x0000000810f5c450 <+816>: mov (%r14),%rax
0x0000000810f5c453 <+819>: mov (%r15),%cl
0x0000000810f5c456 <+822>: mov %rax,0x10d3(%r13)
0x0000000810f5c45d <+829>: mov %cl,0x10db(%r13)
0x0000000810f5c464 <+836>: movb $0x1,0x0(%r13)
0x0000000810f5c469 <+841>: cmp $0x1,%cl
0x0000000810f5c46c <+844>: je 0x810f5c4a6 <evalexpr_0_2+902>
0x0000000810f5c46e <+846>: cmpb $0x1,0x10eb(%r13)
0x0000000810f5c476 <+854>: je 0x810f5c4a6 <evalexpr_0_2+902>
0x0000000810f5c478 <+856>: movb $0x0,0x10cf(%r13)
0x0000000810f5c480 <+864>: lea 0x10b3(%r13),%rdi
0x0000000810f5c487 <+871>: movabs $0xaa0b40,%rax
0x0000000810f5c491 <+881>: callq *%rax
0x0000000810f5c493 <+883>: mov -0x30(%rbp),%rdx
0x0000000810f5c497 <+887>: mov 0x10cf(%r13),%cl
0x0000000810f5c49e <+894>: mov %rax,0x3(%r13)
0x0000000810f5c4a2 <+898>: mov %cl,0x0(%r13)
0x0000000810f5c4a6 <+902>: mov 0x8(%r12),%rax
0x0000000810f5c4ab <+907>: mov 0x5(%r12),%cl
0x0000000810f5c4b0 <+912>: mov %cl,0x6(%rdx)
0x0000000810f5c4b3 <+915>: test %cl,%cl
0x0000000810f5c4b5 <+917>: jne 0x810f5c4ce <evalexpr_0_2+942>
0x0000000810f5c4b7 <+919>: cmpb $0x1,(%rax)
0x0000000810f5c4ba <+922>: jne 0x810f5c4ca <evalexpr_0_2+938>
0x0000000810f5c4bc <+924>: cmpb $0x3,0x1(%rax)
0x0000000810f5c4c0 <+928>: jne 0x810f5c4ca <evalexpr_0_2+938>
0x0000000810f5c4c2 <+930>: mov 0x2(%rax),%rax
0x0000000810f5c4c6 <+934>: add $0x22,%rax
0x0000000810f5c4ca <+938>: mov %rax,0x30(%rbx)
0x0000000810f5c4ce <+942>: mov (%r14),%rax
0x0000000810f5c4d1 <+945>: mov (%r15),%cl
0x0000000810f5c4d4 <+948>: mov %rax,0x1173(%r13)
0x0000000810f5c4db <+955>: mov %cl,0x117b(%r13)
0x0000000810f5c4e2 <+962>: movb $0x1,0x0(%r13)
0x0000000810f5c4e7 <+967>: cmp $0x1,%cl
0x0000000810f5c4ea <+970>: je 0x810f5c524 <evalexpr_0_2+1028>
0x0000000810f5c4ec <+972>: cmpb $0x1,0x118b(%r13)
0x0000000810f5c4f4 <+980>: je 0x810f5c524 <evalexpr_0_2+1028>
0x0000000810f5c4f6 <+982>: movb $0x0,0x116f(%r13)
0x0000000810f5c4fe <+990>: lea 0x1153(%r13),%rdi
0x0000000810f5c505 <+997>: movabs $0xaa0b40,%rax
0x0000000810f5c50f <+1007>: callq *%rax
0x0000000810f5c511 <+1009>: mov -0x30(%rbp),%rdx
0x0000000810f5c515 <+1013>: mov 0x116f(%r13),%cl
0x0000000810f5c51c <+1020>: mov %rax,0x3(%r13)
0x0000000810f5c520 <+1024>: mov %cl,0x0(%r13)
0x0000000810f5c524 <+1028>: mov 0x8(%r12),%rax
0x0000000810f5c529 <+1033>: mov 0x5(%r12),%cl
0x0000000810f5c52e <+1038>: mov %cl,0x7(%rdx)
0x0000000810f5c531 <+1041>: test %cl,%cl
0x0000000810f5c533 <+1043>: jne 0x810f5c54c <evalexpr_0_2+1068>
0x0000000810f5c535 <+1045>: cmpb $0x1,(%rax)
0x0000000810f5c538 <+1048>: jne 0x810f5c548 <evalexpr_0_2+1064>
0x0000000810f5c53a <+1050>: cmpb $0x3,0x1(%rax)
0x0000000810f5c53e <+1054>: jne 0x810f5c548 <evalexpr_0_2+1064>
0x0000000810f5c540 <+1056>: mov 0x2(%rax),%rax
0x0000000810f5c544 <+1060>: add $0x22,%rax
0x0000000810f5c548 <+1064>: mov %rax,0x38(%rbx)
0x0000000810f5c54c <+1068>: mov (%r14),%rax
0x0000000810f5c54f <+1071>: mov (%r15),%cl
0x0000000810f5c552 <+1074>: mov %rax,0x1213(%r13)
0x0000000810f5c559 <+1081>: mov %cl,0x121b(%r13)
0x0000000810f5c560 <+1088>: movb $0x1,0x0(%r13)
0x0000000810f5c565 <+1093>: cmp $0x1,%cl
0x0000000810f5c568 <+1096>: je 0x810f5c5a2 <evalexpr_0_2+1154>
0x0000000810f5c56a <+1098>: cmpb $0x1,0x122b(%r13)
0x0000000810f5c572 <+1106>: je 0x810f5c5a2 <evalexpr_0_2+1154>
0x0000000810f5c574 <+1108>: movb $0x0,0x120f(%r13)
0x0000000810f5c57c <+1116>: lea 0x11f3(%r13),%rdi
0x0000000810f5c583 <+1123>: movabs $0xaa0b40,%rax
0x0000000810f5c58d <+1133>: callq *%rax
0x0000000810f5c58f <+1135>: mov -0x30(%rbp),%rdx
0x0000000810f5c593 <+1139>: mov 0x120f(%r13),%cl
0x0000000810f5c59a <+1146>: mov %rax,0x3(%r13)
0x0000000810f5c59e <+1150>: mov %cl,0x0(%r13)
0x0000000810f5c5a2 <+1154>: mov 0x8(%r12),%rax
0x0000000810f5c5a7 <+1159>: mov 0x5(%r12),%cl
0x0000000810f5c5ac <+1164>: mov %cl,0x8(%rdx)
0x0000000810f5c5af <+1167>: test %cl,%cl
0x0000000810f5c5b1 <+1169>: jne 0x810f5c5ca <evalexpr_0_2+1194>
0x0000000810f5c5b3 <+1171>: cmpb $0x1,(%rax)
0x0000000810f5c5b6 <+1174>: jne 0x810f5c5c6 <evalexpr_0_2+1190>
0x0000000810f5c5b8 <+1176>: cmpb $0x3,0x1(%rax)
0x0000000810f5c5bc <+1180>: jne 0x810f5c5c6 <evalexpr_0_2+1190>
0x0000000810f5c5be <+1182>: mov 0x2(%rax),%rax
0x0000000810f5c5c2 <+1186>: add $0x22,%rax
0x0000000810f5c5c6 <+1190>: mov %rax,0x40(%rbx)
0x0000000810f5c5ca <+1194>: mov (%r14),%rax
0x0000000810f5c5cd <+1197>: mov (%r15),%cl
0x0000000810f5c5d0 <+1200>: mov %rax,0x12b3(%r13)
0x0000000810f5c5d7 <+1207>: mov %cl,0x12bb(%r13)
0x0000000810f5c5de <+1214>: movb $0x1,0x0(%r13)
0x0000000810f5c5e3 <+1219>: cmp $0x1,%cl
0x0000000810f5c5e6 <+1222>: je 0x810f5c620 <evalexpr_0_2+1280>
0x0000000810f5c5e8 <+1224>: cmpb $0x1,0x12cb(%r13)
0x0000000810f5c5f0 <+1232>: je 0x810f5c620 <evalexpr_0_2+1280>
0x0000000810f5c5f2 <+1234>: movb $0x0,0x12af(%r13)
0x0000000810f5c5fa <+1242>: lea 0x1293(%r13),%rdi
0x0000000810f5c601 <+1249>: movabs $0xaa0b40,%rax
0x0000000810f5c60b <+1259>: callq *%rax
0x0000000810f5c60d <+1261>: mov -0x30(%rbp),%rdx
0x0000000810f5c611 <+1265>: mov 0x12af(%r13),%cl
0x0000000810f5c618 <+1272>: mov %rax,0x3(%r13)
0x0000000810f5c61c <+1276>: mov %cl,0x0(%r13)
0x0000000810f5c620 <+1280>: mov 0x8(%r12),%rax
0x0000000810f5c625 <+1285>: mov 0x5(%r12),%cl
0x0000000810f5c62a <+1290>: mov %cl,0x9(%rdx)
0x0000000810f5c62d <+1293>: test %cl,%cl
0x0000000810f5c62f <+1295>: jne 0x810f5c648 <evalexpr_0_2+1320>
0x0000000810f5c631 <+1297>: cmpb $0x1,(%rax)
0x0000000810f5c634 <+1300>: jne 0x810f5c644 <evalexpr_0_2+1316>
0x0000000810f5c636 <+1302>: cmpb $0x3,0x1(%rax)
0x0000000810f5c63a <+1306>: jne 0x810f5c644 <evalexpr_0_2+1316>
0x0000000810f5c63c <+1308>: mov 0x2(%rax),%rax
0x0000000810f5c640 <+1312>: add $0x22,%rax
0x0000000810f5c644 <+1316>: mov %rax,0x48(%rbx)
0x0000000810f5c648 <+1320>: mov %rbx,-0x58(%rbp)
0x0000000810f5c64c <+1324>: mov (%r14),%rax
0x0000000810f5c64f <+1327>: mov (%r15),%cl
0x0000000810f5c652 <+1330>: mov %rax,0x1353(%r13)
0x0000000810f5c659 <+1337>: mov %cl,0x135b(%r13)
0x0000000810f5c660 <+1344>: movb $0x1,0x0(%r13)
0x0000000810f5c665 <+1349>: cmp $0x1,%cl
0x0000000810f5c668 <+1352>: je 0x810f5c7e3 <evalexpr_0_2+1731>
0x0000000810f5c66e <+1358>: cmpb $0x1,0x136b(%r13)
0x0000000810f5c676 <+1366>: je 0x810f5c7e3 <evalexpr_0_2+1731>
0x0000000810f5c67c <+1372>: movb $0x0,0x134f(%r13)
0x0000000810f5c684 <+1380>: lea 0x1333(%r13),%rdi
0x0000000810f5c68b <+1387>: movabs $0xaa0b40,%rax
0x0000000810f5c695 <+1397>: callq *%rax
0x0000000810f5c697 <+1399>: mov -0x30(%rbp),%rdx
0x0000000810f5c69b <+1403>: mov 0x134f(%r13),%bl
0x0000000810f5c6a2 <+1410>: mov %rax,0x3(%r13)
0x0000000810f5c6a6 <+1414>: mov %bl,0x0(%r13)
0x0000000810f5c6aa <+1418>: cmp $0x1,%bl
0x0000000810f5c6ad <+1421>: je 0x810f5c7e3 <evalexpr_0_2+1731>
0x0000000810f5c6b3 <+1427>: mov 0x3(%r13),%rax
0x0000000810f5c6b7 <+1431>: mov %rax,0x13f3(%r13)
0x0000000810f5c6be <+1438>: movb $0x0,0x13fb(%r13)
0x0000000810f5c6c6 <+1446>: lea 0x13d3(%r13),%rdi
0x0000000810f5c6cd <+1453>: movabs $0xb7cfc0,%rax
0x0000000810f5c6d7 <+1463>: callq *%rax
0x0000000810f5c6d9 <+1465>: mov -0x30(%rbp),%rdx
0x0000000810f5c6dd <+1469>: test %rax,%rax
0x0000000810f5c6e0 <+1472>: je 0x810f5c7e3 <evalexpr_0_2+1731>
0x0000000810f5c6e6 <+1478>: mov %rax,0x1493(%r13)
0x0000000810f5c6ed <+1485>: mov %bl,0x149b(%r13)
0x0000000810f5c6f4 <+1492>: movb $0x0,0x148f(%r13)
0x0000000810f5c6fc <+1500>: movzbl (%rax),%esi
0x0000000810f5c6ff <+1503>: movabs $0xc85a04,%rcx
0x0000000810f5c709 <+1513>: mov (%rcx),%edi
0x0000000810f5c70b <+1515>: mov 0x1b178bc(%rip),%rcx # 0x812a73fce
0x0000000810f5c712 <+1522>: mov %fs:0x0,%rdx
0x0000000810f5c71b <+1531>: mov (%rdx,%rcx,1),%rbx
0x0000000810f5c71f <+1535>: cmp %esi,%edi
0x0000000810f5c721 <+1537>: mov %rax,-0x60(%rbp)
0x0000000810f5c725 <+1541>: mov %edi,-0x48(%rbp)
0x0000000810f5c728 <+1544>: mov %rbx,-0x40(%rbp)
0x0000000810f5c72c <+1548>: jle 0x810f5c769 <evalexpr_0_2+1609>
0x0000000810f5c72e <+1550>: test %rbx,%rbx
0x0000000810f5c731 <+1553>: movabs $0xc85a10,%rcx
0x0000000810f5c73b <+1563>: mov (%rcx),%rdx
0x0000000810f5c73e <+1566>: mov %rbx,%rcx
0x0000000810f5c741 <+1569>: mov %rdx,%r8
0x0000000810f5c744 <+1572>: cmove %rdx,%rcx
0x0000000810f5c748 <+1576>: mov %rax,%rbx
0x0000000810f5c74b <+1579>: mov %rdx,-0x50(%rbp)
0x0000000810f5c74f <+1583>: nop
0x0000000810f5c750 <+1584>: movzbl %sil,%edx
0x0000000810f5c754 <+1588>: testb $0x40,0x41(%rcx,%rdx,8)
0x0000000810f5c759 <+1593>: je 0x810f5c77d <evalexpr_0_2+1629>
0x0000000810f5c75b <+1595>: movzbl 0x1(%rbx),%esi
0x0000000810f5c75f <+1599>: add $0x1,%rbx
0x0000000810f5c763 <+1603>: cmp %esi,%edi
0x0000000810f5c765 <+1605>: jg 0x810f5c750 <evalexpr_0_2+1584>
0x0000000810f5c767 <+1607>: jmp 0x810f5c77d <evalexpr_0_2+1629>
0x0000000810f5c769 <+1609>: movabs $0xc85a10,%rcx
0x0000000810f5c773 <+1619>: mov (%rcx),%rcx
0x0000000810f5c776 <+1622>: mov %rcx,-0x50(%rbp)
0x0000000810f5c77a <+1626>: mov %rax,%rbx
0x0000000810f5c77d <+1629>: movabs $0x801769f90,%rax
0x0000000810f5c787 <+1639>: mov %rbx,%rdi
0x0000000810f5c78a <+1642>: callq *%rax
0x0000000810f5c78c <+1644>: mov -0x40(%rbp),%rcx
0x0000000810f5c790 <+1648>: test %rcx,%rcx
0x0000000810f5c793 <+1651>: mov -0x50(%rbp),%rdi
0x0000000810f5c797 <+1655>: cmovne %rcx,%rdi
0x0000000810f5c79b <+1659>: mov -0x48(%rbp),%edx
0x0000000810f5c79e <+1662>: xchg %ax,%ax
0x0000000810f5c7a0 <+1664>: mov %rax,%rsi
0x0000000810f5c7a3 <+1667>: test %rax,%rax
0x0000000810f5c7a6 <+1670>: je 0x810f5c7bc <evalexpr_0_2+1692>
0x0000000810f5c7a8 <+1672>: movzbl -0x1(%rbx,%rsi,1),%ecx
0x0000000810f5c7ad <+1677>: cmp %ecx,%edx
0x0000000810f5c7af <+1679>: jle 0x810f5c7bc <evalexpr_0_2+1692>
0x0000000810f5c7b1 <+1681>: lea -0x1(%rsi),%rax
0x0000000810f5c7b5 <+1685>: testb $0x40,0x41(%rdi,%rcx,8)
0x0000000810f5c7ba <+1690>: jne 0x810f5c7a0 <evalexpr_0_2+1664>
0x0000000810f5c7bc <+1692>: movabs $0xa3acc0,%rax
0x0000000810f5c7c6 <+1702>: lea -0x32(%rbp),%rdx
0x0000000810f5c7ca <+1706>: mov %rbx,%rdi
0x0000000810f5c7cd <+1709>: callq *%rax
0x0000000810f5c7cf <+1711>: test %al,%al
0x0000000810f5c7d1 <+1713>: je 0x810f5c9cc <evalexpr_0_2+2220>
0x0000000810f5c7d7 <+1719>: movzbl -0x32(%rbp),%eax
0x0000000810f5c7db <+1723>: mov %rax,0x3(%r13)
0x0000000810f5c7df <+1727>: mov -0x30(%rbp),%rdx
0x0000000810f5c7e3 <+1731>: mov 0x8(%r12),%rax
0x0000000810f5c7e8 <+1736>: mov 0x5(%r12),%cl
0x0000000810f5c7ed <+1741>: mov %cl,0xa(%rdx)
0x0000000810f5c7f0 <+1744>: mov -0x58(%rbp),%rcx
0x0000000810f5c7f4 <+1748>: mov %rax,0x50(%rcx)
0x0000000810f5c7f8 <+1752>: mov (%r14),%rax
0x0000000810f5c7fb <+1755>: mov (%r15),%cl
0x0000000810f5c7fe <+1758>: mov %rax,0x31e763(%r13)
0x0000000810f5c805 <+1765>: mov %cl,0x31e76b(%r13)
0x0000000810f5c80c <+1772>: movb $0x1,0x0(%r13)
0x0000000810f5c811 <+1777>: cmp $0x1,%cl
0x0000000810f5c814 <+1780>: je 0x810f5c995 <evalexpr_0_2+2165>
0x0000000810f5c81a <+1786>: cmpb $0x1,0x31e77b(%r13)
0x0000000810f5c822 <+1794>: je 0x810f5c995 <evalexpr_0_2+2165>
0x0000000810f5c828 <+1800>: movb $0x0,0x31e75f(%r13)
0x0000000810f5c830 <+1808>: lea 0x31e743(%r13),%rdi
0x0000000810f5c837 <+1815>: movabs $0xaa0b40,%rax
0x0000000810f5c841 <+1825>: callq *%rax
0x0000000810f5c843 <+1827>: mov -0x30(%rbp),%rdx
0x0000000810f5c847 <+1831>: mov 0x31e75f(%r13),%bl
0x0000000810f5c84e <+1838>: mov %rax,0x3(%r13)
0x0000000810f5c852 <+1842>: mov %bl,0x0(%r13)
0x0000000810f5c856 <+1846>: cmp $0x1,%bl
0x0000000810f5c859 <+1849>: je 0x810f5c995 <evalexpr_0_2+2165>
0x0000000810f5c85f <+1855>: mov 0x3(%r13),%rax
0x0000000810f5c863 <+1859>: mov %rax,0x31e803(%r13)
0x0000000810f5c86a <+1866>: movb $0x0,0x31e80b(%r13)
0x0000000810f5c872 <+1874>: lea 0x31e7e3(%r13),%rdi
0x0000000810f5c879 <+1881>: movabs $0xb7cfc0,%rax
0x0000000810f5c883 <+1891>: callq *%rax
0x0000000810f5c885 <+1893>: mov -0x30(%rbp),%rdx
0x0000000810f5c889 <+1897>: test %rax,%rax
0x0000000810f5c88c <+1900>: je 0x810f5c995 <evalexpr_0_2+2165>
0x0000000810f5c892 <+1906>: mov %rax,0x1733(%r13)
0x0000000810f5c899 <+1913>: mov %bl,0x173b(%r13)
0x0000000810f5c8a0 <+1920>: movb $0x0,0x172f(%r13)
0x0000000810f5c8a8 <+1928>: movzbl (%rax),%esi
0x0000000810f5c8ab <+1931>: movabs $0xc85a04,%rcx
0x0000000810f5c8b5 <+1941>: mov (%rcx),%r14d
0x0000000810f5c8b8 <+1944>: mov 0x1b178bc(%rip),%rcx # 0x812a7417b
0x0000000810f5c8bf <+1951>: mov %fs:0x0,%rdx
0x0000000810f5c8c8 <+1960>: mov (%rdx,%rcx,1),%rdi
0x0000000810f5c8cc <+1964>: cmp %esi,%r14d
0x0000000810f5c8cf <+1967>: mov %rax,-0x40(%rbp)
0x0000000810f5c8d3 <+1971>: mov %rdi,-0x48(%rbp)
0x0000000810f5c8d7 <+1975>: jle 0x810f5c91a <evalexpr_0_2+2042>
0x0000000810f5c8d9 <+1977>: test %rdi,%rdi
0x0000000810f5c8dc <+1980>: movabs $0xc85a10,%rcx
0x0000000810f5c8e6 <+1990>: mov (%rcx),%r15
0x0000000810f5c8e9 <+1993>: mov %rdi,%rcx
0x0000000810f5c8ec <+1996>: cmove %r15,%rcx
0x0000000810f5c8f0 <+2000>: mov %rax,%rbx
0x0000000810f5c8f3 <+2003>: nopw %cs:0x0(%rax,%rax,1)
0x0000000810f5c8fd <+2013>: nopl (%rax)
0x0000000810f5c900 <+2016>: movzbl %sil,%edx
0x0000000810f5c904 <+2020>: testb $0x40,0x41(%rcx,%rdx,8)
0x0000000810f5c909 <+2025>: je 0x810f5c92a <evalexpr_0_2+2058>
0x0000000810f5c90b <+2027>: movzbl 0x1(%rbx),%esi
0x0000000810f5c90f <+2031>: add $0x1,%rbx
0x0000000810f5c913 <+2035>: cmp %esi,%r14d
0x0000000810f5c916 <+2038>: jg 0x810f5c900 <evalexpr_0_2+2016>
0x0000000810f5c918 <+2040>: jmp 0x810f5c92a <evalexpr_0_2+2058>
0x0000000810f5c91a <+2042>: movabs $0xc85a10,%rcx
0x0000000810f5c924 <+2052>: mov (%rcx),%r15
0x0000000810f5c927 <+2055>: mov %rax,%rbx
0x0000000810f5c92a <+2058>: movabs $0x801769f90,%rax
0x0000000810f5c934 <+2068>: mov %rbx,%rdi
0x0000000810f5c937 <+2071>: callq *%rax
0x0000000810f5c939 <+2073>: mov -0x48(%rbp),%rcx
0x0000000810f5c93d <+2077>: test %rcx,%rcx
0x0000000810f5c940 <+2080>: cmovne %rcx,%r15
0x0000000810f5c944 <+2084>: nopw %cs:0x0(%rax,%rax,1)
0x0000000810f5c94e <+2094>: xchg %ax,%ax
0x0000000810f5c950 <+2096>: mov %rax,%rsi
0x0000000810f5c953 <+2099>: test %rax,%rax
0x0000000810f5c956 <+2102>: je 0x810f5c96e <evalexpr_0_2+2126>
0x0000000810f5c958 <+2104>: movzbl -0x1(%rbx,%rsi,1),%ecx
0x0000000810f5c95d <+2109>: cmp %ecx,%r14d
0x0000000810f5c960 <+2112>: jle 0x810f5c96e <evalexpr_0_2+2126>
0x0000000810f5c962 <+2114>: lea -0x1(%rsi),%rax
0x0000000810f5c966 <+2118>: testb $0x40,0x41(%r15,%rcx,8)
0x0000000810f5c96c <+2124>: jne 0x810f5c950 <evalexpr_0_2+2096>
0x0000000810f5c96e <+2126>: movabs $0xa3acc0,%rax
0x0000000810f5c978 <+2136>: lea -0x31(%rbp),%rdx
0x0000000810f5c97c <+2140>: mov %rbx,%rdi
0x0000000810f5c97f <+2143>: callq *%rax
0x0000000810f5c981 <+2145>: test %al,%al
0x0000000810f5c983 <+2147>: je 0x810f5ca14 <evalexpr_0_2+2292>
0x0000000810f5c989 <+2153>: movzbl -0x31(%rbp),%eax
0x0000000810f5c98d <+2157>: mov %rax,0x3(%r13)
0x0000000810f5c991 <+2161>: mov -0x30(%rbp),%rdx
0x0000000810f5c995 <+2165>: mov 0x8(%r12),%rax
0x0000000810f5c99a <+2170>: mov 0x5(%r12),%cl
0x0000000810f5c99f <+2175>: mov %cl,0xb(%rdx)
0x0000000810f5c9a2 <+2178>: mov -0x58(%rbp),%rcx
0x0000000810f5c9a6 <+2182>: mov %rax,0x58(%rcx)
0x0000000810f5c9aa <+2186>: mov 0x8(%r12),%rax
0x0000000810f5c9af <+2191>: mov 0x5(%r12),%cl
0x0000000810f5c9b4 <+2196>: and $0x1,%cl
0x0000000810f5c9b7 <+2199>: mov -0x68(%rbp),%rdx
0x0000000810f5c9bb <+2203>: mov %cl,(%rdx)
0x0000000810f5c9bd <+2205>: add $0x48,%rsp
0x0000000810f5c9c1 <+2209>: pop %rbx
0x0000000810f5c9c2 <+2210>: pop %r12
0x0000000810f5c9c4 <+2212>: pop %r13
0x0000000810f5c9c6 <+2214>: pop %r14
0x0000000810f5c9c8 <+2216>: pop %r15
0x0000000810f5c9ca <+2218>: pop %rbp
0x0000000810f5c9cb <+2219>: retq
0x0000000810f5c9cc <+2220>: movabs $0xbbf270,%rax
0x0000000810f5c9d6 <+2230>: mov $0x14,%edi
0x0000000810f5c9db <+2235>: xor %esi,%esi
0x0000000810f5c9dd <+2237>: callq *%rax
0x0000000810f5c9df <+2239>: movabs $0xbc0510,%rax
0x0000000810f5c9e9 <+2249>: mov $0x2020082,%edi
0x0000000810f5c9ee <+2254>: callq *%rax
0x0000000810f5c9f0 <+2256>: movabs $0x810f5d023,%rdi
0x0000000810f5c9fa <+2266>: movabs $0x810f5d04a,%rsi
0x0000000810f5ca04 <+2276>: movabs $0xbc0800,%rcx
0x0000000810f5ca0e <+2286>: mov -0x60(%rbp),%rdx
0x0000000810f5ca12 <+2290>: jmp 0x810f5ca5a <evalexpr_0_2+2362>
0x0000000810f5ca14 <+2292>: movabs $0xbbf270,%rax
0x0000000810f5ca1e <+2302>: mov $0x14,%edi
0x0000000810f5ca23 <+2307>: xor %esi,%esi
0x0000000810f5ca25 <+2309>: callq *%rax
0x0000000810f5ca27 <+2311>: movabs $0xbc0510,%rax
0x0000000810f5ca31 <+2321>: mov $0x2020082,%edi
0x0000000810f5ca36 <+2326>: callq *%rax
0x0000000810f5ca38 <+2328>: movabs $0x810f5d023,%rdi
0x0000000810f5ca42 <+2338>: movabs $0x810f5d04a,%rsi
0x0000000810f5ca4c <+2348>: movabs $0xbc0800,%rcx
0x0000000810f5ca56 <+2358>: mov -0x40(%rbp),%rdx
0x0000000810f5ca5a <+2362>: xor %eax,%eax
0x0000000810f5ca5c <+2364>: callq *%rcx
0x0000000810f5ca5e <+2366>: movabs $0x810f5d052,%rdi
0x0000000810f5ca68 <+2376>: movabs $0x810f5d059,%rdx
0x0000000810f5ca72 <+2386>: movabs $0xbbfc50,%rax
0x0000000810f5ca7c <+2396>: mov $0x9a,%esi
0x0000000810f5ca81 <+2401>: callq *%rax
End of assembler dump.

--
Dmitry Marakasov . 55B5 0596 FF1E 8D84 5F56 9510 D35A 80DD F9D2 F77D
amdmi3(at)amdmi3(dot)ru ..: https://github.com/AMDmi3

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2020-11-03 01:27:38 Re: BUG #16695: pg_hba_file_rules NULL address and netmask
Previous Message Andres Freund 2020-11-03 00:00:37 Re: BUG #16696: Backend crash in llvmjit