Skip to content

Instantly share code, notes, and snippets.

@manuel-schiller
Created September 19, 2016 12:03
Show Gist options
  • Select an option

  • Save manuel-schiller/cb03646d9db987c3e9fa6baa70d04053 to your computer and use it in GitHub Desktop.

Select an option

Save manuel-schiller/cb03646d9db987c3e9fa6baa70d04053 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
--- FUNCTION SOURCE (normalizeStringPosix) id{0,0} ---
(path, allowAboveRoot) {
var res = '';
var lastSlash = -1;
var dots = 0;
var code;
for (var i = 0; i <= path.length; ++i) {
if (i < path.length)
code = path.charCodeAt(i);
else if (code === 47/*/*/)
break;
else
code = 47/*/*/;
if (code === 47/*/*/) {
if (lastSlash === i - 1 || dots === 1) {
// NOOP
} else if (lastSlash !== i - 1 && dots === 2) {
if (res.length < 2 ||
res.charCodeAt(res.length - 1) !== 46/*.*/ ||
res.charCodeAt(res.length - 2) !== 46/*.*/) {
if (res.length > 2) {
const start = res.length - 1;
var j = start;
for (; j >= 0; --j) {
if (res.charCodeAt(j) === 47/*/*/)
break;
}
if (j !== start) {
if (j === -1)
res = '';
else
res = res.slice(0, j);
lastSlash = i;
dots = 0;
continue;
}
} else if (res.length === 2 || res.length === 1) {
res = '';
lastSlash = i;
dots = 0;
continue;
}
}
if (allowAboveRoot) {
if (res.length > 0)
res += '/..';
else
res = '..';
}
} else {
if (res.length > 0)
res += '/' + path.slice(lastSlash + 1, i);
else
res = path.slice(lastSlash + 1, i);
}
lastSlash = i;
dots = 0;
} else if (code === 46/*.*/ && dots !== -1) {
++dots;
} else {
dots = -1;
}
}
return res;
}
--- END ---
--- Raw source ---
(path, allowAboveRoot) {
var res = '';
var lastSlash = -1;
var dots = 0;
var code;
for (var i = 0; i <= path.length; ++i) {
if (i < path.length)
code = path.charCodeAt(i);
else if (code === 47/*/*/)
break;
else
code = 47/*/*/;
if (code === 47/*/*/) {
if (lastSlash === i - 1 || dots === 1) {
// NOOP
} else if (lastSlash !== i - 1 && dots === 2) {
if (res.length < 2 ||
res.charCodeAt(res.length - 1) !== 46/*.*/ ||
res.charCodeAt(res.length - 2) !== 46/*.*/) {
if (res.length > 2) {
const start = res.length - 1;
var j = start;
for (; j >= 0; --j) {
if (res.charCodeAt(j) === 47/*/*/)
break;
}
if (j !== start) {
if (j === -1)
res = '';
else
res = res.slice(0, j);
lastSlash = i;
dots = 0;
continue;
}
} else if (res.length === 2 || res.length === 1) {
res = '';
lastSlash = i;
dots = 0;
continue;
}
}
if (allowAboveRoot) {
if (res.length > 0)
res += '/..';
else
res = '..';
}
} else {
if (res.length > 0)
res += '/' + path.slice(lastSlash + 1, i);
else
res = path.slice(lastSlash + 1, i);
}
lastSlash = i;
dots = 0;
} else if (code === 46/*.*/ && dots !== -1) {
++dots;
} else {
dots = -1;
}
}
return res;
}
--- Optimized code ---
optimization_id = 0
source_position = 2132
kind = OPTIMIZED_FUNCTION
name = normalizeStringPosix
stack_slots = 11
compiler = crankshaft
Instructions (size = 2184)
0x37c26f551b40 0 55 push rbp
0x37c26f551b41 1 4889e5 REX.W movq rbp,rsp
0x37c26f551b44 4 56 push rsi
0x37c26f551b45 5 57 push rdi
0x37c26f551b46 6 4883ec38 REX.W subq rsp,0x38
;;; <@0,#0> -------------------- B0 --------------------
;;; <@8,#5> prologue
;;; Prologue begin
;;; Prologue end
;;; <@12,#7> -------------------- B1 --------------------
;;; <@14,#8> context
0x37c26f551b4a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 2132
;;; <@15,#8> gap
0x37c26f551b4e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@18,#12> -------------------- B2 --------------------
;;; <@19,#12> gap
0x37c26f551b52 18 488bf0 REX.W movq rsi,rax
;;; <@20,#14> stack-check
0x37c26f551b55 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f551b5c 28 7305 jnc 35 (0x37c26f551b63)
0x37c26f551b5e 30 e87db0eeff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@22,#14> lazy-bailout
;;; <@23,#14> gap
0x37c26f551b63 35 488b4518 REX.W movq rax,[rbp+0x18]
;;; <@24,#39> check-non-smi
0x37c26f551b67 39 a801 test al,0x1 ;; debug: position 2250
0x37c26f551b69 41 0f8464070000 jz 1939 (0x37c26f5522d3)
;;; <@26,#40> check-instance-type
0x37c26f551b6f 47 4c8b50ff REX.W movq r10,[rax-0x1]
0x37c26f551b73 51 41f6420b80 testb [r10+0xb],0x80
0x37c26f551b78 56 0f855a070000 jnz 1944 (0x37c26f5522d8)
;;; <@28,#67> check-maps
;;; <@30,#35> gap
0x37c26f551b7e 62 4c8b4510 REX.W movq r8,[rbp+0x10] ;; debug: position 2309
;; debug: position 2225
0x37c26f551b82 66 48bf11446051de230000 REX.W movq rdi,0x23de51604411 ;; object: 0x23de51604411 <String[0]: >
0x37c26f551b8c 76 beffffffff movl rsi,0xffffffff
0x37c26f551b91 81 33c9 xorl rcx,rcx
0x37c26f551b93 83 48ba81436051de230000 REX.W movq rdx,0x23de51604381 ;; object: 0x23de51604381 <undefined>
0x37c26f551b9d 93 33db xorl rbx,rbx
;;; <@32,#36> -------------------- B3 (loop header) --------------------
0x37c26f551b9f 95 48897dd0 REX.W movq [rbp-0x30],rdi ;; debug: position 2241
0x37c26f551ba3 99 48894dd8 REX.W movq [rbp-0x28],rcx
0x37c26f551ba7 103 48895de0 REX.W movq [rbp-0x20],rbx
;;; <@34,#41> load-named-field
0x37c26f551bab 107 448b4813 movl r9,[rax+0x13] ;; debug: position 2250
;;; <@37,#42> compare-numeric-and-branch
0x37c26f551baf 111 413bd9 cmpl rbx,r9 ;; debug: position 2243
0x37c26f551bb2 114 0f8f41050000 jg 1465 (0x37c26f5520f9)
;;; <@38,#43> -------------------- B4 (unreachable/replaced) --------------------
;;; <@42,#49> -------------------- B5 --------------------
;;; <@44,#51> stack-check
0x37c26f551bb8 120 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88] ;; debug: position 2225
0x37c26f551bbf 127 0f823f050000 jc 1476 (0x37c26f552104)
;;; <@47,#56> compare-numeric-and-branch
0x37c26f551bc5 133 413bd9 cmpl rbx,r9 ;; debug: position 2276
0x37c26f551bc8 136 0f8c26000000 jl 180 (0x37c26f551bf4)
;;; <@48,#60> -------------------- B6 (unreachable/replaced) --------------------
;;; <@52,#76> -------------------- B7 --------------------
;;; <@53,#76> gap
0x37c26f551bce 142 4c8bca REX.W movq r9,rdx ;; debug: position 2337
;;; <@54,#659> tagged-to-i
0x37c26f551bd1 145 41f6c101 testb r9,0x1
0x37c26f551bd5 149 0f856e050000 jnz 1545 (0x37c26f552149)
0x37c26f551bdb 155 49c1e920 REX.W shrq r9, 32
;;; <@57,#79> compare-numeric-and-branch
0x37c26f551bdf 159 4183f92f cmpl r9,0x2f ;; debug: position 2342
0x37c26f551be3 163 0f8410050000 jz 1465 (0x37c26f5520f9)
;;; <@58,#83> -------------------- B8 (unreachable/replaced) --------------------
;;; <@62,#89> -------------------- B9 --------------------
;;; <@64,#95> gap
0x37c26f551be9 169 41b92f000000 movl r9,0x2f ;; debug: position 2390
;; debug: position 2270
;;; <@65,#95> goto
0x37c26f551bef 175 e98d000000 jmp 321 (0x37c26f551c81)
;;; <@66,#57> -------------------- B10 (unreachable/replaced) --------------------
;;; <@70,#63> -------------------- B11 --------------------
;;; <@72,#72> load-named-field
0x37c26f551bf4 180 8b5013 movl rdx,[rax+0x13] ;; debug: position 2309
;;; <@74,#73> bounds-check
0x37c26f551bf7 183 3bd3 cmpl rdx,rbx
0x37c26f551bf9 185 0f86de060000 jna 1949 (0x37c26f5522dd)
;;; <@75,#73> gap
0x37c26f551bff 191 4c8bc8 REX.W movq r9,rax
0x37c26f551c02 194 488bd3 REX.W movq rdx,rbx
;;; <@76,#74> string-char-code-at
0x37c26f551c05 197 4d8b59ff REX.W movq r11,[r9-0x1]
0x37c26f551c09 201 450fb65b0b movzxbl r11,[r11+0xb]
0x37c26f551c0e 206 41f6c301 testb r11,0x1
0x37c26f551c12 210 742e jz 258 (0x37c26f551c42)
0x37c26f551c14 212 41f6c302 testb r11,0x2
0x37c26f551c18 216 740d jz 231 (0x37c26f551c27)
0x37c26f551c1a 218 458b5923 movl r11,[r9+0x23]
0x37c26f551c1e 222 4903d3 REX.W addq rdx,r11
0x37c26f551c21 225 4d8b4917 REX.W movq r9,[r9+0x17]
0x37c26f551c25 229 eb12 jmp 249 (0x37c26f551c39)
0x37c26f551c27 231 4d8b55d0 REX.W movq r10,[r13-0x30]
0x37c26f551c2b 235 4d39511f REX.W cmpq [r9+0x1f],r10
0x37c26f551c2f 239 0f854a050000 jnz 1599 (0x37c26f55217f)
0x37c26f551c35 245 4d8b4917 REX.W movq r9,[r9+0x17]
0x37c26f551c39 249 4d8b59ff REX.W movq r11,[r9-0x1]
0x37c26f551c3d 253 450fb65b0b movzxbl r11,[r11+0xb]
0x37c26f551c42 258 41f6c303 testb r11,0x3
0x37c26f551c46 262 7422 jz 298 (0x37c26f551c6a)
0x37c26f551c48 264 41f6c310 testb r11,0x10
0x37c26f551c4c 268 0f852d050000 jnz 1599 (0x37c26f55217f)
0x37c26f551c52 274 41f6c304 testb r11,0x4
0x37c26f551c56 278 4d8b591f REX.W movq r11,[r9+0x1f]
0x37c26f551c5a 282 7507 jnz 291 (0x37c26f551c63)
0x37c26f551c5c 284 450fb71c53 movzxwl r11,[r11+rdx*2]
0x37c26f551c61 289 eb1b jmp 318 (0x37c26f551c7e)
0x37c26f551c63 291 450fb61c13 movzxbl r11,[r11+rdx*1]
0x37c26f551c68 296 eb14 jmp 318 (0x37c26f551c7e)
0x37c26f551c6a 298 41f6c304 testb r11,0x4
0x37c26f551c6e 302 7508 jnz 312 (0x37c26f551c78)
0x37c26f551c70 304 450fb75c5117 movzxwl r11,[r9+rdx*2+0x17]
0x37c26f551c76 310 eb06 jmp 318 (0x37c26f551c7e)
0x37c26f551c78 312 450fb65c1117 movzxbl r11,[r9+rdx*1+0x17]
;;; <@78,#93> gap
0x37c26f551c7e 318 4d8bcb REX.W movq r9,r11 ;; debug: position 2270
;;; <@80,#97> -------------------- B12 --------------------
0x37c26f551c81 321 4c894dc8 REX.W movq [rbp-0x38],r9 ;; debug: position 2407
;;; <@83,#100> compare-numeric-and-branch
0x37c26f551c85 325 4183f92f cmpl r9,0x2f ;; debug: position 2412
0x37c26f551c89 329 0f8437000000 jz 390 (0x37c26f551cc6)
;;; <@84,#104> -------------------- B13 (unreachable/replaced) --------------------
;;; <@88,#592> -------------------- B14 --------------------
;;; <@91,#595> compare-numeric-and-branch
0x37c26f551c8f 335 4183f92e cmpl r9,0x2e ;; debug: position 3671
;; debug: position 3676
0x37c26f551c93 339 0f851a000000 jnz 371 (0x37c26f551cb3)
;;; <@92,#599> -------------------- B15 (unreachable/replaced) --------------------
;;; <@96,#596> -------------------- B16 (unreachable/replaced) --------------------
;;; <@100,#602> -------------------- B17 --------------------
;;; <@103,#605> compare-numeric-and-branch
0x37c26f551c99 345 83f9ff cmpl rcx,0xff ;; debug: position 3691
;; debug: position 3696
0x37c26f551c9c 348 0f8411000000 jz 371 (0x37c26f551cb3)
;;; <@104,#609> -------------------- B18 (unreachable/replaced) --------------------
;;; <@108,#612> -------------------- B19 --------------------
;;; <@109,#612> gap
0x37c26f551ca2 354 488bd1 REX.W movq rdx,rcx ;; debug: position 3714
;;; <@110,#615> add-i
0x37c26f551ca5 357 83c201 addl rdx,0x1
0x37c26f551ca8 360 0f8034060000 jo 1954 (0x37c26f5522e2)
;;; <@113,#621> goto
0x37c26f551cae 366 e905000000 jmp 376 (0x37c26f551cb8) ;; debug: position 3667
;;; <@114,#606> -------------------- B20 (unreachable/replaced) --------------------
;;; <@118,#617> -------------------- B21 --------------------
;;; <@120,#623> gap
0x37c26f551cb3 371 baffffffff movl rdx,0xffffffff ;; debug: position 3746
;; debug: position 3667
;;; <@122,#627> -------------------- B22 --------------------
;;; <@124,#629> gap
0x37c26f551cb8 376 488bc2 REX.W movq rax,rdx ;; debug: position 2403
0x37c26f551cbb 379 488bd7 REX.W movq rdx,rdi
0x37c26f551cbe 382 488bde REX.W movq rbx,rsi
;;; <@125,#629> goto
0x37c26f551cc1 385 e903040000 jmp 1417 (0x37c26f5520c9)
;;; <@126,#101> -------------------- B23 (unreachable/replaced) --------------------
;;; <@130,#107> -------------------- B24 --------------------
;;; <@131,#107> gap
0x37c26f551cc6 390 488bd3 REX.W movq rdx,rbx ;; debug: position 2437
;;; <@132,#111> sub-i
0x37c26f551cc9 393 83ea01 subl rdx,0x1 ;; debug: position 2453
0x37c26f551ccc 396 0f8015060000 jo 1959 (0x37c26f5522e7)
;;; <@135,#113> compare-numeric-and-branch
0x37c26f551cd2 402 3bf2 cmpl rsi,rdx ;; debug: position 2447
0x37c26f551cd4 404 0f84e2030000 jz 1404 (0x37c26f5520bc)
;;; <@136,#117> -------------------- B25 (unreachable/replaced) --------------------
;;; <@140,#120> -------------------- B26 --------------------
;;; <@143,#123> compare-numeric-and-branch
0x37c26f551cda 410 83f901 cmpl rcx,0x1 ;; debug: position 2460
;; debug: position 2465
0x37c26f551cdd 413 0f84d9030000 jz 1404 (0x37c26f5520bc)
;;; <@144,#127> -------------------- B27 (unreachable/replaced) --------------------
;;; <@148,#130> -------------------- B28 --------------------
;;; <@151,#136> compare-numeric-and-branch
0x37c26f551ce3 419 3bf2 cmpl rsi,rdx ;; debug: position 2507
;; debug: position 2517
0x37c26f551ce5 421 0f84d2020000 jz 1149 (0x37c26f551fbd)
;;; <@152,#140> -------------------- B29 (unreachable/replaced) --------------------
;;; <@156,#143> -------------------- B30 --------------------
;;; <@159,#146> compare-numeric-and-branch
0x37c26f551ceb 427 83f902 cmpl rcx,0x2 ;; debug: position 2530
;; debug: position 2535
0x37c26f551cee 430 0f840b000000 jz 447 (0x37c26f551cff)
;;; <@160,#150> -------------------- B31 --------------------
;;; <@162,#152> gap
0x37c26f551cf4 436 498bc0 REX.W movq rax,r8
0x37c26f551cf7 439 488bdf REX.W movq rbx,rdi
;;; <@163,#152> goto
0x37c26f551cfa 442 e9c4020000 jmp 1155 (0x37c26f551fc3)
;;; <@164,#147> -------------------- B32 (unreachable/replaced) --------------------
;;; <@168,#153> -------------------- B33 --------------------
;;; <@170,#155> check-non-smi
0x37c26f551cff 447 40f6c701 testb rdi,0x1 ;; debug: position 2556
;; debug: position 2559
0x37c26f551d03 451 0f84e3050000 jz 1964 (0x37c26f5522ec)
;;; <@172,#156> check-instance-type
0x37c26f551d09 457 4c8b57ff REX.W movq r10,[rdi-0x1]
0x37c26f551d0d 461 41f6420b80 testb [r10+0xb],0x80
0x37c26f551d12 466 0f85d9050000 jnz 1969 (0x37c26f5522f1)
;;; <@174,#157> load-named-field
0x37c26f551d18 472 448b5f13 movl r11,[rdi+0x13]
;;; <@175,#157> gap
0x37c26f551d1c 476 4c895dc0 REX.W movq [rbp-0x40],r11
;;; <@177,#159> compare-numeric-and-branch
0x37c26f551d20 480 4183fb02 cmpl r11,0x2 ;; debug: position 2567
0x37c26f551d24 484 0f8cc8000000 jl 690 (0x37c26f551df2)
;;; <@178,#163> -------------------- B34 (unreachable/replaced) --------------------
;;; <@182,#166> -------------------- B35 --------------------
;;; <@183,#166> gap
0x37c26f551d2a 490 498bd3 REX.W movq rdx,r11 ;; debug: position 2586
;;; <@184,#178> sub-i
0x37c26f551d2d 493 83ea01 subl rdx,0x1 ;; debug: position 2612
;;; <@186,#182> load-named-field
0x37c26f551d30 496 8b7713 movl rsi,[rdi+0x13] ;; debug: position 2590
;;; <@188,#183> bounds-check
0x37c26f551d33 499 3bf2 cmpl rsi,rdx
0x37c26f551d35 501 0f86bb050000 jna 1974 (0x37c26f5522f6)
;;; <@189,#183> gap
0x37c26f551d3b 507 488bf7 REX.W movq rsi,rdi
;;; <@190,#184> string-char-code-at
0x37c26f551d3e 510 4c8b66ff REX.W movq r12,[rsi-0x1]
0x37c26f551d42 514 450fb664240b movzxbl r12,[r12+0xb]
0x37c26f551d48 520 41f6c401 testb r12,0x1
0x37c26f551d4c 524 742f jz 573 (0x37c26f551d7d)
0x37c26f551d4e 526 41f6c402 testb r12,0x2
0x37c26f551d52 530 740d jz 545 (0x37c26f551d61)
0x37c26f551d54 532 448b6623 movl r12,[rsi+0x23]
0x37c26f551d58 536 4c01e2 REX.W addq rdx,r12
0x37c26f551d5b 539 488b7617 REX.W movq rsi,[rsi+0x17]
0x37c26f551d5f 543 eb12 jmp 563 (0x37c26f551d73)
0x37c26f551d61 545 4d8b55d0 REX.W movq r10,[r13-0x30]
0x37c26f551d65 549 4c39561f REX.W cmpq [rsi+0x1f],r10
0x37c26f551d69 553 0f856b040000 jnz 1690 (0x37c26f5521da)
0x37c26f551d6f 559 488b7617 REX.W movq rsi,[rsi+0x17]
0x37c26f551d73 563 4c8b66ff REX.W movq r12,[rsi-0x1]
0x37c26f551d77 567 450fb664240b movzxbl r12,[r12+0xb]
0x37c26f551d7d 573 41f6c403 testb r12,0x3
0x37c26f551d81 577 7422 jz 613 (0x37c26f551da5)
0x37c26f551d83 579 41f6c410 testb r12,0x10
0x37c26f551d87 583 0f854d040000 jnz 1690 (0x37c26f5521da)
0x37c26f551d8d 589 41f6c404 testb r12,0x4
0x37c26f551d91 593 4c8b661f REX.W movq r12,[rsi+0x1f]
0x37c26f551d95 597 7507 jnz 606 (0x37c26f551d9e)
0x37c26f551d97 599 450fb72454 movzxwl r12,[r12+rdx*2]
0x37c26f551d9c 604 eb1b jmp 633 (0x37c26f551db9)
0x37c26f551d9e 606 450fb62414 movzxbl r12,[r12+rdx*1]
0x37c26f551da3 611 eb14 jmp 633 (0x37c26f551db9)
0x37c26f551da5 613 41f6c404 testb r12,0x4
0x37c26f551da9 617 7508 jnz 627 (0x37c26f551db3)
0x37c26f551dab 619 440fb7645617 movzxwl r12,[rsi+rdx*2+0x17]
0x37c26f551db1 625 eb06 jmp 633 (0x37c26f551db9)
0x37c26f551db3 627 440fb6641617 movzxbl r12,[rsi+rdx*1+0x17]
;;; <@193,#186> compare-numeric-and-branch
0x37c26f551db9 633 4183fc2e cmpl r12,0x2e ;; debug: position 2617
0x37c26f551dbd 637 0f852f000000 jnz 690 (0x37c26f551df2)
;;; <@194,#190> -------------------- B36 (unreachable/replaced) --------------------
;;; <@198,#187> -------------------- B37 (unreachable/replaced) --------------------
;;; <@202,#193> -------------------- B38 --------------------
;;; <@203,#193> gap
0x37c26f551dc3 643 488b75e8 REX.W movq rsi,[rbp-0x18] ;; debug: position 2644
0x37c26f551dc7 647 488bd7 REX.W movq rdx,rdi
;;; <@204,#195> load-named-generic
0x37c26f551dca 650 48b909736551de230000 REX.W movq rcx,0x23de51657309 ;; debug: position 2648
;; object: 0x23de51657309 <String[10]: charCodeAt>
0x37c26f551dd4 660 48bbb1cda2968c230000 REX.W movq rbx,0x238c96a2cdb1 ;; object: 0x238c96a2cdb1 <FixedArray[55]>
0x37c26f551dde 670 48b80000000013000000 REX.W movq rax,0x1300000000
0x37c26f551de8 680 e853f7ffff call 0x37c26f551540 ;; code: contextual, LOAD_IC, GENERIC
;;; <@206,#196> lazy-bailout
;;; <@209,#198> deoptimize
0x37c26f551ded 685 e87c42dbff call 0x37c26f30606e ;; debug: position 2662
;; debug: position 271360
;; debug: deopt reason 'Insufficient type feedback for generic named access'
;; soft deoptimization bailout 11
;;; <@210,#199> -------------------- B39 (unreachable/replaced) --------------------
;;; <@218,#204> -------------------- B40 (unreachable/replaced) --------------------
;;; <@240,#214> -------------------- B41 (unreachable/replaced) --------------------
;;; <@250,#221> -------------------- B42 (unreachable/replaced) --------------------
;;; <@254,#218> -------------------- B43 (unreachable/replaced) --------------------
;;; <@258,#433> -------------------- B44 (unreachable/replaced) --------------------
;;; <@262,#160> -------------------- B45 (unreachable/replaced) --------------------
;;; <@266,#224> -------------------- B46 --------------------
;;; <@268,#230> gap
0x37c26f551df2 690 488b45c0 REX.W movq rax,[rbp-0x40] ;; debug: position 2704
;; debug: position 2715
;;; <@269,#230> compare-numeric-and-branch
0x37c26f551df6 694 83f802 cmpl rax,0x2
0x37c26f551df9 697 0f8f05000000 jg 708 (0x37c26f551e04)
;;; <@270,#234> -------------------- B47 (unreachable/replaced) --------------------
;;; <@274,#357> -------------------- B48 --------------------
;;; <@277,#359> deoptimize
0x37c26f551dff 703 e87442dbff call 0x37c26f306078 ;; debug: position 3166
;; debug: position 3169
;; debug: position 530944
;; debug: deopt reason 'Insufficient type feedback for generic named access'
;; soft deoptimization bailout 12
;;; <@278,#360> -------------------- B49 (unreachable/replaced) --------------------
;;; <@286,#365> -------------------- B50 (unreachable/replaced) --------------------
;;; <@296,#372> -------------------- B51 (unreachable/replaced) --------------------
;;; <@300,#375> -------------------- B52 (unreachable/replaced) --------------------
;;; <@304,#378> -------------------- B53 (unreachable/replaced) --------------------
;;; <@312,#383> -------------------- B54 (unreachable/replaced) --------------------
;;; <@322,#390> -------------------- B55 (unreachable/replaced) --------------------
;;; <@326,#416> -------------------- B56 (unreachable/replaced) --------------------
;;; <@330,#387> -------------------- B57 (unreachable/replaced) --------------------
;;; <@334,#369> -------------------- B58 (unreachable/replaced) --------------------
;;; <@338,#393> -------------------- B59 (unreachable/replaced) --------------------
;;; <@342,#231> -------------------- B60 (unreachable/replaced) --------------------
;;; <@346,#237> -------------------- B61 --------------------
;;; <@348,#244> sub-i
0x37c26f551e04 708 83e801 subl rax,0x1 ;; debug: position 2700
;; debug: position 2759
;;; <@349,#244> gap
0x37c26f551e07 711 488945c0 REX.W movq [rbp-0x40],rax
0x37c26f551e0b 715 488b5dd0 REX.W movq rbx,[rbp-0x30]
;;; <@350,#284> load-named-field
0x37c26f551e0f 719 8b5313 movl rdx,[rbx+0x13] ;; debug: position 2847
;;; <@352,#261> gap
0x37c26f551e12 722 488bc8 REX.W movq rcx,rax ;; debug: position 2803
;;; <@354,#262> -------------------- B62 (loop header) --------------------
;;; <@357,#265> compare-numeric-and-branch
0x37c26f551e15 725 83f900 cmpl rcx,0x0 ;; debug: position 2810
;; debug: position 2812
0x37c26f551e18 728 0f8ca6000000 jl 900 (0x37c26f551ec4)
;;; <@358,#266> -------------------- B63 (unreachable/replaced) --------------------
;;; <@362,#272> -------------------- B64 --------------------
;;; <@364,#274> stack-check
0x37c26f551e1e 734 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88] ;; debug: position 2803
0x37c26f551e25 741 0f8209040000 jc 1780 (0x37c26f552234)
;;; <@366,#285> bounds-check
0x37c26f551e2b 747 3bd1 cmpl rdx,rcx ;; debug: position 2847
0x37c26f551e2d 749 0f86c8040000 jna 1979 (0x37c26f5522fb)
;;; <@367,#285> gap
0x37c26f551e33 755 488bfb REX.W movq rdi,rbx
0x37c26f551e36 758 488bf1 REX.W movq rsi,rcx
;;; <@368,#286> string-char-code-at
0x37c26f551e39 761 4c8b47ff REX.W movq r8,[rdi-0x1]
0x37c26f551e3d 765 450fb6400b movzxbl r8,[r8+0xb]
0x37c26f551e42 770 41f6c001 testb r8,0x1
0x37c26f551e46 774 742e jz 822 (0x37c26f551e76)
0x37c26f551e48 776 41f6c002 testb r8,0x2
0x37c26f551e4c 780 740d jz 795 (0x37c26f551e5b)
0x37c26f551e4e 782 448b4723 movl r8,[rdi+0x23]
0x37c26f551e52 786 4903f0 REX.W addq rsi,r8
0x37c26f551e55 789 488b7f17 REX.W movq rdi,[rdi+0x17]
0x37c26f551e59 793 eb12 jmp 813 (0x37c26f551e6d)
0x37c26f551e5b 795 4d8b55d0 REX.W movq r10,[r13-0x30]
0x37c26f551e5f 799 4c39571f REX.W cmpq [rdi+0x1f],r10
0x37c26f551e63 803 0f8510040000 jnz 1849 (0x37c26f552279)
0x37c26f551e69 809 488b7f17 REX.W movq rdi,[rdi+0x17]
0x37c26f551e6d 813 4c8b47ff REX.W movq r8,[rdi-0x1]
0x37c26f551e71 817 450fb6400b movzxbl r8,[r8+0xb]
0x37c26f551e76 822 41f6c003 testb r8,0x3
0x37c26f551e7a 826 7422 jz 862 (0x37c26f551e9e)
0x37c26f551e7c 828 41f6c010 testb r8,0x10
0x37c26f551e80 832 0f85f3030000 jnz 1849 (0x37c26f552279)
0x37c26f551e86 838 41f6c004 testb r8,0x4
0x37c26f551e8a 842 4c8b471f REX.W movq r8,[rdi+0x1f]
0x37c26f551e8e 846 7507 jnz 855 (0x37c26f551e97)
0x37c26f551e90 848 450fb70470 movzxwl r8,[r8+rsi*2]
0x37c26f551e95 853 eb1b jmp 882 (0x37c26f551eb2)
0x37c26f551e97 855 450fb60430 movzxbl r8,[r8+rsi*1]
0x37c26f551e9c 860 eb14 jmp 882 (0x37c26f551eb2)
0x37c26f551e9e 862 41f6c004 testb r8,0x4
0x37c26f551ea2 866 7508 jnz 876 (0x37c26f551eac)
0x37c26f551ea4 868 440fb7447717 movzxwl r8,[rdi+rsi*2+0x17]
0x37c26f551eaa 874 eb06 jmp 882 (0x37c26f551eb2)
0x37c26f551eac 876 440fb6443717 movzxbl r8,[rdi+rsi*1+0x17]
;;; <@371,#288> compare-numeric-and-branch
0x37c26f551eb2 882 4183f82f cmpl r8,0x2f ;; debug: position 2861
0x37c26f551eb6 886 0f8408000000 jz 900 (0x37c26f551ec4)
;;; <@372,#292> -------------------- B65 (unreachable/replaced) --------------------
;;; <@376,#298> -------------------- B66 --------------------
;;; <@378,#301> add-i
0x37c26f551ebc 892 83c1ff addl rcx,0xff ;; debug: position 2820
;;; <@381,#304> goto
0x37c26f551ebf 895 e951ffffff jmp 725 (0x37c26f551e15) ;; debug: position 2803
;;; <@382,#289> -------------------- B67 (unreachable/replaced) --------------------
;;; <@386,#295> -------------------- B68 (unreachable/replaced) --------------------
;;; <@390,#269> -------------------- B69 (unreachable/replaced) --------------------
;;; <@394,#305> -------------------- B70 (unreachable/replaced) --------------------
;;; <@398,#308> -------------------- B71 --------------------
;;; <@401,#311> compare-numeric-and-branch
0x37c26f551ec4 900 3bc8 cmpl rcx,rax ;; debug: position 2927
;; debug: position 2929
0x37c26f551ec6 902 0f844e000000 jz 986 (0x37c26f551f1a)
;;; <@402,#315> -------------------- B72 (unreachable/replaced) --------------------
;;; <@406,#318> -------------------- B73 --------------------
;;; <@409,#321> compare-numeric-and-branch
0x37c26f551ecc 908 83f9ff cmpl rcx,0xff ;; debug: position 2960
;; debug: position 2962
0x37c26f551ecf 911 0f842d000000 jz 962 (0x37c26f551f02)
;;; <@410,#325> -------------------- B74 (unreachable/replaced) --------------------
;;; <@414,#331> -------------------- B75 --------------------
;;; <@416,#667> smi-tag
0x37c26f551ed5 917 8bd1 movl rdx,rcx ;; debug: position 3037
;; debug: position 3041
0x37c26f551ed7 919 48c1e220 REX.W shlq rdx, 32
;;; <@418,#341> push-argument
0x37c26f551edb 923 53 push rbx
;;; <@420,#341> push-argument
0x37c26f551edc 924 6a00 push 0x0
;;; <@422,#341> push-argument
0x37c26f551ede 926 52 push rdx
;;; <@424,#340> constant-t
0x37c26f551edf 927 48bf09716b51de230000 REX.W movq rdi,0x23de516b7109 ;; object: 0x23de516b7109 <JS Function slice (SharedFunctionInfo 0x23de51657a01)>
;;; <@425,#340> gap
0x37c26f551ee9 937 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@426,#342> invoke-function
0x37c26f551eed 941 488b7727 REX.W movq rsi,[rdi+0x27]
0x37c26f551ef1 945 498b55a8 REX.W movq rdx,[r13-0x58]
0x37c26f551ef5 949 b802000000 movl rax,0x2
0x37c26f551efa 954 ff5737 call [rdi+0x37]
;;; <@428,#343> lazy-bailout
;;; <@431,#348> goto
0x37c26f551efd 957 e90a000000 jmp 972 (0x37c26f551f0c) ;; debug: position 2956
;;; <@432,#322> -------------------- B76 (unreachable/replaced) --------------------
;;; <@436,#328> -------------------- B77 --------------------
;;; <@438,#346> gap
0x37c26f551f02 962 48b811446051de230000 REX.W movq rax,0x23de51604411 ;; debug: position 2992
;; debug: position 2956
;; object: 0x23de51604411 <String[0]: >
;;; <@440,#350> -------------------- B78 --------------------
;;; <@442,#356> gap
0x37c26f551f0c 972 488bd0 REX.W movq rdx,rax ;; debug: position 3080
;; debug: position 3121
0x37c26f551f0f 975 488b5de0 REX.W movq rbx,[rbp-0x20]
0x37c26f551f13 979 33c0 xorl rax,rax
;;; <@443,#356> goto
0x37c26f551f15 981 e9af010000 jmp 1417 (0x37c26f5520c9)
;;; <@444,#312> -------------------- B79 (unreachable/replaced) --------------------
;;; <@448,#413> -------------------- B80 (unreachable/replaced) --------------------
;;; <@452,#430> -------------------- B81 (unreachable/replaced) --------------------
;;; <@456,#447> -------------------- B82 --------------------
;;; <@458,#448> gap
0x37c26f551f1a 986 488b4510 REX.W movq rax,[rbp+0x10] ;; debug: position 3333
;;; <@459,#448> branch
0x37c26f551f1e 990 493b45a8 REX.W cmpq rax,[r13-0x58]
0x37c26f551f22 994 0f848c010000 jz 1396 (0x37c26f5520b4)
0x37c26f551f28 1000 493b45c0 REX.W cmpq rax,[r13-0x40]
0x37c26f551f2c 1004 0f8486000000 jz 1144 (0x37c26f551fb8)
0x37c26f551f32 1010 493b45c8 REX.W cmpq rax,[r13-0x38]
0x37c26f551f36 1014 0f8478010000 jz 1396 (0x37c26f5520b4)
0x37c26f551f3c 1020 493b45b8 REX.W cmpq rax,[r13-0x48]
0x37c26f551f40 1024 0f846e010000 jz 1396 (0x37c26f5520b4)
0x37c26f551f46 1030 4885c0 REX.W testq rax,rax
0x37c26f551f49 1033 0f8465010000 jz 1396 (0x37c26f5520b4)
0x37c26f551f4f 1039 a801 test al,0x1
0x37c26f551f51 1041 0f8461000000 jz 1144 (0x37c26f551fb8)
0x37c26f551f57 1047 4c8b50ff REX.W movq r10,[rax-0x1]
0x37c26f551f5b 1051 41f6420c10 testb [r10+0xc],0x10
0x37c26f551f60 1056 0f854e010000 jnz 1396 (0x37c26f5520b4)
0x37c26f551f66 1062 41807a0bb1 cmpb [r10+0xb],0xb1
0x37c26f551f6b 1067 0f8347000000 jnc 1144 (0x37c26f551fb8)
0x37c26f551f71 1073 41807a0b80 cmpb [r10+0xb],0x80
0x37c26f551f76 1078 7310 jnc 1096 (0x37c26f551f88)
0x37c26f551f78 1080 4883780f00 REX.W cmpq [rax+0xf],0x0
0x37c26f551f7d 1085 0f8535000000 jnz 1144 (0x37c26f551fb8)
0x37c26f551f83 1091 e92c010000 jmp 1396 (0x37c26f5520b4)
0x37c26f551f88 1096 41807a0b80 cmpb [r10+0xb],0x80
0x37c26f551f8d 1101 0f8425000000 jz 1144 (0x37c26f551fb8)
0x37c26f551f93 1107 41807a0b82 cmpb [r10+0xb],0x82
0x37c26f551f98 1112 0f841a000000 jz 1144 (0x37c26f551fb8)
0x37c26f551f9e 1118 4d3b55f8 REX.W cmpq r10,[r13-0x8]
0x37c26f551fa2 1122 7514 jnz 1144 (0x37c26f551fb8)
0x37c26f551fa4 1124 c5f957c0 vxorpd xmm0,xmm0,xmm0
0x37c26f551fa8 1128 c5f92e4007 vucomisd xmm0,[rax+0x7]
0x37c26f551fad 1133 0f8401010000 jz 1396 (0x37c26f5520b4)
0x37c26f551fb3 1139 e900000000 jmp 1144 (0x37c26f551fb8)
;;; <@460,#452> -------------------- B83 (unreachable/replaced) --------------------
;;; <@464,#491> -------------------- B84 (unreachable/replaced) --------------------
;;; <@468,#449> -------------------- B85 (unreachable/replaced) --------------------
;;; <@472,#455> -------------------- B86 --------------------
;;; <@475,#457> deoptimize
0x37c26f551fb8 1144 e8e340dbff call 0x37c26f3060a0 ;; debug: position 3365
;; debug: position 3368
;; debug: position 632832
;; debug: deopt reason 'Insufficient type feedback for generic named access'
;; soft deoptimization bailout 16
;;; <@476,#458> -------------------- B87 (unreachable/replaced) --------------------
;;; <@484,#463> -------------------- B88 (unreachable/replaced) --------------------
;;; <@494,#470> -------------------- B89 (unreachable/replaced) --------------------
;;; <@498,#480> -------------------- B90 (unreachable/replaced) --------------------
;;; <@502,#467> -------------------- B91 (unreachable/replaced) --------------------
;;; <@506,#473> -------------------- B92 (unreachable/replaced) --------------------
;;; <@516,#488> -------------------- B93 (unreachable/replaced) --------------------
;;; <@520,#553> -------------------- B94 (unreachable/replaced) --------------------
;;; <@524,#137> -------------------- B95 --------------------
0x37c26f551fbd 1149 498bc0 REX.W movq rax,r8 ;; debug: position 2517
0x37c26f551fc0 1152 488bdf REX.W movq rbx,rdi
;;; <@528,#495> -------------------- B96 --------------------
;;; <@530,#497> check-non-smi
0x37c26f551fc3 1155 f6c301 testb rbx,0x1 ;; debug: position 3483
;; debug: position 3486
0x37c26f551fc6 1158 0f8434030000 jz 1984 (0x37c26f552300)
;;; <@532,#498> check-instance-type
0x37c26f551fcc 1164 4c8b53ff REX.W movq r10,[rbx-0x1]
0x37c26f551fd0 1168 41f6420b80 testb [r10+0xb],0x80
0x37c26f551fd5 1173 0f852a030000 jnz 1989 (0x37c26f552305)
;;; <@534,#499> load-named-field
0x37c26f551fdb 1179 8b5313 movl rdx,[rbx+0x13]
;;; <@537,#501> compare-numeric-and-branch
0x37c26f551fde 1182 83fa00 cmpl rdx,0x0 ;; debug: position 3494
0x37c26f551fe1 1185 0f8f44000000 jg 1259 (0x37c26f55202b)
;;; <@538,#505> -------------------- B97 (unreachable/replaced) --------------------
;;; <@542,#532> -------------------- B98 --------------------
;;; <@543,#532> gap
0x37c26f551fe7 1191 488bde REX.W movq rbx,rsi ;; debug: position 3586
;;; <@544,#540> add-i
0x37c26f551fea 1194 83c301 addl rbx,0x1 ;; debug: position 3602
0x37c26f551fed 1197 0f8017030000 jo 1994 (0x37c26f55230a)
;;; <@545,#540> gap
0x37c26f551ff3 1203 488b55e0 REX.W movq rdx,[rbp-0x20]
;;; <@546,#660> smi-tag
0x37c26f551ff7 1207 8bca movl rcx,rdx ;; debug: position 3586
0x37c26f551ff9 1209 48c1e120 REX.W shlq rcx, 32
;;; <@548,#670> smi-tag
0x37c26f551ffd 1213 8bf3 movl rsi,rbx
0x37c26f551fff 1215 48c1e620 REX.W shlq rsi, 32
;;; <@550,#544> push-argument
0x37c26f552003 1219 ff7518 push [rbp+0x18]
;;; <@552,#544> push-argument
0x37c26f552006 1222 56 push rsi
;;; <@554,#544> push-argument
0x37c26f552007 1223 51 push rcx
;;; <@556,#340> constant-t
0x37c26f552008 1224 48bf09716b51de230000 REX.W movq rdi,0x23de516b7109 ;; debug: position 3041
;; object: 0x23de516b7109 <JS Function slice (SharedFunctionInfo 0x23de51657a01)>
;;; <@557,#340> gap
0x37c26f552012 1234 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@558,#545> invoke-function
0x37c26f552016 1238 488b7727 REX.W movq rsi,[rdi+0x27] ;; debug: position 3586
0x37c26f55201a 1242 498b55a8 REX.W movq rdx,[r13-0x58]
0x37c26f55201e 1246 b802000000 movl rax,0x2
0x37c26f552023 1251 ff5737 call [rdi+0x37]
;;; <@560,#546> lazy-bailout
;;; <@563,#551> goto
0x37c26f552026 1254 e986000000 jmp 1393 (0x37c26f5520b1) ;; debug: position 3479
;;; <@564,#502> -------------------- B99 (unreachable/replaced) --------------------
;;; <@568,#508> -------------------- B100 --------------------
;;; <@569,#508> gap
0x37c26f55202b 1259 488bc6 REX.W movq rax,rsi ;; debug: position 3509
;;; <@570,#518> add-i
0x37c26f55202e 1262 83c001 addl rax,0x1 ;; debug: position 3543
0x37c26f552031 1265 0f80d8020000 jo 1999 (0x37c26f55230f)
;;; <@571,#518> gap
0x37c26f552037 1271 488b55e0 REX.W movq rdx,[rbp-0x20]
;;; <@572,#661> smi-tag
0x37c26f55203b 1275 8bca movl rcx,rdx ;; debug: position 3527
0x37c26f55203d 1277 48c1e120 REX.W shlq rcx, 32
;;; <@574,#671> smi-tag
0x37c26f552041 1281 8bf0 movl rsi,rax
0x37c26f552043 1283 48c1e620 REX.W shlq rsi, 32
;;; <@576,#522> push-argument
0x37c26f552047 1287 ff7518 push [rbp+0x18]
;;; <@578,#522> push-argument
0x37c26f55204a 1290 56 push rsi
;;; <@580,#522> push-argument
0x37c26f55204b 1291 51 push rcx
;;; <@582,#340> constant-t
0x37c26f55204c 1292 48bf09716b51de230000 REX.W movq rdi,0x23de516b7109 ;; debug: position 3041
;; object: 0x23de516b7109 <JS Function slice (SharedFunctionInfo 0x23de51657a01)>
;;; <@583,#340> gap
0x37c26f552056 1302 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@584,#523> invoke-function
0x37c26f55205a 1306 488b7727 REX.W movq rsi,[rdi+0x27] ;; debug: position 3527
0x37c26f55205e 1310 498b55a8 REX.W movq rdx,[r13-0x58]
0x37c26f552062 1314 b802000000 movl rax,0x2
0x37c26f552067 1319 ff5737 call [rdi+0x37]
;;; <@585,#523> gap
0x37c26f55206a 1322 488945b8 REX.W movq [rbp-0x48],rax
0x37c26f55206e 1326 488bd8 REX.W movq rbx,rax
;;; <@586,#524> lazy-bailout
;;; <@588,#525> check-non-smi
0x37c26f552071 1329 f6c301 testb rbx,0x1 ;; debug: position 3520
0x37c26f552074 1332 0f849a020000 jz 2004 (0x37c26f552314)
;;; <@590,#526> check-instance-type
0x37c26f55207a 1338 4c8b53ff REX.W movq r10,[rbx-0x1]
0x37c26f55207e 1342 41f6420b80 testb [r10+0xb],0x80
0x37c26f552083 1347 0f8590020000 jnz 2009 (0x37c26f552319)
;;; <@592,#510> constant-t
0x37c26f552089 1353 48baa19fa2968c230000 REX.W movq rdx,0x238c96a29fa1 ;; debug: position 3516
;; object: 0x238c96a29fa1 <String[1]: />
;;; <@593,#510> gap
0x37c26f552093 1363 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f552097 1367 488bc3 REX.W movq rax,rbx
;;; <@594,#527> string-add
0x37c26f55209a 1370 e8a1f6ffff call 0x37c26f551740 ;; debug: position 3520
;; code: STUB, StringAddStub, minor: 0
;;; <@596,#527> lazy-bailout
;;; <@597,#527> gap
0x37c26f55209f 1375 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f5520a3 1379 488b55d0 REX.W movq rdx,[rbp-0x30]
;;; <@598,#530> string-add
0x37c26f5520a7 1383 0f1f440000 nop
0x37c26f5520ac 1388 e88ff6ffff call 0x37c26f551740 ;; debug: position 3514
;; code: STUB, StringAddStub, minor: 0
;;; <@600,#530> lazy-bailout
;;; <@604,#556> -------------------- B101 --------------------
;;; <@606,#558> gap
0x37c26f5520b1 1393 488bd8 REX.W movq rbx,rax ;; debug: position 2503
;;; <@608,#573> -------------------- B102 --------------------
;;; <@610,#575> gap
0x37c26f5520b4 1396 488bc3 REX.W movq rax,rbx ;; debug: position 2433
;;; <@611,#575> goto
0x37c26f5520b7 1399 e904000000 jmp 1408 (0x37c26f5520c0)
;;; <@612,#124> -------------------- B103 (unreachable/replaced) --------------------
;;; <@616,#114> -------------------- B104 (unreachable/replaced) --------------------
;;; <@620,#570> -------------------- B105 --------------------
;;; <@622,#572> gap
0x37c26f5520bc 1404 488b45d0 REX.W movq rax,[rbp-0x30]
;;; <@624,#587> -------------------- B106 --------------------
;;; <@626,#626> gap
0x37c26f5520c0 1408 488bd0 REX.W movq rdx,rax ;; debug: position 3637
;; debug: position 2403
0x37c26f5520c3 1411 488b5de0 REX.W movq rbx,[rbp-0x20]
0x37c26f5520c7 1415 33c0 xorl rax,rax
;;; <@628,#641> -------------------- B107 (unreachable/replaced) --------------------
;;; <@632,#644> -------------------- B108 --------------------
;;; <@633,#644> gap
0x37c26f5520c9 1417 488b4de0 REX.W movq rcx,[rbp-0x20] ;; debug: position 2261
;;; <@634,#646> add-i
0x37c26f5520cd 1421 83c101 addl rcx,0x1
;;; <@635,#646> gap
0x37c26f5520d0 1424 488b75c8 REX.W movq rsi,[rbp-0x38]
;;; <@636,#662> smi-tag
0x37c26f5520d4 1428 8bfe movl rdi,rsi ;; debug: position 2241
0x37c26f5520d6 1430 48c1e720 REX.W shlq rdi, 32
;;; <@638,#649> gap
0x37c26f5520da 1434 4c8bd7 REX.W movq r10,rdi ;; debug: position 2225
0x37c26f5520dd 1437 488bfa REX.W movq rdi,rdx
0x37c26f5520e0 1440 498bd2 REX.W movq rdx,r10
0x37c26f5520e3 1443 488bf3 REX.W movq rsi,rbx
0x37c26f5520e6 1446 488bd9 REX.W movq rbx,rcx
0x37c26f5520e9 1449 488bc8 REX.W movq rcx,rax
0x37c26f5520ec 1452 488b4518 REX.W movq rax,[rbp+0x18]
0x37c26f5520f0 1456 4c8b4510 REX.W movq r8,[rbp+0x10]
;;; <@639,#649> goto
0x37c26f5520f4 1460 e9a6faffff jmp 95 (0x37c26f551b9f)
;;; <@640,#80> -------------------- B109 (unreachable/replaced) --------------------
;;; <@644,#86> -------------------- B110 (unreachable/replaced) --------------------
;;; <@648,#46> -------------------- B111 (unreachable/replaced) --------------------
;;; <@652,#650> -------------------- B112 (unreachable/replaced) --------------------
;;; <@656,#653> -------------------- B113 --------------------
;;; <@657,#653> gap
0x37c26f5520f9 1465 488b45d0 REX.W movq rax,[rbp-0x30] ;; debug: position 3769
;;; <@658,#656> return
0x37c26f5520fd 1469 488be5 REX.W movq rsp,rbp ;; debug: position 3762
0x37c26f552100 1472 5d pop rbp
0x37c26f552101 1473 c21800 ret 0x18
;;; <@44,#51> -------------------- Deferred stack-check --------------------
0x37c26f552104 1476 50 push rax ;; debug: position 2225
0x37c26f552105 1477 51 push rcx
0x37c26f552106 1478 52 push rdx
0x37c26f552107 1479 53 push rbx
0x37c26f552108 1480 56 push rsi
0x37c26f552109 1481 57 push rdi
0x37c26f55210a 1482 4150 push r8
0x37c26f55210c 1484 4151 push r9
0x37c26f55210e 1486 4153 push r11
0x37c26f552110 1488 4154 push r12
0x37c26f552112 1490 4156 push r14
0x37c26f552114 1492 4157 push r15
0x37c26f552116 1494 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x37c26f55211b 1499 488b75f8 REX.W movq rsi,[rbp-0x8]
0x37c26f55211f 1503 33c0 xorl rax,rax
0x37c26f552121 1505 498d9d28d53ffe REX.W leaq rbx,[r13-0x1c02ad8]
0x37c26f552128 1512 e8b357ebff call 0x37c26f4078e0 ;; code: STUB, CEntryStub, minor: 5
0x37c26f55212d 1517 488d642420 REX.W leaq rsp,[rsp+0x20]
0x37c26f552132 1522 415f pop r15
0x37c26f552134 1524 415e pop r14
0x37c26f552136 1526 415c pop r12
0x37c26f552138 1528 415b pop r11
0x37c26f55213a 1530 4159 pop r9
0x37c26f55213c 1532 4158 pop r8
0x37c26f55213e 1534 5f pop rdi
0x37c26f55213f 1535 5e pop rsi
0x37c26f552140 1536 5b pop rbx
0x37c26f552141 1537 5a pop rdx
0x37c26f552142 1538 59 pop rcx
0x37c26f552143 1539 58 pop rax
0x37c26f552144 1540 e97cfaffff jmp 133 (0x37c26f551bc5)
;;; <@54,#659> -------------------- Deferred tagged-to-i --------------------
0x37c26f552149 1545 4d8b55f8 REX.W movq r10,[r13-0x8] ;; debug: position 2337
0x37c26f55214d 1549 4d3951ff REX.W cmpq [r9-0x1],r10
0x37c26f552151 1553 0f85c7010000 jnz 2014 (0x37c26f55231e)
0x37c26f552157 1559 c4c17b104107 vmovsd xmm0,[r9+0x7]
0x37c26f55215d 1565 c57b2cc8 vcvttsd2si r9,xmm0
0x37c26f552161 1569 c5f157c9 vxorpd xmm1,xmm1,xmm1
0x37c26f552165 1573 c4c1732ac9 vcvtlsi2sd xmm1,xmm1,r9
0x37c26f55216a 1578 c5f92ec1 vucomisd xmm0,xmm1
0x37c26f55216e 1582 0f85af010000 jnz 2019 (0x37c26f552323)
0x37c26f552174 1588 0f8aae010000 jpe 2024 (0x37c26f552328)
0x37c26f55217a 1594 e960faffff jmp 159 (0x37c26f551bdf)
;;; <@76,#74> -------------------- Deferred string-char-code-at --------------------
0x37c26f55217f 1599 4533db xorl r11,r11 ;; debug: position 2309
0x37c26f552182 1602 50 push rax
0x37c26f552183 1603 51 push rcx
0x37c26f552184 1604 52 push rdx
0x37c26f552185 1605 53 push rbx
0x37c26f552186 1606 56 push rsi
0x37c26f552187 1607 57 push rdi
0x37c26f552188 1608 4150 push r8
0x37c26f55218a 1610 4151 push r9
0x37c26f55218c 1612 4153 push r11
0x37c26f55218e 1614 4154 push r12
0x37c26f552190 1616 4156 push r14
0x37c26f552192 1618 4157 push r15
0x37c26f552194 1620 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x37c26f552199 1625 4151 push r9
0x37c26f55219b 1627 48c1e220 REX.W shlq rdx, 32
0x37c26f55219f 1631 52 push rdx
0x37c26f5521a0 1632 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f5521a4 1636 b802000000 movl rax,0x2
0x37c26f5521a9 1641 498d9d98d649fe REX.W leaq rbx,[r13-0x1b62968]
0x37c26f5521b0 1648 e82b57ebff call 0x37c26f4078e0 ;; code: STUB, CEntryStub, minor: 5
0x37c26f5521b5 1653 48c1e820 REX.W shrq rax, 32
0x37c26f5521b9 1657 4889442438 REX.W movq [rsp+0x38],rax
0x37c26f5521be 1662 488d642420 REX.W leaq rsp,[rsp+0x20]
0x37c26f5521c3 1667 415f pop r15
0x37c26f5521c5 1669 415e pop r14
0x37c26f5521c7 1671 415c pop r12
0x37c26f5521c9 1673 415b pop r11
0x37c26f5521cb 1675 4159 pop r9
0x37c26f5521cd 1677 4158 pop r8
0x37c26f5521cf 1679 5f pop rdi
0x37c26f5521d0 1680 5e pop rsi
0x37c26f5521d1 1681 5b pop rbx
0x37c26f5521d2 1682 5a pop rdx
0x37c26f5521d3 1683 59 pop rcx
0x37c26f5521d4 1684 58 pop rax
0x37c26f5521d5 1685 e9a4faffff jmp 318 (0x37c26f551c7e)
;;; <@190,#184> -------------------- Deferred string-char-code-at --------------------
0x37c26f5521da 1690 4531e4 xorl r12,r12 ;; debug: position 2590
0x37c26f5521dd 1693 50 push rax
0x37c26f5521de 1694 51 push rcx
0x37c26f5521df 1695 52 push rdx
0x37c26f5521e0 1696 53 push rbx
0x37c26f5521e1 1697 56 push rsi
0x37c26f5521e2 1698 57 push rdi
0x37c26f5521e3 1699 4150 push r8
0x37c26f5521e5 1701 4151 push r9
0x37c26f5521e7 1703 4153 push r11
0x37c26f5521e9 1705 4154 push r12
0x37c26f5521eb 1707 4156 push r14
0x37c26f5521ed 1709 4157 push r15
0x37c26f5521ef 1711 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x37c26f5521f4 1716 56 push rsi
0x37c26f5521f5 1717 48c1e220 REX.W shlq rdx, 32
0x37c26f5521f9 1721 52 push rdx
0x37c26f5521fa 1722 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f5521fe 1726 b802000000 movl rax,0x2
0x37c26f552203 1731 498d9d98d649fe REX.W leaq rbx,[r13-0x1b62968]
0x37c26f55220a 1738 e8d156ebff call 0x37c26f4078e0 ;; code: STUB, CEntryStub, minor: 5
0x37c26f55220f 1743 48c1e820 REX.W shrq rax, 32
0x37c26f552213 1747 4889442430 REX.W movq [rsp+0x30],rax
0x37c26f552218 1752 488d642420 REX.W leaq rsp,[rsp+0x20]
0x37c26f55221d 1757 415f pop r15
0x37c26f55221f 1759 415e pop r14
0x37c26f552221 1761 415c pop r12
0x37c26f552223 1763 415b pop r11
0x37c26f552225 1765 4159 pop r9
0x37c26f552227 1767 4158 pop r8
0x37c26f552229 1769 5f pop rdi
0x37c26f55222a 1770 5e pop rsi
0x37c26f55222b 1771 5b pop rbx
0x37c26f55222c 1772 5a pop rdx
0x37c26f55222d 1773 59 pop rcx
0x37c26f55222e 1774 58 pop rax
0x37c26f55222f 1775 e985fbffff jmp 633 (0x37c26f551db9)
;;; <@364,#274> -------------------- Deferred stack-check --------------------
0x37c26f552234 1780 50 push rax ;; debug: position 2803
0x37c26f552235 1781 51 push rcx
0x37c26f552236 1782 52 push rdx
0x37c26f552237 1783 53 push rbx
0x37c26f552238 1784 56 push rsi
0x37c26f552239 1785 57 push rdi
0x37c26f55223a 1786 4150 push r8
0x37c26f55223c 1788 4151 push r9
0x37c26f55223e 1790 4153 push r11
0x37c26f552240 1792 4154 push r12
0x37c26f552242 1794 4156 push r14
0x37c26f552244 1796 4157 push r15
0x37c26f552246 1798 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x37c26f55224b 1803 488b75f8 REX.W movq rsi,[rbp-0x8]
0x37c26f55224f 1807 33c0 xorl rax,rax
0x37c26f552251 1809 498d9d28d53ffe REX.W leaq rbx,[r13-0x1c02ad8]
0x37c26f552258 1816 e88356ebff call 0x37c26f4078e0 ;; code: STUB, CEntryStub, minor: 5
0x37c26f55225d 1821 488d642420 REX.W leaq rsp,[rsp+0x20]
0x37c26f552262 1826 415f pop r15
0x37c26f552264 1828 415e pop r14
0x37c26f552266 1830 415c pop r12
0x37c26f552268 1832 415b pop r11
0x37c26f55226a 1834 4159 pop r9
0x37c26f55226c 1836 4158 pop r8
0x37c26f55226e 1838 5f pop rdi
0x37c26f55226f 1839 5e pop rsi
0x37c26f552270 1840 5b pop rbx
0x37c26f552271 1841 5a pop rdx
0x37c26f552272 1842 59 pop rcx
0x37c26f552273 1843 58 pop rax
0x37c26f552274 1844 e9b2fbffff jmp 747 (0x37c26f551e2b)
;;; <@368,#286> -------------------- Deferred string-char-code-at --------------------
0x37c26f552279 1849 4533c0 xorl r8,r8 ;; debug: position 2847
0x37c26f55227c 1852 50 push rax
0x37c26f55227d 1853 51 push rcx
0x37c26f55227e 1854 52 push rdx
0x37c26f55227f 1855 53 push rbx
0x37c26f552280 1856 56 push rsi
0x37c26f552281 1857 57 push rdi
0x37c26f552282 1858 4150 push r8
0x37c26f552284 1860 4151 push r9
0x37c26f552286 1862 4153 push r11
0x37c26f552288 1864 4154 push r12
0x37c26f55228a 1866 4156 push r14
0x37c26f55228c 1868 4157 push r15
0x37c26f55228e 1870 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x37c26f552293 1875 57 push rdi
0x37c26f552294 1876 48c1e620 REX.W shlq rsi, 32
0x37c26f552298 1880 56 push rsi
0x37c26f552299 1881 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f55229d 1885 b802000000 movl rax,0x2
0x37c26f5522a2 1890 498d9d98d649fe REX.W leaq rbx,[r13-0x1b62968]
0x37c26f5522a9 1897 e83256ebff call 0x37c26f4078e0 ;; code: STUB, CEntryStub, minor: 5
0x37c26f5522ae 1902 48c1e820 REX.W shrq rax, 32
0x37c26f5522b2 1906 4889442448 REX.W movq [rsp+0x48],rax
0x37c26f5522b7 1911 488d642420 REX.W leaq rsp,[rsp+0x20]
0x37c26f5522bc 1916 415f pop r15
0x37c26f5522be 1918 415e pop r14
0x37c26f5522c0 1920 415c pop r12
0x37c26f5522c2 1922 415b pop r11
0x37c26f5522c4 1924 4159 pop r9
0x37c26f5522c6 1926 4158 pop r8
0x37c26f5522c8 1928 5f pop rdi
0x37c26f5522c9 1929 5e pop rsi
0x37c26f5522ca 1930 5b pop rbx
0x37c26f5522cb 1931 5a pop rdx
0x37c26f5522cc 1932 59 pop rcx
0x37c26f5522cd 1933 58 pop rax
0x37c26f5522ce 1934 e9dffbffff jmp 882 (0x37c26f551eb2)
;;; -------------------- Jump table --------------------
0x37c26f5522d3 1939 e8323dbbff call 0x37c26f10600a ;; debug: position 60416
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x37c26f5522d8 1944 e8373dbbff call 0x37c26f106014 ;; debug: position 60416
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 2
0x37c26f5522dd 1949 e8463dbbff call 0x37c26f106028 ;; debug: position 90624
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 4
0x37c26f5522e2 1954 e84b3dbbff call 0x37c26f106032 ;; debug: position 809984
;; debug: deopt reason 'overflow'
;; deoptimization bailout 5
0x37c26f5522e7 1959 e8503dbbff call 0x37c26f10603c ;; debug: position 164352
;; debug: deopt reason 'overflow'
;; deoptimization bailout 6
0x37c26f5522ec 1964 e8553dbbff call 0x37c26f106046 ;; debug: position 218624
;; debug: deopt reason 'Smi'
;; deoptimization bailout 7
0x37c26f5522f1 1969 e85a3dbbff call 0x37c26f106050 ;; debug: position 218624
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 8
0x37c26f5522f6 1974 e85f3dbbff call 0x37c26f10605a ;; debug: position 234496
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 9
0x37c26f5522fb 1979 e88c3dbbff call 0x37c26f10608c ;; debug: position 366080
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 14
0x37c26f552300 1984 e8a53dbbff call 0x37c26f1060aa ;; debug: position 693248
;; debug: deopt reason 'Smi'
;; deoptimization bailout 17
0x37c26f552305 1989 e8aa3dbbff call 0x37c26f1060b4 ;; debug: position 693248
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 18
0x37c26f55230a 1994 e8af3dbbff call 0x37c26f1060be ;; debug: position 752640
;; debug: deopt reason 'overflow'
;; deoptimization bailout 19
0x37c26f55230f 1999 e8be3dbbff call 0x37c26f1060d2 ;; debug: position 722432
;; debug: deopt reason 'overflow'
;; deoptimization bailout 21
0x37c26f552314 2004 e8cd3dbbff call 0x37c26f1060e6 ;; debug: position 710656
;; debug: deopt reason 'Smi'
;; deoptimization bailout 23
0x37c26f552319 2009 e8d23dbbff call 0x37c26f1060f0 ;; debug: position 710656
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 24
0x37c26f55231e 2014 e8eb3dbbff call 0x37c26f10610e ;; debug: position 104960
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 27
0x37c26f552323 2019 e8e63dbbff call 0x37c26f10610e ;; debug: position 104960
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 27
0x37c26f552328 2024 e8e13dbbff call 0x37c26f10610e ;; debug: position 104960
;; debug: deopt reason 'NaN'
;; deoptimization bailout 27
0x37c26f55232d 2029 0f1f00 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 28)
index ast id argc pc
0 4 0 35
1 65 0 -1
2 65 0 -1
3 69 0 133
4 111 0 -1
5 868 0 -1
6 176 0 -1
7 226 0 -1
8 226 0 -1
9 312 0 -1
10 346 0 685
11 346 0 -1
12 377 0 -1
13 442 0 747
14 442 0 -1
15 539 0 957
16 651 0 -1
17 227 0 -1
18 227 0 -1
19 712 0 -1
20 819 0 1254
21 711 0 -1
22 784 0 1329
23 784 0 -1
24 784 0 -1
25 784 0 1375
26 784 0 1393
27 112 0 -1
Safepoints (size = 152)
0x37c26f551b63 35 00000010000 (sp -> fp) 0
0x37c26f551ded 685 00010010000 (sp -> fp) 10
0x37c26f551efd 957 00000010000 (sp -> fp) 15
0x37c26f552026 1254 00000010000 (sp -> fp) 20
0x37c26f55206a 1322 00010010000 (sp -> fp) 22
0x37c26f55209f 1375 10010010000 (sp -> fp) 25
0x37c26f5520b1 1393 10010010000 (sp -> fp) 26
0x37c26f55212d 1517 00010010000 | rax | rdx | rdi | r8 (sp -> fp) 3
0x37c26f5521b5 1653 00010010000 | rax | rdi | r8 (sp -> fp) <none> argc: 2
0x37c26f55220f 1743 00010010000 | rax | rdi | r8 (sp -> fp) <none> argc: 2
0x37c26f55225d 1821 00010010000 | rbx (sp -> fp) 13
0x37c26f5522ae 1902 00010010000 | rbx (sp -> fp) <none> argc: 2
RelocInfo (size = 3308)
0x37c26f551b4a position (2132)
0x37c26f551b4a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f551b4a comment (;;; <@8,#5> prologue)
0x37c26f551b4a comment (;;; Prologue begin)
0x37c26f551b4a comment (;;; Prologue end)
0x37c26f551b4a comment (;;; <@12,#7> -------------------- B1 --------------------)
0x37c26f551b4a comment (;;; <@14,#8> context)
0x37c26f551b4e comment (;;; <@15,#8> gap)
0x37c26f551b52 comment (;;; <@18,#12> -------------------- B2 --------------------)
0x37c26f551b52 comment (;;; <@19,#12> gap)
0x37c26f551b55 comment (;;; <@20,#14> stack-check)
0x37c26f551b5f code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f551b63 comment (;;; <@22,#14> lazy-bailout)
0x37c26f551b63 comment (;;; <@23,#14> gap)
0x37c26f551b67 comment (;;; <@24,#39> check-non-smi)
0x37c26f551b67 position (2250)
0x37c26f551b6f comment (;;; <@26,#40> check-instance-type)
0x37c26f551b7e comment (;;; <@28,#67> check-maps)
0x37c26f551b7e position (2309)
0x37c26f551b7e comment (;;; <@30,#35> gap)
0x37c26f551b7e position (2225)
0x37c26f551b84 embedded object (0x23de51604411 <String[0]: >)
0x37c26f551b95 embedded object (0x23de51604381 <undefined>)
0x37c26f551b9f position (2241)
0x37c26f551b9f comment (;;; <@32,#36> -------------------- B3 (loop header) --------------------)
0x37c26f551bab comment (;;; <@34,#41> load-named-field)
0x37c26f551bab position (2250)
0x37c26f551baf position (2243)
0x37c26f551baf comment (;;; <@37,#42> compare-numeric-and-branch)
0x37c26f551bb8 comment (;;; <@38,#43> -------------------- B4 (unreachable/replaced) --------------------)
0x37c26f551bb8 position (2225)
0x37c26f551bb8 comment (;;; <@42,#49> -------------------- B5 --------------------)
0x37c26f551bb8 comment (;;; <@44,#51> stack-check)
0x37c26f551bc5 position (2276)
0x37c26f551bc5 comment (;;; <@47,#56> compare-numeric-and-branch)
0x37c26f551bce comment (;;; <@48,#60> -------------------- B6 (unreachable/replaced) --------------------)
0x37c26f551bce position (2337)
0x37c26f551bce comment (;;; <@52,#76> -------------------- B7 --------------------)
0x37c26f551bce comment (;;; <@53,#76> gap)
0x37c26f551bd1 comment (;;; <@54,#659> tagged-to-i)
0x37c26f551bdf position (2342)
0x37c26f551bdf comment (;;; <@57,#79> compare-numeric-and-branch)
0x37c26f551be9 comment (;;; <@58,#83> -------------------- B8 (unreachable/replaced) --------------------)
0x37c26f551be9 position (2390)
0x37c26f551be9 comment (;;; <@62,#89> -------------------- B9 --------------------)
0x37c26f551be9 comment (;;; <@64,#95> gap)
0x37c26f551be9 position (2270)
0x37c26f551bef comment (;;; <@65,#95> goto)
0x37c26f551bf4 comment (;;; <@66,#57> -------------------- B10 (unreachable/replaced) --------------------)
0x37c26f551bf4 position (2309)
0x37c26f551bf4 comment (;;; <@70,#63> -------------------- B11 --------------------)
0x37c26f551bf4 comment (;;; <@72,#72> load-named-field)
0x37c26f551bf7 comment (;;; <@74,#73> bounds-check)
0x37c26f551bff comment (;;; <@75,#73> gap)
0x37c26f551c05 comment (;;; <@76,#74> string-char-code-at)
0x37c26f551c7e comment (;;; <@78,#93> gap)
0x37c26f551c7e position (2270)
0x37c26f551c81 position (2407)
0x37c26f551c81 comment (;;; <@80,#97> -------------------- B12 --------------------)
0x37c26f551c85 position (2412)
0x37c26f551c85 comment (;;; <@83,#100> compare-numeric-and-branch)
0x37c26f551c8f comment (;;; <@84,#104> -------------------- B13 (unreachable/replaced) --------------------)
0x37c26f551c8f position (3671)
0x37c26f551c8f comment (;;; <@88,#592> -------------------- B14 --------------------)
0x37c26f551c8f position (3676)
0x37c26f551c8f comment (;;; <@91,#595> compare-numeric-and-branch)
0x37c26f551c99 comment (;;; <@92,#599> -------------------- B15 (unreachable/replaced) --------------------)
0x37c26f551c99 comment (;;; <@96,#596> -------------------- B16 (unreachable/replaced) --------------------)
0x37c26f551c99 position (3691)
0x37c26f551c99 comment (;;; <@100,#602> -------------------- B17 --------------------)
0x37c26f551c99 position (3696)
0x37c26f551c99 comment (;;; <@103,#605> compare-numeric-and-branch)
0x37c26f551ca2 comment (;;; <@104,#609> -------------------- B18 (unreachable/replaced) --------------------)
0x37c26f551ca2 position (3714)
0x37c26f551ca2 comment (;;; <@108,#612> -------------------- B19 --------------------)
0x37c26f551ca2 comment (;;; <@109,#612> gap)
0x37c26f551ca5 comment (;;; <@110,#615> add-i)
0x37c26f551cae position (3667)
0x37c26f551cae comment (;;; <@113,#621> goto)
0x37c26f551cb3 comment (;;; <@114,#606> -------------------- B20 (unreachable/replaced) --------------------)
0x37c26f551cb3 position (3746)
0x37c26f551cb3 comment (;;; <@118,#617> -------------------- B21 --------------------)
0x37c26f551cb3 comment (;;; <@120,#623> gap)
0x37c26f551cb3 position (3667)
0x37c26f551cb8 position (2403)
0x37c26f551cb8 comment (;;; <@122,#627> -------------------- B22 --------------------)
0x37c26f551cb8 comment (;;; <@124,#629> gap)
0x37c26f551cc1 comment (;;; <@125,#629> goto)
0x37c26f551cc6 comment (;;; <@126,#101> -------------------- B23 (unreachable/replaced) --------------------)
0x37c26f551cc6 position (2437)
0x37c26f551cc6 comment (;;; <@130,#107> -------------------- B24 --------------------)
0x37c26f551cc6 comment (;;; <@131,#107> gap)
0x37c26f551cc9 comment (;;; <@132,#111> sub-i)
0x37c26f551cc9 position (2453)
0x37c26f551cd2 position (2447)
0x37c26f551cd2 comment (;;; <@135,#113> compare-numeric-and-branch)
0x37c26f551cda comment (;;; <@136,#117> -------------------- B25 (unreachable/replaced) --------------------)
0x37c26f551cda position (2460)
0x37c26f551cda comment (;;; <@140,#120> -------------------- B26 --------------------)
0x37c26f551cda position (2465)
0x37c26f551cda comment (;;; <@143,#123> compare-numeric-and-branch)
0x37c26f551ce3 comment (;;; <@144,#127> -------------------- B27 (unreachable/replaced) --------------------)
0x37c26f551ce3 position (2507)
0x37c26f551ce3 comment (;;; <@148,#130> -------------------- B28 --------------------)
0x37c26f551ce3 position (2517)
0x37c26f551ce3 comment (;;; <@151,#136> compare-numeric-and-branch)
0x37c26f551ceb comment (;;; <@152,#140> -------------------- B29 (unreachable/replaced) --------------------)
0x37c26f551ceb position (2530)
0x37c26f551ceb comment (;;; <@156,#143> -------------------- B30 --------------------)
0x37c26f551ceb position (2535)
0x37c26f551ceb comment (;;; <@159,#146> compare-numeric-and-branch)
0x37c26f551cf4 comment (;;; <@160,#150> -------------------- B31 --------------------)
0x37c26f551cf4 comment (;;; <@162,#152> gap)
0x37c26f551cfa comment (;;; <@163,#152> goto)
0x37c26f551cff comment (;;; <@164,#147> -------------------- B32 (unreachable/replaced) --------------------)
0x37c26f551cff position (2556)
0x37c26f551cff comment (;;; <@168,#153> -------------------- B33 --------------------)
0x37c26f551cff comment (;;; <@170,#155> check-non-smi)
0x37c26f551cff position (2559)
0x37c26f551d09 comment (;;; <@172,#156> check-instance-type)
0x37c26f551d18 comment (;;; <@174,#157> load-named-field)
0x37c26f551d1c comment (;;; <@175,#157> gap)
0x37c26f551d20 position (2567)
0x37c26f551d20 comment (;;; <@177,#159> compare-numeric-and-branch)
0x37c26f551d2a comment (;;; <@178,#163> -------------------- B34 (unreachable/replaced) --------------------)
0x37c26f551d2a position (2586)
0x37c26f551d2a comment (;;; <@182,#166> -------------------- B35 --------------------)
0x37c26f551d2a comment (;;; <@183,#166> gap)
0x37c26f551d2d comment (;;; <@184,#178> sub-i)
0x37c26f551d2d position (2612)
0x37c26f551d30 comment (;;; <@186,#182> load-named-field)
0x37c26f551d30 position (2590)
0x37c26f551d33 comment (;;; <@188,#183> bounds-check)
0x37c26f551d3b comment (;;; <@189,#183> gap)
0x37c26f551d3e comment (;;; <@190,#184> string-char-code-at)
0x37c26f551db9 position (2617)
0x37c26f551db9 comment (;;; <@193,#186> compare-numeric-and-branch)
0x37c26f551dc3 comment (;;; <@194,#190> -------------------- B36 (unreachable/replaced) --------------------)
0x37c26f551dc3 comment (;;; <@198,#187> -------------------- B37 (unreachable/replaced) --------------------)
0x37c26f551dc3 position (2644)
0x37c26f551dc3 comment (;;; <@202,#193> -------------------- B38 --------------------)
0x37c26f551dc3 comment (;;; <@203,#193> gap)
0x37c26f551dca comment (;;; <@204,#195> load-named-generic)
0x37c26f551dca position (2648)
0x37c26f551dcc embedded object (0x23de51657309 <String[10]: charCodeAt>)
0x37c26f551dd6 embedded object (0x238c96a2cdb1 <FixedArray[55]>)
0x37c26f551de9 code target (LOAD_IC) (0x37c26f551540)
0x37c26f551ded comment (;;; <@206,#196> lazy-bailout)
0x37c26f551ded position (2662)
0x37c26f551ded comment (;;; <@209,#198> deoptimize)
0x37c26f551ded position (271360)
0x37c26f551ded deopt reason (Insufficient type feedback for generic named access)
0x37c26f551dee runtime entry
0x37c26f551df2 comment (;;; <@210,#199> -------------------- B39 (unreachable/replaced) --------------------)
0x37c26f551df2 comment (;;; <@218,#204> -------------------- B40 (unreachable/replaced) --------------------)
0x37c26f551df2 comment (;;; <@240,#214> -------------------- B41 (unreachable/replaced) --------------------)
0x37c26f551df2 comment (;;; <@250,#221> -------------------- B42 (unreachable/replaced) --------------------)
0x37c26f551df2 comment (;;; <@254,#218> -------------------- B43 (unreachable/replaced) --------------------)
0x37c26f551df2 comment (;;; <@258,#433> -------------------- B44 (unreachable/replaced) --------------------)
0x37c26f551df2 comment (;;; <@262,#160> -------------------- B45 (unreachable/replaced) --------------------)
0x37c26f551df2 position (2704)
0x37c26f551df2 comment (;;; <@266,#224> -------------------- B46 --------------------)
0x37c26f551df2 comment (;;; <@268,#230> gap)
0x37c26f551df2 position (2715)
0x37c26f551df6 comment (;;; <@269,#230> compare-numeric-and-branch)
0x37c26f551dff comment (;;; <@270,#234> -------------------- B47 (unreachable/replaced) --------------------)
0x37c26f551dff position (3166)
0x37c26f551dff comment (;;; <@274,#357> -------------------- B48 --------------------)
0x37c26f551dff position (3169)
0x37c26f551dff comment (;;; <@277,#359> deoptimize)
0x37c26f551dff position (530944)
0x37c26f551dff deopt reason (Insufficient type feedback for generic named access)
0x37c26f551e00 runtime entry
0x37c26f551e04 comment (;;; <@278,#360> -------------------- B49 (unreachable/replaced) --------------------)
0x37c26f551e04 comment (;;; <@286,#365> -------------------- B50 (unreachable/replaced) --------------------)
0x37c26f551e04 comment (;;; <@296,#372> -------------------- B51 (unreachable/replaced) --------------------)
0x37c26f551e04 comment (;;; <@300,#375> -------------------- B52 (unreachable/replaced) --------------------)
0x37c26f551e04 comment (;;; <@304,#378> -------------------- B53 (unreachable/replaced) --------------------)
0x37c26f551e04 comment (;;; <@312,#383> -------------------- B54 (unreachable/replaced) --------------------)
0x37c26f551e04 comment (;;; <@322,#390> -------------------- B55 (unreachable/replaced) --------------------)
0x37c26f551e04 comment (;;; <@326,#416> -------------------- B56 (unreachable/replaced) --------------------)
0x37c26f551e04 comment (;;; <@330,#387> -------------------- B57 (unreachable/replaced) --------------------)
0x37c26f551e04 comment (;;; <@334,#369> -------------------- B58 (unreachable/replaced) --------------------)
0x37c26f551e04 comment (;;; <@338,#393> -------------------- B59 (unreachable/replaced) --------------------)
0x37c26f551e04 comment (;;; <@342,#231> -------------------- B60 (unreachable/replaced) --------------------)
0x37c26f551e04 position (2700)
0x37c26f551e04 comment (;;; <@346,#237> -------------------- B61 --------------------)
0x37c26f551e04 comment (;;; <@348,#244> sub-i)
0x37c26f551e04 position (2759)
0x37c26f551e07 comment (;;; <@349,#244> gap)
0x37c26f551e0f comment (;;; <@350,#284> load-named-field)
0x37c26f551e0f position (2847)
0x37c26f551e12 comment (;;; <@352,#261> gap)
0x37c26f551e12 position (2803)
0x37c26f551e15 position (2810)
0x37c26f551e15 comment (;;; <@354,#262> -------------------- B62 (loop header) --------------------)
0x37c26f551e15 position (2812)
0x37c26f551e15 comment (;;; <@357,#265> compare-numeric-and-branch)
0x37c26f551e1e comment (;;; <@358,#266> -------------------- B63 (unreachable/replaced) --------------------)
0x37c26f551e1e position (2803)
0x37c26f551e1e comment (;;; <@362,#272> -------------------- B64 --------------------)
0x37c26f551e1e comment (;;; <@364,#274> stack-check)
0x37c26f551e2b comment (;;; <@366,#285> bounds-check)
0x37c26f551e2b position (2847)
0x37c26f551e33 comment (;;; <@367,#285> gap)
0x37c26f551e39 comment (;;; <@368,#286> string-char-code-at)
0x37c26f551eb2 position (2861)
0x37c26f551eb2 comment (;;; <@371,#288> compare-numeric-and-branch)
0x37c26f551ebc comment (;;; <@372,#292> -------------------- B65 (unreachable/replaced) --------------------)
0x37c26f551ebc position (2820)
0x37c26f551ebc comment (;;; <@376,#298> -------------------- B66 --------------------)
0x37c26f551ebc comment (;;; <@378,#301> add-i)
0x37c26f551ebf position (2803)
0x37c26f551ebf comment (;;; <@381,#304> goto)
0x37c26f551ec4 comment (;;; <@382,#289> -------------------- B67 (unreachable/replaced) --------------------)
0x37c26f551ec4 comment (;;; <@386,#295> -------------------- B68 (unreachable/replaced) --------------------)
0x37c26f551ec4 comment (;;; <@390,#269> -------------------- B69 (unreachable/replaced) --------------------)
0x37c26f551ec4 comment (;;; <@394,#305> -------------------- B70 (unreachable/replaced) --------------------)
0x37c26f551ec4 position (2927)
0x37c26f551ec4 comment (;;; <@398,#308> -------------------- B71 --------------------)
0x37c26f551ec4 position (2929)
0x37c26f551ec4 comment (;;; <@401,#311> compare-numeric-and-branch)
0x37c26f551ecc comment (;;; <@402,#315> -------------------- B72 (unreachable/replaced) --------------------)
0x37c26f551ecc position (2960)
0x37c26f551ecc comment (;;; <@406,#318> -------------------- B73 --------------------)
0x37c26f551ecc position (2962)
0x37c26f551ecc comment (;;; <@409,#321> compare-numeric-and-branch)
0x37c26f551ed5 comment (;;; <@410,#325> -------------------- B74 (unreachable/replaced) --------------------)
0x37c26f551ed5 position (3037)
0x37c26f551ed5 comment (;;; <@414,#331> -------------------- B75 --------------------)
0x37c26f551ed5 comment (;;; <@416,#667> smi-tag)
0x37c26f551ed5 position (3041)
0x37c26f551edb comment (;;; <@418,#341> push-argument)
0x37c26f551edc comment (;;; <@420,#341> push-argument)
0x37c26f551ede comment (;;; <@422,#341> push-argument)
0x37c26f551edf comment (;;; <@424,#340> constant-t)
0x37c26f551ee1 embedded object (0x23de516b7109 <JS Function slice (SharedFunctionInfo 0x23de51657a01)>)
0x37c26f551ee9 comment (;;; <@425,#340> gap)
0x37c26f551eed comment (;;; <@426,#342> invoke-function)
0x37c26f551efd comment (;;; <@428,#343> lazy-bailout)
0x37c26f551efd position (2956)
0x37c26f551efd comment (;;; <@431,#348> goto)
0x37c26f551f02 comment (;;; <@432,#322> -------------------- B76 (unreachable/replaced) --------------------)
0x37c26f551f02 position (2992)
0x37c26f551f02 comment (;;; <@436,#328> -------------------- B77 --------------------)
0x37c26f551f02 comment (;;; <@438,#346> gap)
0x37c26f551f02 position (2956)
0x37c26f551f04 embedded object (0x23de51604411 <String[0]: >)
0x37c26f551f0c position (3080)
0x37c26f551f0c comment (;;; <@440,#350> -------------------- B78 --------------------)
0x37c26f551f0c comment (;;; <@442,#356> gap)
0x37c26f551f0c position (3121)
0x37c26f551f15 comment (;;; <@443,#356> goto)
0x37c26f551f1a comment (;;; <@444,#312> -------------------- B79 (unreachable/replaced) --------------------)
0x37c26f551f1a comment (;;; <@448,#413> -------------------- B80 (unreachable/replaced) --------------------)
0x37c26f551f1a comment (;;; <@452,#430> -------------------- B81 (unreachable/replaced) --------------------)
0x37c26f551f1a position (3333)
0x37c26f551f1a comment (;;; <@456,#447> -------------------- B82 --------------------)
0x37c26f551f1a comment (;;; <@458,#448> gap)
0x37c26f551f1e comment (;;; <@459,#448> branch)
0x37c26f551fb8 comment (;;; <@460,#452> -------------------- B83 (unreachable/replaced) --------------------)
0x37c26f551fb8 comment (;;; <@464,#491> -------------------- B84 (unreachable/replaced) --------------------)
0x37c26f551fb8 comment (;;; <@468,#449> -------------------- B85 (unreachable/replaced) --------------------)
0x37c26f551fb8 position (3365)
0x37c26f551fb8 comment (;;; <@472,#455> -------------------- B86 --------------------)
0x37c26f551fb8 position (3368)
0x37c26f551fb8 comment (;;; <@475,#457> deoptimize)
0x37c26f551fb8 position (632832)
0x37c26f551fb8 deopt reason (Insufficient type feedback for generic named access)
0x37c26f551fb9 runtime entry
0x37c26f551fbd comment (;;; <@476,#458> -------------------- B87 (unreachable/replaced) --------------------)
0x37c26f551fbd comment (;;; <@484,#463> -------------------- B88 (unreachable/replaced) --------------------)
0x37c26f551fbd comment (;;; <@494,#470> -------------------- B89 (unreachable/replaced) --------------------)
0x37c26f551fbd comment (;;; <@498,#480> -------------------- B90 (unreachable/replaced) --------------------)
0x37c26f551fbd comment (;;; <@502,#467> -------------------- B91 (unreachable/replaced) --------------------)
0x37c26f551fbd comment (;;; <@506,#473> -------------------- B92 (unreachable/replaced) --------------------)
0x37c26f551fbd comment (;;; <@516,#488> -------------------- B93 (unreachable/replaced) --------------------)
0x37c26f551fbd comment (;;; <@520,#553> -------------------- B94 (unreachable/replaced) --------------------)
0x37c26f551fbd position (2517)
0x37c26f551fbd comment (;;; <@524,#137> -------------------- B95 --------------------)
0x37c26f551fc3 position (3483)
0x37c26f551fc3 comment (;;; <@528,#495> -------------------- B96 --------------------)
0x37c26f551fc3 comment (;;; <@530,#497> check-non-smi)
0x37c26f551fc3 position (3486)
0x37c26f551fcc comment (;;; <@532,#498> check-instance-type)
0x37c26f551fdb comment (;;; <@534,#499> load-named-field)
0x37c26f551fde position (3494)
0x37c26f551fde comment (;;; <@537,#501> compare-numeric-and-branch)
0x37c26f551fe7 comment (;;; <@538,#505> -------------------- B97 (unreachable/replaced) --------------------)
0x37c26f551fe7 position (3586)
0x37c26f551fe7 comment (;;; <@542,#532> -------------------- B98 --------------------)
0x37c26f551fe7 comment (;;; <@543,#532> gap)
0x37c26f551fea comment (;;; <@544,#540> add-i)
0x37c26f551fea position (3602)
0x37c26f551ff3 comment (;;; <@545,#540> gap)
0x37c26f551ff7 comment (;;; <@546,#660> smi-tag)
0x37c26f551ff7 position (3586)
0x37c26f551ffd comment (;;; <@548,#670> smi-tag)
0x37c26f552003 comment (;;; <@550,#544> push-argument)
0x37c26f552006 comment (;;; <@552,#544> push-argument)
0x37c26f552007 comment (;;; <@554,#544> push-argument)
0x37c26f552008 comment (;;; <@556,#340> constant-t)
0x37c26f552008 position (3041)
0x37c26f55200a embedded object (0x23de516b7109 <JS Function slice (SharedFunctionInfo 0x23de51657a01)>)
0x37c26f552012 comment (;;; <@557,#340> gap)
0x37c26f552016 comment (;;; <@558,#545> invoke-function)
0x37c26f552016 position (3586)
0x37c26f552026 comment (;;; <@560,#546> lazy-bailout)
0x37c26f552026 position (3479)
0x37c26f552026 comment (;;; <@563,#551> goto)
0x37c26f55202b comment (;;; <@564,#502> -------------------- B99 (unreachable/replaced) --------------------)
0x37c26f55202b position (3509)
0x37c26f55202b comment (;;; <@568,#508> -------------------- B100 --------------------)
0x37c26f55202b comment (;;; <@569,#508> gap)
0x37c26f55202e comment (;;; <@570,#518> add-i)
0x37c26f55202e position (3543)
0x37c26f552037 comment (;;; <@571,#518> gap)
0x37c26f55203b comment (;;; <@572,#661> smi-tag)
0x37c26f55203b position (3527)
0x37c26f552041 comment (;;; <@574,#671> smi-tag)
0x37c26f552047 comment (;;; <@576,#522> push-argument)
0x37c26f55204a comment (;;; <@578,#522> push-argument)
0x37c26f55204b comment (;;; <@580,#522> push-argument)
0x37c26f55204c comment (;;; <@582,#340> constant-t)
0x37c26f55204c position (3041)
0x37c26f55204e embedded object (0x23de516b7109 <JS Function slice (SharedFunctionInfo 0x23de51657a01)>)
0x37c26f552056 comment (;;; <@583,#340> gap)
0x37c26f55205a comment (;;; <@584,#523> invoke-function)
0x37c26f55205a position (3527)
0x37c26f55206a comment (;;; <@585,#523> gap)
0x37c26f552071 comment (;;; <@586,#524> lazy-bailout)
0x37c26f552071 comment (;;; <@588,#525> check-non-smi)
0x37c26f552071 position (3520)
0x37c26f55207a comment (;;; <@590,#526> check-instance-type)
0x37c26f552089 comment (;;; <@592,#510> constant-t)
0x37c26f552089 position (3516)
0x37c26f55208b embedded object (0x238c96a29fa1 <String[1]: />)
0x37c26f552093 comment (;;; <@593,#510> gap)
0x37c26f55209a comment (;;; <@594,#527> string-add)
0x37c26f55209a position (3520)
0x37c26f55209b code target (STUB) (0x37c26f551740)
0x37c26f55209f comment (;;; <@596,#527> lazy-bailout)
0x37c26f55209f comment (;;; <@597,#527> gap)
0x37c26f5520a7 comment (;;; <@598,#530> string-add)
0x37c26f5520ac position (3514)
0x37c26f5520ad code target (STUB) (0x37c26f551740)
0x37c26f5520b1 comment (;;; <@600,#530> lazy-bailout)
0x37c26f5520b1 position (2503)
0x37c26f5520b1 comment (;;; <@604,#556> -------------------- B101 --------------------)
0x37c26f5520b1 comment (;;; <@606,#558> gap)
0x37c26f5520b4 position (2433)
0x37c26f5520b4 comment (;;; <@608,#573> -------------------- B102 --------------------)
0x37c26f5520b4 comment (;;; <@610,#575> gap)
0x37c26f5520b7 comment (;;; <@611,#575> goto)
0x37c26f5520bc comment (;;; <@612,#124> -------------------- B103 (unreachable/replaced) --------------------)
0x37c26f5520bc comment (;;; <@616,#114> -------------------- B104 (unreachable/replaced) --------------------)
0x37c26f5520bc comment (;;; <@620,#570> -------------------- B105 --------------------)
0x37c26f5520bc comment (;;; <@622,#572> gap)
0x37c26f5520c0 position (3637)
0x37c26f5520c0 comment (;;; <@624,#587> -------------------- B106 --------------------)
0x37c26f5520c0 comment (;;; <@626,#626> gap)
0x37c26f5520c0 position (2403)
0x37c26f5520c9 comment (;;; <@628,#641> -------------------- B107 (unreachable/replaced) --------------------)
0x37c26f5520c9 position (2261)
0x37c26f5520c9 comment (;;; <@632,#644> -------------------- B108 --------------------)
0x37c26f5520c9 comment (;;; <@633,#644> gap)
0x37c26f5520cd comment (;;; <@634,#646> add-i)
0x37c26f5520d0 comment (;;; <@635,#646> gap)
0x37c26f5520d4 comment (;;; <@636,#662> smi-tag)
0x37c26f5520d4 position (2241)
0x37c26f5520da comment (;;; <@638,#649> gap)
0x37c26f5520da position (2225)
0x37c26f5520f4 comment (;;; <@639,#649> goto)
0x37c26f5520f9 comment (;;; <@640,#80> -------------------- B109 (unreachable/replaced) --------------------)
0x37c26f5520f9 comment (;;; <@644,#86> -------------------- B110 (unreachable/replaced) --------------------)
0x37c26f5520f9 comment (;;; <@648,#46> -------------------- B111 (unreachable/replaced) --------------------)
0x37c26f5520f9 comment (;;; <@652,#650> -------------------- B112 (unreachable/replaced) --------------------)
0x37c26f5520f9 position (3769)
0x37c26f5520f9 comment (;;; <@656,#653> -------------------- B113 --------------------)
0x37c26f5520f9 comment (;;; <@657,#653> gap)
0x37c26f5520fd comment (;;; <@658,#656> return)
0x37c26f5520fd position (3762)
0x37c26f552104 position (2225)
0x37c26f552104 comment (;;; <@44,#51> -------------------- Deferred stack-check --------------------)
0x37c26f552129 code target (STUB) (0x37c26f4078e0)
0x37c26f552149 position (2337)
0x37c26f552149 comment (;;; <@54,#659> -------------------- Deferred tagged-to-i --------------------)
0x37c26f55217f position (2309)
0x37c26f55217f comment (;;; <@76,#74> -------------------- Deferred string-char-code-at --------------------)
0x37c26f5521b1 code target (STUB) (0x37c26f4078e0)
0x37c26f5521da position (2590)
0x37c26f5521da comment (;;; <@190,#184> -------------------- Deferred string-char-code-at --------------------)
0x37c26f55220b code target (STUB) (0x37c26f4078e0)
0x37c26f552234 position (2803)
0x37c26f552234 comment (;;; <@364,#274> -------------------- Deferred stack-check --------------------)
0x37c26f552259 code target (STUB) (0x37c26f4078e0)
0x37c26f552279 position (2847)
0x37c26f552279 comment (;;; <@368,#286> -------------------- Deferred string-char-code-at --------------------)
0x37c26f5522aa code target (STUB) (0x37c26f4078e0)
0x37c26f5522d3 comment (;;; -------------------- Jump table --------------------)
0x37c26f5522d3 position (60416)
0x37c26f5522d3 deopt reason (Smi)
0x37c26f5522d4 runtime entry (deoptimization bailout 1)
0x37c26f5522d8 position (60416)
0x37c26f5522d8 deopt reason (wrong instance type)
0x37c26f5522d9 runtime entry (deoptimization bailout 2)
0x37c26f5522dd position (90624)
0x37c26f5522dd deopt reason (out of bounds)
0x37c26f5522de runtime entry (deoptimization bailout 4)
0x37c26f5522e2 position (809984)
0x37c26f5522e2 deopt reason (overflow)
0x37c26f5522e3 runtime entry (deoptimization bailout 5)
0x37c26f5522e7 position (164352)
0x37c26f5522e7 deopt reason (overflow)
0x37c26f5522e8 runtime entry (deoptimization bailout 6)
0x37c26f5522ec position (218624)
0x37c26f5522ec deopt reason (Smi)
0x37c26f5522ed runtime entry (deoptimization bailout 7)
0x37c26f5522f1 position (218624)
0x37c26f5522f1 deopt reason (wrong instance type)
0x37c26f5522f2 runtime entry (deoptimization bailout 8)
0x37c26f5522f6 position (234496)
0x37c26f5522f6 deopt reason (out of bounds)
0x37c26f5522f7 runtime entry (deoptimization bailout 9)
0x37c26f5522fb position (366080)
0x37c26f5522fb deopt reason (out of bounds)
0x37c26f5522fc runtime entry (deoptimization bailout 14)
0x37c26f552300 position (693248)
0x37c26f552300 deopt reason (Smi)
0x37c26f552301 runtime entry (deoptimization bailout 17)
0x37c26f552305 position (693248)
0x37c26f552305 deopt reason (wrong instance type)
0x37c26f552306 runtime entry (deoptimization bailout 18)
0x37c26f55230a position (752640)
0x37c26f55230a deopt reason (overflow)
0x37c26f55230b runtime entry (deoptimization bailout 19)
0x37c26f55230f position (722432)
0x37c26f55230f deopt reason (overflow)
0x37c26f552310 runtime entry (deoptimization bailout 21)
0x37c26f552314 position (710656)
0x37c26f552314 deopt reason (Smi)
0x37c26f552315 runtime entry (deoptimization bailout 23)
0x37c26f552319 position (710656)
0x37c26f552319 deopt reason (wrong instance type)
0x37c26f55231a runtime entry (deoptimization bailout 24)
0x37c26f55231e position (104960)
0x37c26f55231e deopt reason (not a heap number)
0x37c26f55231f runtime entry (deoptimization bailout 27)
0x37c26f552323 position (104960)
0x37c26f552323 deopt reason (lost precision)
0x37c26f552324 runtime entry (deoptimization bailout 27)
0x37c26f552328 position (104960)
0x37c26f552328 deopt reason (NaN)
0x37c26f552329 runtime entry (deoptimization bailout 27)
0x37c26f552330 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (slice) id{1,0} ---
(R,S){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(18,"String.prototype.slice");
var w=(%_ToString(this));
var ae=w.length;
var af=(%_ToInteger(R));
var ag=ae;
if(!(S===(void 0))){
ag=(%_ToInteger(S));
}
if(af<0){
af+=ae;
if(af<0){
af=0;
}
}else{
if(af>ae){
return'';
}
}
if(ag<0){
ag+=ae;
if(ag<0){
return'';
}
}else{
if(ag>ae){
ag=ae;
}
}
if(ag<=af){
return'';
}
return %_SubString(w,af,ag);
}
--- END ---
--- Raw source ---
(R,S){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(18,"String.prototype.slice");
var w=(%_ToString(this));
var ae=w.length;
var af=(%_ToInteger(R));
var ag=ae;
if(!(S===(void 0))){
ag=(%_ToInteger(S));
}
if(af<0){
af+=ae;
if(af<0){
af=0;
}
}else{
if(af>ae){
return'';
}
}
if(ag<0){
ag+=ae;
if(ag<0){
return'';
}
}else{
if(ag>ae){
ag=ae;
}
}
if(ag<=af){
return'';
}
return %_SubString(w,af,ag);
}
--- Optimized code ---
optimization_id = 1
source_position = 4831
kind = OPTIMIZED_FUNCTION
name = slice
stack_slots = 8
compiler = crankshaft
Instructions (size = 817)
0x37c26f560820 0 55 push rbp
0x37c26f560821 1 4889e5 REX.W movq rbp,rsp
0x37c26f560824 4 56 push rsi
0x37c26f560825 5 57 push rdi
0x37c26f560826 6 4883ec20 REX.W subq rsp,0x20
;;; <@0,#0> -------------------- B0 --------------------
;;; <@8,#5> prologue
;;; Prologue begin
;;; Prologue end
;;; <@12,#7> -------------------- B1 --------------------
;;; <@14,#8> context
0x37c26f56082a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 4831
;;; <@15,#8> gap
0x37c26f56082e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@18,#12> -------------------- B2 --------------------
;;; <@19,#12> gap
0x37c26f560832 18 488bf0 REX.W movq rsi,rax
;;; <@20,#14> stack-check
0x37c26f560835 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f56083c 28 7305 jnc 35 (0x37c26f560843)
0x37c26f56083e 30 e89dc3edff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@22,#14> lazy-bailout
;;; <@24,#17> gap
0x37c26f560843 35 488b5d20 REX.W movq rbx,[rbp+0x20] ;; debug: position 4855
;;; <@25,#17> cmp-object-eq-and-branch
0x37c26f560847 39 49ba01426051de230000 REX.W movq r10,0x23de51604201 ;; object: 0x23de51604201 <null>
0x37c26f560851 49 493bda REX.W cmpq rbx,r10
0x37c26f560854 52 0f8442010000 jz 380 (0x37c26f56099c)
;;; <@26,#21> -------------------- B3 (unreachable/replaced) --------------------
;;; <@30,#24> -------------------- B4 --------------------
;;; <@33,#25> cmp-object-eq-and-branch
0x37c26f56085a 58 49ba81436051de230000 REX.W movq r10,0x23de51604381 ;; debug: position 4870
;; object: 0x23de51604381 <undefined>
0x37c26f560864 68 493bda REX.W cmpq rbx,r10
0x37c26f560867 71 0f842f010000 jz 380 (0x37c26f56099c)
;;; <@34,#29> -------------------- B5 (unreachable/replaced) --------------------
;;; <@38,#46> -------------------- B6 --------------------
;;; <@39,#46> gap
0x37c26f56086d 77 488b75e8 REX.W movq rsi,[rbp-0x18] ;; debug: position 4928
0x37c26f560871 81 488bc3 REX.W movq rax,rbx
;;; <@40,#48> call-with-descriptor
0x37c26f560874 84 e8a70eedff call 0x37c26f431720 ;; code: STUB, ToStringStub, minor: 0
;;; <@41,#48> gap
0x37c26f560879 89 488945e0 REX.W movq [rbp-0x20],rax
0x37c26f56087d 93 488bd8 REX.W movq rbx,rax
;;; <@42,#49> lazy-bailout
;;; <@44,#52> check-non-smi
0x37c26f560880 96 f6c301 testb rbx,0x1 ;; debug: position 4955
0x37c26f560883 99 0f8437020000 jz 672 (0x37c26f560ac0)
;;; <@46,#53> check-instance-type
0x37c26f560889 105 4c8b53ff REX.W movq r10,[rbx-0x1]
0x37c26f56088d 109 41f6420b80 testb [r10+0xb],0x80
0x37c26f560892 114 0f852d020000 jnz 677 (0x37c26f560ac5)
;;; <@48,#54> load-named-field
0x37c26f560898 120 8b5313 movl rdx,[rbx+0x13]
;;; <@49,#54> gap
0x37c26f56089b 123 488955d8 REX.W movq [rbp-0x28],rdx
0x37c26f56089f 127 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f5608a3 131 488b4518 REX.W movq rax,[rbp+0x18]
;;; <@50,#57> call-with-descriptor
0x37c26f5608a7 135 e8b4aefbff call 0x37c26f51b760 ;; debug: position 4972
;; code: STUB, ToIntegerStub, minor: 0
;;; <@51,#57> gap
0x37c26f5608ac 140 488945d0 REX.W movq [rbp-0x30],rax
0x37c26f5608b0 144 488bd8 REX.W movq rbx,rax
;;; <@52,#58> lazy-bailout
;;; <@54,#62> gap
0x37c26f5608b3 147 488b5510 REX.W movq rdx,[rbp+0x10] ;; debug: position 5006
;;; <@55,#62> cmp-object-eq-and-branch
0x37c26f5608b7 151 49ba81436051de230000 REX.W movq r10,0x23de51604381 ;; object: 0x23de51604381 <undefined>
0x37c26f5608c1 161 493bd2 REX.W cmpq rdx,r10
0x37c26f5608c4 164 0f8418000000 jz 194 (0x37c26f5608e2)
;;; <@56,#66> -------------------- B7 (unreachable/replaced) --------------------
;;; <@60,#69> -------------------- B8 --------------------
;;; <@61,#69> gap
0x37c26f5608ca 170 488b75e8 REX.W movq rsi,[rbp-0x18] ;; debug: position 5025
0x37c26f5608ce 174 488bc2 REX.W movq rax,rdx
;;; <@62,#71> call-with-descriptor
0x37c26f5608d1 177 e88aaefbff call 0x37c26f51b760 ;; code: STUB, ToIntegerStub, minor: 0
;;; <@64,#72> lazy-bailout
;;; <@66,#75> gap
0x37c26f5608d6 182 488bd8 REX.W movq rbx,rax ;; debug: position 5000
0x37c26f5608d9 185 488b45d8 REX.W movq rax,[rbp-0x28]
;;; <@67,#75> goto
0x37c26f5608dd 189 e90a000000 jmp 204 (0x37c26f5608ec)
;;; <@68,#63> -------------------- B9 (unreachable/replaced) --------------------
;;; <@72,#76> -------------------- B10 --------------------
;;; <@73,#76> gap
0x37c26f5608e2 194 488b45d8 REX.W movq rax,[rbp-0x28]
;;; <@74,#235> smi-tag
0x37c26f5608e6 198 8bd8 movl rbx,rax ;; debug: position 5047
0x37c26f5608e8 200 48c1e320 REX.W shlq rbx, 32
;;; <@78,#80> -------------------- B11 --------------------
;;; <@79,#80> gap
0x37c26f5608ec 204 488b55d0 REX.W movq rdx,[rbp-0x30] ;; debug: position 5047
;;; <@80,#238> tagged-to-i
0x37c26f5608f0 208 f6c201 testb rdx,0x1
0x37c26f5608f3 211 0f8516010000 jnz 495 (0x37c26f560a0f)
0x37c26f5608f9 217 48c1ea20 REX.W shrq rdx, 32
;;; <@83,#83> compare-numeric-and-branch
0x37c26f5608fd 221 83fa00 cmpl rdx,0x0 ;; debug: position 5049
0x37c26f560900 224 0f8c19000000 jl 255 (0x37c26f56091f)
;;; <@84,#87> -------------------- B12 (unreachable/replaced) --------------------
;;; <@88,#122> -------------------- B13 --------------------
;;; <@91,#125> compare-numeric-and-branch
0x37c26f560906 230 3bd0 cmpl rdx,rax ;; debug: position 5090
;; debug: position 5092
0x37c26f560908 232 0f8e16000000 jle 260 (0x37c26f560924)
;;; <@92,#129> -------------------- B14 (unreachable/replaced) --------------------
;;; <@96,#139> -------------------- B15 (unreachable/replaced) --------------------
;;; <@100,#126> -------------------- B16 (unreachable/replaced) --------------------
;;; <@104,#132> -------------------- B17 --------------------
;;; <@106,#133> constant-t
0x37c26f56090e 238 48b811446051de230000 REX.W movq rax,0x23de51604411 ;; debug: position 5104
;; object: 0x23de51604411 <String[0]: >
;;; <@108,#135> return
0x37c26f560918 248 488be5 REX.W movq rsp,rbp ;; debug: position 5098
0x37c26f56091b 251 5d pop rbp
0x37c26f56091c 252 c21800 ret 0x18
;;; <@110,#84> -------------------- B18 (unreachable/replaced) --------------------
;;; <@114,#90> -------------------- B19 --------------------
;;; <@117,#93> deoptimize
0x37c26f56091f 255 e81857daff call 0x37c26f30603c ;; debug: position 5054
;; debug: position 5057
;; debug: position 115712
;; debug: deopt reason 'Insufficient type feedback for LHS of binary operation'
;; soft deoptimization bailout 6
;;; <@118,#94> -------------------- B20 (unreachable/replaced) --------------------
;;; <@122,#96> -------------------- B21 (unreachable/replaced) --------------------
;;; <@134,#103> -------------------- B22 (unreachable/replaced) --------------------
;;; <@144,#110> -------------------- B23 (unreachable/replaced) --------------------
;;; <@148,#118> -------------------- B24 (unreachable/replaced) --------------------
;;; <@154,#107> -------------------- B25 (unreachable/replaced) --------------------
;;; <@158,#113> -------------------- B26 (unreachable/replaced) --------------------
;;; <@162,#136> -------------------- B27 (unreachable/replaced) --------------------
;;; <@166,#143> -------------------- B28 --------------------
;;; <@167,#143> gap
0x37c26f560924 260 488bcb REX.W movq rcx,rbx ;; debug: position 5115
;;; <@168,#240> tagged-to-i
0x37c26f560927 263 f6c101 testb rcx,0x1
0x37c26f56092a 266 0f8528010000 jnz 568 (0x37c26f560a58)
0x37c26f560930 272 48c1e920 REX.W shrq rcx, 32
;;; <@171,#146> compare-numeric-and-branch
0x37c26f560934 276 83f900 cmpl rcx,0x0 ;; debug: position 5117
0x37c26f560937 279 0f8c16000000 jl 307 (0x37c26f560953)
;;; <@172,#150> -------------------- B29 (unreachable/replaced) --------------------
;;; <@176,#180> -------------------- B30 --------------------
;;; <@179,#183> compare-numeric-and-branch
0x37c26f56093d 285 3bc8 cmpl rcx,rax ;; debug: position 5162
;; debug: position 5164
0x37c26f56093f 287 0f8e06000000 jle 299 (0x37c26f56094b)
;;; <@180,#187> -------------------- B31 (unreachable/replaced) --------------------
;;; <@184,#195> -------------------- B32 (unreachable/replaced) --------------------
;;; <@188,#184> -------------------- B33 (unreachable/replaced) --------------------
;;; <@192,#190> -------------------- B34 --------------------
;;; <@194,#232> smi-tag
0x37c26f560945 293 8bd8 movl rbx,rax ;; debug: position 5173
;; debug: position 5112
0x37c26f560947 295 48c1e320 REX.W shlq rbx, 32
;;; <@198,#202> -------------------- B35 --------------------
;;; <@200,#204> gap
0x37c26f56094b 299 488bcb REX.W movq rcx,rbx ;; debug: position 5112
;;; <@201,#204> goto
0x37c26f56094e 302 e905000000 jmp 312 (0x37c26f560958)
;;; <@202,#147> -------------------- B36 (unreachable/replaced) --------------------
;;; <@206,#153> -------------------- B37 --------------------
;;; <@209,#156> deoptimize
0x37c26f560953 307 e8ee56daff call 0x37c26f306046 ;; debug: position 5122
;; debug: position 5125
;; debug: position 150528
;; debug: deopt reason 'Insufficient type feedback for LHS of binary operation'
;; soft deoptimization bailout 7
;;; <@210,#157> -------------------- B38 (unreachable/replaced) --------------------
;;; <@214,#159> -------------------- B39 (unreachable/replaced) --------------------
;;; <@226,#166> -------------------- B40 (unreachable/replaced) --------------------
;;; <@236,#173> -------------------- B41 (unreachable/replaced) --------------------
;;; <@240,#199> -------------------- B42 (unreachable/replaced) --------------------
;;; <@244,#206> -------------------- B43 --------------------
;;; <@245,#206> gap
0x37c26f560958 312 488bd9 REX.W movq rbx,rcx ;; debug: position 5184
;;; <@246,#246> tagged-to-i
0x37c26f56095b 315 f6c301 testb rbx,0x1
0x37c26f56095e 318 0f8528010000 jnz 620 (0x37c26f560a8c)
0x37c26f560964 324 48c1eb20 REX.W shrq rbx, 32
;;; <@249,#209> compare-numeric-and-branch
0x37c26f560968 328 3bda cmpl rbx,rdx ;; debug: position 5186
0x37c26f56096a 330 0f8e1b000000 jle 363 (0x37c26f56098b)
;;; <@250,#213> -------------------- B44 (unreachable/replaced) --------------------
;;; <@254,#220> -------------------- B45 --------------------
;;; <@256,#244> smi-tag
0x37c26f560970 336 8bda movl rbx,rdx ;; debug: position 5224
;; debug: position 5212
0x37c26f560972 338 48c1e320 REX.W shlq rbx, 32
;;; <@258,#224> push-argument
0x37c26f560976 342 ff75e0 push [rbp-0x20]
;;; <@260,#224> push-argument
0x37c26f560979 345 53 push rbx
;;; <@262,#224> push-argument
0x37c26f56097a 346 51 push rcx
;;; <@263,#224> gap
0x37c26f56097b 347 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@264,#226> call-with-descriptor
0x37c26f56097f 351 e8fc3becff call 0x37c26f424580 ;; code: STUB, SubStringStub, minor: 0
;;; <@266,#227> lazy-bailout
;;; <@268,#229> return
0x37c26f560984 356 488be5 REX.W movq rsp,rbp ;; debug: position 5205
0x37c26f560987 359 5d pop rbp
0x37c26f560988 360 c21800 ret 0x18
;;; <@270,#210> -------------------- B46 (unreachable/replaced) --------------------
;;; <@274,#216> -------------------- B47 --------------------
;;; <@276,#217> constant-t
0x37c26f56098b 363 48b811446051de230000 REX.W movq rax,0x23de51604411 ;; debug: position 5199
;; object: 0x23de51604411 <String[0]: >
;;; <@278,#219> return
0x37c26f560995 373 488be5 REX.W movq rsp,rbp ;; debug: position 5193
0x37c26f560998 376 5d pop rbp
0x37c26f560999 377 c21800 ret 0x18
;;; <@280,#170> -------------------- B48 (unreachable/replaced) --------------------
;;; <@284,#176> -------------------- B49 (unreachable/replaced) --------------------
;;; <@290,#26> -------------------- B50 (unreachable/replaced) --------------------
;;; <@294,#18> -------------------- B51 (unreachable/replaced) --------------------
;;; <@298,#32> -------------------- B52 --------------------
;;; <@299,#32> gap
0x37c26f56099c 380 488b45e8 REX.W movq rax,[rbp-0x18] ;; debug: position 4889
;;; <@300,#33> load-context-slot
0x37c26f5609a0 384 488b7857 REX.W movq rdi,[rax+0x57]
;;; <@302,#36> push-argument
0x37c26f5609a4 388 49ba81436051de230000 REX.W movq r10,0x23de51604381 ;; object: 0x23de51604381 <undefined>
0x37c26f5609ae 398 4152 push r10
;;; <@304,#36> push-argument
0x37c26f5609b0 400 49ba0000000012000000 REX.W movq r10,0x1200000000
0x37c26f5609ba 410 4152 push r10
;;; <@306,#36> push-argument
0x37c26f5609bc 412 49ba09d3a2968c230000 REX.W movq r10,0x238c96a2d309 ;; object: 0x238c96a2d309 <String[22]: String.prototype.slice>
0x37c26f5609c6 422 4152 push r10
;;; <@308,#251> constant-s
0x37c26f5609c8 424 48ba0000000001000000 REX.W movq rdx,0x100000000
;;; <@310,#38> constant-t
0x37c26f5609d2 434 48bb99d3a2968c230000 REX.W movq rbx,0x238c96a2d399 ;; object: 0x238c96a2d399 <FixedArray[5]>
;;; <@311,#38> gap
0x37c26f5609dc 444 488bf0 REX.W movq rsi,rax
;;; <@312,#40> call-with-descriptor
0x37c26f5609df 447 e85c39fcff call 0x37c26f524340 ;; code: CALL_IC, GENERIC
;;; <@314,#41> lazy-bailout
;;; <@316,#42> push-argument
0x37c26f5609e4 452 50 push rax ;; debug: position 4883
;;; <@317,#42> gap
0x37c26f5609e5 453 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@318,#43> call-runtime
0x37c26f5609e9 457 0f1f840000000000 nop
0x37c26f5609f1 465 b801000000 movl rax,0x1
0x37c26f5609f6 470 498d9d58b13ffe REX.W leaq rbx,[r13-0x1c04ea8]
0x37c26f5609fd 477 e83e88eaff call 0x37c26f409240 ;; code: STUB, CEntryStub, minor: 4
;;; <@320,#44> lazy-bailout
0x37c26f560a02 482 6666660f1f840000000000 nop
0x37c26f560a0d 493 6690 nop
;;; <@80,#238> -------------------- Deferred tagged-to-i --------------------
0x37c26f560a0f 495 4d8b55f8 REX.W movq r10,[r13-0x8] ;; debug: position 5047
0x37c26f560a13 499 4c3952ff REX.W cmpq [rdx-0x1],r10
0x37c26f560a17 503 0f85ad000000 jnz 682 (0x37c26f560aca)
0x37c26f560a1d 509 c5fb104207 vmovsd xmm0,[rdx+0x7]
0x37c26f560a22 514 c5fb2cd0 vcvttsd2si rdx,xmm0
0x37c26f560a26 518 c5f157c9 vxorpd xmm1,xmm1,xmm1
0x37c26f560a2a 522 c5f32aca vcvtlsi2sd xmm1,xmm1,rdx
0x37c26f560a2e 526 c5f92ec1 vucomisd xmm0,xmm1
0x37c26f560a32 530 0f8597000000 jnz 687 (0x37c26f560acf)
0x37c26f560a38 536 0f8a96000000 jpe 692 (0x37c26f560ad4)
0x37c26f560a3e 542 85d2 testl rdx,rdx
0x37c26f560a40 544 0f85b7feffff jnz 221 (0x37c26f5608fd)
0x37c26f560a46 550 c5f950d0 vmovmskpd rdx,xmm0
0x37c26f560a4a 554 83e201 andl rdx,0x1
0x37c26f560a4d 557 0f8586000000 jnz 697 (0x37c26f560ad9)
0x37c26f560a53 563 e9a5feffff jmp 221 (0x37c26f5608fd)
;;; <@168,#240> -------------------- Deferred tagged-to-i --------------------
0x37c26f560a58 568 4d8b55f8 REX.W movq r10,[r13-0x8] ;; debug: position 5115
0x37c26f560a5c 572 4c3951ff REX.W cmpq [rcx-0x1],r10
0x37c26f560a60 576 0f8578000000 jnz 702 (0x37c26f560ade)
0x37c26f560a66 582 c5fb104107 vmovsd xmm0,[rcx+0x7]
0x37c26f560a6b 587 c5fb2cc8 vcvttsd2si rcx,xmm0
0x37c26f560a6f 591 c5f157c9 vxorpd xmm1,xmm1,xmm1
0x37c26f560a73 595 c5f32ac9 vcvtlsi2sd xmm1,xmm1,rcx
0x37c26f560a77 599 c5f92ec1 vucomisd xmm0,xmm1
0x37c26f560a7b 603 0f8562000000 jnz 707 (0x37c26f560ae3)
0x37c26f560a81 609 0f8a61000000 jpe 712 (0x37c26f560ae8)
0x37c26f560a87 615 e9a8feffff jmp 276 (0x37c26f560934)
;;; <@246,#246> -------------------- Deferred tagged-to-i --------------------
0x37c26f560a8c 620 4d8b55f8 REX.W movq r10,[r13-0x8] ;; debug: position 5184
0x37c26f560a90 624 4c3953ff REX.W cmpq [rbx-0x1],r10
0x37c26f560a94 628 0f8553000000 jnz 717 (0x37c26f560aed)
0x37c26f560a9a 634 c5fb104307 vmovsd xmm0,[rbx+0x7]
0x37c26f560a9f 639 c5fb2cd8 vcvttsd2si rbx,xmm0
0x37c26f560aa3 643 c5f157c9 vxorpd xmm1,xmm1,xmm1
0x37c26f560aa7 647 c5f32acb vcvtlsi2sd xmm1,xmm1,rbx
0x37c26f560aab 651 c5f92ec1 vucomisd xmm0,xmm1
0x37c26f560aaf 655 0f853d000000 jnz 722 (0x37c26f560af2)
0x37c26f560ab5 661 0f8a3c000000 jpe 727 (0x37c26f560af7)
0x37c26f560abb 667 e9a8feffff jmp 328 (0x37c26f560968)
;;; -------------------- Jump table --------------------
0x37c26f560ac0 672 e84f55baff call 0x37c26f106014 ;; debug: position 63488
;; debug: deopt reason 'Smi'
;; deoptimization bailout 2
0x37c26f560ac5 677 e85455baff call 0x37c26f10601e ;; debug: position 63488
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 3
0x37c26f560aca 682 e89f55baff call 0x37c26f10606e ;; debug: position 110592
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 11
0x37c26f560acf 687 e89a55baff call 0x37c26f10606e ;; debug: position 110592
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 11
0x37c26f560ad4 692 e89555baff call 0x37c26f10606e ;; debug: position 110592
;; debug: deopt reason 'NaN'
;; deoptimization bailout 11
0x37c26f560ad9 697 e89055baff call 0x37c26f10606e ;; debug: position 110592
;; debug: deopt reason 'minus zero'
;; deoptimization bailout 11
0x37c26f560ade 702 e89555baff call 0x37c26f106078 ;; debug: position 145408
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 12
0x37c26f560ae3 707 e89055baff call 0x37c26f106078 ;; debug: position 145408
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 12
0x37c26f560ae8 712 e88b55baff call 0x37c26f106078 ;; debug: position 145408
;; debug: deopt reason 'NaN'
;; deoptimization bailout 12
0x37c26f560aed 717 e89055baff call 0x37c26f106082 ;; debug: position 180736
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 13
0x37c26f560af2 722 e88b55baff call 0x37c26f106082 ;; debug: position 180736
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 13
0x37c26f560af7 727 e88655baff call 0x37c26f106082 ;; debug: position 180736
;; debug: deopt reason 'NaN'
;; deoptimization bailout 13
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 14)
index ast id argc pc
0 4 0 35
1 73 0 96
2 73 0 -1
3 73 0 -1
4 108 0 147
5 157 0 182
6 164 0 -1
7 245 0 -1
8 343 0 356
9 48 0 452
10 46 0 482
11 127 0 -1
12 163 0 -1
13 244 0 -1
Safepoints (size = 85)
0x37c26f560843 35 00010000 (sp -> fp) 0
0x37c26f560879 89 00010000 (sp -> fp) 1
0x37c26f5608ac 140 00110000 (sp -> fp) 4
0x37c26f5608d6 182 10110000 (sp -> fp) 5
0x37c26f560984 356 00010000 (sp -> fp) 8
0x37c26f5609e4 452 00010000 (sp -> fp) 9
0x37c26f560a02 482 00010000 (sp -> fp) 10
RelocInfo (size = 1573)
0x37c26f56082a position (4831)
0x37c26f56082a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f56082a comment (;;; <@8,#5> prologue)
0x37c26f56082a comment (;;; Prologue begin)
0x37c26f56082a comment (;;; Prologue end)
0x37c26f56082a comment (;;; <@12,#7> -------------------- B1 --------------------)
0x37c26f56082a comment (;;; <@14,#8> context)
0x37c26f56082e comment (;;; <@15,#8> gap)
0x37c26f560832 comment (;;; <@18,#12> -------------------- B2 --------------------)
0x37c26f560832 comment (;;; <@19,#12> gap)
0x37c26f560835 comment (;;; <@20,#14> stack-check)
0x37c26f56083f code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f560843 comment (;;; <@22,#14> lazy-bailout)
0x37c26f560843 comment (;;; <@24,#17> gap)
0x37c26f560843 position (4855)
0x37c26f560847 comment (;;; <@25,#17> cmp-object-eq-and-branch)
0x37c26f560849 embedded object (0x23de51604201 <null>)
0x37c26f56085a comment (;;; <@26,#21> -------------------- B3 (unreachable/replaced) --------------------)
0x37c26f56085a position (4870)
0x37c26f56085a comment (;;; <@30,#24> -------------------- B4 --------------------)
0x37c26f56085a comment (;;; <@33,#25> cmp-object-eq-and-branch)
0x37c26f56085c embedded object (0x23de51604381 <undefined>)
0x37c26f56086d comment (;;; <@34,#29> -------------------- B5 (unreachable/replaced) --------------------)
0x37c26f56086d position (4928)
0x37c26f56086d comment (;;; <@38,#46> -------------------- B6 --------------------)
0x37c26f56086d comment (;;; <@39,#46> gap)
0x37c26f560874 comment (;;; <@40,#48> call-with-descriptor)
0x37c26f560875 code target (STUB) (0x37c26f431720)
0x37c26f560879 comment (;;; <@41,#48> gap)
0x37c26f560880 comment (;;; <@42,#49> lazy-bailout)
0x37c26f560880 comment (;;; <@44,#52> check-non-smi)
0x37c26f560880 position (4955)
0x37c26f560889 comment (;;; <@46,#53> check-instance-type)
0x37c26f560898 comment (;;; <@48,#54> load-named-field)
0x37c26f56089b comment (;;; <@49,#54> gap)
0x37c26f5608a7 comment (;;; <@50,#57> call-with-descriptor)
0x37c26f5608a7 position (4972)
0x37c26f5608a8 code target (STUB) (0x37c26f51b760)
0x37c26f5608ac comment (;;; <@51,#57> gap)
0x37c26f5608b3 comment (;;; <@52,#58> lazy-bailout)
0x37c26f5608b3 comment (;;; <@54,#62> gap)
0x37c26f5608b3 position (5006)
0x37c26f5608b7 comment (;;; <@55,#62> cmp-object-eq-and-branch)
0x37c26f5608b9 embedded object (0x23de51604381 <undefined>)
0x37c26f5608ca comment (;;; <@56,#66> -------------------- B7 (unreachable/replaced) --------------------)
0x37c26f5608ca position (5025)
0x37c26f5608ca comment (;;; <@60,#69> -------------------- B8 --------------------)
0x37c26f5608ca comment (;;; <@61,#69> gap)
0x37c26f5608d1 comment (;;; <@62,#71> call-with-descriptor)
0x37c26f5608d2 code target (STUB) (0x37c26f51b760)
0x37c26f5608d6 comment (;;; <@64,#72> lazy-bailout)
0x37c26f5608d6 comment (;;; <@66,#75> gap)
0x37c26f5608d6 position (5000)
0x37c26f5608dd comment (;;; <@67,#75> goto)
0x37c26f5608e2 comment (;;; <@68,#63> -------------------- B9 (unreachable/replaced) --------------------)
0x37c26f5608e2 comment (;;; <@72,#76> -------------------- B10 --------------------)
0x37c26f5608e2 comment (;;; <@73,#76> gap)
0x37c26f5608e6 comment (;;; <@74,#235> smi-tag)
0x37c26f5608e6 position (5047)
0x37c26f5608ec position (5047)
0x37c26f5608ec comment (;;; <@78,#80> -------------------- B11 --------------------)
0x37c26f5608ec comment (;;; <@79,#80> gap)
0x37c26f5608f0 comment (;;; <@80,#238> tagged-to-i)
0x37c26f5608fd position (5049)
0x37c26f5608fd comment (;;; <@83,#83> compare-numeric-and-branch)
0x37c26f560906 comment (;;; <@84,#87> -------------------- B12 (unreachable/replaced) --------------------)
0x37c26f560906 position (5090)
0x37c26f560906 comment (;;; <@88,#122> -------------------- B13 --------------------)
0x37c26f560906 position (5092)
0x37c26f560906 comment (;;; <@91,#125> compare-numeric-and-branch)
0x37c26f56090e comment (;;; <@92,#129> -------------------- B14 (unreachable/replaced) --------------------)
0x37c26f56090e comment (;;; <@96,#139> -------------------- B15 (unreachable/replaced) --------------------)
0x37c26f56090e comment (;;; <@100,#126> -------------------- B16 (unreachable/replaced) --------------------)
0x37c26f56090e position (5104)
0x37c26f56090e comment (;;; <@104,#132> -------------------- B17 --------------------)
0x37c26f56090e comment (;;; <@106,#133> constant-t)
0x37c26f560910 embedded object (0x23de51604411 <String[0]: >)
0x37c26f560918 comment (;;; <@108,#135> return)
0x37c26f560918 position (5098)
0x37c26f56091f comment (;;; <@110,#84> -------------------- B18 (unreachable/replaced) --------------------)
0x37c26f56091f position (5054)
0x37c26f56091f comment (;;; <@114,#90> -------------------- B19 --------------------)
0x37c26f56091f position (5057)
0x37c26f56091f comment (;;; <@117,#93> deoptimize)
0x37c26f56091f position (115712)
0x37c26f56091f deopt reason (Insufficient type feedback for LHS of binary operation)
0x37c26f560920 runtime entry
0x37c26f560924 comment (;;; <@118,#94> -------------------- B20 (unreachable/replaced) --------------------)
0x37c26f560924 comment (;;; <@122,#96> -------------------- B21 (unreachable/replaced) --------------------)
0x37c26f560924 comment (;;; <@134,#103> -------------------- B22 (unreachable/replaced) --------------------)
0x37c26f560924 comment (;;; <@144,#110> -------------------- B23 (unreachable/replaced) --------------------)
0x37c26f560924 comment (;;; <@148,#118> -------------------- B24 (unreachable/replaced) --------------------)
0x37c26f560924 comment (;;; <@154,#107> -------------------- B25 (unreachable/replaced) --------------------)
0x37c26f560924 comment (;;; <@158,#113> -------------------- B26 (unreachable/replaced) --------------------)
0x37c26f560924 comment (;;; <@162,#136> -------------------- B27 (unreachable/replaced) --------------------)
0x37c26f560924 position (5115)
0x37c26f560924 comment (;;; <@166,#143> -------------------- B28 --------------------)
0x37c26f560924 comment (;;; <@167,#143> gap)
0x37c26f560927 comment (;;; <@168,#240> tagged-to-i)
0x37c26f560934 position (5117)
0x37c26f560934 comment (;;; <@171,#146> compare-numeric-and-branch)
0x37c26f56093d comment (;;; <@172,#150> -------------------- B29 (unreachable/replaced) --------------------)
0x37c26f56093d position (5162)
0x37c26f56093d comment (;;; <@176,#180> -------------------- B30 --------------------)
0x37c26f56093d position (5164)
0x37c26f56093d comment (;;; <@179,#183> compare-numeric-and-branch)
0x37c26f560945 comment (;;; <@180,#187> -------------------- B31 (unreachable/replaced) --------------------)
0x37c26f560945 comment (;;; <@184,#195> -------------------- B32 (unreachable/replaced) --------------------)
0x37c26f560945 comment (;;; <@188,#184> -------------------- B33 (unreachable/replaced) --------------------)
0x37c26f560945 position (5173)
0x37c26f560945 comment (;;; <@192,#190> -------------------- B34 --------------------)
0x37c26f560945 comment (;;; <@194,#232> smi-tag)
0x37c26f560945 position (5112)
0x37c26f56094b position (5112)
0x37c26f56094b comment (;;; <@198,#202> -------------------- B35 --------------------)
0x37c26f56094b comment (;;; <@200,#204> gap)
0x37c26f56094e comment (;;; <@201,#204> goto)
0x37c26f560953 comment (;;; <@202,#147> -------------------- B36 (unreachable/replaced) --------------------)
0x37c26f560953 position (5122)
0x37c26f560953 comment (;;; <@206,#153> -------------------- B37 --------------------)
0x37c26f560953 position (5125)
0x37c26f560953 comment (;;; <@209,#156> deoptimize)
0x37c26f560953 position (150528)
0x37c26f560953 deopt reason (Insufficient type feedback for LHS of binary operation)
0x37c26f560954 runtime entry
0x37c26f560958 comment (;;; <@210,#157> -------------------- B38 (unreachable/replaced) --------------------)
0x37c26f560958 comment (;;; <@214,#159> -------------------- B39 (unreachable/replaced) --------------------)
0x37c26f560958 comment (;;; <@226,#166> -------------------- B40 (unreachable/replaced) --------------------)
0x37c26f560958 comment (;;; <@236,#173> -------------------- B41 (unreachable/replaced) --------------------)
0x37c26f560958 comment (;;; <@240,#199> -------------------- B42 (unreachable/replaced) --------------------)
0x37c26f560958 position (5184)
0x37c26f560958 comment (;;; <@244,#206> -------------------- B43 --------------------)
0x37c26f560958 comment (;;; <@245,#206> gap)
0x37c26f56095b comment (;;; <@246,#246> tagged-to-i)
0x37c26f560968 position (5186)
0x37c26f560968 comment (;;; <@249,#209> compare-numeric-and-branch)
0x37c26f560970 comment (;;; <@250,#213> -------------------- B44 (unreachable/replaced) --------------------)
0x37c26f560970 position (5224)
0x37c26f560970 comment (;;; <@254,#220> -------------------- B45 --------------------)
0x37c26f560970 comment (;;; <@256,#244> smi-tag)
0x37c26f560970 position (5212)
0x37c26f560976 comment (;;; <@258,#224> push-argument)
0x37c26f560979 comment (;;; <@260,#224> push-argument)
0x37c26f56097a comment (;;; <@262,#224> push-argument)
0x37c26f56097b comment (;;; <@263,#224> gap)
0x37c26f56097f comment (;;; <@264,#226> call-with-descriptor)
0x37c26f560980 code target (STUB) (0x37c26f424580)
0x37c26f560984 comment (;;; <@266,#227> lazy-bailout)
0x37c26f560984 comment (;;; <@268,#229> return)
0x37c26f560984 position (5205)
0x37c26f56098b comment (;;; <@270,#210> -------------------- B46 (unreachable/replaced) --------------------)
0x37c26f56098b position (5199)
0x37c26f56098b comment (;;; <@274,#216> -------------------- B47 --------------------)
0x37c26f56098b comment (;;; <@276,#217> constant-t)
0x37c26f56098d embedded object (0x23de51604411 <String[0]: >)
0x37c26f560995 comment (;;; <@278,#219> return)
0x37c26f560995 position (5193)
0x37c26f56099c comment (;;; <@280,#170> -------------------- B48 (unreachable/replaced) --------------------)
0x37c26f56099c comment (;;; <@284,#176> -------------------- B49 (unreachable/replaced) --------------------)
0x37c26f56099c comment (;;; <@290,#26> -------------------- B50 (unreachable/replaced) --------------------)
0x37c26f56099c comment (;;; <@294,#18> -------------------- B51 (unreachable/replaced) --------------------)
0x37c26f56099c position (4889)
0x37c26f56099c comment (;;; <@298,#32> -------------------- B52 --------------------)
0x37c26f56099c comment (;;; <@299,#32> gap)
0x37c26f5609a0 comment (;;; <@300,#33> load-context-slot)
0x37c26f5609a4 comment (;;; <@302,#36> push-argument)
0x37c26f5609a6 embedded object (0x23de51604381 <undefined>)
0x37c26f5609b0 comment (;;; <@304,#36> push-argument)
0x37c26f5609bc comment (;;; <@306,#36> push-argument)
0x37c26f5609be embedded object (0x238c96a2d309 <String[22]: String.prototype.slice>)
0x37c26f5609c8 comment (;;; <@308,#251> constant-s)
0x37c26f5609d2 comment (;;; <@310,#38> constant-t)
0x37c26f5609d4 embedded object (0x238c96a2d399 <FixedArray[5]>)
0x37c26f5609dc comment (;;; <@311,#38> gap)
0x37c26f5609df comment (;;; <@312,#40> call-with-descriptor)
0x37c26f5609e0 code target (CALL_IC) (0x37c26f524340)
0x37c26f5609e4 comment (;;; <@314,#41> lazy-bailout)
0x37c26f5609e4 comment (;;; <@316,#42> push-argument)
0x37c26f5609e4 position (4883)
0x37c26f5609e5 comment (;;; <@317,#42> gap)
0x37c26f5609e9 comment (;;; <@318,#43> call-runtime)
0x37c26f5609fe code target (STUB) (0x37c26f409240)
0x37c26f560a02 comment (;;; <@320,#44> lazy-bailout)
0x37c26f560a0f position (5047)
0x37c26f560a0f comment (;;; <@80,#238> -------------------- Deferred tagged-to-i --------------------)
0x37c26f560a58 position (5115)
0x37c26f560a58 comment (;;; <@168,#240> -------------------- Deferred tagged-to-i --------------------)
0x37c26f560a8c position (5184)
0x37c26f560a8c comment (;;; <@246,#246> -------------------- Deferred tagged-to-i --------------------)
0x37c26f560ac0 comment (;;; -------------------- Jump table --------------------)
0x37c26f560ac0 position (63488)
0x37c26f560ac0 deopt reason (Smi)
0x37c26f560ac1 runtime entry (deoptimization bailout 2)
0x37c26f560ac5 position (63488)
0x37c26f560ac5 deopt reason (wrong instance type)
0x37c26f560ac6 runtime entry (deoptimization bailout 3)
0x37c26f560aca position (110592)
0x37c26f560aca deopt reason (not a heap number)
0x37c26f560acb runtime entry (deoptimization bailout 11)
0x37c26f560acf position (110592)
0x37c26f560acf deopt reason (lost precision)
0x37c26f560ad0 runtime entry (deoptimization bailout 11)
0x37c26f560ad4 position (110592)
0x37c26f560ad4 deopt reason (NaN)
0x37c26f560ad5 runtime entry (deoptimization bailout 11)
0x37c26f560ad9 position (110592)
0x37c26f560ad9 deopt reason (minus zero)
0x37c26f560ada runtime entry (deoptimization bailout 11)
0x37c26f560ade position (145408)
0x37c26f560ade deopt reason (not a heap number)
0x37c26f560adf runtime entry (deoptimization bailout 12)
0x37c26f560ae3 position (145408)
0x37c26f560ae3 deopt reason (lost precision)
0x37c26f560ae4 runtime entry (deoptimization bailout 12)
0x37c26f560ae8 position (145408)
0x37c26f560ae8 deopt reason (NaN)
0x37c26f560ae9 runtime entry (deoptimization bailout 12)
0x37c26f560aed position (180736)
0x37c26f560aed deopt reason (not a heap number)
0x37c26f560aee runtime entry (deoptimization bailout 13)
0x37c26f560af2 position (180736)
0x37c26f560af2 deopt reason (lost precision)
0x37c26f560af3 runtime entry (deoptimization bailout 13)
0x37c26f560af7 position (180736)
0x37c26f560af7 deopt reason (NaN)
0x37c26f560af8 runtime entry (deoptimization bailout 13)
0x37c26f560afc comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (nullCheck) id{2,0} ---
(path, callback) {
if (('' + path).indexOf('\x5cu0000') !== -1) {
var er = new Error('Path must be a string without null bytes');
er.code = 'ENOENT';
if (typeof callback !== 'function')
throw er;
process.nextTick(callback, er);
return false;
}
return true;
}
--- END ---
--- Raw source ---
(path, callback) {
if (('' + path).indexOf('\x5cu0000') !== -1) {
var er = new Error('Path must be a string without null bytes');
er.code = 'ENOENT';
if (typeof callback !== 'function')
throw er;
process.nextTick(callback, er);
return false;
}
return true;
}
--- Optimized code ---
optimization_id = 2
source_position = 3908
kind = OPTIMIZED_FUNCTION
name = nullCheck
stack_slots = 5
compiler = crankshaft
Instructions (size = 341)
0x37c26f562300 0 55 push rbp
0x37c26f562301 1 4889e5 REX.W movq rbp,rsp
0x37c26f562304 4 56 push rsi
0x37c26f562305 5 57 push rdi
0x37c26f562306 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@8,#5> prologue
;;; Prologue begin
;;; Prologue end
;;; <@12,#7> -------------------- B1 --------------------
;;; <@14,#8> context
0x37c26f56230a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 3908
;;; <@15,#8> gap
0x37c26f56230e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@18,#12> -------------------- B2 --------------------
;;; <@19,#12> gap
0x37c26f562312 18 488bf0 REX.W movq rsi,rax
;;; <@20,#14> stack-check
0x37c26f562315 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f56231c 28 7305 jnc 35 (0x37c26f562323)
0x37c26f56231e 30 e8bda8edff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@22,#14> lazy-bailout
;;; <@23,#14> gap
0x37c26f562323 35 488b4518 REX.W movq rax,[rbp+0x18]
;;; <@24,#17> check-non-smi
0x37c26f562327 39 a801 test al,0x1 ;; debug: position 3937
0x37c26f562329 41 0f84e1000000 jz 272 (0x37c26f562410)
;;; <@26,#18> check-instance-type
0x37c26f56232f 47 4c8b50ff REX.W movq r10,[rax-0x1]
0x37c26f562333 51 41f6420b80 testb [r10+0xb],0x80
0x37c26f562338 56 0f85d7000000 jnz 277 (0x37c26f562415)
;;; <@28,#21> check-maps
;;; <@30,#25> push-argument
0x37c26f56233e 62 50 push rax ;; debug: position 3945
;;; <@32,#25> push-argument
0x37c26f56233f 63 49baf938a3968c230000 REX.W movq r10,0x238c96a338f9 ;; object: 0x238c96a338f9 <String[1]\: \x00>
0x37c26f562349 73 4152 push r10
;;; <@34,#24> constant-t
0x37c26f56234b 75 48bfc96f6b51de230000 REX.W movq rdi,0x23de516b6fc9 ;; object: 0x23de516b6fc9 <JS Function indexOf (SharedFunctionInfo 0x23de51657411)>
;;; <@35,#24> gap
0x37c26f562355 85 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@36,#26> invoke-function
0x37c26f562359 89 488b7727 REX.W movq rsi,[rdi+0x27]
0x37c26f56235d 93 498b55a8 REX.W movq rdx,[r13-0x58]
0x37c26f562361 97 b801000000 movl rax,0x1
0x37c26f562366 102 bb02000000 movl rbx,0x2
0x37c26f56236b 107 e85074eaff call ArgumentsAdaptorTrampoline (0x37c26f4097c0) ;; code: BUILTIN
;;; <@38,#27> lazy-bailout
;;; <@39,#27> gap
0x37c26f562370 112 488bd8 REX.W movq rbx,rax
;;; <@40,#91> tagged-to-i
0x37c26f562373 115 f6c301 testb rbx,0x1
0x37c26f562376 118 0f8560000000 jnz 220 (0x37c26f5623dc)
0x37c26f56237c 124 48c1eb20 REX.W shrq rbx, 32
;;; <@43,#29> compare-numeric-and-branch
0x37c26f562380 128 83fbff cmpl rbx,0xff ;; debug: position 3963
0x37c26f562383 131 0f8442000000 jz 203 (0x37c26f5623cb)
;;; <@44,#33> -------------------- B3 (unreachable/replaced) --------------------
;;; <@48,#36> -------------------- B4 --------------------
;;; <@50,#49> push-argument
0x37c26f562389 137 49bac1736b51de230000 REX.W movq r10,0x23de516b73c1 ;; debug: position 3990
;; debug: position 3986
;; object: 0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>
0x37c26f562393 147 4152 push r10
;;; <@52,#49> push-argument
0x37c26f562395 149 49ba1939a3968c230000 REX.W movq r10,0x238c96a33919 ;; object: 0x238c96a33919 <String[40]: Path must be a string without null bytes>
0x37c26f56239f 159 4152 push r10
;;; <@54,#37> constant-t
0x37c26f5623a1 161 48bac1736b51de230000 REX.W movq rdx,0x23de516b73c1 ;; debug: position 3990
;; object: 0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>
;;; <@56,#37> constant-t
0x37c26f5623ab 171 48bac1736b51de230000 REX.W movq rdx,0x23de516b73c1 ;; object: 0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>
;;; <@58,#47> constant-i
0x37c26f5623b5 181 b801000000 movl rax,0x1 ;; debug: position 3986
;;; <@59,#47> gap
0x37c26f5623ba 186 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f5623be 190 488bfa REX.W movq rdi,rdx
;;; <@60,#50> call-with-descriptor
0x37c26f5623c1 193 e81a6ceaff call Construct (0x37c26f408fe0) ;; code: BUILTIN
;;; <@62,#51> lazy-bailout
;;; <@65,#55> deoptimize
0x37c26f5623c6 198 e8673cdaff call 0x37c26f306032 ;; debug: position 4053
;; debug: position 74240
;; debug: deopt reason 'Insufficient type feedback for generic named access'
;; soft deoptimization bailout 5
;;; <@66,#56> -------------------- B5 (unreachable/replaced) --------------------
;;; <@76,#63> -------------------- B6 (unreachable/replaced) --------------------
;;; <@80,#66> -------------------- B7 (unreachable/replaced) --------------------
;;; <@86,#60> -------------------- B8 (unreachable/replaced) --------------------
;;; <@90,#72> -------------------- B9 (unreachable/replaced) --------------------
;;; <@114,#30> -------------------- B10 (unreachable/replaced) --------------------
;;; <@118,#85> -------------------- B11 --------------------
;;; <@120,#86> constant-t
0x37c26f5623cb 203 48b8c1436051de230000 REX.W movq rax,0x23de516043c1 ;; debug: position 4188
;; object: 0x23de516043c1 <true>
;;; <@122,#88> return
0x37c26f5623d5 213 488be5 REX.W movq rsp,rbp ;; debug: position 4181
0x37c26f5623d8 216 5d pop rbp
0x37c26f5623d9 217 c21800 ret 0x18
;;; <@40,#91> -------------------- Deferred tagged-to-i --------------------
0x37c26f5623dc 220 4d8b55f8 REX.W movq r10,[r13-0x8] ;; debug: position 3945
0x37c26f5623e0 224 4c3953ff REX.W cmpq [rbx-0x1],r10
0x37c26f5623e4 228 0f8530000000 jnz 282 (0x37c26f56241a)
0x37c26f5623ea 234 c5fb104307 vmovsd xmm0,[rbx+0x7]
0x37c26f5623ef 239 c5fb2cd8 vcvttsd2si rbx,xmm0
0x37c26f5623f3 243 c5f157c9 vxorpd xmm1,xmm1,xmm1
0x37c26f5623f7 247 c5f32acb vcvtlsi2sd xmm1,xmm1,rbx
0x37c26f5623fb 251 c5f92ec1 vucomisd xmm0,xmm1
0x37c26f5623ff 255 0f851a000000 jnz 287 (0x37c26f56241f)
0x37c26f562405 261 0f8a19000000 jpe 292 (0x37c26f562424)
0x37c26f56240b 267 e970ffffff jmp 128 (0x37c26f562380)
;;; -------------------- Jump table --------------------
0x37c26f562410 272 e8f53bbaff call 0x37c26f10600a ;; debug: position 14848
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x37c26f562415 277 e8fa3bbaff call 0x37c26f106014 ;; debug: position 14848
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 2
0x37c26f56241a 282 e81d3cbaff call 0x37c26f10603c ;; debug: position 18944
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 6
0x37c26f56241f 287 e8183cbaff call 0x37c26f10603c ;; debug: position 18944
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 6
0x37c26f562424 292 e8133cbaff call 0x37c26f10603c ;; debug: position 18944
;; debug: deopt reason 'NaN'
;; deoptimization bailout 6
0x37c26f562429 297 0f1f00 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 7)
index ast id argc pc
0 4 0 35
1 4 0 -1
2 4 0 -1
3 18 0 112
4 59 0 198
5 59 0 -1
6 18 0 -1
Safepoints (size = 41)
0x37c26f562323 35 10000 (sp -> fp) 0
0x37c26f562370 112 10000 (sp -> fp) 3
0x37c26f5623c6 198 10000 (sp -> fp) 4
RelocInfo (size = 568)
0x37c26f56230a position (3908)
0x37c26f56230a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f56230a comment (;;; <@8,#5> prologue)
0x37c26f56230a comment (;;; Prologue begin)
0x37c26f56230a comment (;;; Prologue end)
0x37c26f56230a comment (;;; <@12,#7> -------------------- B1 --------------------)
0x37c26f56230a comment (;;; <@14,#8> context)
0x37c26f56230e comment (;;; <@15,#8> gap)
0x37c26f562312 comment (;;; <@18,#12> -------------------- B2 --------------------)
0x37c26f562312 comment (;;; <@19,#12> gap)
0x37c26f562315 comment (;;; <@20,#14> stack-check)
0x37c26f56231f code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f562323 comment (;;; <@22,#14> lazy-bailout)
0x37c26f562323 comment (;;; <@23,#14> gap)
0x37c26f562327 comment (;;; <@24,#17> check-non-smi)
0x37c26f562327 position (3937)
0x37c26f56232f comment (;;; <@26,#18> check-instance-type)
0x37c26f56233e comment (;;; <@28,#21> check-maps)
0x37c26f56233e position (3945)
0x37c26f56233e comment (;;; <@30,#25> push-argument)
0x37c26f56233f comment (;;; <@32,#25> push-argument)
0x37c26f562341 embedded object (0x238c96a338f9 <String[1]\: \x00>)
0x37c26f56234b comment (;;; <@34,#24> constant-t)
0x37c26f56234d embedded object (0x23de516b6fc9 <JS Function indexOf (SharedFunctionInfo 0x23de51657411)>)
0x37c26f562355 comment (;;; <@35,#24> gap)
0x37c26f562359 comment (;;; <@36,#26> invoke-function)
0x37c26f56236c code target (BUILTIN) (0x37c26f4097c0)
0x37c26f562370 comment (;;; <@38,#27> lazy-bailout)
0x37c26f562370 comment (;;; <@39,#27> gap)
0x37c26f562373 comment (;;; <@40,#91> tagged-to-i)
0x37c26f562380 position (3963)
0x37c26f562380 comment (;;; <@43,#29> compare-numeric-and-branch)
0x37c26f562389 comment (;;; <@44,#33> -------------------- B3 (unreachable/replaced) --------------------)
0x37c26f562389 position (3990)
0x37c26f562389 comment (;;; <@48,#36> -------------------- B4 --------------------)
0x37c26f562389 comment (;;; <@50,#49> push-argument)
0x37c26f562389 position (3986)
0x37c26f56238b embedded object (0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>)
0x37c26f562395 comment (;;; <@52,#49> push-argument)
0x37c26f562397 embedded object (0x238c96a33919 <String[40]: Path must be a string without null bytes>)
0x37c26f5623a1 comment (;;; <@54,#37> constant-t)
0x37c26f5623a1 position (3990)
0x37c26f5623a3 embedded object (0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>)
0x37c26f5623ab comment (;;; <@56,#37> constant-t)
0x37c26f5623ad embedded object (0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>)
0x37c26f5623b5 comment (;;; <@58,#47> constant-i)
0x37c26f5623b5 position (3986)
0x37c26f5623ba comment (;;; <@59,#47> gap)
0x37c26f5623c1 comment (;;; <@60,#50> call-with-descriptor)
0x37c26f5623c2 code target (BUILTIN) (0x37c26f408fe0)
0x37c26f5623c6 comment (;;; <@62,#51> lazy-bailout)
0x37c26f5623c6 position (4053)
0x37c26f5623c6 comment (;;; <@65,#55> deoptimize)
0x37c26f5623c6 position (74240)
0x37c26f5623c6 deopt reason (Insufficient type feedback for generic named access)
0x37c26f5623c7 runtime entry
0x37c26f5623cb comment (;;; <@66,#56> -------------------- B5 (unreachable/replaced) --------------------)
0x37c26f5623cb comment (;;; <@76,#63> -------------------- B6 (unreachable/replaced) --------------------)
0x37c26f5623cb comment (;;; <@80,#66> -------------------- B7 (unreachable/replaced) --------------------)
0x37c26f5623cb comment (;;; <@86,#60> -------------------- B8 (unreachable/replaced) --------------------)
0x37c26f5623cb comment (;;; <@90,#72> -------------------- B9 (unreachable/replaced) --------------------)
0x37c26f5623cb comment (;;; <@114,#30> -------------------- B10 (unreachable/replaced) --------------------)
0x37c26f5623cb position (4188)
0x37c26f5623cb comment (;;; <@118,#85> -------------------- B11 --------------------)
0x37c26f5623cb comment (;;; <@120,#86> constant-t)
0x37c26f5623cd embedded object (0x23de516043c1 <true>)
0x37c26f5623d5 comment (;;; <@122,#88> return)
0x37c26f5623d5 position (4181)
0x37c26f5623dc position (3945)
0x37c26f5623dc comment (;;; <@40,#91> -------------------- Deferred tagged-to-i --------------------)
0x37c26f562410 comment (;;; -------------------- Jump table --------------------)
0x37c26f562410 position (14848)
0x37c26f562410 deopt reason (Smi)
0x37c26f562411 runtime entry (deoptimization bailout 1)
0x37c26f562415 position (14848)
0x37c26f562415 deopt reason (wrong instance type)
0x37c26f562416 runtime entry (deoptimization bailout 2)
0x37c26f56241a position (18944)
0x37c26f56241a deopt reason (not a heap number)
0x37c26f56241b runtime entry (deoptimization bailout 6)
0x37c26f56241f position (18944)
0x37c26f56241f deopt reason (lost precision)
0x37c26f562420 runtime entry (deoptimization bailout 6)
0x37c26f562424 position (18944)
0x37c26f562424 deopt reason (NaN)
0x37c26f562425 runtime entry (deoptimization bailout 6)
0x37c26f56242c comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (fs.Stats._checkModeProperty) id{3,0} ---
(property) {
return ((this.mode & constants.S_IFMT) === property);
}
--- END ---
--- Raw source ---
(property) {
return ((this.mode & constants.S_IFMT) === property);
};
--- Optimized code ---
optimization_id = 3
source_position = 5018
kind = OPTIMIZED_FUNCTION
name = fs.Stats._checkModeProperty
stack_slots = 5
compiler = crankshaft
Instructions (size = 287)
0x37c26f562c60 0 55 push rbp
0x37c26f562c61 1 4889e5 REX.W movq rbp,rsp
0x37c26f562c64 4 56 push rsi
0x37c26f562c65 5 57 push rdi
0x37c26f562c66 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@6,#4> prologue
;;; Prologue begin
;;; Prologue end
;;; <@10,#6> -------------------- B1 --------------------
;;; <@12,#7> context
0x37c26f562c6a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 5018
;;; <@13,#7> gap
0x37c26f562c6e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@16,#11> -------------------- B2 --------------------
;;; <@17,#11> gap
0x37c26f562c72 18 488bf0 REX.W movq rsi,rax
;;; <@18,#13> stack-check
0x37c26f562c75 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f562c7c 28 7305 jnc 35 (0x37c26f562c83)
0x37c26f562c7e 30 e85d9fedff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@20,#13> lazy-bailout
;;; <@21,#13> gap
0x37c26f562c83 35 488b4518 REX.W movq rax,[rbp+0x18]
;;; <@22,#15> check-non-smi
0x37c26f562c87 39 a801 test al,0x1 ;; debug: position 5046
0x37c26f562c89 41 0f84b5000000 jz 228 (0x37c26f562d44)
;;; <@24,#16> check-maps
0x37c26f562c8f 47 49ba79b1e1eadf370000 REX.W movq r10,0x37dfeae1b179 ;; object: 0x37dfeae1b179 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f562c99 57 4c3950ff REX.W cmpq [rax-0x1],r10
0x37c26f562c9d 61 0f85a6000000 jnz 233 (0x37c26f562d49)
;;; <@26,#17> load-named-field
0x37c26f562ca3 67 8b5823 movl rbx,[rax+0x23]
;;; <@27,#17> gap
0x37c26f562ca6 70 488b55e8 REX.W movq rdx,[rbp-0x18]
;;; <@28,#18> load-context-slot
0x37c26f562caa 74 488b4a2f REX.W movq rcx,[rdx+0x2f] ;; debug: position 5054
0x37c26f562cae 78 493b4dd8 REX.W cmpq rcx,[r13-0x28]
0x37c26f562cb2 82 0f8496000000 jz 238 (0x37c26f562d4e)
;;; <@30,#19> check-non-smi
0x37c26f562cb8 88 f6c101 testb rcx,0x1 ;; debug: position 5063
0x37c26f562cbb 91 0f8492000000 jz 243 (0x37c26f562d53)
;;; <@32,#20> check-maps
0x37c26f562cc1 97 49bac90be1eadf370000 REX.W movq r10,0x37dfeae10bc9 ;; object: 0x37dfeae10bc9 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f562ccb 107 4c3951ff REX.W cmpq [rcx-0x1],r10
0x37c26f562ccf 111 0f8583000000 jnz 248 (0x37c26f562d58)
;;; <@34,#21> load-named-field
0x37c26f562cd5 117 8b4933 movl rcx,[rcx+0x33]
;;; <@36,#22> bit-i
0x37c26f562cd8 120 23cb andl rcx,rbx ;; debug: position 5052
;;; <@37,#22> gap
0x37c26f562cda 122 488b5d10 REX.W movq rbx,[rbp+0x10]
;;; <@38,#38> tagged-to-i
0x37c26f562cde 126 f6c301 testb rbx,0x1 ;; debug: position 5076
0x37c26f562ce1 129 0f852c000000 jnz 179 (0x37c26f562d13)
0x37c26f562ce7 135 48c1eb20 REX.W shrq rbx, 32
;;; <@41,#24> compare-numeric-and-branch
0x37c26f562ceb 139 3bcb cmpl rcx,rbx ;; debug: position 5072
0x37c26f562ced 141 0f840f000000 jz 162 (0x37c26f562d02)
;;; <@42,#30> -------------------- B3 --------------------
;;; <@44,#32> gap
0x37c26f562cf3 147 48b871426051de230000 REX.W movq rax,0x23de51604271 ;; object: 0x23de51604271 <false>
;;; <@45,#32> goto
0x37c26f562cfd 157 e90a000000 jmp 172 (0x37c26f562d0c)
;;; <@46,#27> -------------------- B4 --------------------
;;; <@48,#29> gap
0x37c26f562d02 162 48b8c1436051de230000 REX.W movq rax,0x23de516043c1 ;; object: 0x23de516043c1 <true>
;;; <@50,#34> -------------------- B5 --------------------
;;; <@52,#36> return
0x37c26f562d0c 172 488be5 REX.W movq rsp,rbp ;; debug: position 5033
0x37c26f562d0f 175 5d pop rbp
0x37c26f562d10 176 c21000 ret 0x10
;;; <@38,#38> -------------------- Deferred tagged-to-i --------------------
0x37c26f562d13 179 4d8b55f8 REX.W movq r10,[r13-0x8] ;; debug: position 5076
0x37c26f562d17 183 4c3953ff REX.W cmpq [rbx-0x1],r10
0x37c26f562d1b 187 0f853c000000 jnz 253 (0x37c26f562d5d)
0x37c26f562d21 193 c5fb104307 vmovsd xmm0,[rbx+0x7]
0x37c26f562d26 198 c5fb2cd8 vcvttsd2si rbx,xmm0
0x37c26f562d2a 202 c5f157c9 vxorpd xmm1,xmm1,xmm1
0x37c26f562d2e 206 c5f32acb vcvtlsi2sd xmm1,xmm1,rbx
0x37c26f562d32 210 c5f92ec1 vucomisd xmm0,xmm1
0x37c26f562d36 214 0f8526000000 jnz 258 (0x37c26f562d62)
0x37c26f562d3c 220 0f8a25000000 jpe 263 (0x37c26f562d67)
0x37c26f562d42 226 eba7 jmp 139 (0x37c26f562ceb)
;;; -------------------- Jump table --------------------
0x37c26f562d44 228 e8c132baff call 0x37c26f10600a ;; debug: position 14336
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x37c26f562d49 233 e8c632baff call 0x37c26f106014 ;; debug: position 14336
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 2
0x37c26f562d4e 238 e8cb32baff call 0x37c26f10601e ;; debug: position 18432
;; debug: deopt reason 'hole'
;; deoptimization bailout 3
0x37c26f562d53 243 e8d032baff call 0x37c26f106028 ;; debug: position 23040
;; debug: deopt reason 'Smi'
;; deoptimization bailout 4
0x37c26f562d58 248 e8d532baff call 0x37c26f106032 ;; debug: position 23040
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 5
0x37c26f562d5d 253 e8da32baff call 0x37c26f10603c ;; debug: position 29696
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 6
0x37c26f562d62 258 e8d532baff call 0x37c26f10603c ;; debug: position 29696
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 6
0x37c26f562d67 263 e8d032baff call 0x37c26f10603c ;; debug: position 29696
;; debug: deopt reason 'NaN'
;; deoptimization bailout 6
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 7)
index ast id argc pc
0 4 0 35
1 4 0 -1
2 4 0 -1
3 4 0 -1
4 4 0 -1
5 4 0 -1
6 8 0 -1
Safepoints (size = 19)
0x37c26f562c83 35 10000 (sp -> fp) 0
RelocInfo (size = 439)
0x37c26f562c6a position (5018)
0x37c26f562c6a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f562c6a comment (;;; <@6,#4> prologue)
0x37c26f562c6a comment (;;; Prologue begin)
0x37c26f562c6a comment (;;; Prologue end)
0x37c26f562c6a comment (;;; <@10,#6> -------------------- B1 --------------------)
0x37c26f562c6a comment (;;; <@12,#7> context)
0x37c26f562c6e comment (;;; <@13,#7> gap)
0x37c26f562c72 comment (;;; <@16,#11> -------------------- B2 --------------------)
0x37c26f562c72 comment (;;; <@17,#11> gap)
0x37c26f562c75 comment (;;; <@18,#13> stack-check)
0x37c26f562c7f code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f562c83 comment (;;; <@20,#13> lazy-bailout)
0x37c26f562c83 comment (;;; <@21,#13> gap)
0x37c26f562c87 comment (;;; <@22,#15> check-non-smi)
0x37c26f562c87 position (5046)
0x37c26f562c8f comment (;;; <@24,#16> check-maps)
0x37c26f562c91 embedded object (0x37dfeae1b179 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f562ca3 comment (;;; <@26,#17> load-named-field)
0x37c26f562ca6 comment (;;; <@27,#17> gap)
0x37c26f562caa comment (;;; <@28,#18> load-context-slot)
0x37c26f562caa position (5054)
0x37c26f562cb8 comment (;;; <@30,#19> check-non-smi)
0x37c26f562cb8 position (5063)
0x37c26f562cc1 comment (;;; <@32,#20> check-maps)
0x37c26f562cc3 embedded object (0x37dfeae10bc9 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f562cd5 comment (;;; <@34,#21> load-named-field)
0x37c26f562cd8 comment (;;; <@36,#22> bit-i)
0x37c26f562cd8 position (5052)
0x37c26f562cda comment (;;; <@37,#22> gap)
0x37c26f562cde comment (;;; <@38,#38> tagged-to-i)
0x37c26f562cde position (5076)
0x37c26f562ceb position (5072)
0x37c26f562ceb comment (;;; <@41,#24> compare-numeric-and-branch)
0x37c26f562cf3 comment (;;; <@42,#30> -------------------- B3 --------------------)
0x37c26f562cf3 comment (;;; <@44,#32> gap)
0x37c26f562cf5 embedded object (0x23de51604271 <false>)
0x37c26f562cfd comment (;;; <@45,#32> goto)
0x37c26f562d02 comment (;;; <@46,#27> -------------------- B4 --------------------)
0x37c26f562d02 comment (;;; <@48,#29> gap)
0x37c26f562d04 embedded object (0x23de516043c1 <true>)
0x37c26f562d0c position (5033)
0x37c26f562d0c comment (;;; <@50,#34> -------------------- B5 --------------------)
0x37c26f562d0c comment (;;; <@52,#36> return)
0x37c26f562d13 position (5076)
0x37c26f562d13 comment (;;; <@38,#38> -------------------- Deferred tagged-to-i --------------------)
0x37c26f562d44 comment (;;; -------------------- Jump table --------------------)
0x37c26f562d44 position (14336)
0x37c26f562d44 deopt reason (Smi)
0x37c26f562d45 runtime entry (deoptimization bailout 1)
0x37c26f562d49 position (14336)
0x37c26f562d49 deopt reason (wrong map)
0x37c26f562d4a runtime entry (deoptimization bailout 2)
0x37c26f562d4e position (18432)
0x37c26f562d4e deopt reason (hole)
0x37c26f562d4f runtime entry (deoptimization bailout 3)
0x37c26f562d53 position (23040)
0x37c26f562d53 deopt reason (Smi)
0x37c26f562d54 runtime entry (deoptimization bailout 4)
0x37c26f562d58 position (23040)
0x37c26f562d58 deopt reason (wrong map)
0x37c26f562d59 runtime entry (deoptimization bailout 5)
0x37c26f562d5d position (29696)
0x37c26f562d5d deopt reason (not a heap number)
0x37c26f562d5e runtime entry (deoptimization bailout 6)
0x37c26f562d62 position (29696)
0x37c26f562d62 deopt reason (lost precision)
0x37c26f562d63 runtime entry (deoptimization bailout 6)
0x37c26f562d67 position (29696)
0x37c26f562d67 deopt reason (NaN)
0x37c26f562d68 runtime entry (deoptimization bailout 6)
0x37c26f562d6c comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (fs.Stats.isSymbolicLink) id{4,0} ---
() {
return this._checkModeProperty(constants.S_IFLNK);
}
--- END ---
--- FUNCTION SOURCE (fs.Stats._checkModeProperty) id{4,1} ---
(property) {
return ((this.mode & constants.S_IFMT) === property);
}
--- END ---
INLINE (fs.Stats._checkModeProperty) id{4,1} AS 1 AT <0:19>
--- Raw source ---
() {
return this._checkModeProperty(constants.S_IFLNK);
};
--- Optimized code ---
optimization_id = 4
source_position = 5550
kind = OPTIMIZED_FUNCTION
name = fs.Stats.isSymbolicLink
stack_slots = 5
compiler = crankshaft
Instructions (size = 287)
0x37c26f563420 0 55 push rbp
0x37c26f563421 1 4889e5 REX.W movq rbp,rsp
0x37c26f563424 4 56 push rsi
0x37c26f563425 5 57 push rdi
0x37c26f563426 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@4,#3> prologue
;;; Prologue begin
;;; Prologue end
;;; <@8,#5> -------------------- B1 --------------------
;;; <@10,#6> context
0x37c26f56342a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 5550
;;; <@11,#6> gap
0x37c26f56342e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@14,#10> -------------------- B2 --------------------
;;; <@15,#10> gap
0x37c26f563432 18 488bf0 REX.W movq rsi,rax
;;; <@16,#12> stack-check
0x37c26f563435 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f56343c 28 7305 jnc 35 (0x37c26f563443)
0x37c26f56343e 30 e89d97edff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@18,#12> lazy-bailout
;;; <@19,#12> gap
0x37c26f563443 35 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@20,#14> check-non-smi
0x37c26f563447 39 a801 test al,0x1 ;; debug: position 5569
0x37c26f563449 41 0f84b3000000 jz 226 (0x37c26f563502)
;;; <@22,#15> check-maps
0x37c26f56344f 47 49ba79b1e1eadf370000 REX.W movq r10,0x37dfeae1b179 ;; object: 0x37dfeae1b179 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f563459 57 4c3950ff REX.W cmpq [rax-0x1],r10
0x37c26f56345d 61 0f85a4000000 jnz 231 (0x37c26f563507)
;;; <@24,#17> check-maps
;;; <@25,#17> gap
0x37c26f563463 67 488b5de8 REX.W movq rbx,[rbp-0x18]
;;; <@26,#19> load-context-slot
0x37c26f563467 71 488b532f REX.W movq rdx,[rbx+0x2f] ;; debug: position 5588
0x37c26f56346b 75 493b55d8 REX.W cmpq rdx,[r13-0x28]
0x37c26f56346f 79 0f8497000000 jz 236 (0x37c26f56350c)
;;; <@28,#20> check-non-smi
0x37c26f563475 85 f6c201 testb rdx,0x1 ;; debug: position 5597
0x37c26f563478 88 0f8493000000 jz 241 (0x37c26f563511)
;;; <@30,#21> check-maps
0x37c26f56347e 94 49bac90be1eadf370000 REX.W movq r10,0x37dfeae10bc9 ;; object: 0x37dfeae10bc9 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f563488 104 4c3952ff REX.W cmpq [rdx-0x1],r10
0x37c26f56348c 108 0f8584000000 jnz 246 (0x37c26f563516)
;;; <@32,#22> load-named-field
0x37c26f563492 114 488b5207 REX.W movq rdx,[rdx+0x7]
0x37c26f563496 118 8b523b movl rdx,[rdx+0x3b]
;;; <@34,#29> load-named-field
0x37c26f563499 121 8b4823 movl rcx,[rax+0x23] ;; debug: position 5046
;;; <@36,#23> constant-t
0x37c26f56349c 124 48be4818aa968c230000 REX.W movq rsi,0x238c96aa1848 ;; debug: position 5018
;; property cell
0x37c26f5634a6 134 488b36 REX.W movq rsi,[rsi]
;;; <@38,#30> load-context-slot
0x37c26f5634a9 137 488b762f REX.W movq rsi,[rsi+0x2f] ;; debug: position 5054
0x37c26f5634ad 141 493b75d8 REX.W cmpq rsi,[r13-0x28]
0x37c26f5634b1 145 0f8464000000 jz 251 (0x37c26f56351b)
;;; <@40,#31> check-non-smi
0x37c26f5634b7 151 40f6c601 testb rsi,0x1 ;; debug: position 5063
0x37c26f5634bb 155 0f845f000000 jz 256 (0x37c26f563520)
;;; <@42,#32> check-maps
0x37c26f5634c1 161 49bac90be1eadf370000 REX.W movq r10,0x37dfeae10bc9 ;; object: 0x37dfeae10bc9 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5634cb 171 4c3956ff REX.W cmpq [rsi-0x1],r10
0x37c26f5634cf 175 0f8550000000 jnz 261 (0x37c26f563525)
;;; <@44,#33> load-named-field
0x37c26f5634d5 181 8b4633 movl rax,[rsi+0x33]
;;; <@46,#34> bit-i
0x37c26f5634d8 184 23c1 andl rax,rcx ;; debug: position 5052
;;; <@49,#36> compare-numeric-and-branch
0x37c26f5634da 186 3bc2 cmpl rax,rdx ;; debug: position 5072
0x37c26f5634dc 188 0f840f000000 jz 209 (0x37c26f5634f1)
;;; <@50,#42> -------------------- B3 --------------------
;;; <@52,#44> gap
0x37c26f5634e2 194 48b871426051de230000 REX.W movq rax,0x23de51604271 ;; object: 0x23de51604271 <false>
;;; <@53,#44> goto
0x37c26f5634ec 204 e90a000000 jmp 219 (0x37c26f5634fb)
;;; <@54,#39> -------------------- B4 --------------------
;;; <@56,#41> gap
0x37c26f5634f1 209 48b8c1436051de230000 REX.W movq rax,0x23de516043c1 ;; object: 0x23de516043c1 <true>
;;; <@58,#46> -------------------- B5 (unreachable/replaced) --------------------
;;; <@62,#50> -------------------- B6 --------------------
;;; <@64,#52> return
0x37c26f5634fb 219 488be5 REX.W movq rsp,rbp ;; debug: position 5557
0x37c26f5634fe 222 5d pop rbp
0x37c26f5634ff 223 c20800 ret 0x8
;;; -------------------- Jump table --------------------
0x37c26f563502 226 e8032bbaff call 0x37c26f10600a ;; debug: position 9728
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x37c26f563507 231 e8082bbaff call 0x37c26f106014 ;; debug: position 9728
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 2
0x37c26f56350c 236 e80d2bbaff call 0x37c26f10601e ;; debug: position 19456
;; debug: deopt reason 'hole'
;; deoptimization bailout 3
0x37c26f563511 241 e8122bbaff call 0x37c26f106028 ;; debug: position 24064
;; debug: deopt reason 'Smi'
;; deoptimization bailout 4
0x37c26f563516 246 e8172bbaff call 0x37c26f106032 ;; debug: position 24064
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 5
0x37c26f56351b 251 e81c2bbaff call 0x37c26f10603c ;; debug: position 18433
;; debug: deopt reason 'hole'
;; deoptimization bailout 6
0x37c26f563520 256 e8212bbaff call 0x37c26f106046 ;; debug: position 23041
;; debug: deopt reason 'Smi'
;; deoptimization bailout 7
0x37c26f563525 261 e8262bbaff call 0x37c26f106050 ;; debug: position 23041
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 8
0x37c26f56352a 266 6690 nop
;;; Safepoint table.
Inlined functions (count = 1)
0x238c96a388f9 <SharedFunctionInfo fs.Stats._checkModeProperty>
Deoptimization Input Data (deopt points = 9)
index ast id argc pc
0 4 0 35
1 4 0 -1
2 4 0 -1
3 4 0 -1
4 4 0 -1
5 4 0 -1
6 3 0 -1
7 3 0 -1
8 3 0 -1
Safepoints (size = 19)
0x37c26f563443 35 10000 (sp -> fp) 0
RelocInfo (size = 494)
0x37c26f56342a position (5550)
0x37c26f56342a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f56342a comment (;;; <@4,#3> prologue)
0x37c26f56342a comment (;;; Prologue begin)
0x37c26f56342a comment (;;; Prologue end)
0x37c26f56342a comment (;;; <@8,#5> -------------------- B1 --------------------)
0x37c26f56342a comment (;;; <@10,#6> context)
0x37c26f56342e comment (;;; <@11,#6> gap)
0x37c26f563432 comment (;;; <@14,#10> -------------------- B2 --------------------)
0x37c26f563432 comment (;;; <@15,#10> gap)
0x37c26f563435 comment (;;; <@16,#12> stack-check)
0x37c26f56343f code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f563443 comment (;;; <@18,#12> lazy-bailout)
0x37c26f563443 comment (;;; <@19,#12> gap)
0x37c26f563447 comment (;;; <@20,#14> check-non-smi)
0x37c26f563447 position (5569)
0x37c26f56344f comment (;;; <@22,#15> check-maps)
0x37c26f563451 embedded object (0x37dfeae1b179 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f563463 comment (;;; <@24,#17> check-maps)
0x37c26f563463 comment (;;; <@25,#17> gap)
0x37c26f563467 comment (;;; <@26,#19> load-context-slot)
0x37c26f563467 position (5588)
0x37c26f563475 comment (;;; <@28,#20> check-non-smi)
0x37c26f563475 position (5597)
0x37c26f56347e comment (;;; <@30,#21> check-maps)
0x37c26f563480 embedded object (0x37dfeae10bc9 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f563492 comment (;;; <@32,#22> load-named-field)
0x37c26f563499 comment (;;; <@34,#29> load-named-field)
0x37c26f563499 position (5046)
0x37c26f56349c comment (;;; <@36,#23> constant-t)
0x37c26f56349c position (5018)
0x37c26f56349e property cell
0x37c26f5634a9 comment (;;; <@38,#30> load-context-slot)
0x37c26f5634a9 position (5054)
0x37c26f5634b7 comment (;;; <@40,#31> check-non-smi)
0x37c26f5634b7 position (5063)
0x37c26f5634c1 comment (;;; <@42,#32> check-maps)
0x37c26f5634c3 embedded object (0x37dfeae10bc9 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5634d5 comment (;;; <@44,#33> load-named-field)
0x37c26f5634d8 comment (;;; <@46,#34> bit-i)
0x37c26f5634d8 position (5052)
0x37c26f5634da position (5072)
0x37c26f5634da comment (;;; <@49,#36> compare-numeric-and-branch)
0x37c26f5634e2 comment (;;; <@50,#42> -------------------- B3 --------------------)
0x37c26f5634e2 comment (;;; <@52,#44> gap)
0x37c26f5634e4 embedded object (0x23de51604271 <false>)
0x37c26f5634ec comment (;;; <@53,#44> goto)
0x37c26f5634f1 comment (;;; <@54,#39> -------------------- B4 --------------------)
0x37c26f5634f1 comment (;;; <@56,#41> gap)
0x37c26f5634f3 embedded object (0x23de516043c1 <true>)
0x37c26f5634fb comment (;;; <@58,#46> -------------------- B5 (unreachable/replaced) --------------------)
0x37c26f5634fb position (5557)
0x37c26f5634fb comment (;;; <@62,#50> -------------------- B6 --------------------)
0x37c26f5634fb comment (;;; <@64,#52> return)
0x37c26f563502 comment (;;; -------------------- Jump table --------------------)
0x37c26f563502 position (9728)
0x37c26f563502 deopt reason (Smi)
0x37c26f563503 runtime entry (deoptimization bailout 1)
0x37c26f563507 position (9728)
0x37c26f563507 deopt reason (wrong map)
0x37c26f563508 runtime entry (deoptimization bailout 2)
0x37c26f56350c position (19456)
0x37c26f56350c deopt reason (hole)
0x37c26f56350d runtime entry (deoptimization bailout 3)
0x37c26f563511 position (24064)
0x37c26f563511 deopt reason (Smi)
0x37c26f563512 runtime entry (deoptimization bailout 4)
0x37c26f563516 position (24064)
0x37c26f563516 deopt reason (wrong map)
0x37c26f563517 runtime entry (deoptimization bailout 5)
0x37c26f56351b position (18433)
0x37c26f56351b deopt reason (hole)
0x37c26f56351c runtime entry (deoptimization bailout 6)
0x37c26f563520 position (23041)
0x37c26f563520 deopt reason (Smi)
0x37c26f563521 runtime entry (deoptimization bailout 7)
0x37c26f563525 position (23041)
0x37c26f563525 deopt reason (wrong map)
0x37c26f563526 runtime entry (deoptimization bailout 8)
0x37c26f56352c comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (_makeLong) id{5,0} ---
(path) {
return path;
}
--- END ---
--- Raw source ---
(path) {
return path;
},
--- Optimized code ---
optimization_id = 5
source_position = 38805
kind = OPTIMIZED_FUNCTION
name = _makeLong
stack_slots = 5
compiler = crankshaft
Instructions (size = 67)
0x37c26f5734e0 0 55 push rbp
0x37c26f5734e1 1 4889e5 REX.W movq rbp,rsp
0x37c26f5734e4 4 56 push rsi
0x37c26f5734e5 5 57 push rdi
0x37c26f5734e6 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@6,#4> prologue
;;; Prologue begin
;;; Prologue end
;;; <@10,#6> -------------------- B1 --------------------
;;; <@12,#7> context
0x37c26f5734ea 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 38805
;;; <@13,#7> gap
0x37c26f5734ee 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@16,#12> -------------------- B2 --------------------
;;; <@17,#12> gap
0x37c26f5734f2 18 488bf0 REX.W movq rsi,rax
;;; <@18,#14> stack-check
0x37c26f5734f5 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f5734fc 28 7305 jnc 35 (0x37c26f573503)
0x37c26f5734fe 30 e8dd96ecff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@20,#14> lazy-bailout
;;; <@21,#14> gap
0x37c26f573503 35 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@22,#18> return
0x37c26f573507 39 488be5 REX.W movq rsp,rbp ;; debug: position 38818
0x37c26f57350a 42 5d pop rbp
0x37c26f57350b 43 c21000 ret 0x10
0x37c26f57350e 46 6690 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 1)
index ast id argc pc
0 4 0 35
Safepoints (size = 19)
0x37c26f573503 35 10000 (sp -> fp) 0
RelocInfo (size = 149)
0x37c26f5734ea position (38805)
0x37c26f5734ea comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f5734ea comment (;;; <@6,#4> prologue)
0x37c26f5734ea comment (;;; Prologue begin)
0x37c26f5734ea comment (;;; Prologue end)
0x37c26f5734ea comment (;;; <@10,#6> -------------------- B1 --------------------)
0x37c26f5734ea comment (;;; <@12,#7> context)
0x37c26f5734ee comment (;;; <@13,#7> gap)
0x37c26f5734f2 comment (;;; <@16,#12> -------------------- B2 --------------------)
0x37c26f5734f2 comment (;;; <@17,#12> gap)
0x37c26f5734f5 comment (;;; <@18,#14> stack-check)
0x37c26f5734ff code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f573503 comment (;;; <@20,#14> lazy-bailout)
0x37c26f573503 comment (;;; <@21,#14> gap)
0x37c26f573507 comment (;;; <@22,#18> return)
0x37c26f573507 position (38818)
0x37c26f573510 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (HashToEntry) id{6,0} ---
(n,o,p){
var q=(o&((p)-1));
return((%_FixedArrayGet(n,(3+(q))|0)));
}
--- END ---
--- Raw source ---
(n,o,p){
var q=(o&((p)-1));
return((%_FixedArrayGet(n,(3+(q))|0)));
}
--- Optimized code ---
optimization_id = 6
source_position = 346
kind = OPTIMIZED_FUNCTION
name = HashToEntry
stack_slots = 5
compiler = crankshaft
Instructions (size = 271)
0x37c26f5b3320 0 55 push rbp
0x37c26f5b3321 1 4889e5 REX.W movq rbp,rsp
0x37c26f5b3324 4 56 push rsi
0x37c26f5b3325 5 57 push rdi
0x37c26f5b3326 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@10,#6> prologue
;;; Prologue begin
;;; Prologue end
;;; <@14,#8> -------------------- B1 --------------------
;;; <@16,#9> context
0x37c26f5b332a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 346
;;; <@17,#9> gap
0x37c26f5b332e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@20,#13> -------------------- B2 --------------------
;;; <@21,#13> gap
0x37c26f5b3332 18 488bf0 REX.W movq rsi,rax
;;; <@22,#15> stack-check
0x37c26f5b3335 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f5b333c 28 7305 jnc 35 (0x37c26f5b3343)
0x37c26f5b333e 30 e89d98e8ff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@24,#15> lazy-bailout
;;; <@25,#15> gap
0x37c26f5b3343 35 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@26,#36> tagged-to-i
0x37c26f5b3347 39 a801 test al,0x1 ;; debug: position 366
0x37c26f5b3349 41 0f852d000000 jnz 92 (0x37c26f5b337c)
0x37c26f5b334f 47 48c1e820 REX.W shrq rax, 32
;;; <@28,#18> sub-i
0x37c26f5b3353 51 83e801 subl rax,0x1 ;; debug: position 368
;;; <@29,#18> gap
0x37c26f5b3356 54 488b5d18 REX.W movq rbx,[rbp+0x18]
;;; <@30,#35> tagged-to-i
0x37c26f5b335a 58 f6c301 testb rbx,0x1 ;; debug: position 362
0x37c26f5b335d 61 0f854a000000 jnz 141 (0x37c26f5b33ad)
0x37c26f5b3363 67 48c1eb20 REX.W shrq rbx, 32
;;; <@32,#20> bit-i
0x37c26f5b3367 71 23c3 andl rax,rbx ;; debug: position 363
0x37c26f5b3369 73 4863c0 REX.W movsxlq rax,rax
;;; <@33,#20> gap
0x37c26f5b336c 76 488b5d20 REX.W movq rbx,[rbp+0x20]
;;; <@34,#30> load-keyed
0x37c26f5b3370 80 488b44c327 REX.W movq rax,[rbx+rax*8+0x27] ;; debug: position 382
;;; <@36,#32> return
0x37c26f5b3375 85 488be5 REX.W movq rsp,rbp ;; debug: position 374
0x37c26f5b3378 88 5d pop rbp
0x37c26f5b3379 89 c22000 ret 0x20
;;; <@26,#36> -------------------- Deferred tagged-to-i --------------------
0x37c26f5b337c 92 4d8b55f8 REX.W movq r10,[r13-0x8] ;; debug: position 366
0x37c26f5b3380 96 4c3950ff REX.W cmpq [rax-0x1],r10
0x37c26f5b3384 100 0f857e000000 jnz 232 (0x37c26f5b3408)
0x37c26f5b338a 106 c5fb104007 vmovsd xmm0,[rax+0x7]
0x37c26f5b338f 111 c5fb2cc0 vcvttsd2si rax,xmm0
0x37c26f5b3393 115 c5f157c9 vxorpd xmm1,xmm1,xmm1
0x37c26f5b3397 119 c5f32ac8 vcvtlsi2sd xmm1,xmm1,rax
0x37c26f5b339b 123 c5f92ec1 vucomisd xmm0,xmm1
0x37c26f5b339f 127 0f8568000000 jnz 237 (0x37c26f5b340d)
0x37c26f5b33a5 133 0f8a67000000 jpe 242 (0x37c26f5b3412)
0x37c26f5b33ab 139 eba6 jmp 51 (0x37c26f5b3353)
;;; <@30,#35> -------------------- Deferred tagged-to-i --------------------
0x37c26f5b33ad 141 4d8b55f8 REX.W movq r10,[r13-0x8] ;; debug: position 362
0x37c26f5b33b1 145 4c3953ff REX.W cmpq [rbx-0x1],r10
0x37c26f5b33b5 149 7526 jnz 189 (0x37c26f5b33dd)
0x37c26f5b33b7 151 c5fb104307 vmovsd xmm0,[rbx+0x7]
0x37c26f5b33bc 156 c4e1fb2cd8 vcvttsd2siq rbx,xmm0
0x37c26f5b33c1 161 4883fb01 REX.W cmpq rbx,0x1
0x37c26f5b33c5 165 7112 jno 185 (0x37c26f5b33d9)
0x37c26f5b33c7 167 4883ec08 REX.W subq rsp,0x8
0x37c26f5b33cb 171 c5fb110424 vmovsd [rsp],xmm0
0x37c26f5b33d0 176 e84b19fdff call 0x37c26f584d20 ;; code: STUB, DoubleToIStub, minor: 135364
0x37c26f5b33d5 181 4883c408 REX.W addq rsp,0x8
0x37c26f5b33d9 185 8bdb movl rbx,rbx
0x37c26f5b33db 187 eb8a jmp 71 (0x37c26f5b3367)
0x37c26f5b33dd 189 493b5da8 REX.W cmpq rbx,[r13-0x58]
0x37c26f5b33e1 193 7504 jnz 199 (0x37c26f5b33e7)
0x37c26f5b33e3 195 33db xorl rbx,rbx
0x37c26f5b33e5 197 eb80 jmp 71 (0x37c26f5b3367)
0x37c26f5b33e7 199 493b5dc0 REX.W cmpq rbx,[r13-0x40]
0x37c26f5b33eb 203 750a jnz 215 (0x37c26f5b33f7)
0x37c26f5b33ed 205 bb01000000 movl rbx,0x1
0x37c26f5b33f2 210 e970ffffff jmp 71 (0x37c26f5b3367)
0x37c26f5b33f7 215 493b5dc8 REX.W cmpq rbx,[r13-0x38]
0x37c26f5b33fb 219 0f8516000000 jnz 247 (0x37c26f5b3417)
0x37c26f5b3401 225 33db xorl rbx,rbx
0x37c26f5b3403 227 e95fffffff jmp 71 (0x37c26f5b3367)
;;; -------------------- Jump table --------------------
0x37c26f5b3408 232 e8fd2bb5ff call 0x37c26f10600a ;; debug: position 10240
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 1
0x37c26f5b340d 237 e8f82bb5ff call 0x37c26f10600a ;; debug: position 10240
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 1
0x37c26f5b3412 242 e8f32bb5ff call 0x37c26f10600a ;; debug: position 10240
;; debug: deopt reason 'NaN'
;; deoptimization bailout 1
0x37c26f5b3417 247 e8f82bb5ff call 0x37c26f106014 ;; debug: position 8192
;; debug: deopt reason 'not a heap number/undefined/true/false'
;; deoptimization bailout 2
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 3)
index ast id argc pc
0 4 0 35
1 4 0 -1
2 4 0 -1
Safepoints (size = 19)
0x37c26f5b3343 35 10000 (sp -> fp) 0
RelocInfo (size = 296)
0x37c26f5b332a position (346)
0x37c26f5b332a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f5b332a comment (;;; <@10,#6> prologue)
0x37c26f5b332a comment (;;; Prologue begin)
0x37c26f5b332a comment (;;; Prologue end)
0x37c26f5b332a comment (;;; <@14,#8> -------------------- B1 --------------------)
0x37c26f5b332a comment (;;; <@16,#9> context)
0x37c26f5b332e comment (;;; <@17,#9> gap)
0x37c26f5b3332 comment (;;; <@20,#13> -------------------- B2 --------------------)
0x37c26f5b3332 comment (;;; <@21,#13> gap)
0x37c26f5b3335 comment (;;; <@22,#15> stack-check)
0x37c26f5b333f code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f5b3343 comment (;;; <@24,#15> lazy-bailout)
0x37c26f5b3343 comment (;;; <@25,#15> gap)
0x37c26f5b3347 comment (;;; <@26,#36> tagged-to-i)
0x37c26f5b3347 position (366)
0x37c26f5b3353 comment (;;; <@28,#18> sub-i)
0x37c26f5b3353 position (368)
0x37c26f5b3356 comment (;;; <@29,#18> gap)
0x37c26f5b335a comment (;;; <@30,#35> tagged-to-i)
0x37c26f5b335a position (362)
0x37c26f5b3367 comment (;;; <@32,#20> bit-i)
0x37c26f5b3367 position (363)
0x37c26f5b336c comment (;;; <@33,#20> gap)
0x37c26f5b3370 comment (;;; <@34,#30> load-keyed)
0x37c26f5b3370 position (382)
0x37c26f5b3375 comment (;;; <@36,#32> return)
0x37c26f5b3375 position (374)
0x37c26f5b337c position (366)
0x37c26f5b337c comment (;;; <@26,#36> -------------------- Deferred tagged-to-i --------------------)
0x37c26f5b33ad position (362)
0x37c26f5b33ad comment (;;; <@30,#35> -------------------- Deferred tagged-to-i --------------------)
0x37c26f5b33d1 code target (STUB) (0x37c26f584d20)
0x37c26f5b3408 comment (;;; -------------------- Jump table --------------------)
0x37c26f5b3408 position (10240)
0x37c26f5b3408 deopt reason (not a heap number)
0x37c26f5b3409 runtime entry (deoptimization bailout 1)
0x37c26f5b340d position (10240)
0x37c26f5b340d deopt reason (lost precision)
0x37c26f5b340e runtime entry (deoptimization bailout 1)
0x37c26f5b3412 position (10240)
0x37c26f5b3412 deopt reason (NaN)
0x37c26f5b3413 runtime entry (deoptimization bailout 1)
0x37c26f5b3417 position (8192)
0x37c26f5b3417 deopt reason (not a heap number/undefined/true/false)
0x37c26f5b3418 runtime entry (deoptimization bailout 2)
0x37c26f5b341c comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (isNaN) id{7,0} ---
(s){
return(typeof(s)==='number')&&(!%_IsSmi(%IS_VAR(s))&&!(s==s));
}
--- END ---
--- Raw source ---
(s){
return(typeof(s)==='number')&&(!%_IsSmi(%IS_VAR(s))&&!(s==s));
}
--- Optimized code ---
optimization_id = 7
source_position = 15786
kind = OPTIMIZED_FUNCTION
name = isNaN
stack_slots = 5
compiler = crankshaft
Instructions (size = 179)
0x37c26f5b6e20 0 55 push rbp
0x37c26f5b6e21 1 4889e5 REX.W movq rbp,rsp
0x37c26f5b6e24 4 56 push rsi
0x37c26f5b6e25 5 57 push rdi
0x37c26f5b6e26 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@6,#4> prologue
;;; Prologue begin
;;; Prologue end
;;; <@10,#6> -------------------- B1 --------------------
;;; <@12,#7> context
0x37c26f5b6e2a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 15786
;;; <@13,#7> gap
0x37c26f5b6e2e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@16,#11> -------------------- B2 --------------------
;;; <@17,#11> gap
0x37c26f5b6e32 18 488bf0 REX.W movq rsi,rax
;;; <@18,#13> stack-check
0x37c26f5b6e35 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f5b6e3c 28 7305 jnc 35 (0x37c26f5b6e43)
0x37c26f5b6e3e 30 e89d5de8ff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@20,#13> lazy-bailout
;;; <@22,#15> gap
0x37c26f5b6e43 35 488b4510 REX.W movq rax,[rbp+0x10] ;; debug: position 15807
;;; <@23,#15> typeof-is-and-branch
0x37c26f5b6e47 39 a801 test al,0x1
0x37c26f5b6e49 41 0f841d000000 jz 76 (0x37c26f5b6e6c)
0x37c26f5b6e4f 47 4d8b55f8 REX.W movq r10,[r13-0x8]
0x37c26f5b6e53 51 4c3950ff REX.W cmpq [rax-0x1],r10
0x37c26f5b6e57 55 0f840f000000 jz 76 (0x37c26f5b6e6c)
;;; <@24,#21> -------------------- B3 --------------------
;;; <@26,#23> gap
0x37c26f5b6e5d 61 48b871426051de230000 REX.W movq rax,0x23de51604271 ;; object: 0x23de51604271 <false>
;;; <@27,#23> goto
0x37c26f5b6e67 71 e90a000000 jmp 86 (0x37c26f5b6e76)
;;; <@28,#18> -------------------- B4 --------------------
;;; <@30,#20> gap
0x37c26f5b6e6c 76 48b8c1436051de230000 REX.W movq rax,0x23de516043c1 ;; object: 0x23de516043c1 <true>
;;; <@32,#25> -------------------- B5 --------------------
;;; <@35,#26> branch
0x37c26f5b6e76 86 493b45c0 REX.W cmpq rax,[r13-0x40] ;; debug: position 15819
0x37c26f5b6e7a 90 0f8537000000 jnz 151 (0x37c26f5b6eb7)
;;; <@36,#70> -------------------- B6 (unreachable/replaced) --------------------
;;; <@40,#27> -------------------- B7 --------------------
;;; <@42,#28> gap
0x37c26f5b6e80 96 488b4510 REX.W movq rax,[rbp+0x10] ;; debug: position 15823
;;; <@43,#28> is-smi-and-branch
0x37c26f5b6e84 100 a801 test al,0x1
0x37c26f5b6e86 102 0f840f000000 jz 123 (0x37c26f5b6e9b)
;;; <@44,#32> -------------------- B8 (unreachable/replaced) --------------------
;;; <@48,#38> -------------------- B9 --------------------
;;; <@50,#40> gap
0x37c26f5b6e8c 108 48bbc1436051de230000 REX.W movq rbx,0x23de516043c1 ;; debug: position 15822
;; object: 0x23de516043c1 <true>
;;; <@51,#40> goto
0x37c26f5b6e96 118 e90a000000 jmp 133 (0x37c26f5b6ea5)
;;; <@52,#29> -------------------- B10 (unreachable/replaced) --------------------
;;; <@56,#35> -------------------- B11 --------------------
;;; <@58,#37> gap
0x37c26f5b6e9b 123 48bb71426051de230000 REX.W movq rbx,0x23de51604271 ;; object: 0x23de51604271 <false>
;;; <@60,#42> -------------------- B12 --------------------
;;; <@63,#43> branch
0x37c26f5b6ea5 133 493b5dc0 REX.W cmpq rbx,[r13-0x40] ;; debug: position 15842
0x37c26f5b6ea9 137 0f8505000000 jnz 148 (0x37c26f5b6eb4)
;;; <@64,#63> -------------------- B13 (unreachable/replaced) --------------------
;;; <@68,#44> -------------------- B14 --------------------
;;; <@71,#45> deoptimize
0x37c26f5b6eaf 143 e856f1d4ff call 0x37c26f30600a ;; debug: position 15847
;; debug: position 31232
;; debug: deopt reason 'Insufficient type feedback for combined type of binary operation'
;; soft deoptimization bailout 1
;;; <@72,#46> -------------------- B15 (unreachable/replaced) --------------------
;;; <@82,#53> -------------------- B16 (unreachable/replaced) --------------------
;;; <@86,#59> -------------------- B17 (unreachable/replaced) --------------------
;;; <@90,#50> -------------------- B18 (unreachable/replaced) --------------------
;;; <@94,#56> -------------------- B19 (unreachable/replaced) --------------------
;;; <@98,#66> -------------------- B20 (unreachable/replaced) --------------------
;;; <@102,#73> -------------------- B21 --------------------
;;; <@104,#75> gap
0x37c26f5b6eb4 148 488bc3 REX.W movq rax,rbx ;; debug: position 15819
;;; <@106,#77> -------------------- B22 --------------------
;;; <@108,#79> return
0x37c26f5b6eb7 151 488be5 REX.W movq rsp,rbp ;; debug: position 15791
0x37c26f5b6eba 154 5d pop rbp
0x37c26f5b6ebb 155 c21000 ret 0x10
0x37c26f5b6ebe 158 6690 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 2)
index ast id argc pc
0 4 0 35
1 26 0 -1
Safepoints (size = 19)
0x37c26f5b6e43 35 10000 (sp -> fp) 0
RelocInfo (size = 511)
0x37c26f5b6e2a position (15786)
0x37c26f5b6e2a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f5b6e2a comment (;;; <@6,#4> prologue)
0x37c26f5b6e2a comment (;;; Prologue begin)
0x37c26f5b6e2a comment (;;; Prologue end)
0x37c26f5b6e2a comment (;;; <@10,#6> -------------------- B1 --------------------)
0x37c26f5b6e2a comment (;;; <@12,#7> context)
0x37c26f5b6e2e comment (;;; <@13,#7> gap)
0x37c26f5b6e32 comment (;;; <@16,#11> -------------------- B2 --------------------)
0x37c26f5b6e32 comment (;;; <@17,#11> gap)
0x37c26f5b6e35 comment (;;; <@18,#13> stack-check)
0x37c26f5b6e3f code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f5b6e43 comment (;;; <@20,#13> lazy-bailout)
0x37c26f5b6e43 comment (;;; <@22,#15> gap)
0x37c26f5b6e43 position (15807)
0x37c26f5b6e47 comment (;;; <@23,#15> typeof-is-and-branch)
0x37c26f5b6e5d comment (;;; <@24,#21> -------------------- B3 --------------------)
0x37c26f5b6e5d comment (;;; <@26,#23> gap)
0x37c26f5b6e5f embedded object (0x23de51604271 <false>)
0x37c26f5b6e67 comment (;;; <@27,#23> goto)
0x37c26f5b6e6c comment (;;; <@28,#18> -------------------- B4 --------------------)
0x37c26f5b6e6c comment (;;; <@30,#20> gap)
0x37c26f5b6e6e embedded object (0x23de516043c1 <true>)
0x37c26f5b6e76 position (15819)
0x37c26f5b6e76 comment (;;; <@32,#25> -------------------- B5 --------------------)
0x37c26f5b6e76 comment (;;; <@35,#26> branch)
0x37c26f5b6e80 comment (;;; <@36,#70> -------------------- B6 (unreachable/replaced) --------------------)
0x37c26f5b6e80 position (15823)
0x37c26f5b6e80 comment (;;; <@40,#27> -------------------- B7 --------------------)
0x37c26f5b6e80 comment (;;; <@42,#28> gap)
0x37c26f5b6e84 comment (;;; <@43,#28> is-smi-and-branch)
0x37c26f5b6e8c comment (;;; <@44,#32> -------------------- B8 (unreachable/replaced) --------------------)
0x37c26f5b6e8c position (15822)
0x37c26f5b6e8c comment (;;; <@48,#38> -------------------- B9 --------------------)
0x37c26f5b6e8c comment (;;; <@50,#40> gap)
0x37c26f5b6e8e embedded object (0x23de516043c1 <true>)
0x37c26f5b6e96 comment (;;; <@51,#40> goto)
0x37c26f5b6e9b comment (;;; <@52,#29> -------------------- B10 (unreachable/replaced) --------------------)
0x37c26f5b6e9b comment (;;; <@56,#35> -------------------- B11 --------------------)
0x37c26f5b6e9b comment (;;; <@58,#37> gap)
0x37c26f5b6e9d embedded object (0x23de51604271 <false>)
0x37c26f5b6ea5 position (15842)
0x37c26f5b6ea5 comment (;;; <@60,#42> -------------------- B12 --------------------)
0x37c26f5b6ea5 comment (;;; <@63,#43> branch)
0x37c26f5b6eaf comment (;;; <@64,#63> -------------------- B13 (unreachable/replaced) --------------------)
0x37c26f5b6eaf position (15847)
0x37c26f5b6eaf comment (;;; <@68,#44> -------------------- B14 --------------------)
0x37c26f5b6eaf comment (;;; <@71,#45> deoptimize)
0x37c26f5b6eaf position (31232)
0x37c26f5b6eaf deopt reason (Insufficient type feedback for combined type of binary operation)
0x37c26f5b6eb0 runtime entry
0x37c26f5b6eb4 comment (;;; <@72,#46> -------------------- B15 (unreachable/replaced) --------------------)
0x37c26f5b6eb4 comment (;;; <@82,#53> -------------------- B16 (unreachable/replaced) --------------------)
0x37c26f5b6eb4 comment (;;; <@86,#59> -------------------- B17 (unreachable/replaced) --------------------)
0x37c26f5b6eb4 comment (;;; <@90,#50> -------------------- B18 (unreachable/replaced) --------------------)
0x37c26f5b6eb4 comment (;;; <@94,#56> -------------------- B19 (unreachable/replaced) --------------------)
0x37c26f5b6eb4 comment (;;; <@98,#66> -------------------- B20 (unreachable/replaced) --------------------)
0x37c26f5b6eb4 position (15819)
0x37c26f5b6eb4 comment (;;; <@102,#73> -------------------- B21 --------------------)
0x37c26f5b6eb4 comment (;;; <@104,#75> gap)
0x37c26f5b6eb7 position (15791)
0x37c26f5b6eb7 comment (;;; <@106,#77> -------------------- B22 --------------------)
0x37c26f5b6eb7 comment (;;; <@108,#79> return)
0x37c26f5b6ec0 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (indexOf) id{8,0} ---
(z,A){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(18,"String.prototype.indexOf");
var B=(%_ToString(this));
z=(%_ToString(z));
var C=(%_ToInteger(A));
if(C<0)C=0;
if(C>B.length)C=B.length;
return %StringIndexOf(B,z,C);
}
--- END ---
--- Raw source ---
(z,A){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(18,"String.prototype.indexOf");
var B=(%_ToString(this));
z=(%_ToString(z));
var C=(%_ToInteger(A));
if(C<0)C=0;
if(C>B.length)C=B.length;
return %StringIndexOf(B,z,C);
}
--- Optimized code ---
optimization_id = 8
source_position = 1540
kind = OPTIMIZED_FUNCTION
name = indexOf
stack_slots = 8
compiler = crankshaft
Instructions (size = 676)
0x37c26f5b9740 0 55 push rbp
0x37c26f5b9741 1 4889e5 REX.W movq rbp,rsp
0x37c26f5b9744 4 56 push rsi
0x37c26f5b9745 5 57 push rdi
0x37c26f5b9746 6 4883ec20 REX.W subq rsp,0x20
;;; <@0,#0> -------------------- B0 --------------------
;;; <@8,#5> prologue
;;; Prologue begin
;;; Prologue end
;;; <@12,#7> -------------------- B1 --------------------
;;; <@14,#8> context
0x37c26f5b974a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 1540
;;; <@15,#8> gap
0x37c26f5b974e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@18,#12> -------------------- B2 --------------------
;;; <@19,#12> gap
0x37c26f5b9752 18 488bf0 REX.W movq rsi,rax
;;; <@20,#14> stack-check
0x37c26f5b9755 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f5b975c 28 7305 jnc 35 (0x37c26f5b9763)
0x37c26f5b975e 30 e87d34e8ff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@22,#14> lazy-bailout
;;; <@24,#17> gap
0x37c26f5b9763 35 488b5d20 REX.W movq rbx,[rbp+0x20] ;; debug: position 1564
;;; <@25,#17> cmp-object-eq-and-branch
0x37c26f5b9767 39 49ba01426051de230000 REX.W movq r10,0x23de51604201 ;; object: 0x23de51604201 <null>
0x37c26f5b9771 49 493bda REX.W cmpq rbx,r10
0x37c26f5b9774 52 0f84f5000000 jz 303 (0x37c26f5b986f)
;;; <@26,#21> -------------------- B3 (unreachable/replaced) --------------------
;;; <@30,#24> -------------------- B4 --------------------
;;; <@33,#25> cmp-object-eq-and-branch
0x37c26f5b977a 58 49ba81436051de230000 REX.W movq r10,0x23de51604381 ;; debug: position 1579
;; object: 0x23de51604381 <undefined>
0x37c26f5b9784 68 493bda REX.W cmpq rbx,r10
0x37c26f5b9787 71 0f84e2000000 jz 303 (0x37c26f5b986f)
;;; <@34,#29> -------------------- B5 (unreachable/replaced) --------------------
;;; <@38,#46> -------------------- B6 --------------------
;;; <@39,#46> gap
0x37c26f5b978d 77 488b75e8 REX.W movq rsi,[rbp-0x18] ;; debug: position 1639
0x37c26f5b9791 81 488bc3 REX.W movq rax,rbx
;;; <@40,#48> call-with-descriptor
0x37c26f5b9794 84 e8877fe7ff call 0x37c26f431720 ;; code: STUB, ToStringStub, minor: 0
;;; <@41,#48> gap
0x37c26f5b9799 89 488945e0 REX.W movq [rbp-0x20],rax
0x37c26f5b979d 93 488bd8 REX.W movq rbx,rax
;;; <@42,#49> lazy-bailout
;;; <@43,#49> gap
0x37c26f5b97a0 96 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f5b97a4 100 488b4518 REX.W movq rax,[rbp+0x18]
;;; <@44,#52> call-with-descriptor
0x37c26f5b97a8 104 0f1f440000 nop
0x37c26f5b97ad 109 e86e7fe7ff call 0x37c26f431720 ;; debug: position 1661
;; code: STUB, ToStringStub, minor: 0
;;; <@45,#52> gap
0x37c26f5b97b2 114 488945d8 REX.W movq [rbp-0x28],rax
0x37c26f5b97b6 118 488bd8 REX.W movq rbx,rax
;;; <@46,#53> lazy-bailout
;;; <@47,#53> gap
0x37c26f5b97b9 121 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f5b97bd 125 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@48,#55> call-with-descriptor
0x37c26f5b97c1 129 0f1f440000 nop
0x37c26f5b97c6 134 e8951ff6ff call 0x37c26f51b760 ;; debug: position 1684
;; code: STUB, ToIntegerStub, minor: 0
;;; <@50,#56> lazy-bailout
;;; <@51,#56> gap
0x37c26f5b97cb 139 488bd8 REX.W movq rbx,rax
;;; <@52,#112> tagged-to-i
0x37c26f5b97ce 142 f6c301 testb rbx,0x1 ;; debug: position 1704
0x37c26f5b97d1 145 0f850b010000 jnz 418 (0x37c26f5b98e2)
0x37c26f5b97d7 151 48c1eb20 REX.W shrq rbx, 32
;;; <@55,#60> compare-numeric-and-branch
0x37c26f5b97db 155 83fb00 cmpl rbx,0x0 ;; debug: position 1705
0x37c26f5b97de 158 0f8c08000000 jl 172 (0x37c26f5b97ec)
;;; <@56,#64> -------------------- B7 (unreachable/replaced) --------------------
;;; <@60,#72> -------------------- B8 --------------------
;;; <@62,#74> gap
0x37c26f5b97e4 164 488bc3 REX.W movq rax,rbx ;; debug: position 1701
;;; <@63,#74> goto
0x37c26f5b97e7 167 e902000000 jmp 174 (0x37c26f5b97ee)
;;; <@64,#61> -------------------- B9 (unreachable/replaced) --------------------
;;; <@68,#67> -------------------- B10 --------------------
;;; <@70,#71> gap
0x37c26f5b97ec 172 33c0 xorl rax,rax ;; debug: position 1710
;; debug: position 1701
;;; <@72,#76> -------------------- B11 --------------------
0x37c26f5b97ee 174 488945d0 REX.W movq [rbp-0x30],rax ;; debug: position 1716
;;; <@73,#76> gap
0x37c26f5b97f2 178 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f5b97f6 182 488b55e0 REX.W movq rdx,[rbp-0x20]
;;; <@74,#79> load-named-generic
0x37c26f5b97fa 186 48b9294f6051de230000 REX.W movq rcx,0x23de51604f29 ;; debug: position 1719
;; object: 0x23de51604f29 <String[6]: length>
0x37c26f5b9804 196 48bb798da5968c230000 REX.W movq rbx,0x238c96a58d79 ;; object: 0x238c96a58d79 <FixedArray[7]>
0x37c26f5b980e 206 48b80000000003000000 REX.W movq rax,0x300000000
0x37c26f5b9818 216 e8237df9ff call 0x37c26f551540 ;; code: contextual, LOAD_IC, GENERIC
;;; <@76,#80> lazy-bailout
;;; <@77,#80> gap
0x37c26f5b981d 221 488bd8 REX.W movq rbx,rax
;;; <@78,#114> tagged-to-i
0x37c26f5b9820 224 f6c301 testb rbx,0x1
0x37c26f5b9823 227 0f8502010000 jnz 491 (0x37c26f5b992b)
0x37c26f5b9829 233 48c1eb20 REX.W shrq rbx, 32
;;; <@80,#81> gap
0x37c26f5b982d 237 488b45d0 REX.W movq rax,[rbp-0x30] ;; debug: position 1717
;;; <@81,#81> compare-numeric-and-branch
0x37c26f5b9831 241 3bc3 cmpl rax,rbx
0x37c26f5b9833 243 0f8f0e000000 jg 263 (0x37c26f5b9847)
;;; <@82,#85> -------------------- B12 (unreachable/replaced) --------------------
;;; <@86,#97> -------------------- B13 --------------------
;;; <@88,#113> smi-tag
0x37c26f5b9839 249 8bd8 movl rbx,rax ;; debug: position 1713
;; debug: position 1761
0x37c26f5b983b 251 48c1e320 REX.W shlq rbx, 32
;;; <@90,#99> gap
0x37c26f5b983f 255 488bc3 REX.W movq rax,rbx ;; debug: position 1713
;;; <@91,#99> goto
0x37c26f5b9842 258 e905000000 jmp 268 (0x37c26f5b984c)
;;; <@92,#82> -------------------- B14 (unreachable/replaced) --------------------
;;; <@96,#88> -------------------- B15 --------------------
;;; <@99,#90> deoptimize
0x37c26f5b9847 263 e8e6c7d4ff call 0x37c26f306032 ;; debug: position 1729
;; debug: position 1730
;; debug: position 97280
;; debug: deopt reason 'Insufficient type feedback for generic named access'
;; soft deoptimization bailout 5
;;; <@100,#91> -------------------- B16 (unreachable/replaced) --------------------
;;; <@108,#101> -------------------- B17 --------------------
;;; <@110,#104> push-argument
0x37c26f5b984c 268 ff75e0 push [rbp-0x20] ;; debug: position 1761
;; debug: position 1746
;;; <@112,#104> push-argument
0x37c26f5b984f 271 ff75d8 push [rbp-0x28]
;;; <@114,#104> push-argument
0x37c26f5b9852 274 50 push rax
;;; <@115,#104> gap
0x37c26f5b9853 275 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@116,#105> call-runtime
0x37c26f5b9857 279 b803000000 movl rax,0x3
0x37c26f5b985c 284 498d9dd8a249fe REX.W leaq rbx,[r13-0x1b65d28]
0x37c26f5b9863 291 e8d8f9e4ff call 0x37c26f409240 ;; code: STUB, CEntryStub, minor: 4
;;; <@118,#106> lazy-bailout
;;; <@120,#108> return
0x37c26f5b9868 296 488be5 REX.W movq rsp,rbp ;; debug: position 1739
0x37c26f5b986b 299 5d pop rbp
0x37c26f5b986c 300 c21800 ret 0x18
;;; <@122,#26> -------------------- B18 (unreachable/replaced) --------------------
;;; <@126,#18> -------------------- B19 (unreachable/replaced) --------------------
;;; <@130,#32> -------------------- B20 --------------------
;;; <@131,#32> gap
0x37c26f5b986f 303 488b45e8 REX.W movq rax,[rbp-0x18] ;; debug: position 1598
;;; <@132,#33> load-context-slot
0x37c26f5b9873 307 488b7857 REX.W movq rdi,[rax+0x57]
;;; <@134,#36> push-argument
0x37c26f5b9877 311 49ba81436051de230000 REX.W movq r10,0x23de51604381 ;; object: 0x23de51604381 <undefined>
0x37c26f5b9881 321 4152 push r10
;;; <@136,#36> push-argument
0x37c26f5b9883 323 49ba0000000012000000 REX.W movq r10,0x1200000000
0x37c26f5b988d 333 4152 push r10
;;; <@138,#36> push-argument
0x37c26f5b988f 335 49ba298da5968c230000 REX.W movq r10,0x238c96a58d29 ;; object: 0x238c96a58d29 <String[24]: String.prototype.indexOf>
0x37c26f5b9899 345 4152 push r10
;;; <@140,#117> constant-s
0x37c26f5b989b 347 48ba0000000001000000 REX.W movq rdx,0x100000000
;;; <@142,#38> constant-t
0x37c26f5b98a5 357 48bb798da5968c230000 REX.W movq rbx,0x238c96a58d79 ;; object: 0x238c96a58d79 <FixedArray[7]>
;;; <@143,#38> gap
0x37c26f5b98af 367 488bf0 REX.W movq rsi,rax
;;; <@144,#40> call-with-descriptor
0x37c26f5b98b2 370 e889aaf6ff call 0x37c26f524340 ;; code: CALL_IC, GENERIC
;;; <@146,#41> lazy-bailout
;;; <@148,#42> push-argument
0x37c26f5b98b7 375 50 push rax ;; debug: position 1592
;;; <@149,#42> gap
0x37c26f5b98b8 376 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@150,#43> call-runtime
0x37c26f5b98bc 380 0f1f840000000000 nop
0x37c26f5b98c4 388 b801000000 movl rax,0x1
0x37c26f5b98c9 393 498d9d58b13ffe REX.W leaq rbx,[r13-0x1c04ea8]
0x37c26f5b98d0 400 e86bf9e4ff call 0x37c26f409240 ;; code: STUB, CEntryStub, minor: 4
;;; <@152,#44> lazy-bailout
0x37c26f5b98d5 405 6666660f1f840000000000 nop
0x37c26f5b98e0 416 6690 nop
;;; <@52,#112> -------------------- Deferred tagged-to-i --------------------
0x37c26f5b98e2 418 4d8b55f8 REX.W movq r10,[r13-0x8] ;; debug: position 1704
0x37c26f5b98e6 422 4c3953ff REX.W cmpq [rbx-0x1],r10
0x37c26f5b98ea 426 0f856f000000 jnz 543 (0x37c26f5b995f)
0x37c26f5b98f0 432 c5fb104307 vmovsd xmm0,[rbx+0x7]
0x37c26f5b98f5 437 c5fb2cd8 vcvttsd2si rbx,xmm0
0x37c26f5b98f9 441 c5f157c9 vxorpd xmm1,xmm1,xmm1
0x37c26f5b98fd 445 c5f32acb vcvtlsi2sd xmm1,xmm1,rbx
0x37c26f5b9901 449 c5f92ec1 vucomisd xmm0,xmm1
0x37c26f5b9905 453 0f8559000000 jnz 548 (0x37c26f5b9964)
0x37c26f5b990b 459 0f8a58000000 jpe 553 (0x37c26f5b9969)
0x37c26f5b9911 465 85db testl rbx,rbx
0x37c26f5b9913 467 0f85c2feffff jnz 155 (0x37c26f5b97db)
0x37c26f5b9919 473 c5f950d8 vmovmskpd rbx,xmm0
0x37c26f5b991d 477 83e301 andl rbx,0x1
0x37c26f5b9920 480 0f8548000000 jnz 558 (0x37c26f5b996e)
0x37c26f5b9926 486 e9b0feffff jmp 155 (0x37c26f5b97db)
;;; <@78,#114> -------------------- Deferred tagged-to-i --------------------
0x37c26f5b992b 491 4d8b55f8 REX.W movq r10,[r13-0x8] ;; debug: position 1719
0x37c26f5b992f 495 4c3953ff REX.W cmpq [rbx-0x1],r10
0x37c26f5b9933 499 0f853a000000 jnz 563 (0x37c26f5b9973)
0x37c26f5b9939 505 c5fb104307 vmovsd xmm0,[rbx+0x7]
0x37c26f5b993e 510 c5fb2cd8 vcvttsd2si rbx,xmm0
0x37c26f5b9942 514 c5f157c9 vxorpd xmm1,xmm1,xmm1
0x37c26f5b9946 518 c5f32acb vcvtlsi2sd xmm1,xmm1,rbx
0x37c26f5b994a 522 c5f92ec1 vucomisd xmm0,xmm1
0x37c26f5b994e 526 0f8524000000 jnz 568 (0x37c26f5b9978)
0x37c26f5b9954 532 0f8a23000000 jpe 573 (0x37c26f5b997d)
0x37c26f5b995a 538 e9cefeffff jmp 237 (0x37c26f5b982d)
;;; -------------------- Jump table --------------------
0x37c26f5b995f 543 e8f6c6b4ff call 0x37c26f10605a ;; debug: position 83968
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 9
0x37c26f5b9964 548 e8f1c6b4ff call 0x37c26f10605a ;; debug: position 83968
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 9
0x37c26f5b9969 553 e8ecc6b4ff call 0x37c26f10605a ;; debug: position 83968
;; debug: deopt reason 'NaN'
;; deoptimization bailout 9
0x37c26f5b996e 558 e8e7c6b4ff call 0x37c26f10605a ;; debug: position 83968
;; debug: deopt reason 'minus zero'
;; deoptimization bailout 9
0x37c26f5b9973 563 e8ecc6b4ff call 0x37c26f106064 ;; debug: position 91648
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 10
0x37c26f5b9978 568 e8e7c6b4ff call 0x37c26f106064 ;; debug: position 91648
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 10
0x37c26f5b997d 573 e8e2c6b4ff call 0x37c26f106064 ;; debug: position 91648
;; debug: deopt reason 'NaN'
;; deoptimization bailout 10
0x37c26f5b9982 578 6690 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 11)
index ast id argc pc
0 4 0 35
1 67 0 96
2 80 0 121
3 96 0 139
4 133 0 221
5 125 0 -1
6 158 0 296
7 42 0 375
8 40 0 405
9 96 0 -1
10 133 0 -1
Safepoints (size = 96)
0x37c26f5b9763 35 00010000 (sp -> fp) 0
0x37c26f5b9799 89 00010000 (sp -> fp) 1
0x37c26f5b97b2 114 00110000 (sp -> fp) 2
0x37c26f5b97cb 139 01110000 (sp -> fp) 3
0x37c26f5b981d 221 01110000 (sp -> fp) 4
0x37c26f5b9868 296 01010000 (sp -> fp) 6
0x37c26f5b98b7 375 00010000 (sp -> fp) 7
0x37c26f5b98d5 405 00010000 (sp -> fp) 8
RelocInfo (size = 1007)
0x37c26f5b974a position (1540)
0x37c26f5b974a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f5b974a comment (;;; <@8,#5> prologue)
0x37c26f5b974a comment (;;; Prologue begin)
0x37c26f5b974a comment (;;; Prologue end)
0x37c26f5b974a comment (;;; <@12,#7> -------------------- B1 --------------------)
0x37c26f5b974a comment (;;; <@14,#8> context)
0x37c26f5b974e comment (;;; <@15,#8> gap)
0x37c26f5b9752 comment (;;; <@18,#12> -------------------- B2 --------------------)
0x37c26f5b9752 comment (;;; <@19,#12> gap)
0x37c26f5b9755 comment (;;; <@20,#14> stack-check)
0x37c26f5b975f code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f5b9763 comment (;;; <@22,#14> lazy-bailout)
0x37c26f5b9763 comment (;;; <@24,#17> gap)
0x37c26f5b9763 position (1564)
0x37c26f5b9767 comment (;;; <@25,#17> cmp-object-eq-and-branch)
0x37c26f5b9769 embedded object (0x23de51604201 <null>)
0x37c26f5b977a comment (;;; <@26,#21> -------------------- B3 (unreachable/replaced) --------------------)
0x37c26f5b977a position (1579)
0x37c26f5b977a comment (;;; <@30,#24> -------------------- B4 --------------------)
0x37c26f5b977a comment (;;; <@33,#25> cmp-object-eq-and-branch)
0x37c26f5b977c embedded object (0x23de51604381 <undefined>)
0x37c26f5b978d comment (;;; <@34,#29> -------------------- B5 (unreachable/replaced) --------------------)
0x37c26f5b978d position (1639)
0x37c26f5b978d comment (;;; <@38,#46> -------------------- B6 --------------------)
0x37c26f5b978d comment (;;; <@39,#46> gap)
0x37c26f5b9794 comment (;;; <@40,#48> call-with-descriptor)
0x37c26f5b9795 code target (STUB) (0x37c26f431720)
0x37c26f5b9799 comment (;;; <@41,#48> gap)
0x37c26f5b97a0 comment (;;; <@42,#49> lazy-bailout)
0x37c26f5b97a0 comment (;;; <@43,#49> gap)
0x37c26f5b97a8 comment (;;; <@44,#52> call-with-descriptor)
0x37c26f5b97ad position (1661)
0x37c26f5b97ae code target (STUB) (0x37c26f431720)
0x37c26f5b97b2 comment (;;; <@45,#52> gap)
0x37c26f5b97b9 comment (;;; <@46,#53> lazy-bailout)
0x37c26f5b97b9 comment (;;; <@47,#53> gap)
0x37c26f5b97c1 comment (;;; <@48,#55> call-with-descriptor)
0x37c26f5b97c6 position (1684)
0x37c26f5b97c7 code target (STUB) (0x37c26f51b760)
0x37c26f5b97cb comment (;;; <@50,#56> lazy-bailout)
0x37c26f5b97cb comment (;;; <@51,#56> gap)
0x37c26f5b97ce comment (;;; <@52,#112> tagged-to-i)
0x37c26f5b97ce position (1704)
0x37c26f5b97db position (1705)
0x37c26f5b97db comment (;;; <@55,#60> compare-numeric-and-branch)
0x37c26f5b97e4 comment (;;; <@56,#64> -------------------- B7 (unreachable/replaced) --------------------)
0x37c26f5b97e4 position (1701)
0x37c26f5b97e4 comment (;;; <@60,#72> -------------------- B8 --------------------)
0x37c26f5b97e4 comment (;;; <@62,#74> gap)
0x37c26f5b97e7 comment (;;; <@63,#74> goto)
0x37c26f5b97ec comment (;;; <@64,#61> -------------------- B9 (unreachable/replaced) --------------------)
0x37c26f5b97ec position (1710)
0x37c26f5b97ec comment (;;; <@68,#67> -------------------- B10 --------------------)
0x37c26f5b97ec comment (;;; <@70,#71> gap)
0x37c26f5b97ec position (1701)
0x37c26f5b97ee position (1716)
0x37c26f5b97ee comment (;;; <@72,#76> -------------------- B11 --------------------)
0x37c26f5b97f2 comment (;;; <@73,#76> gap)
0x37c26f5b97fa comment (;;; <@74,#79> load-named-generic)
0x37c26f5b97fa position (1719)
0x37c26f5b97fc embedded object (0x23de51604f29 <String[6]: length>)
0x37c26f5b9806 embedded object (0x238c96a58d79 <FixedArray[7]>)
0x37c26f5b9819 code target (LOAD_IC) (0x37c26f551540)
0x37c26f5b981d comment (;;; <@76,#80> lazy-bailout)
0x37c26f5b981d comment (;;; <@77,#80> gap)
0x37c26f5b9820 comment (;;; <@78,#114> tagged-to-i)
0x37c26f5b982d comment (;;; <@80,#81> gap)
0x37c26f5b982d position (1717)
0x37c26f5b9831 comment (;;; <@81,#81> compare-numeric-and-branch)
0x37c26f5b9839 comment (;;; <@82,#85> -------------------- B12 (unreachable/replaced) --------------------)
0x37c26f5b9839 position (1713)
0x37c26f5b9839 comment (;;; <@86,#97> -------------------- B13 --------------------)
0x37c26f5b9839 comment (;;; <@88,#113> smi-tag)
0x37c26f5b9839 position (1761)
0x37c26f5b983f comment (;;; <@90,#99> gap)
0x37c26f5b983f position (1713)
0x37c26f5b9842 comment (;;; <@91,#99> goto)
0x37c26f5b9847 comment (;;; <@92,#82> -------------------- B14 (unreachable/replaced) --------------------)
0x37c26f5b9847 position (1729)
0x37c26f5b9847 comment (;;; <@96,#88> -------------------- B15 --------------------)
0x37c26f5b9847 position (1730)
0x37c26f5b9847 comment (;;; <@99,#90> deoptimize)
0x37c26f5b9847 position (97280)
0x37c26f5b9847 deopt reason (Insufficient type feedback for generic named access)
0x37c26f5b9848 runtime entry
0x37c26f5b984c comment (;;; <@100,#91> -------------------- B16 (unreachable/replaced) --------------------)
0x37c26f5b984c position (1761)
0x37c26f5b984c comment (;;; <@108,#101> -------------------- B17 --------------------)
0x37c26f5b984c comment (;;; <@110,#104> push-argument)
0x37c26f5b984c position (1746)
0x37c26f5b984f comment (;;; <@112,#104> push-argument)
0x37c26f5b9852 comment (;;; <@114,#104> push-argument)
0x37c26f5b9853 comment (;;; <@115,#104> gap)
0x37c26f5b9857 comment (;;; <@116,#105> call-runtime)
0x37c26f5b9864 code target (STUB) (0x37c26f409240)
0x37c26f5b9868 comment (;;; <@118,#106> lazy-bailout)
0x37c26f5b9868 comment (;;; <@120,#108> return)
0x37c26f5b9868 position (1739)
0x37c26f5b986f comment (;;; <@122,#26> -------------------- B18 (unreachable/replaced) --------------------)
0x37c26f5b986f comment (;;; <@126,#18> -------------------- B19 (unreachable/replaced) --------------------)
0x37c26f5b986f position (1598)
0x37c26f5b986f comment (;;; <@130,#32> -------------------- B20 --------------------)
0x37c26f5b986f comment (;;; <@131,#32> gap)
0x37c26f5b9873 comment (;;; <@132,#33> load-context-slot)
0x37c26f5b9877 comment (;;; <@134,#36> push-argument)
0x37c26f5b9879 embedded object (0x23de51604381 <undefined>)
0x37c26f5b9883 comment (;;; <@136,#36> push-argument)
0x37c26f5b988f comment (;;; <@138,#36> push-argument)
0x37c26f5b9891 embedded object (0x238c96a58d29 <String[24]: String.prototype.indexOf>)
0x37c26f5b989b comment (;;; <@140,#117> constant-s)
0x37c26f5b98a5 comment (;;; <@142,#38> constant-t)
0x37c26f5b98a7 embedded object (0x238c96a58d79 <FixedArray[7]>)
0x37c26f5b98af comment (;;; <@143,#38> gap)
0x37c26f5b98b2 comment (;;; <@144,#40> call-with-descriptor)
0x37c26f5b98b3 code target (CALL_IC) (0x37c26f524340)
0x37c26f5b98b7 comment (;;; <@146,#41> lazy-bailout)
0x37c26f5b98b7 comment (;;; <@148,#42> push-argument)
0x37c26f5b98b7 position (1592)
0x37c26f5b98b8 comment (;;; <@149,#42> gap)
0x37c26f5b98bc comment (;;; <@150,#43> call-runtime)
0x37c26f5b98d1 code target (STUB) (0x37c26f409240)
0x37c26f5b98d5 comment (;;; <@152,#44> lazy-bailout)
0x37c26f5b98e2 position (1704)
0x37c26f5b98e2 comment (;;; <@52,#112> -------------------- Deferred tagged-to-i --------------------)
0x37c26f5b992b position (1719)
0x37c26f5b992b comment (;;; <@78,#114> -------------------- Deferred tagged-to-i --------------------)
0x37c26f5b995f comment (;;; -------------------- Jump table --------------------)
0x37c26f5b995f position (83968)
0x37c26f5b995f deopt reason (not a heap number)
0x37c26f5b9960 runtime entry (deoptimization bailout 9)
0x37c26f5b9964 position (83968)
0x37c26f5b9964 deopt reason (lost precision)
0x37c26f5b9965 runtime entry (deoptimization bailout 9)
0x37c26f5b9969 position (83968)
0x37c26f5b9969 deopt reason (NaN)
0x37c26f5b996a runtime entry (deoptimization bailout 9)
0x37c26f5b996e position (83968)
0x37c26f5b996e deopt reason (minus zero)
0x37c26f5b996f runtime entry (deoptimization bailout 9)
0x37c26f5b9973 position (91648)
0x37c26f5b9973 deopt reason (not a heap number)
0x37c26f5b9974 runtime entry (deoptimization bailout 10)
0x37c26f5b9978 position (91648)
0x37c26f5b9978 deopt reason (lost precision)
0x37c26f5b9979 runtime entry (deoptimization bailout 10)
0x37c26f5b997d position (91648)
0x37c26f5b997d deopt reason (NaN)
0x37c26f5b997e runtime entry (deoptimization bailout 10)
0x37c26f5b9984 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (fs.Stats) id{9,0} ---
(
dev,
mode,
nlink,
uid,
gid,
rdev,
blksize,
ino,
size,
blocks,
atim_msec,
mtim_msec,
ctim_msec,
birthtim_msec) {
this.dev = dev;
this.mode = mode;
this.nlink = nlink;
this.uid = uid;
this.gid = gid;
this.rdev = rdev;
this.blksize = blksize;
this.ino = ino;
this.size = size;
this.blocks = blocks;
this.atime = new Date(atim_msec);
this.mtime = new Date(mtim_msec);
this.ctime = new Date(ctim_msec);
this.birthtime = new Date(birthtim_msec);
}
--- END ---
--- Raw source ---
(
dev,
mode,
nlink,
uid,
gid,
rdev,
blksize,
ino,
size,
blocks,
atim_msec,
mtim_msec,
ctim_msec,
birthtim_msec) {
this.dev = dev;
this.mode = mode;
this.nlink = nlink;
this.uid = uid;
this.gid = gid;
this.rdev = rdev;
this.blksize = blksize;
this.ino = ino;
this.size = size;
this.blocks = blocks;
this.atime = new Date(atim_msec);
this.mtime = new Date(mtim_msec);
this.ctime = new Date(ctim_msec);
this.birthtime = new Date(birthtim_msec);
};
--- Optimized code ---
optimization_id = 9
source_position = 4337
kind = OPTIMIZED_FUNCTION
name = fs.Stats
stack_slots = 5
compiler = crankshaft
Instructions (size = 1551)
0x37c26f5bf220 0 55 push rbp
0x37c26f5bf221 1 4889e5 REX.W movq rbp,rsp
0x37c26f5bf224 4 56 push rsi
0x37c26f5bf225 5 57 push rdi
0x37c26f5bf226 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@32,#17> prologue
;;; Prologue begin
;;; Prologue end
;;; <@36,#19> -------------------- B1 --------------------
;;; <@38,#20> context
0x37c26f5bf22a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 4337
;;; <@39,#20> gap
0x37c26f5bf22e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@42,#24> -------------------- B2 --------------------
;;; <@43,#24> gap
0x37c26f5bf232 18 488bf0 REX.W movq rsi,rax
;;; <@44,#26> stack-check
0x37c26f5bf235 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f5bf23c 28 7305 jnc 35 (0x37c26f5bf243)
0x37c26f5bf23e 30 e89dd9e7ff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@46,#26> lazy-bailout
;;; <@47,#26> gap
0x37c26f5bf243 35 488b9d80000000 REX.W movq rbx,[rbp+0x80]
;;; <@48,#28> check-non-smi
0x37c26f5bf24a 42 f6c301 testb rbx,0x1 ;; debug: position 4518
0x37c26f5bf24d 45 0f8423050000 jz 1366 (0x37c26f5bf776)
;;; <@50,#29> check-maps
0x37c26f5bf253 51 49baa9ace1eadf370000 REX.W movq r10,0x37dfeae1aca9 ;; object: 0x37dfeae1aca9 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5bf25d 61 4c3953ff REX.W cmpq [rbx-0x1],r10
0x37c26f5bf261 65 0f8514050000 jnz 1371 (0x37c26f5bf77b)
;;; <@52,#31> check-maps
;;; <@54,#33> check-maps
;;; <@55,#33> gap
0x37c26f5bf267 71 488b4578 REX.W movq rax,[rbp+0x78]
;;; <@56,#189> check-smi
0x37c26f5bf26b 75 a801 test al,0x1
0x37c26f5bf26d 77 0f850d050000 jnz 1376 (0x37c26f5bf780)
;;; <@58,#35> store-named-field
0x37c26f5bf273 83 49ba01ade1eadf370000 REX.W movq r10,0x37dfeae1ad01 ;; object: 0x37dfeae1ad01 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5bf27d 93 4c8953ff REX.W movq [rbx-0x1],r10
0x37c26f5bf281 97 488d53ff REX.W leaq rdx,[rbx-0x1]
0x37c26f5bf285 101 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x37c26f5bf28c 108 41f6420802 testb [r10+0x8],0x2
0x37c26f5bf291 113 7405 jz 120 (0x37c26f5bf298)
0x37c26f5bf293 115 e888f2ffff call 0x37c26f5be520 ;; code: STUB, RecordWriteStub, minor: 12963
0x37c26f5bf298 120 48894317 REX.W movq [rbx+0x17],rax
;;; <@59,#35> gap
0x37c26f5bf29c 124 488b4570 REX.W movq rax,[rbp+0x70]
;;; <@60,#190> check-smi
0x37c26f5bf2a0 128 a801 test al,0x1 ;; debug: position 4537
0x37c26f5bf2a2 130 0f85dd040000 jnz 1381 (0x37c26f5bf785)
;;; <@62,#44> store-named-field
0x37c26f5bf2a8 136 49ba59ade1eadf370000 REX.W movq r10,0x37dfeae1ad59 ;; object: 0x37dfeae1ad59 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5bf2b2 146 4c8953ff REX.W movq [rbx-0x1],r10
0x37c26f5bf2b6 150 488d53ff REX.W leaq rdx,[rbx-0x1]
0x37c26f5bf2ba 154 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x37c26f5bf2c1 161 41f6420802 testb [r10+0x8],0x2
0x37c26f5bf2c6 166 7405 jz 173 (0x37c26f5bf2cd)
0x37c26f5bf2c8 168 e853f2ffff call 0x37c26f5be520 ;; code: STUB, RecordWriteStub, minor: 12963
0x37c26f5bf2cd 173 4889431f REX.W movq [rbx+0x1f],rax
;;; <@63,#44> gap
0x37c26f5bf2d1 177 488b4568 REX.W movq rax,[rbp+0x68]
;;; <@64,#191> check-smi
0x37c26f5bf2d5 181 a801 test al,0x1 ;; debug: position 4558
0x37c26f5bf2d7 183 0f85ad040000 jnz 1386 (0x37c26f5bf78a)
;;; <@66,#53> store-named-field
0x37c26f5bf2dd 189 49bab1ade1eadf370000 REX.W movq r10,0x37dfeae1adb1 ;; object: 0x37dfeae1adb1 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5bf2e7 199 4c8953ff REX.W movq [rbx-0x1],r10
0x37c26f5bf2eb 203 488d53ff REX.W leaq rdx,[rbx-0x1]
0x37c26f5bf2ef 207 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x37c26f5bf2f6 214 41f6420802 testb [r10+0x8],0x2
0x37c26f5bf2fb 219 7405 jz 226 (0x37c26f5bf302)
0x37c26f5bf2fd 221 e81ef2ffff call 0x37c26f5be520 ;; code: STUB, RecordWriteStub, minor: 12963
0x37c26f5bf302 226 48894327 REX.W movq [rbx+0x27],rax
;;; <@67,#53> gap
0x37c26f5bf306 230 488b4560 REX.W movq rax,[rbp+0x60]
;;; <@68,#192> check-smi
0x37c26f5bf30a 234 a801 test al,0x1 ;; debug: position 4578
0x37c26f5bf30c 236 0f857d040000 jnz 1391 (0x37c26f5bf78f)
;;; <@70,#62> store-named-field
0x37c26f5bf312 242 49ba09aee1eadf370000 REX.W movq r10,0x37dfeae1ae09 ;; object: 0x37dfeae1ae09 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5bf31c 252 4c8953ff REX.W movq [rbx-0x1],r10
0x37c26f5bf320 256 488d53ff REX.W leaq rdx,[rbx-0x1]
0x37c26f5bf324 260 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x37c26f5bf32b 267 41f6420802 testb [r10+0x8],0x2
0x37c26f5bf330 272 7405 jz 279 (0x37c26f5bf337)
0x37c26f5bf332 274 e8e9f1ffff call 0x37c26f5be520 ;; code: STUB, RecordWriteStub, minor: 12963
0x37c26f5bf337 279 4889432f REX.W movq [rbx+0x2f],rax
;;; <@71,#62> gap
0x37c26f5bf33b 283 488b4558 REX.W movq rax,[rbp+0x58]
;;; <@72,#193> check-smi
0x37c26f5bf33f 287 a801 test al,0x1 ;; debug: position 4596
0x37c26f5bf341 289 0f854d040000 jnz 1396 (0x37c26f5bf794)
;;; <@74,#71> store-named-field
0x37c26f5bf347 295 49ba61aee1eadf370000 REX.W movq r10,0x37dfeae1ae61 ;; object: 0x37dfeae1ae61 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5bf351 305 4c8953ff REX.W movq [rbx-0x1],r10
0x37c26f5bf355 309 488d53ff REX.W leaq rdx,[rbx-0x1]
0x37c26f5bf359 313 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x37c26f5bf360 320 41f6420802 testb [r10+0x8],0x2
0x37c26f5bf365 325 7405 jz 332 (0x37c26f5bf36c)
0x37c26f5bf367 327 e8b4f1ffff call 0x37c26f5be520 ;; code: STUB, RecordWriteStub, minor: 12963
0x37c26f5bf36c 332 48894337 REX.W movq [rbx+0x37],rax
;;; <@75,#71> gap
0x37c26f5bf370 336 488b4550 REX.W movq rax,[rbp+0x50]
;;; <@76,#194> check-smi
0x37c26f5bf374 340 a801 test al,0x1 ;; debug: position 4615
0x37c26f5bf376 342 0f851d040000 jnz 1401 (0x37c26f5bf799)
;;; <@78,#80> store-named-field
0x37c26f5bf37c 348 49bab9aee1eadf370000 REX.W movq r10,0x37dfeae1aeb9 ;; object: 0x37dfeae1aeb9 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5bf386 358 4c8953ff REX.W movq [rbx-0x1],r10
0x37c26f5bf38a 362 488d53ff REX.W leaq rdx,[rbx-0x1]
0x37c26f5bf38e 366 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x37c26f5bf395 373 41f6420802 testb [r10+0x8],0x2
0x37c26f5bf39a 378 7405 jz 385 (0x37c26f5bf3a1)
0x37c26f5bf39c 380 e87ff1ffff call 0x37c26f5be520 ;; code: STUB, RecordWriteStub, minor: 12963
0x37c26f5bf3a1 385 4889433f REX.W movq [rbx+0x3f],rax
;;; <@79,#80> gap
0x37c26f5bf3a5 389 488b4548 REX.W movq rax,[rbp+0x48]
;;; <@80,#195> check-smi
0x37c26f5bf3a9 393 a801 test al,0x1 ;; debug: position 4638
0x37c26f5bf3ab 395 0f85ed030000 jnz 1406 (0x37c26f5bf79e)
;;; <@82,#89> store-named-field
0x37c26f5bf3b1 401 49ba11afe1eadf370000 REX.W movq r10,0x37dfeae1af11 ;; object: 0x37dfeae1af11 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5bf3bb 411 4c8953ff REX.W movq [rbx-0x1],r10
0x37c26f5bf3bf 415 488d53ff REX.W leaq rdx,[rbx-0x1]
0x37c26f5bf3c3 419 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x37c26f5bf3ca 426 41f6420802 testb [r10+0x8],0x2
0x37c26f5bf3cf 431 7405 jz 438 (0x37c26f5bf3d6)
0x37c26f5bf3d1 433 e84af1ffff call 0x37c26f5be520 ;; code: STUB, RecordWriteStub, minor: 12963
0x37c26f5bf3d6 438 48894347 REX.W movq [rbx+0x47],rax
;;; <@83,#89> gap
0x37c26f5bf3da 442 488b4540 REX.W movq rax,[rbp+0x40]
;;; <@84,#196> check-smi
0x37c26f5bf3de 446 a801 test al,0x1 ;; debug: position 4660
0x37c26f5bf3e0 448 0f85bd030000 jnz 1411 (0x37c26f5bf7a3)
;;; <@86,#98> store-named-field
0x37c26f5bf3e6 454 49ba69afe1eadf370000 REX.W movq r10,0x37dfeae1af69 ;; object: 0x37dfeae1af69 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5bf3f0 464 4c8953ff REX.W movq [rbx-0x1],r10
0x37c26f5bf3f4 468 488d53ff REX.W leaq rdx,[rbx-0x1]
0x37c26f5bf3f8 472 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x37c26f5bf3ff 479 41f6420802 testb [r10+0x8],0x2
0x37c26f5bf404 484 7405 jz 491 (0x37c26f5bf40b)
0x37c26f5bf406 486 e815f1ffff call 0x37c26f5be520 ;; code: STUB, RecordWriteStub, minor: 12963
0x37c26f5bf40b 491 4889434f REX.W movq [rbx+0x4f],rax
;;; <@87,#98> gap
0x37c26f5bf40f 495 488b4538 REX.W movq rax,[rbp+0x38]
;;; <@88,#197> check-smi
0x37c26f5bf413 499 a801 test al,0x1 ;; debug: position 4679
0x37c26f5bf415 501 0f858d030000 jnz 1416 (0x37c26f5bf7a8)
;;; <@90,#107> store-named-field
0x37c26f5bf41b 507 49bac1afe1eadf370000 REX.W movq r10,0x37dfeae1afc1 ;; object: 0x37dfeae1afc1 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5bf425 517 4c8953ff REX.W movq [rbx-0x1],r10
0x37c26f5bf429 521 488d53ff REX.W leaq rdx,[rbx-0x1]
0x37c26f5bf42d 525 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x37c26f5bf434 532 41f6420802 testb [r10+0x8],0x2
0x37c26f5bf439 537 7405 jz 544 (0x37c26f5bf440)
0x37c26f5bf43b 539 e8e0f0ffff call 0x37c26f5be520 ;; code: STUB, RecordWriteStub, minor: 12963
0x37c26f5bf440 544 48894357 REX.W movq [rbx+0x57],rax
;;; <@91,#107> gap
0x37c26f5bf444 548 488b4530 REX.W movq rax,[rbp+0x30]
;;; <@92,#198> check-smi
0x37c26f5bf448 552 a801 test al,0x1 ;; debug: position 4701
0x37c26f5bf44a 554 0f855d030000 jnz 1421 (0x37c26f5bf7ad)
;;; <@94,#116> store-named-field
0x37c26f5bf450 560 49ba19b0e1eadf370000 REX.W movq r10,0x37dfeae1b019 ;; object: 0x37dfeae1b019 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5bf45a 570 4c8953ff REX.W movq [rbx-0x1],r10
0x37c26f5bf45e 574 488d53ff REX.W leaq rdx,[rbx-0x1]
0x37c26f5bf462 578 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x37c26f5bf469 585 41f6420802 testb [r10+0x8],0x2
0x37c26f5bf46e 590 7405 jz 597 (0x37c26f5bf475)
0x37c26f5bf470 592 e8abf0ffff call 0x37c26f5be520 ;; code: STUB, RecordWriteStub, minor: 12963
0x37c26f5bf475 597 4889435f REX.W movq [rbx+0x5f],rax
;;; <@96,#121> push-argument
0x37c26f5bf479 601 49ba31f16b51de230000 REX.W movq r10,0x23de516bf131 ;; debug: position 4726
;; object: 0x23de516bf131 <JS Function Date (SharedFunctionInfo 0x23de516856d9)>
0x37c26f5bf483 611 4152 push r10
;;; <@97,#121> gap
0x37c26f5bf485 613 488b4d28 REX.W movq rcx,[rbp+0x28]
;;; <@98,#121> push-argument
0x37c26f5bf489 617 51 push rcx
;;; <@100,#118> constant-t
0x37c26f5bf48a 618 48ba31f16b51de230000 REX.W movq rdx,0x23de516bf131 ;; debug: position 4730
;; object: 0x23de516bf131 <JS Function Date (SharedFunctionInfo 0x23de516856d9)>
;;; <@102,#118> constant-t
0x37c26f5bf494 628 48ba31f16b51de230000 REX.W movq rdx,0x23de516bf131 ;; object: 0x23de516bf131 <JS Function Date (SharedFunctionInfo 0x23de516856d9)>
;;; <@104,#119> constant-i
0x37c26f5bf49e 638 b801000000 movl rax,0x1 ;; debug: position 4726
;;; <@105,#119> gap
0x37c26f5bf4a3 643 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f5bf4a7 647 488bfa REX.W movq rdi,rdx
;;; <@106,#122> call-with-descriptor
0x37c26f5bf4aa 650 e8319be4ff call Construct (0x37c26f408fe0) ;; code: BUILTIN
;;; <@108,#123> lazy-bailout
;;; <@109,#123> gap
0x37c26f5bf4af 655 488b9d80000000 REX.W movq rbx,[rbp+0x80]
;;; <@110,#125> check-maps
0x37c26f5bf4b6 662 49ba19b0e1eadf370000 REX.W movq r10,0x37dfeae1b019 ;; debug: position 4724
;; object: 0x37dfeae1b019 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5bf4c0 672 4c3953ff REX.W cmpq [rbx-0x1],r10
0x37c26f5bf4c4 676 0f85e8020000 jnz 1426 (0x37c26f5bf7b2)
;;; <@112,#130> check-non-smi
0x37c26f5bf4ca 682 a801 test al,0x1
0x37c26f5bf4cc 684 0f84e5020000 jz 1431 (0x37c26f5bf7b7)
;;; <@114,#131> check-maps
0x37c26f5bf4d2 690 49bae18a808f7a200000 REX.W movq r10,0x207a8f808ae1 ;; object: 0x207a8f808ae1 <Map(FAST_HOLEY_SMI_ELEMENTS)>
0x37c26f5bf4dc 700 4c3950ff REX.W cmpq [rax-0x1],r10
0x37c26f5bf4e0 704 0f85d6020000 jnz 1436 (0x37c26f5bf7bc)
;;; <@116,#133> store-named-field
0x37c26f5bf4e6 710 49ba71b0e1eadf370000 REX.W movq r10,0x37dfeae1b071 ;; object: 0x37dfeae1b071 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5bf4f0 720 4c8953ff REX.W movq [rbx-0x1],r10
0x37c26f5bf4f4 724 488d53ff REX.W leaq rdx,[rbx-0x1]
0x37c26f5bf4f8 728 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x37c26f5bf4ff 735 41f6420802 testb [r10+0x8],0x2
0x37c26f5bf504 740 7405 jz 747 (0x37c26f5bf50b)
0x37c26f5bf506 742 e815f0ffff call 0x37c26f5be520 ;; code: STUB, RecordWriteStub, minor: 12963
0x37c26f5bf50b 747 48894367 REX.W movq [rbx+0x67],rax
0x37c26f5bf50f 751 488d5367 REX.W leaq rdx,[rbx+0x67]
0x37c26f5bf513 755 48250000f0ff REX.W and rax,0xfffffffffff00000
0x37c26f5bf519 761 f6400802 testb [rax+0x8],0x2
0x37c26f5bf51d 765 7415 jz 788 (0x37c26f5bf534)
0x37c26f5bf51f 767 48c7c00000f0ff REX.W movq rax,0xfff00000
0x37c26f5bf526 774 4823c3 REX.W andq rax,rbx
0x37c26f5bf529 777 f6400804 testb [rax+0x8],0x4
0x37c26f5bf52d 781 7405 jz 788 (0x37c26f5bf534)
0x37c26f5bf52f 783 e8ecf3ffff call 0x37c26f5be920 ;; code: STUB, RecordWriteStub, minor: 8707
;;; <@118,#138> push-argument
0x37c26f5bf534 788 49ba31f16b51de230000 REX.W movq r10,0x23de516bf131 ;; debug: position 4762
;; object: 0x23de516bf131 <JS Function Date (SharedFunctionInfo 0x23de516856d9)>
0x37c26f5bf53e 798 4152 push r10
;;; <@119,#138> gap
0x37c26f5bf540 800 488b4d20 REX.W movq rcx,[rbp+0x20]
;;; <@120,#138> push-argument
0x37c26f5bf544 804 51 push rcx
;;; <@122,#118> constant-t
0x37c26f5bf545 805 48ba31f16b51de230000 REX.W movq rdx,0x23de516bf131 ;; debug: position 4730
;; object: 0x23de516bf131 <JS Function Date (SharedFunctionInfo 0x23de516856d9)>
;;; <@124,#118> constant-t
0x37c26f5bf54f 815 48ba31f16b51de230000 REX.W movq rdx,0x23de516bf131 ;; object: 0x23de516bf131 <JS Function Date (SharedFunctionInfo 0x23de516856d9)>
;;; <@126,#119> constant-i
0x37c26f5bf559 825 b801000000 movl rax,0x1 ;; debug: position 4726
;;; <@127,#119> gap
0x37c26f5bf55e 830 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f5bf562 834 488bfa REX.W movq rdi,rdx
;;; <@128,#139> call-with-descriptor
0x37c26f5bf565 837 e8769ae4ff call Construct (0x37c26f408fe0) ;; debug: position 4762
;; code: BUILTIN
;;; <@130,#140> lazy-bailout
;;; <@131,#140> gap
0x37c26f5bf56a 842 488b9d80000000 REX.W movq rbx,[rbp+0x80]
;;; <@132,#142> check-maps
0x37c26f5bf571 849 49ba71b0e1eadf370000 REX.W movq r10,0x37dfeae1b071 ;; debug: position 4760
;; object: 0x37dfeae1b071 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5bf57b 859 4c3953ff REX.W cmpq [rbx-0x1],r10
0x37c26f5bf57f 863 0f853c020000 jnz 1441 (0x37c26f5bf7c1)
;;; <@134,#147> check-non-smi
0x37c26f5bf585 869 a801 test al,0x1
0x37c26f5bf587 871 0f8439020000 jz 1446 (0x37c26f5bf7c6)
;;; <@136,#148> check-maps
0x37c26f5bf58d 877 49bae18a808f7a200000 REX.W movq r10,0x207a8f808ae1 ;; object: 0x207a8f808ae1 <Map(FAST_HOLEY_SMI_ELEMENTS)>
0x37c26f5bf597 887 4c3950ff REX.W cmpq [rax-0x1],r10
0x37c26f5bf59b 891 0f852a020000 jnz 1451 (0x37c26f5bf7cb)
;;; <@138,#150> store-named-field
0x37c26f5bf5a1 897 49bac9b0e1eadf370000 REX.W movq r10,0x37dfeae1b0c9 ;; object: 0x37dfeae1b0c9 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5bf5ab 907 4c8953ff REX.W movq [rbx-0x1],r10
0x37c26f5bf5af 911 488d53ff REX.W leaq rdx,[rbx-0x1]
0x37c26f5bf5b3 915 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x37c26f5bf5ba 922 41f6420802 testb [r10+0x8],0x2
0x37c26f5bf5bf 927 7405 jz 934 (0x37c26f5bf5c6)
0x37c26f5bf5c1 929 e85aefffff call 0x37c26f5be520 ;; code: STUB, RecordWriteStub, minor: 12963
0x37c26f5bf5c6 934 4889436f REX.W movq [rbx+0x6f],rax
0x37c26f5bf5ca 938 488d536f REX.W leaq rdx,[rbx+0x6f]
0x37c26f5bf5ce 942 48250000f0ff REX.W and rax,0xfffffffffff00000
0x37c26f5bf5d4 948 f6400802 testb [rax+0x8],0x2
0x37c26f5bf5d8 952 7415 jz 975 (0x37c26f5bf5ef)
0x37c26f5bf5da 954 48c7c00000f0ff REX.W movq rax,0xfff00000
0x37c26f5bf5e1 961 4823c3 REX.W andq rax,rbx
0x37c26f5bf5e4 964 f6400804 testb [rax+0x8],0x4
0x37c26f5bf5e8 968 7405 jz 975 (0x37c26f5bf5ef)
0x37c26f5bf5ea 970 e831f3ffff call 0x37c26f5be920 ;; code: STUB, RecordWriteStub, minor: 8707
;;; <@140,#155> push-argument
0x37c26f5bf5ef 975 49ba31f16b51de230000 REX.W movq r10,0x23de516bf131 ;; debug: position 4798
;; object: 0x23de516bf131 <JS Function Date (SharedFunctionInfo 0x23de516856d9)>
0x37c26f5bf5f9 985 4152 push r10
;;; <@141,#155> gap
0x37c26f5bf5fb 987 488b4d18 REX.W movq rcx,[rbp+0x18]
;;; <@142,#155> push-argument
0x37c26f5bf5ff 991 51 push rcx
;;; <@144,#118> constant-t
0x37c26f5bf600 992 48ba31f16b51de230000 REX.W movq rdx,0x23de516bf131 ;; debug: position 4730
;; object: 0x23de516bf131 <JS Function Date (SharedFunctionInfo 0x23de516856d9)>
;;; <@146,#118> constant-t
0x37c26f5bf60a 1002 48ba31f16b51de230000 REX.W movq rdx,0x23de516bf131 ;; object: 0x23de516bf131 <JS Function Date (SharedFunctionInfo 0x23de516856d9)>
;;; <@148,#119> constant-i
0x37c26f5bf614 1012 b801000000 movl rax,0x1 ;; debug: position 4726
;;; <@149,#119> gap
0x37c26f5bf619 1017 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f5bf61d 1021 488bfa REX.W movq rdi,rdx
;;; <@150,#156> call-with-descriptor
0x37c26f5bf620 1024 e8bb99e4ff call Construct (0x37c26f408fe0) ;; debug: position 4798
;; code: BUILTIN
;;; <@152,#157> lazy-bailout
;;; <@153,#157> gap
0x37c26f5bf625 1029 488b9d80000000 REX.W movq rbx,[rbp+0x80]
;;; <@154,#159> check-maps
0x37c26f5bf62c 1036 49bac9b0e1eadf370000 REX.W movq r10,0x37dfeae1b0c9 ;; debug: position 4796
;; object: 0x37dfeae1b0c9 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5bf636 1046 4c3953ff REX.W cmpq [rbx-0x1],r10
0x37c26f5bf63a 1050 0f8590010000 jnz 1456 (0x37c26f5bf7d0)
;;; <@156,#164> check-non-smi
0x37c26f5bf640 1056 a801 test al,0x1
0x37c26f5bf642 1058 0f848d010000 jz 1461 (0x37c26f5bf7d5)
;;; <@158,#165> check-maps
0x37c26f5bf648 1064 49bae18a808f7a200000 REX.W movq r10,0x207a8f808ae1 ;; object: 0x207a8f808ae1 <Map(FAST_HOLEY_SMI_ELEMENTS)>
0x37c26f5bf652 1074 4c3950ff REX.W cmpq [rax-0x1],r10
0x37c26f5bf656 1078 0f857e010000 jnz 1466 (0x37c26f5bf7da)
;;; <@160,#167> store-named-field
0x37c26f5bf65c 1084 49ba21b1e1eadf370000 REX.W movq r10,0x37dfeae1b121 ;; object: 0x37dfeae1b121 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5bf666 1094 4c8953ff REX.W movq [rbx-0x1],r10
0x37c26f5bf66a 1098 488d53ff REX.W leaq rdx,[rbx-0x1]
0x37c26f5bf66e 1102 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x37c26f5bf675 1109 41f6420802 testb [r10+0x8],0x2
0x37c26f5bf67a 1114 7405 jz 1121 (0x37c26f5bf681)
0x37c26f5bf67c 1116 e89feeffff call 0x37c26f5be520 ;; code: STUB, RecordWriteStub, minor: 12963
0x37c26f5bf681 1121 48894377 REX.W movq [rbx+0x77],rax
0x37c26f5bf685 1125 488d5377 REX.W leaq rdx,[rbx+0x77]
0x37c26f5bf689 1129 48250000f0ff REX.W and rax,0xfffffffffff00000
0x37c26f5bf68f 1135 f6400802 testb [rax+0x8],0x2
0x37c26f5bf693 1139 7415 jz 1162 (0x37c26f5bf6aa)
0x37c26f5bf695 1141 48c7c00000f0ff REX.W movq rax,0xfff00000
0x37c26f5bf69c 1148 4823c3 REX.W andq rax,rbx
0x37c26f5bf69f 1151 f6400804 testb [rax+0x8],0x4
0x37c26f5bf6a3 1155 7405 jz 1162 (0x37c26f5bf6aa)
0x37c26f5bf6a5 1157 e876f2ffff call 0x37c26f5be920 ;; code: STUB, RecordWriteStub, minor: 8707
;;; <@162,#172> push-argument
0x37c26f5bf6aa 1162 49ba31f16b51de230000 REX.W movq r10,0x23de516bf131 ;; debug: position 4838
;; object: 0x23de516bf131 <JS Function Date (SharedFunctionInfo 0x23de516856d9)>
0x37c26f5bf6b4 1172 4152 push r10
;;; <@163,#172> gap
0x37c26f5bf6b6 1174 488b4d10 REX.W movq rcx,[rbp+0x10]
;;; <@164,#172> push-argument
0x37c26f5bf6ba 1178 51 push rcx
;;; <@166,#118> constant-t
0x37c26f5bf6bb 1179 48ba31f16b51de230000 REX.W movq rdx,0x23de516bf131 ;; debug: position 4730
;; object: 0x23de516bf131 <JS Function Date (SharedFunctionInfo 0x23de516856d9)>
;;; <@168,#118> constant-t
0x37c26f5bf6c5 1189 48ba31f16b51de230000 REX.W movq rdx,0x23de516bf131 ;; object: 0x23de516bf131 <JS Function Date (SharedFunctionInfo 0x23de516856d9)>
;;; <@170,#119> constant-i
0x37c26f5bf6cf 1199 b801000000 movl rax,0x1 ;; debug: position 4726
;;; <@171,#119> gap
0x37c26f5bf6d4 1204 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f5bf6d8 1208 488bfa REX.W movq rdi,rdx
;;; <@172,#173> call-with-descriptor
0x37c26f5bf6db 1211 e80099e4ff call Construct (0x37c26f408fe0) ;; debug: position 4838
;; code: BUILTIN
;;; <@174,#174> lazy-bailout
;;; <@175,#174> gap
0x37c26f5bf6e0 1216 488b9d80000000 REX.W movq rbx,[rbp+0x80]
;;; <@176,#176> check-maps
0x37c26f5bf6e7 1223 49ba21b1e1eadf370000 REX.W movq r10,0x37dfeae1b121 ;; debug: position 4836
;; object: 0x37dfeae1b121 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5bf6f1 1233 4c3953ff REX.W cmpq [rbx-0x1],r10
0x37c26f5bf6f5 1237 0f85e4000000 jnz 1471 (0x37c26f5bf7df)
;;; <@178,#181> check-non-smi
0x37c26f5bf6fb 1243 a801 test al,0x1
0x37c26f5bf6fd 1245 0f84e1000000 jz 1476 (0x37c26f5bf7e4)
;;; <@180,#182> check-maps
0x37c26f5bf703 1251 49bae18a808f7a200000 REX.W movq r10,0x207a8f808ae1 ;; object: 0x207a8f808ae1 <Map(FAST_HOLEY_SMI_ELEMENTS)>
0x37c26f5bf70d 1261 4c3950ff REX.W cmpq [rax-0x1],r10
0x37c26f5bf711 1265 0f85d2000000 jnz 1481 (0x37c26f5bf7e9)
;;; <@182,#184> store-named-field
0x37c26f5bf717 1271 49ba79b1e1eadf370000 REX.W movq r10,0x37dfeae1b179 ;; object: 0x37dfeae1b179 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5bf721 1281 4c8953ff REX.W movq [rbx-0x1],r10
0x37c26f5bf725 1285 488d53ff REX.W leaq rdx,[rbx-0x1]
0x37c26f5bf729 1289 4981e20000f0ff REX.W andq r10,0xfffffffffff00000
0x37c26f5bf730 1296 41f6420802 testb [r10+0x8],0x2
0x37c26f5bf735 1301 7405 jz 1308 (0x37c26f5bf73c)
0x37c26f5bf737 1303 e8e4edffff call 0x37c26f5be520 ;; code: STUB, RecordWriteStub, minor: 12963
0x37c26f5bf73c 1308 4889437f REX.W movq [rbx+0x7f],rax
0x37c26f5bf740 1312 488d537f REX.W leaq rdx,[rbx+0x7f]
0x37c26f5bf744 1316 48250000f0ff REX.W and rax,0xfffffffffff00000
0x37c26f5bf74a 1322 f6400802 testb [rax+0x8],0x2
0x37c26f5bf74e 1326 7415 jz 1349 (0x37c26f5bf765)
0x37c26f5bf750 1328 48c7c00000f0ff REX.W movq rax,0xfff00000
0x37c26f5bf757 1335 4823c3 REX.W andq rax,rbx
0x37c26f5bf75a 1338 f6400804 testb [rax+0x8],0x4
0x37c26f5bf75e 1342 7405 jz 1349 (0x37c26f5bf765)
0x37c26f5bf760 1344 e8bbf1ffff call 0x37c26f5be920 ;; code: STUB, RecordWriteStub, minor: 8707
;;; <@184,#16> constant-t
0x37c26f5bf765 1349 48b881436051de230000 REX.W movq rax,0x23de51604381 ;; debug: position 4337
;; object: 0x23de51604381 <undefined>
;;; <@186,#187> return
0x37c26f5bf76f 1359 488be5 REX.W movq rsp,rbp
0x37c26f5bf772 1362 5d pop rbp
0x37c26f5bf773 1363 c27800 ret 0x78
;;; -------------------- Jump table --------------------
0x37c26f5bf776 1366 e88f68b4ff call 0x37c26f10600a ;; debug: position 92672
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x37c26f5bf77b 1371 e89468b4ff call 0x37c26f106014 ;; debug: position 92672
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 2
0x37c26f5bf780 1376 e89968b4ff call 0x37c26f10601e ;; debug: position 92672
;; debug: deopt reason 'not a Smi'
;; deoptimization bailout 3
0x37c26f5bf785 1381 e89e68b4ff call 0x37c26f106028 ;; debug: position 102400
;; debug: deopt reason 'not a Smi'
;; deoptimization bailout 4
0x37c26f5bf78a 1386 e8a368b4ff call 0x37c26f106032 ;; debug: position 113152
;; debug: deopt reason 'not a Smi'
;; deoptimization bailout 5
0x37c26f5bf78f 1391 e8a868b4ff call 0x37c26f10603c ;; debug: position 123392
;; debug: deopt reason 'not a Smi'
;; deoptimization bailout 6
0x37c26f5bf794 1396 e8ad68b4ff call 0x37c26f106046 ;; debug: position 132608
;; debug: deopt reason 'not a Smi'
;; deoptimization bailout 7
0x37c26f5bf799 1401 e8b268b4ff call 0x37c26f106050 ;; debug: position 142336
;; debug: deopt reason 'not a Smi'
;; deoptimization bailout 8
0x37c26f5bf79e 1406 e8b768b4ff call 0x37c26f10605a ;; debug: position 154112
;; debug: deopt reason 'not a Smi'
;; deoptimization bailout 9
0x37c26f5bf7a3 1411 e8bc68b4ff call 0x37c26f106064 ;; debug: position 165376
;; debug: deopt reason 'not a Smi'
;; deoptimization bailout 10
0x37c26f5bf7a8 1416 e8c168b4ff call 0x37c26f10606e ;; debug: position 175104
;; debug: deopt reason 'not a Smi'
;; deoptimization bailout 11
0x37c26f5bf7ad 1421 e8c668b4ff call 0x37c26f106078 ;; debug: position 186368
;; debug: deopt reason 'not a Smi'
;; deoptimization bailout 12
0x37c26f5bf7b2 1426 e8d568b4ff call 0x37c26f10608c ;; debug: position 198144
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 14
0x37c26f5bf7b7 1431 e8da68b4ff call 0x37c26f106096 ;; debug: position 198144
;; debug: deopt reason 'Smi'
;; deoptimization bailout 15
0x37c26f5bf7bc 1436 e8df68b4ff call 0x37c26f1060a0 ;; debug: position 198144
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 16
0x37c26f5bf7c1 1441 e8ee68b4ff call 0x37c26f1060b4 ;; debug: position 216576
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 18
0x37c26f5bf7c6 1446 e8f368b4ff call 0x37c26f1060be ;; debug: position 216576
;; debug: deopt reason 'Smi'
;; deoptimization bailout 19
0x37c26f5bf7cb 1451 e8f868b4ff call 0x37c26f1060c8 ;; debug: position 216576
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 20
0x37c26f5bf7d0 1456 e80769b4ff call 0x37c26f1060dc ;; debug: position 235008
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 22
0x37c26f5bf7d5 1461 e80c69b4ff call 0x37c26f1060e6 ;; debug: position 235008
;; debug: deopt reason 'Smi'
;; deoptimization bailout 23
0x37c26f5bf7da 1466 e81169b4ff call 0x37c26f1060f0 ;; debug: position 235008
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 24
0x37c26f5bf7df 1471 e82069b4ff call 0x37c26f106104 ;; debug: position 255488
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 26
0x37c26f5bf7e4 1476 e82569b4ff call 0x37c26f10610e ;; debug: position 255488
;; debug: deopt reason 'Smi'
;; deoptimization bailout 27
0x37c26f5bf7e9 1481 e82a69b4ff call 0x37c26f106118 ;; debug: position 255488
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 28
0x37c26f5bf7ee 1486 6690 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 29)
index ast id argc pc
0 4 0 35
1 4 0 -1
2 4 0 -1
3 4 0 -1
4 5 0 -1
5 21 0 -1
6 37 0 -1
7 53 0 -1
8 69 0 -1
9 85 0 -1
10 101 0 -1
11 117 0 -1
12 133 0 -1
13 178 0 655
14 178 0 -1
15 178 0 -1
16 178 0 -1
17 200 0 842
18 200 0 -1
19 200 0 -1
20 200 0 -1
21 222 0 1029
22 222 0 -1
23 222 0 -1
24 222 0 -1
25 244 0 1216
26 244 0 -1
27 244 0 -1
28 244 0 -1
Safepoints (size = 63)
0x37c26f5bf243 35 10000 (sp -> fp) 0
0x37c26f5bf4af 655 10000 (sp -> fp) 13
0x37c26f5bf56a 842 10000 (sp -> fp) 17
0x37c26f5bf625 1029 10000 (sp -> fp) 21
0x37c26f5bf6e0 1216 10000 (sp -> fp) 25
RelocInfo (size = 1425)
0x37c26f5bf22a position (4337)
0x37c26f5bf22a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f5bf22a comment (;;; <@32,#17> prologue)
0x37c26f5bf22a comment (;;; Prologue begin)
0x37c26f5bf22a comment (;;; Prologue end)
0x37c26f5bf22a comment (;;; <@36,#19> -------------------- B1 --------------------)
0x37c26f5bf22a comment (;;; <@38,#20> context)
0x37c26f5bf22e comment (;;; <@39,#20> gap)
0x37c26f5bf232 comment (;;; <@42,#24> -------------------- B2 --------------------)
0x37c26f5bf232 comment (;;; <@43,#24> gap)
0x37c26f5bf235 comment (;;; <@44,#26> stack-check)
0x37c26f5bf23f code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f5bf243 comment (;;; <@46,#26> lazy-bailout)
0x37c26f5bf243 comment (;;; <@47,#26> gap)
0x37c26f5bf24a comment (;;; <@48,#28> check-non-smi)
0x37c26f5bf24a position (4518)
0x37c26f5bf253 comment (;;; <@50,#29> check-maps)
0x37c26f5bf255 embedded object (0x37dfeae1aca9 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5bf267 comment (;;; <@52,#31> check-maps)
0x37c26f5bf267 comment (;;; <@54,#33> check-maps)
0x37c26f5bf267 comment (;;; <@55,#33> gap)
0x37c26f5bf26b comment (;;; <@56,#189> check-smi)
0x37c26f5bf273 comment (;;; <@58,#35> store-named-field)
0x37c26f5bf275 embedded object (0x37dfeae1ad01 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5bf294 code target (STUB) (0x37c26f5be520)
0x37c26f5bf29c comment (;;; <@59,#35> gap)
0x37c26f5bf2a0 comment (;;; <@60,#190> check-smi)
0x37c26f5bf2a0 position (4537)
0x37c26f5bf2a8 comment (;;; <@62,#44> store-named-field)
0x37c26f5bf2aa embedded object (0x37dfeae1ad59 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5bf2c9 code target (STUB) (0x37c26f5be520)
0x37c26f5bf2d1 comment (;;; <@63,#44> gap)
0x37c26f5bf2d5 comment (;;; <@64,#191> check-smi)
0x37c26f5bf2d5 position (4558)
0x37c26f5bf2dd comment (;;; <@66,#53> store-named-field)
0x37c26f5bf2df embedded object (0x37dfeae1adb1 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5bf2fe code target (STUB) (0x37c26f5be520)
0x37c26f5bf306 comment (;;; <@67,#53> gap)
0x37c26f5bf30a comment (;;; <@68,#192> check-smi)
0x37c26f5bf30a position (4578)
0x37c26f5bf312 comment (;;; <@70,#62> store-named-field)
0x37c26f5bf314 embedded object (0x37dfeae1ae09 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5bf333 code target (STUB) (0x37c26f5be520)
0x37c26f5bf33b comment (;;; <@71,#62> gap)
0x37c26f5bf33f comment (;;; <@72,#193> check-smi)
0x37c26f5bf33f position (4596)
0x37c26f5bf347 comment (;;; <@74,#71> store-named-field)
0x37c26f5bf349 embedded object (0x37dfeae1ae61 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5bf368 code target (STUB) (0x37c26f5be520)
0x37c26f5bf370 comment (;;; <@75,#71> gap)
0x37c26f5bf374 comment (;;; <@76,#194> check-smi)
0x37c26f5bf374 position (4615)
0x37c26f5bf37c comment (;;; <@78,#80> store-named-field)
0x37c26f5bf37e embedded object (0x37dfeae1aeb9 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5bf39d code target (STUB) (0x37c26f5be520)
0x37c26f5bf3a5 comment (;;; <@79,#80> gap)
0x37c26f5bf3a9 comment (;;; <@80,#195> check-smi)
0x37c26f5bf3a9 position (4638)
0x37c26f5bf3b1 comment (;;; <@82,#89> store-named-field)
0x37c26f5bf3b3 embedded object (0x37dfeae1af11 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5bf3d2 code target (STUB) (0x37c26f5be520)
0x37c26f5bf3da comment (;;; <@83,#89> gap)
0x37c26f5bf3de comment (;;; <@84,#196> check-smi)
0x37c26f5bf3de position (4660)
0x37c26f5bf3e6 comment (;;; <@86,#98> store-named-field)
0x37c26f5bf3e8 embedded object (0x37dfeae1af69 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5bf407 code target (STUB) (0x37c26f5be520)
0x37c26f5bf40f comment (;;; <@87,#98> gap)
0x37c26f5bf413 comment (;;; <@88,#197> check-smi)
0x37c26f5bf413 position (4679)
0x37c26f5bf41b comment (;;; <@90,#107> store-named-field)
0x37c26f5bf41d embedded object (0x37dfeae1afc1 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5bf43c code target (STUB) (0x37c26f5be520)
0x37c26f5bf444 comment (;;; <@91,#107> gap)
0x37c26f5bf448 comment (;;; <@92,#198> check-smi)
0x37c26f5bf448 position (4701)
0x37c26f5bf450 comment (;;; <@94,#116> store-named-field)
0x37c26f5bf452 embedded object (0x37dfeae1b019 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5bf471 code target (STUB) (0x37c26f5be520)
0x37c26f5bf479 comment (;;; <@96,#121> push-argument)
0x37c26f5bf479 position (4726)
0x37c26f5bf47b embedded object (0x23de516bf131 <JS Function Date (SharedFunctionInfo 0x23de516856d9)>)
0x37c26f5bf485 comment (;;; <@97,#121> gap)
0x37c26f5bf489 comment (;;; <@98,#121> push-argument)
0x37c26f5bf48a comment (;;; <@100,#118> constant-t)
0x37c26f5bf48a position (4730)
0x37c26f5bf48c embedded object (0x23de516bf131 <JS Function Date (SharedFunctionInfo 0x23de516856d9)>)
0x37c26f5bf494 comment (;;; <@102,#118> constant-t)
0x37c26f5bf496 embedded object (0x23de516bf131 <JS Function Date (SharedFunctionInfo 0x23de516856d9)>)
0x37c26f5bf49e comment (;;; <@104,#119> constant-i)
0x37c26f5bf49e position (4726)
0x37c26f5bf4a3 comment (;;; <@105,#119> gap)
0x37c26f5bf4aa comment (;;; <@106,#122> call-with-descriptor)
0x37c26f5bf4ab code target (BUILTIN) (0x37c26f408fe0)
0x37c26f5bf4af comment (;;; <@108,#123> lazy-bailout)
0x37c26f5bf4af comment (;;; <@109,#123> gap)
0x37c26f5bf4b6 comment (;;; <@110,#125> check-maps)
0x37c26f5bf4b6 position (4724)
0x37c26f5bf4b8 embedded object (0x37dfeae1b019 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5bf4ca comment (;;; <@112,#130> check-non-smi)
0x37c26f5bf4d2 comment (;;; <@114,#131> check-maps)
0x37c26f5bf4d4 embedded object (0x207a8f808ae1 <Map(FAST_HOLEY_SMI_ELEMENTS)>)
0x37c26f5bf4e6 comment (;;; <@116,#133> store-named-field)
0x37c26f5bf4e8 embedded object (0x37dfeae1b071 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5bf507 code target (STUB) (0x37c26f5be520)
0x37c26f5bf530 code target (STUB) (0x37c26f5be920)
0x37c26f5bf534 comment (;;; <@118,#138> push-argument)
0x37c26f5bf534 position (4762)
0x37c26f5bf536 embedded object (0x23de516bf131 <JS Function Date (SharedFunctionInfo 0x23de516856d9)>)
0x37c26f5bf540 comment (;;; <@119,#138> gap)
0x37c26f5bf544 comment (;;; <@120,#138> push-argument)
0x37c26f5bf545 comment (;;; <@122,#118> constant-t)
0x37c26f5bf545 position (4730)
0x37c26f5bf547 embedded object (0x23de516bf131 <JS Function Date (SharedFunctionInfo 0x23de516856d9)>)
0x37c26f5bf54f comment (;;; <@124,#118> constant-t)
0x37c26f5bf551 embedded object (0x23de516bf131 <JS Function Date (SharedFunctionInfo 0x23de516856d9)>)
0x37c26f5bf559 comment (;;; <@126,#119> constant-i)
0x37c26f5bf559 position (4726)
0x37c26f5bf55e comment (;;; <@127,#119> gap)
0x37c26f5bf565 comment (;;; <@128,#139> call-with-descriptor)
0x37c26f5bf565 position (4762)
0x37c26f5bf566 code target (BUILTIN) (0x37c26f408fe0)
0x37c26f5bf56a comment (;;; <@130,#140> lazy-bailout)
0x37c26f5bf56a comment (;;; <@131,#140> gap)
0x37c26f5bf571 comment (;;; <@132,#142> check-maps)
0x37c26f5bf571 position (4760)
0x37c26f5bf573 embedded object (0x37dfeae1b071 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5bf585 comment (;;; <@134,#147> check-non-smi)
0x37c26f5bf58d comment (;;; <@136,#148> check-maps)
0x37c26f5bf58f embedded object (0x207a8f808ae1 <Map(FAST_HOLEY_SMI_ELEMENTS)>)
0x37c26f5bf5a1 comment (;;; <@138,#150> store-named-field)
0x37c26f5bf5a3 embedded object (0x37dfeae1b0c9 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5bf5c2 code target (STUB) (0x37c26f5be520)
0x37c26f5bf5eb code target (STUB) (0x37c26f5be920)
0x37c26f5bf5ef comment (;;; <@140,#155> push-argument)
0x37c26f5bf5ef position (4798)
0x37c26f5bf5f1 embedded object (0x23de516bf131 <JS Function Date (SharedFunctionInfo 0x23de516856d9)>)
0x37c26f5bf5fb comment (;;; <@141,#155> gap)
0x37c26f5bf5ff comment (;;; <@142,#155> push-argument)
0x37c26f5bf600 comment (;;; <@144,#118> constant-t)
0x37c26f5bf600 position (4730)
0x37c26f5bf602 embedded object (0x23de516bf131 <JS Function Date (SharedFunctionInfo 0x23de516856d9)>)
0x37c26f5bf60a comment (;;; <@146,#118> constant-t)
0x37c26f5bf60c embedded object (0x23de516bf131 <JS Function Date (SharedFunctionInfo 0x23de516856d9)>)
0x37c26f5bf614 comment (;;; <@148,#119> constant-i)
0x37c26f5bf614 position (4726)
0x37c26f5bf619 comment (;;; <@149,#119> gap)
0x37c26f5bf620 comment (;;; <@150,#156> call-with-descriptor)
0x37c26f5bf620 position (4798)
0x37c26f5bf621 code target (BUILTIN) (0x37c26f408fe0)
0x37c26f5bf625 comment (;;; <@152,#157> lazy-bailout)
0x37c26f5bf625 comment (;;; <@153,#157> gap)
0x37c26f5bf62c comment (;;; <@154,#159> check-maps)
0x37c26f5bf62c position (4796)
0x37c26f5bf62e embedded object (0x37dfeae1b0c9 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5bf640 comment (;;; <@156,#164> check-non-smi)
0x37c26f5bf648 comment (;;; <@158,#165> check-maps)
0x37c26f5bf64a embedded object (0x207a8f808ae1 <Map(FAST_HOLEY_SMI_ELEMENTS)>)
0x37c26f5bf65c comment (;;; <@160,#167> store-named-field)
0x37c26f5bf65e embedded object (0x37dfeae1b121 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5bf67d code target (STUB) (0x37c26f5be520)
0x37c26f5bf6a6 code target (STUB) (0x37c26f5be920)
0x37c26f5bf6aa comment (;;; <@162,#172> push-argument)
0x37c26f5bf6aa position (4838)
0x37c26f5bf6ac embedded object (0x23de516bf131 <JS Function Date (SharedFunctionInfo 0x23de516856d9)>)
0x37c26f5bf6b6 comment (;;; <@163,#172> gap)
0x37c26f5bf6ba comment (;;; <@164,#172> push-argument)
0x37c26f5bf6bb comment (;;; <@166,#118> constant-t)
0x37c26f5bf6bb position (4730)
0x37c26f5bf6bd embedded object (0x23de516bf131 <JS Function Date (SharedFunctionInfo 0x23de516856d9)>)
0x37c26f5bf6c5 comment (;;; <@168,#118> constant-t)
0x37c26f5bf6c7 embedded object (0x23de516bf131 <JS Function Date (SharedFunctionInfo 0x23de516856d9)>)
0x37c26f5bf6cf comment (;;; <@170,#119> constant-i)
0x37c26f5bf6cf position (4726)
0x37c26f5bf6d4 comment (;;; <@171,#119> gap)
0x37c26f5bf6db comment (;;; <@172,#173> call-with-descriptor)
0x37c26f5bf6db position (4838)
0x37c26f5bf6dc code target (BUILTIN) (0x37c26f408fe0)
0x37c26f5bf6e0 comment (;;; <@174,#174> lazy-bailout)
0x37c26f5bf6e0 comment (;;; <@175,#174> gap)
0x37c26f5bf6e7 comment (;;; <@176,#176> check-maps)
0x37c26f5bf6e7 position (4836)
0x37c26f5bf6e9 embedded object (0x37dfeae1b121 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5bf6fb comment (;;; <@178,#181> check-non-smi)
0x37c26f5bf703 comment (;;; <@180,#182> check-maps)
0x37c26f5bf705 embedded object (0x207a8f808ae1 <Map(FAST_HOLEY_SMI_ELEMENTS)>)
0x37c26f5bf717 comment (;;; <@182,#184> store-named-field)
0x37c26f5bf719 embedded object (0x37dfeae1b179 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5bf738 code target (STUB) (0x37c26f5be520)
0x37c26f5bf761 code target (STUB) (0x37c26f5be920)
0x37c26f5bf765 comment (;;; <@184,#16> constant-t)
0x37c26f5bf765 position (4337)
0x37c26f5bf767 embedded object (0x23de51604381 <undefined>)
0x37c26f5bf76f comment (;;; <@186,#187> return)
0x37c26f5bf776 comment (;;; -------------------- Jump table --------------------)
0x37c26f5bf776 position (92672)
0x37c26f5bf776 deopt reason (Smi)
0x37c26f5bf777 runtime entry (deoptimization bailout 1)
0x37c26f5bf77b position (92672)
0x37c26f5bf77b deopt reason (wrong map)
0x37c26f5bf77c runtime entry (deoptimization bailout 2)
0x37c26f5bf780 position (92672)
0x37c26f5bf780 deopt reason (not a Smi)
0x37c26f5bf781 runtime entry (deoptimization bailout 3)
0x37c26f5bf785 position (102400)
0x37c26f5bf785 deopt reason (not a Smi)
0x37c26f5bf786 runtime entry (deoptimization bailout 4)
0x37c26f5bf78a position (113152)
0x37c26f5bf78a deopt reason (not a Smi)
0x37c26f5bf78b runtime entry (deoptimization bailout 5)
0x37c26f5bf78f position (123392)
0x37c26f5bf78f deopt reason (not a Smi)
0x37c26f5bf790 runtime entry (deoptimization bailout 6)
0x37c26f5bf794 position (132608)
0x37c26f5bf794 deopt reason (not a Smi)
0x37c26f5bf795 runtime entry (deoptimization bailout 7)
0x37c26f5bf799 position (142336)
0x37c26f5bf799 deopt reason (not a Smi)
0x37c26f5bf79a runtime entry (deoptimization bailout 8)
0x37c26f5bf79e position (154112)
0x37c26f5bf79e deopt reason (not a Smi)
0x37c26f5bf79f runtime entry (deoptimization bailout 9)
0x37c26f5bf7a3 position (165376)
0x37c26f5bf7a3 deopt reason (not a Smi)
0x37c26f5bf7a4 runtime entry (deoptimization bailout 10)
0x37c26f5bf7a8 position (175104)
0x37c26f5bf7a8 deopt reason (not a Smi)
0x37c26f5bf7a9 runtime entry (deoptimization bailout 11)
0x37c26f5bf7ad position (186368)
0x37c26f5bf7ad deopt reason (not a Smi)
0x37c26f5bf7ae runtime entry (deoptimization bailout 12)
0x37c26f5bf7b2 position (198144)
0x37c26f5bf7b2 deopt reason (wrong map)
0x37c26f5bf7b3 runtime entry (deoptimization bailout 14)
0x37c26f5bf7b7 position (198144)
0x37c26f5bf7b7 deopt reason (Smi)
0x37c26f5bf7b8 runtime entry (deoptimization bailout 15)
0x37c26f5bf7bc position (198144)
0x37c26f5bf7bc deopt reason (wrong map)
0x37c26f5bf7bd runtime entry (deoptimization bailout 16)
0x37c26f5bf7c1 position (216576)
0x37c26f5bf7c1 deopt reason (wrong map)
0x37c26f5bf7c2 runtime entry (deoptimization bailout 18)
0x37c26f5bf7c6 position (216576)
0x37c26f5bf7c6 deopt reason (Smi)
0x37c26f5bf7c7 runtime entry (deoptimization bailout 19)
0x37c26f5bf7cb position (216576)
0x37c26f5bf7cb deopt reason (wrong map)
0x37c26f5bf7cc runtime entry (deoptimization bailout 20)
0x37c26f5bf7d0 position (235008)
0x37c26f5bf7d0 deopt reason (wrong map)
0x37c26f5bf7d1 runtime entry (deoptimization bailout 22)
0x37c26f5bf7d5 position (235008)
0x37c26f5bf7d5 deopt reason (Smi)
0x37c26f5bf7d6 runtime entry (deoptimization bailout 23)
0x37c26f5bf7da position (235008)
0x37c26f5bf7da deopt reason (wrong map)
0x37c26f5bf7db runtime entry (deoptimization bailout 24)
0x37c26f5bf7df position (255488)
0x37c26f5bf7df deopt reason (wrong map)
0x37c26f5bf7e0 runtime entry (deoptimization bailout 26)
0x37c26f5bf7e4 position (255488)
0x37c26f5bf7e4 deopt reason (Smi)
0x37c26f5bf7e5 runtime entry (deoptimization bailout 27)
0x37c26f5bf7e9 position (255488)
0x37c26f5bf7e9 deopt reason (wrong map)
0x37c26f5bf7ea runtime entry (deoptimization bailout 28)
0x37c26f5bf7f0 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (fs.lstatSync) id{10,0} ---
(path) {
nullCheck(path);
return binding.lstat(pathModule._makeLong(path));
}
--- END ---
--- FUNCTION SOURCE (nullCheck) id{10,1} ---
(path, callback) {
if (('' + path).indexOf('\x5cu0000') !== -1) {
var er = new Error('Path must be a string without null bytes');
er.code = 'ENOENT';
if (typeof callback !== 'function')
throw er;
process.nextTick(callback, er);
return false;
}
return true;
}
--- END ---
INLINE (nullCheck) id{10,1} AS 1 AT <0:11>
--- FUNCTION SOURCE (nextTick) id{10,2} ---
(callback) {
if (typeof callback !== 'function')
throw new TypeError('callback is not a function');
// on the way out, don't bother. it won't get fired anyway.
if (process._exiting)
return;
var args;
if (arguments.length > 1) {
args = new Array(arguments.length - 1);
for (var i = 1; i < arguments.length; i++)
args[i - 1] = arguments[i];
}
nextTickQueue.push(new TickObject(callback, args));
tickInfo[kLength]++;
}
--- END ---
INLINE (nextTick) id{10,2} AS 2 AT <1:225>
--- FUNCTION SOURCE (TickObject) id{10,3} ---
(c, args) {
this.callback = c;
this.domain = process.domain || null;
this.args = args;
}
--- END ---
INLINE (TickObject) id{10,3} AS 3 AT <2:422>
--- Raw source ---
(path) {
nullCheck(path);
return binding.lstat(pathModule._makeLong(path));
};
--- Optimized code ---
optimization_id = 10
source_position = 24612
kind = OPTIMIZED_FUNCTION
name = fs.lstatSync
stack_slots = 7
compiler = crankshaft
Instructions (size = 599)
0x37c26f5c3420 0 55 push rbp
0x37c26f5c3421 1 4889e5 REX.W movq rbp,rsp
0x37c26f5c3424 4 56 push rsi
0x37c26f5c3425 5 57 push rdi
0x37c26f5c3426 6 4883ec18 REX.W subq rsp,0x18
;;; <@0,#0> -------------------- B0 --------------------
;;; <@6,#4> prologue
;;; Prologue begin
;;; Prologue end
;;; <@10,#6> -------------------- B1 --------------------
;;; <@12,#7> context
0x37c26f5c342a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 24612
;;; <@13,#7> gap
0x37c26f5c342e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@16,#11> -------------------- B2 --------------------
;;; <@17,#11> gap
0x37c26f5c3432 18 488bf0 REX.W movq rsi,rax
;;; <@18,#13> stack-check
0x37c26f5c3435 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f5c343c 28 7305 jnc 35 (0x37c26f5c3443)
0x37c26f5c343e 30 e89d97e7ff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@20,#13> lazy-bailout
;;; <@21,#13> gap
0x37c26f5c3443 35 488b45e8 REX.W movq rax,[rbp-0x18]
;;; <@22,#14> load-context-slot
0x37c26f5c3447 39 488b9827010000 REX.W movq rbx,[rax+0x127] ;; debug: position 24623
;;; <@23,#14> gap
0x37c26f5c344e 46 48895de0 REX.W movq [rbp-0x20],rbx
;;; <@24,#16> check-value
0x37c26f5c3452 50 49bab199dc5ae3150000 REX.W movq r10,0x15e35adc99b1 ;; object: 0x15e35adc99b1 <JS Function nullCheck (SharedFunctionInfo 0x238c96a37469)>
0x37c26f5c345c 60 493bda REX.W cmpq rbx,r10
0x37c26f5c345f 63 0f8594010000 jnz 473 (0x37c26f5c35f9)
;;; <@25,#16> gap
0x37c26f5c3465 69 488b5510 REX.W movq rdx,[rbp+0x10]
;;; <@26,#22> check-non-smi
0x37c26f5c3469 73 f6c201 testb rdx,0x1 ;; debug: position 3937
0x37c26f5c346c 76 0f848c010000 jz 478 (0x37c26f5c35fe)
;;; <@28,#23> check-instance-type
0x37c26f5c3472 82 4c8b52ff REX.W movq r10,[rdx-0x1]
0x37c26f5c3476 86 41f6420b80 testb [r10+0xb],0x80
0x37c26f5c347b 91 0f8582010000 jnz 483 (0x37c26f5c3603)
;;; <@30,#26> check-maps
;;; <@32,#30> push-argument
0x37c26f5c3481 97 52 push rdx ;; debug: position 3945
;;; <@34,#30> push-argument
0x37c26f5c3482 98 49baf938a3968c230000 REX.W movq r10,0x238c96a338f9 ;; object: 0x238c96a338f9 <String[1]\: \x00>
0x37c26f5c348c 108 4152 push r10
;;; <@36,#17> constant-t
0x37c26f5c348e 110 48be9197dc5ae3150000 REX.W movq rsi,0x15e35adc9791 ;; debug: position 3908
;; object: 0x15e35adc9791 <FixedArray[66]>
;;; <@38,#29> constant-t
0x37c26f5c3498 120 48bfc96f6b51de230000 REX.W movq rdi,0x23de516b6fc9 ;; debug: position 3945
;; object: 0x23de516b6fc9 <JS Function indexOf (SharedFunctionInfo 0x23de51657411)>
;;; <@40,#31> invoke-function
0x37c26f5c34a2 130 488b7727 REX.W movq rsi,[rdi+0x27]
0x37c26f5c34a6 134 498b55a8 REX.W movq rdx,[r13-0x58]
0x37c26f5c34aa 138 b801000000 movl rax,0x1
0x37c26f5c34af 143 bb02000000 movl rbx,0x2
0x37c26f5c34b4 148 e80763e4ff call ArgumentsAdaptorTrampoline (0x37c26f4097c0) ;; code: BUILTIN
;;; <@42,#32> lazy-bailout
;;; <@43,#32> gap
0x37c26f5c34b9 153 488bd8 REX.W movq rbx,rax
;;; <@44,#386> tagged-to-i
0x37c26f5c34bc 156 f6c301 testb rbx,0x1
0x37c26f5c34bf 159 0f8500010000 jnz 421 (0x37c26f5c35c5)
0x37c26f5c34c5 165 48c1eb20 REX.W shrq rbx, 32
;;; <@47,#34> compare-numeric-and-branch
0x37c26f5c34c9 169 83fbff cmpl rbx,0xff ;; debug: position 3963
0x37c26f5c34cc 172 0f8448000000 jz 250 (0x37c26f5c351a)
;;; <@48,#38> -------------------- B3 (unreachable/replaced) --------------------
;;; <@52,#41> -------------------- B4 --------------------
;;; <@54,#54> push-argument
0x37c26f5c34d2 178 49bac1736b51de230000 REX.W movq r10,0x23de516b73c1 ;; debug: position 3990
;; debug: position 3986
;; object: 0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>
0x37c26f5c34dc 188 4152 push r10
;;; <@56,#54> push-argument
0x37c26f5c34de 190 49ba1939a3968c230000 REX.W movq r10,0x238c96a33919 ;; object: 0x238c96a33919 <String[40]: Path must be a string without null bytes>
0x37c26f5c34e8 200 4152 push r10
;;; <@58,#17> constant-t
0x37c26f5c34ea 202 48be9197dc5ae3150000 REX.W movq rsi,0x15e35adc9791 ;; debug: position 3908
;; object: 0x15e35adc9791 <FixedArray[66]>
;;; <@60,#42> constant-t
0x37c26f5c34f4 212 48bac1736b51de230000 REX.W movq rdx,0x23de516b73c1 ;; debug: position 3990
;; object: 0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>
;;; <@62,#42> constant-t
0x37c26f5c34fe 222 48bac1736b51de230000 REX.W movq rdx,0x23de516b73c1 ;; object: 0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>
;;; <@64,#207> constant-i
0x37c26f5c3508 232 b801000000 movl rax,0x1 ;; debug: position 24612
;;; <@65,#207> gap
0x37c26f5c350d 237 488bfa REX.W movq rdi,rdx
;;; <@66,#55> call-with-descriptor
0x37c26f5c3510 240 e8cb5ae4ff call Construct (0x37c26f408fe0) ;; debug: position 3986
;; code: BUILTIN
;;; <@68,#56> lazy-bailout
;;; <@71,#60> deoptimize
0x37c26f5c3515 245 e8222bd4ff call 0x37c26f30603c ;; debug: position 4053
;; debug: position 74241
;; debug: deopt reason 'Insufficient type feedback for generic named access'
;; soft deoptimization bailout 6
;;; <@72,#61> -------------------- B5 (unreachable/replaced) --------------------
;;; <@82,#68> -------------------- B6 (unreachable/replaced) --------------------
;;; <@86,#71> -------------------- B7 (unreachable/replaced) --------------------
;;; <@94,#65> -------------------- B8 (unreachable/replaced) --------------------
;;; <@98,#78> -------------------- B9 (unreachable/replaced) --------------------
;;; <@102,#81> -------------------- B10 (unreachable/replaced) --------------------
;;; <@118,#94> -------------------- B11 (unreachable/replaced) --------------------
;;; <@122,#97> -------------------- B12 (unreachable/replaced) --------------------
;;; <@144,#91> -------------------- B13 (unreachable/replaced) --------------------
;;; <@148,#118> -------------------- B14 (unreachable/replaced) --------------------
;;; <@152,#121> -------------------- B15 (unreachable/replaced) --------------------
;;; <@160,#129> -------------------- B16 (unreachable/replaced) --------------------
;;; <@164,#137> -------------------- B17 (unreachable/replaced) --------------------
;;; <@168,#144> -------------------- B18 (unreachable/replaced) --------------------
;;; <@172,#215> -------------------- B19 (unreachable/replaced) --------------------
;;; <@176,#141> -------------------- B20 (unreachable/replaced) --------------------
;;; <@180,#147> -------------------- B21 (unreachable/replaced) --------------------
;;; <@184,#152> -------------------- B22 (unreachable/replaced) --------------------
;;; <@202,#170> -------------------- B23 (unreachable/replaced) --------------------
;;; <@206,#174> -------------------- B24 (unreachable/replaced) --------------------
;;; <@216,#178> -------------------- B25 (unreachable/replaced) --------------------
;;; <@220,#184> -------------------- B26 (unreachable/replaced) --------------------
;;; <@226,#191> -------------------- B27 (unreachable/replaced) --------------------
;;; <@248,#203> -------------------- B28 (unreachable/replaced) --------------------
;;; <@268,#181> -------------------- B29 (unreachable/replaced) --------------------
;;; <@272,#212> -------------------- B30 (unreachable/replaced) --------------------
;;; <@276,#224> -------------------- B31 (unreachable/replaced) --------------------
;;; <@358,#261> -------------------- B32 (unreachable/replaced) --------------------
;;; <@362,#263> -------------------- B33 (unreachable/replaced) --------------------
;;; <@366,#269> -------------------- B34 (unreachable/replaced) --------------------
;;; <@394,#291> -------------------- B35 (unreachable/replaced) --------------------
;;; <@418,#309> -------------------- B36 (unreachable/replaced) --------------------
;;; <@426,#304> -------------------- B37 (unreachable/replaced) --------------------
;;; <@458,#314> -------------------- B38 (unreachable/replaced) --------------------
;;; <@542,#126> -------------------- B39 (unreachable/replaced) --------------------
;;; <@546,#132> -------------------- B40 (unreachable/replaced) --------------------
;;; <@552,#350> -------------------- B41 (unreachable/replaced) --------------------
;;; <@556,#35> -------------------- B42 (unreachable/replaced) --------------------
;;; <@560,#355> -------------------- B43 (unreachable/replaced) --------------------
;;; <@564,#360> -------------------- B44 --------------------
;;; <@565,#360> gap
0x37c26f5c351a 250 488b5de8 REX.W movq rbx,[rbp-0x18] ;; debug: position 24649
;;; <@566,#361> load-context-slot
0x37c26f5c351e 254 488b5347 REX.W movq rdx,[rbx+0x47]
0x37c26f5c3522 258 493b55d8 REX.W cmpq rdx,[r13-0x28]
0x37c26f5c3526 262 0f84dc000000 jz 488 (0x37c26f5c3608)
;;; <@567,#361> gap
0x37c26f5c352c 268 488955d8 REX.W movq [rbp-0x28],rdx
;;; <@568,#362> check-non-smi
0x37c26f5c3530 272 f6c201 testb rdx,0x1 ;; debug: position 24657
0x37c26f5c3533 275 0f84d4000000 jz 493 (0x37c26f5c360d)
;;; <@570,#363> check-maps
0x37c26f5c3539 281 49ba1157e1eadf370000 REX.W movq r10,0x37dfeae15711 ;; object: 0x37dfeae15711 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5c3543 291 4c3952ff REX.W cmpq [rdx-0x1],r10
0x37c26f5c3547 295 0f85c5000000 jnz 498 (0x37c26f5c3612)
;;; <@572,#365> load-context-slot
0x37c26f5c354d 301 488b433f REX.W movq rax,[rbx+0x3f] ;; debug: position 24663
0x37c26f5c3551 305 493b45d8 REX.W cmpq rax,[r13-0x28]
0x37c26f5c3555 309 0f84bc000000 jz 503 (0x37c26f5c3617)
;;; <@574,#366> check-non-smi
0x37c26f5c355b 315 a801 test al,0x1 ;; debug: position 24674
0x37c26f5c355d 317 0f84b9000000 jz 508 (0x37c26f5c361c)
;;; <@576,#367> check-maps
0x37c26f5c3563 323 49bab92ae1eadf370000 REX.W movq r10,0x37dfeae12ab9 ;; object: 0x37dfeae12ab9 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5c356d 333 4c3950ff REX.W cmpq [rax-0x1],r10
0x37c26f5c3571 337 0f85aa000000 jnz 513 (0x37c26f5c3621)
;;; <@578,#368> load-named-field
0x37c26f5c3577 343 488b783f REX.W movq rdi,[rax+0x3f]
;;; <@580,#371> push-argument
0x37c26f5c357b 347 50 push rax
;;; <@582,#371> push-argument
0x37c26f5c357c 348 ff7510 push [rbp+0x10]
;;; <@584,#207> constant-i
0x37c26f5c357f 351 b801000000 movl rax,0x1 ;; debug: position 24612
;;; <@585,#207> gap
0x37c26f5c3584 356 488bf3 REX.W movq rsi,rbx
;;; <@586,#372> call-with-descriptor
0x37c26f5c3587 359 e81405e5ff call Call_ReceiverIsNotNullOrUndefined (0x37c26f413aa0) ;; debug: position 24674
;; code: BUILTIN
;;; <@588,#373> lazy-bailout
;;; <@590,#374> check-maps
;;; <@592,#375> push-argument
0x37c26f5c358c 364 ff75d8 push [rbp-0x28] ;; debug: position 24657
;;; <@594,#375> push-argument
0x37c26f5c358f 367 50 push rax
;;; <@596,#377> constant-e
0x37c26f5c3590 368 498d9508ec60fe REX.W leaq rdx,[r13-0x19f13f8]
;;; <@598,#364> constant-t
0x37c26f5c3597 375 48bfa906a4968c230000 REX.W movq rdi,0x238c96a406a9 ;; object: 0x238c96a406a9 <JS Function lstat (SharedFunctionInfo 0x238c96a40601)>
;;; <@600,#376> constant-t
0x37c26f5c35a1 385 48bb19206e51de230000 REX.W movq rbx,0x23de516e2019 ;; object: 0x23de516e2019 <JS Object>
;;; <@601,#376> gap
0x37c26f5c35ab 395 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f5c35af 399 488b4dd8 REX.W movq rcx,[rbp-0x28]
;;; <@602,#380> call-with-descriptor
0x37c26f5c35b3 403 e8a8fcffff call 0x37c26f5c3260 ;; code: STUB, CallApiCallbackStub, minor: 4
;;; <@604,#381> lazy-bailout
;;; <@606,#383> return
0x37c26f5c35b8 408 488be5 REX.W movq rsp,rbp ;; debug: position 24642
0x37c26f5c35bb 411 5d pop rbp
0x37c26f5c35bc 412 c21000 ret 0x10
0x37c26f5c35bf 415 660f1f440000 nop
;;; <@44,#386> -------------------- Deferred tagged-to-i --------------------
0x37c26f5c35c5 421 4d8b55f8 REX.W movq r10,[r13-0x8] ;; debug: position 3945
0x37c26f5c35c9 425 4c3953ff REX.W cmpq [rbx-0x1],r10
0x37c26f5c35cd 429 0f8553000000 jnz 518 (0x37c26f5c3626)
0x37c26f5c35d3 435 c5fb104307 vmovsd xmm0,[rbx+0x7]
0x37c26f5c35d8 440 c5fb2cd8 vcvttsd2si rbx,xmm0
0x37c26f5c35dc 444 c5f157c9 vxorpd xmm1,xmm1,xmm1
0x37c26f5c35e0 448 c5f32acb vcvtlsi2sd xmm1,xmm1,rbx
0x37c26f5c35e4 452 c5f92ec1 vucomisd xmm0,xmm1
0x37c26f5c35e8 456 0f853d000000 jnz 523 (0x37c26f5c362b)
0x37c26f5c35ee 462 0f8a3c000000 jpe 528 (0x37c26f5c3630)
0x37c26f5c35f4 468 e9d0feffff jmp 169 (0x37c26f5c34c9)
;;; -------------------- Jump table --------------------
0x37c26f5c35f9 473 e80c2ab4ff call 0x37c26f10600a ;; debug: position 5632
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 1
0x37c26f5c35fe 478 e8112ab4ff call 0x37c26f106014 ;; debug: position 14849
;; debug: deopt reason 'Smi'
;; deoptimization bailout 2
0x37c26f5c3603 483 e8162ab4ff call 0x37c26f10601e ;; debug: position 14849
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 3
0x37c26f5c3608 488 e8392ab4ff call 0x37c26f106046 ;; debug: position 18944
;; debug: deopt reason 'hole'
;; deoptimization bailout 7
0x37c26f5c360d 493 e83e2ab4ff call 0x37c26f106050 ;; debug: position 23040
;; debug: deopt reason 'Smi'
;; deoptimization bailout 8
0x37c26f5c3612 498 e8432ab4ff call 0x37c26f10605a ;; debug: position 23040
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 9
0x37c26f5c3617 503 e8482ab4ff call 0x37c26f106064 ;; debug: position 26112
;; debug: deopt reason 'hole'
;; deoptimization bailout 10
0x37c26f5c361c 508 e84d2ab4ff call 0x37c26f10606e ;; debug: position 31744
;; debug: deopt reason 'Smi'
;; deoptimization bailout 11
0x37c26f5c3621 513 e8522ab4ff call 0x37c26f106078 ;; debug: position 31744
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 12
0x37c26f5c3626 518 e86b2ab4ff call 0x37c26f106096 ;; debug: position 18945
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 15
0x37c26f5c362b 523 e8662ab4ff call 0x37c26f106096 ;; debug: position 18945
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 15
0x37c26f5c3630 528 e8612ab4ff call 0x37c26f106096 ;; debug: position 18945
;; debug: deopt reason 'NaN'
;; deoptimization bailout 15
0x37c26f5c3635 533 0f1f00 nop
;;; Safepoint table.
Inlined functions (count = 3)
0x238c96a37469 <SharedFunctionInfo nullCheck>
0x238c96a21311 <SharedFunctionInfo nextTick>
0x238c96a21251 <SharedFunctionInfo TickObject>
Deoptimization Input Data (deopt points = 16)
index ast id argc pc
0 4 0 35
1 4 0 -1
2 3 0 -1
3 3 0 -1
4 18 0 153
5 59 0 245
6 59 0 -1
7 5 0 -1
8 5 0 -1
9 5 0 -1
10 5 0 -1
11 5 0 -1
12 5 0 -1
13 32 0 364
14 17 0 408
15 18 0 -1
Safepoints (size = 63)
0x37c26f5c3443 35 0010000 (sp -> fp) 0
0x37c26f5c34b9 153 0110000 (sp -> fp) 4
0x37c26f5c3515 245 0110000 (sp -> fp) 5
0x37c26f5c358c 364 1010000 (sp -> fp) 13
0x37c26f5c35b8 408 0010000 (sp -> fp) 14
RelocInfo (size = 1306)
0x37c26f5c342a position (24612)
0x37c26f5c342a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f5c342a comment (;;; <@6,#4> prologue)
0x37c26f5c342a comment (;;; Prologue begin)
0x37c26f5c342a comment (;;; Prologue end)
0x37c26f5c342a comment (;;; <@10,#6> -------------------- B1 --------------------)
0x37c26f5c342a comment (;;; <@12,#7> context)
0x37c26f5c342e comment (;;; <@13,#7> gap)
0x37c26f5c3432 comment (;;; <@16,#11> -------------------- B2 --------------------)
0x37c26f5c3432 comment (;;; <@17,#11> gap)
0x37c26f5c3435 comment (;;; <@18,#13> stack-check)
0x37c26f5c343f code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f5c3443 comment (;;; <@20,#13> lazy-bailout)
0x37c26f5c3443 comment (;;; <@21,#13> gap)
0x37c26f5c3447 comment (;;; <@22,#14> load-context-slot)
0x37c26f5c3447 position (24623)
0x37c26f5c344e comment (;;; <@23,#14> gap)
0x37c26f5c3452 comment (;;; <@24,#16> check-value)
0x37c26f5c3454 embedded object (0x15e35adc99b1 <JS Function nullCheck (SharedFunctionInfo 0x238c96a37469)>)
0x37c26f5c3465 comment (;;; <@25,#16> gap)
0x37c26f5c3469 comment (;;; <@26,#22> check-non-smi)
0x37c26f5c3469 position (3937)
0x37c26f5c3472 comment (;;; <@28,#23> check-instance-type)
0x37c26f5c3481 comment (;;; <@30,#26> check-maps)
0x37c26f5c3481 position (3945)
0x37c26f5c3481 comment (;;; <@32,#30> push-argument)
0x37c26f5c3482 comment (;;; <@34,#30> push-argument)
0x37c26f5c3484 embedded object (0x238c96a338f9 <String[1]\: \x00>)
0x37c26f5c348e comment (;;; <@36,#17> constant-t)
0x37c26f5c348e position (3908)
0x37c26f5c3490 embedded object (0x15e35adc9791 <FixedArray[66]>)
0x37c26f5c3498 comment (;;; <@38,#29> constant-t)
0x37c26f5c3498 position (3945)
0x37c26f5c349a embedded object (0x23de516b6fc9 <JS Function indexOf (SharedFunctionInfo 0x23de51657411)>)
0x37c26f5c34a2 comment (;;; <@40,#31> invoke-function)
0x37c26f5c34b5 code target (BUILTIN) (0x37c26f4097c0)
0x37c26f5c34b9 comment (;;; <@42,#32> lazy-bailout)
0x37c26f5c34b9 comment (;;; <@43,#32> gap)
0x37c26f5c34bc comment (;;; <@44,#386> tagged-to-i)
0x37c26f5c34c9 position (3963)
0x37c26f5c34c9 comment (;;; <@47,#34> compare-numeric-and-branch)
0x37c26f5c34d2 comment (;;; <@48,#38> -------------------- B3 (unreachable/replaced) --------------------)
0x37c26f5c34d2 position (3990)
0x37c26f5c34d2 comment (;;; <@52,#41> -------------------- B4 --------------------)
0x37c26f5c34d2 comment (;;; <@54,#54> push-argument)
0x37c26f5c34d2 position (3986)
0x37c26f5c34d4 embedded object (0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>)
0x37c26f5c34de comment (;;; <@56,#54> push-argument)
0x37c26f5c34e0 embedded object (0x238c96a33919 <String[40]: Path must be a string without null bytes>)
0x37c26f5c34ea comment (;;; <@58,#17> constant-t)
0x37c26f5c34ea position (3908)
0x37c26f5c34ec embedded object (0x15e35adc9791 <FixedArray[66]>)
0x37c26f5c34f4 comment (;;; <@60,#42> constant-t)
0x37c26f5c34f4 position (3990)
0x37c26f5c34f6 embedded object (0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>)
0x37c26f5c34fe comment (;;; <@62,#42> constant-t)
0x37c26f5c3500 embedded object (0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>)
0x37c26f5c3508 comment (;;; <@64,#207> constant-i)
0x37c26f5c3508 position (24612)
0x37c26f5c350d comment (;;; <@65,#207> gap)
0x37c26f5c3510 comment (;;; <@66,#55> call-with-descriptor)
0x37c26f5c3510 position (3986)
0x37c26f5c3511 code target (BUILTIN) (0x37c26f408fe0)
0x37c26f5c3515 comment (;;; <@68,#56> lazy-bailout)
0x37c26f5c3515 position (4053)
0x37c26f5c3515 comment (;;; <@71,#60> deoptimize)
0x37c26f5c3515 position (74241)
0x37c26f5c3515 deopt reason (Insufficient type feedback for generic named access)
0x37c26f5c3516 runtime entry
0x37c26f5c351a comment (;;; <@72,#61> -------------------- B5 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@82,#68> -------------------- B6 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@86,#71> -------------------- B7 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@94,#65> -------------------- B8 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@98,#78> -------------------- B9 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@102,#81> -------------------- B10 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@118,#94> -------------------- B11 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@122,#97> -------------------- B12 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@144,#91> -------------------- B13 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@148,#118> -------------------- B14 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@152,#121> -------------------- B15 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@160,#129> -------------------- B16 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@164,#137> -------------------- B17 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@168,#144> -------------------- B18 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@172,#215> -------------------- B19 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@176,#141> -------------------- B20 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@180,#147> -------------------- B21 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@184,#152> -------------------- B22 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@202,#170> -------------------- B23 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@206,#174> -------------------- B24 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@216,#178> -------------------- B25 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@220,#184> -------------------- B26 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@226,#191> -------------------- B27 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@248,#203> -------------------- B28 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@268,#181> -------------------- B29 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@272,#212> -------------------- B30 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@276,#224> -------------------- B31 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@358,#261> -------------------- B32 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@362,#263> -------------------- B33 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@366,#269> -------------------- B34 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@394,#291> -------------------- B35 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@418,#309> -------------------- B36 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@426,#304> -------------------- B37 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@458,#314> -------------------- B38 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@542,#126> -------------------- B39 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@546,#132> -------------------- B40 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@552,#350> -------------------- B41 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@556,#35> -------------------- B42 (unreachable/replaced) --------------------)
0x37c26f5c351a comment (;;; <@560,#355> -------------------- B43 (unreachable/replaced) --------------------)
0x37c26f5c351a position (24649)
0x37c26f5c351a comment (;;; <@564,#360> -------------------- B44 --------------------)
0x37c26f5c351a comment (;;; <@565,#360> gap)
0x37c26f5c351e comment (;;; <@566,#361> load-context-slot)
0x37c26f5c352c comment (;;; <@567,#361> gap)
0x37c26f5c3530 comment (;;; <@568,#362> check-non-smi)
0x37c26f5c3530 position (24657)
0x37c26f5c3539 comment (;;; <@570,#363> check-maps)
0x37c26f5c353b embedded object (0x37dfeae15711 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5c354d comment (;;; <@572,#365> load-context-slot)
0x37c26f5c354d position (24663)
0x37c26f5c355b comment (;;; <@574,#366> check-non-smi)
0x37c26f5c355b position (24674)
0x37c26f5c3563 comment (;;; <@576,#367> check-maps)
0x37c26f5c3565 embedded object (0x37dfeae12ab9 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5c3577 comment (;;; <@578,#368> load-named-field)
0x37c26f5c357b comment (;;; <@580,#371> push-argument)
0x37c26f5c357c comment (;;; <@582,#371> push-argument)
0x37c26f5c357f comment (;;; <@584,#207> constant-i)
0x37c26f5c357f position (24612)
0x37c26f5c3584 comment (;;; <@585,#207> gap)
0x37c26f5c3587 comment (;;; <@586,#372> call-with-descriptor)
0x37c26f5c3587 position (24674)
0x37c26f5c3588 code target (BUILTIN) (0x37c26f413aa0)
0x37c26f5c358c comment (;;; <@588,#373> lazy-bailout)
0x37c26f5c358c comment (;;; <@590,#374> check-maps)
0x37c26f5c358c position (24657)
0x37c26f5c358c comment (;;; <@592,#375> push-argument)
0x37c26f5c358f comment (;;; <@594,#375> push-argument)
0x37c26f5c3590 comment (;;; <@596,#377> constant-e)
0x37c26f5c3597 comment (;;; <@598,#364> constant-t)
0x37c26f5c3599 embedded object (0x238c96a406a9 <JS Function lstat (SharedFunctionInfo 0x238c96a40601)>)
0x37c26f5c35a1 comment (;;; <@600,#376> constant-t)
0x37c26f5c35a3 embedded object (0x23de516e2019 <JS Object>)
0x37c26f5c35ab comment (;;; <@601,#376> gap)
0x37c26f5c35b3 comment (;;; <@602,#380> call-with-descriptor)
0x37c26f5c35b4 code target (STUB) (0x37c26f5c3260)
0x37c26f5c35b8 comment (;;; <@604,#381> lazy-bailout)
0x37c26f5c35b8 comment (;;; <@606,#383> return)
0x37c26f5c35b8 position (24642)
0x37c26f5c35c5 position (3945)
0x37c26f5c35c5 comment (;;; <@44,#386> -------------------- Deferred tagged-to-i --------------------)
0x37c26f5c35f9 comment (;;; -------------------- Jump table --------------------)
0x37c26f5c35f9 position (5632)
0x37c26f5c35f9 deopt reason (value mismatch)
0x37c26f5c35fa runtime entry (deoptimization bailout 1)
0x37c26f5c35fe position (14849)
0x37c26f5c35fe deopt reason (Smi)
0x37c26f5c35ff runtime entry (deoptimization bailout 2)
0x37c26f5c3603 position (14849)
0x37c26f5c3603 deopt reason (wrong instance type)
0x37c26f5c3604 runtime entry (deoptimization bailout 3)
0x37c26f5c3608 position (18944)
0x37c26f5c3608 deopt reason (hole)
0x37c26f5c3609 runtime entry (deoptimization bailout 7)
0x37c26f5c360d position (23040)
0x37c26f5c360d deopt reason (Smi)
0x37c26f5c360e runtime entry (deoptimization bailout 8)
0x37c26f5c3612 position (23040)
0x37c26f5c3612 deopt reason (wrong map)
0x37c26f5c3613 runtime entry (deoptimization bailout 9)
0x37c26f5c3617 position (26112)
0x37c26f5c3617 deopt reason (hole)
0x37c26f5c3618 runtime entry (deoptimization bailout 10)
0x37c26f5c361c position (31744)
0x37c26f5c361c deopt reason (Smi)
0x37c26f5c361d runtime entry (deoptimization bailout 11)
0x37c26f5c3621 position (31744)
0x37c26f5c3621 deopt reason (wrong map)
0x37c26f5c3622 runtime entry (deoptimization bailout 12)
0x37c26f5c3626 position (18945)
0x37c26f5c3626 deopt reason (not a heap number)
0x37c26f5c3627 runtime entry (deoptimization bailout 15)
0x37c26f5c362b position (18945)
0x37c26f5c362b deopt reason (lost precision)
0x37c26f5c362c runtime entry (deoptimization bailout 15)
0x37c26f5c3630 position (18945)
0x37c26f5c3630 deopt reason (NaN)
0x37c26f5c3631 runtime entry (deoptimization bailout 15)
0x37c26f5c3638 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (stat) id{11,0} ---
(filename) {
filename = path._makeLong(filename);
const cache = stat.cache;
if (cache !== null) {
const result = cache.get(filename);
if (result !== undefined) return result;
}
const result = internalModuleStat(filename);
if (cache !== null) cache.set(filename, result);
return result;
}
--- END ---
--- Raw source ---
(filename) {
filename = path._makeLong(filename);
const cache = stat.cache;
if (cache !== null) {
const result = cache.get(filename);
if (result !== undefined) return result;
}
const result = internalModuleStat(filename);
if (cache !== null) cache.set(filename, result);
return result;
}
--- Optimized code ---
optimization_id = 11
source_position = 851
kind = OPTIMIZED_FUNCTION
name = stat
stack_slots = 8
compiler = crankshaft
Instructions (size = 559)
0x37c26f5cbf20 0 55 push rbp
0x37c26f5cbf21 1 4889e5 REX.W movq rbp,rsp
0x37c26f5cbf24 4 56 push rsi
0x37c26f5cbf25 5 57 push rdi
0x37c26f5cbf26 6 4883ec20 REX.W subq rsp,0x20
;;; <@0,#0> -------------------- B0 --------------------
;;; <@6,#4> prologue
;;; Prologue begin
;;; Prologue end
;;; <@10,#6> -------------------- B1 --------------------
;;; <@12,#7> context
0x37c26f5cbf2a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 851
;;; <@13,#7> gap
0x37c26f5cbf2e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@16,#12> -------------------- B2 --------------------
;;; <@17,#12> gap
0x37c26f5cbf32 18 488bf0 REX.W movq rsi,rax
;;; <@18,#14> stack-check
0x37c26f5cbf35 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f5cbf3c 28 7305 jnc 35 (0x37c26f5cbf43)
0x37c26f5cbf3e 30 e89d0ce7ff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@20,#14> lazy-bailout
;;; <@21,#14> gap
0x37c26f5cbf43 35 488b5de8 REX.W movq rbx,[rbp-0x18]
;;; <@22,#15> load-context-slot
0x37c26f5cbf47 39 488b435f REX.W movq rax,[rbx+0x5f] ;; debug: position 877
0x37c26f5cbf4b 43 493b45d8 REX.W cmpq rax,[r13-0x28]
0x37c26f5cbf4f 47 0f848b010000 jz 448 (0x37c26f5cc0e0)
;;; <@24,#16> check-non-smi
0x37c26f5cbf55 53 a801 test al,0x1 ;; debug: position 882
0x37c26f5cbf57 55 0f8488010000 jz 453 (0x37c26f5cc0e5)
;;; <@26,#17> check-maps
0x37c26f5cbf5d 61 49bab92ae1eadf370000 REX.W movq r10,0x37dfeae12ab9 ;; object: 0x37dfeae12ab9 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5cbf67 71 4c3950ff REX.W cmpq [rax-0x1],r10
0x37c26f5cbf6b 75 0f8579010000 jnz 458 (0x37c26f5cc0ea)
;;; <@28,#18> load-named-field
0x37c26f5cbf71 81 488b783f REX.W movq rdi,[rax+0x3f]
;;; <@30,#21> push-argument
0x37c26f5cbf75 85 50 push rax
;;; <@31,#21> gap
0x37c26f5cbf76 86 488b5510 REX.W movq rdx,[rbp+0x10]
;;; <@32,#21> push-argument
0x37c26f5cbf7a 90 52 push rdx
;;; <@34,#19> constant-i
0x37c26f5cbf7b 91 b801000000 movl rax,0x1
;;; <@35,#19> gap
0x37c26f5cbf80 96 488bf3 REX.W movq rsi,rbx
;;; <@36,#22> call-with-descriptor
0x37c26f5cbf83 99 e8187be4ff call Call_ReceiverIsNotNullOrUndefined (0x37c26f413aa0) ;; code: BUILTIN
;;; <@37,#22> gap
0x37c26f5cbf88 104 488945e0 REX.W movq [rbp-0x20],rax
;;; <@38,#23> lazy-bailout
;;; <@39,#23> gap
0x37c26f5cbf8c 108 488b5de8 REX.W movq rbx,[rbp-0x18]
;;; <@40,#24> load-context-slot
0x37c26f5cbf90 112 488b9387000000 REX.W movq rdx,[rbx+0x87] ;; debug: position 919
;;; <@42,#25> check-non-smi
0x37c26f5cbf97 119 f6c201 testb rdx,0x1 ;; debug: position 923
0x37c26f5cbf9a 122 0f844f010000 jz 463 (0x37c26f5cc0ef)
;;; <@44,#26> check-maps
0x37c26f5cbfa0 128 49baa9a1e1eadf370000 REX.W movq r10,0x37dfeae1a1a9 ;; object: 0x37dfeae1a1a9 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5cbfaa 138 4c3952ff REX.W cmpq [rdx-0x1],r10
0x37c26f5cbfae 142 0f8540010000 jnz 468 (0x37c26f5cc0f4)
;;; <@46,#27> load-named-field
0x37c26f5cbfb4 148 488b5207 REX.W movq rdx,[rdx+0x7]
0x37c26f5cbfb8 152 488b520f REX.W movq rdx,[rdx+0xf]
;;; <@47,#27> gap
0x37c26f5cbfbc 156 488955d8 REX.W movq [rbp-0x28],rdx
;;; <@49,#31> cmp-object-eq-and-branch
0x37c26f5cbfc0 160 49ba01426051de230000 REX.W movq r10,0x23de51604201 ;; debug: position 943
;; object: 0x23de51604201 <null>
0x37c26f5cbfca 170 493bd2 REX.W cmpq rdx,r10
0x37c26f5cbfcd 173 0f844d000000 jz 256 (0x37c26f5cc020)
;;; <@50,#35> -------------------- B3 (unreachable/replaced) --------------------
;;; <@54,#38> -------------------- B4 --------------------
;;; <@56,#41> check-maps
0x37c26f5cbfd3 179 49ba91a1808f7a200000 REX.W movq r10,0x207a8f80a191 ;; debug: position 933
;; debug: position 980
;; object: 0x207a8f80a191 <Map(FAST_HOLEY_SMI_ELEMENTS)>
0x37c26f5cbfdd 189 4c3952ff REX.W cmpq [rdx-0x1],r10
0x37c26f5cbfe1 193 0f8512010000 jnz 473 (0x37c26f5cc0f9)
;;; <@58,#43> check-maps
;;; <@60,#46> push-argument
0x37c26f5cbfe7 199 52 push rdx
;;; <@62,#46> push-argument
0x37c26f5cbfe8 200 50 push rax
;;; <@64,#45> constant-t
0x37c26f5cbfe9 201 48bf21966c51de230000 REX.W movq rdi,0x23de516c9621 ;; object: 0x23de516c9621 <JS Function get (SharedFunctionInfo 0x23de516702a9)>
;;; <@65,#45> gap
0x37c26f5cbff3 211 488bf3 REX.W movq rsi,rbx
;;; <@66,#47> invoke-function
0x37c26f5cbff6 214 488b7727 REX.W movq rsi,[rdi+0x27]
0x37c26f5cbffa 218 498b55a8 REX.W movq rdx,[r13-0x58]
0x37c26f5cbffe 222 b801000000 movl rax,0x1
0x37c26f5cc003 227 ff5737 call [rdi+0x37]
;;; <@68,#48> lazy-bailout
;;; <@71,#51> cmp-object-eq-and-branch
0x37c26f5cc006 230 49ba81436051de230000 REX.W movq r10,0x23de51604381 ;; debug: position 1010
;; object: 0x23de51604381 <undefined>
0x37c26f5cc010 240 493bc2 REX.W cmpq rax,r10
0x37c26f5cc013 243 0f8407000000 jz 256 (0x37c26f5cc020)
;;; <@72,#55> -------------------- B5 (unreachable/replaced) --------------------
;;; <@76,#58> -------------------- B6 --------------------
;;; <@78,#61> return
0x37c26f5cc019 249 488be5 REX.W movq rsp,rbp ;; debug: position 1032
;; debug: position 1025
0x37c26f5cc01c 252 5d pop rbp
0x37c26f5cc01d 253 c21000 ret 0x10
;;; <@80,#52> -------------------- B7 (unreachable/replaced) --------------------
;;; <@84,#62> -------------------- B8 (unreachable/replaced) --------------------
;;; <@88,#32> -------------------- B9 (unreachable/replaced) --------------------
;;; <@92,#65> -------------------- B10 (unreachable/replaced) --------------------
;;; <@96,#69> -------------------- B11 --------------------
;;; <@97,#69> gap
0x37c26f5cc020 256 488b45e8 REX.W movq rax,[rbp-0x18] ;; debug: position 1061
;;; <@98,#70> load-context-slot
0x37c26f5cc024 260 488b586f REX.W movq rbx,[rax+0x6f]
0x37c26f5cc028 264 493b5dd8 REX.W cmpq rbx,[r13-0x28]
0x37c26f5cc02c 268 0f84cc000000 jz 478 (0x37c26f5cc0fe)
;;; <@100,#71> check-value
0x37c26f5cc032 274 49bab902a4968c230000 REX.W movq r10,0x238c96a402b9 ;; object: 0x238c96a402b9 <JS Function internalModuleStat (SharedFunctionInfo 0x238c96a40211)>
0x37c26f5cc03c 284 493bda REX.W cmpq rbx,r10
0x37c26f5cc03f 287 0f85be000000 jnz 483 (0x37c26f5cc103)
;;; <@102,#73> check-maps
;;; <@104,#74> push-argument
0x37c26f5cc045 293 49ba19666e51de230000 REX.W movq r10,0x23de516e6619 ;; object: 0x23de516e6619 <JS Global Object>
0x37c26f5cc04f 303 4152 push r10
;;; <@106,#74> push-argument
0x37c26f5cc051 305 ff75e0 push [rbp-0x20]
;;; <@108,#76> constant-e
0x37c26f5cc054 308 498d95b87560fe REX.W leaq rdx,[r13-0x19f8a48]
;;; <@110,#77> constant-t
0x37c26f5cc05b 315 48bfb902a4968c230000 REX.W movq rdi,0x238c96a402b9 ;; object: 0x238c96a402b9 <JS Function internalModuleStat (SharedFunctionInfo 0x238c96a40211)>
;;; <@112,#75> constant-t
0x37c26f5cc065 325 48bb19206e51de230000 REX.W movq rbx,0x23de516e2019 ;; object: 0x23de516e2019 <JS Object>
;;; <@114,#72> constant-t
0x37c26f5cc06f 335 48b919666e51de230000 REX.W movq rcx,0x23de516e6619 ;; object: 0x23de516e6619 <JS Global Object>
;;; <@115,#72> gap
0x37c26f5cc079 345 488bf0 REX.W movq rsi,rax
;;; <@116,#79> call-with-descriptor
0x37c26f5cc07c 348 e8df71ffff call 0x37c26f5c3260 ;; code: STUB, CallApiCallbackStub, minor: 4
;;; <@117,#79> gap
0x37c26f5cc081 353 488945d0 REX.W movq [rbp-0x30],rax
;;; <@118,#80> lazy-bailout
;;; <@120,#83> gap
0x37c26f5cc085 357 488b5dd8 REX.W movq rbx,[rbp-0x28] ;; debug: position 1103
;;; <@121,#83> cmp-object-eq-and-branch
0x37c26f5cc089 361 49ba01426051de230000 REX.W movq r10,0x23de51604201 ;; object: 0x23de51604201 <null>
0x37c26f5cc093 371 493bda REX.W cmpq rbx,r10
0x37c26f5cc096 374 0f8437000000 jz 435 (0x37c26f5cc0d3)
;;; <@122,#87> -------------------- B12 (unreachable/replaced) --------------------
;;; <@126,#90> -------------------- B13 --------------------
;;; <@128,#92> check-maps
0x37c26f5cc09c 380 49ba91a1808f7a200000 REX.W movq r10,0x207a8f80a191 ;; debug: position 1113
;; debug: position 1119
;; object: 0x207a8f80a191 <Map(FAST_HOLEY_SMI_ELEMENTS)>
0x37c26f5cc0a6 390 4c3953ff REX.W cmpq [rbx-0x1],r10
0x37c26f5cc0aa 394 0f8558000000 jnz 488 (0x37c26f5cc108)
;;; <@130,#94> check-maps
;;; <@132,#98> push-argument
0x37c26f5cc0b0 400 53 push rbx
;;; <@134,#98> push-argument
0x37c26f5cc0b1 401 ff75e0 push [rbp-0x20]
;;; <@136,#98> push-argument
0x37c26f5cc0b4 404 50 push rax
;;; <@138,#97> constant-t
0x37c26f5cc0b5 405 48bf69966c51de230000 REX.W movq rdi,0x23de516c9669 ;; object: 0x23de516c9669 <JS Function set (SharedFunctionInfo 0x23de51670351)>
;;; <@139,#97> gap
0x37c26f5cc0bf 415 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@140,#99> invoke-function
0x37c26f5cc0c3 419 488b7727 REX.W movq rsi,[rdi+0x27]
0x37c26f5cc0c7 423 498b55a8 REX.W movq rdx,[r13-0x58]
0x37c26f5cc0cb 427 b802000000 movl rax,0x2
0x37c26f5cc0d0 432 ff5737 call [rdi+0x37]
;;; <@142,#100> lazy-bailout
;;; <@146,#84> -------------------- B14 (unreachable/replaced) --------------------
;;; <@150,#103> -------------------- B15 (unreachable/replaced) --------------------
;;; <@154,#106> -------------------- B16 --------------------
;;; <@155,#106> gap
0x37c26f5cc0d3 435 488b45d0 REX.W movq rax,[rbp-0x30] ;; debug: position 1093
;; debug: position 1151
;;; <@156,#109> return
0x37c26f5cc0d7 439 488be5 REX.W movq rsp,rbp ;; debug: position 1144
0x37c26f5cc0da 442 5d pop rbp
0x37c26f5cc0db 443 c21000 ret 0x10
0x37c26f5cc0de 446 6690 nop
;;; -------------------- Jump table --------------------
0x37c26f5cc0e0 448 e8259fb3ff call 0x37c26f10600a ;; debug: position 13312
;; debug: deopt reason 'hole'
;; deoptimization bailout 1
0x37c26f5cc0e5 453 e82a9fb3ff call 0x37c26f106014 ;; debug: position 15872
;; debug: deopt reason 'Smi'
;; deoptimization bailout 2
0x37c26f5cc0ea 458 e82f9fb3ff call 0x37c26f10601e ;; debug: position 15872
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 3
0x37c26f5cc0ef 463 e83e9fb3ff call 0x37c26f106032 ;; debug: position 36864
;; debug: deopt reason 'Smi'
;; deoptimization bailout 5
0x37c26f5cc0f4 468 e8439fb3ff call 0x37c26f10603c ;; debug: position 36864
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 6
0x37c26f5cc0f9 473 e8489fb3ff call 0x37c26f106046 ;; debug: position 66048
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 7
0x37c26f5cc0fe 478 e8579fb3ff call 0x37c26f10605a ;; debug: position 107520
;; debug: deopt reason 'hole'
;; deoptimization bailout 9
0x37c26f5cc103 483 e85c9fb3ff call 0x37c26f106064 ;; debug: position 107520
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 10
0x37c26f5cc108 488 e86b9fb3ff call 0x37c26f106078 ;; debug: position 137216
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 12
0x37c26f5cc10d 493 0f1f00 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 14)
index ast id argc pc
0 4 0 35
1 4 0 -1
2 4 0 -1
3 4 0 -1
4 18 0 108
5 18 0 -1
6 18 0 -1
7 73 0 -1
8 87 0 230
9 55 0 -1
10 55 0 -1
11 134 0 357
12 147 0 -1
13 162 0 435
Safepoints (size = 63)
0x37c26f5cbf43 35 00010000 (sp -> fp) 0
0x37c26f5cbf88 104 00010000 (sp -> fp) 4
0x37c26f5cc006 230 01110000 (sp -> fp) 8
0x37c26f5cc081 353 01110000 (sp -> fp) 11
0x37c26f5cc0d3 435 10110000 (sp -> fp) 13
RelocInfo (size = 995)
0x37c26f5cbf2a position (851)
0x37c26f5cbf2a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f5cbf2a comment (;;; <@6,#4> prologue)
0x37c26f5cbf2a comment (;;; Prologue begin)
0x37c26f5cbf2a comment (;;; Prologue end)
0x37c26f5cbf2a comment (;;; <@10,#6> -------------------- B1 --------------------)
0x37c26f5cbf2a comment (;;; <@12,#7> context)
0x37c26f5cbf2e comment (;;; <@13,#7> gap)
0x37c26f5cbf32 comment (;;; <@16,#12> -------------------- B2 --------------------)
0x37c26f5cbf32 comment (;;; <@17,#12> gap)
0x37c26f5cbf35 comment (;;; <@18,#14> stack-check)
0x37c26f5cbf3f code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f5cbf43 comment (;;; <@20,#14> lazy-bailout)
0x37c26f5cbf43 comment (;;; <@21,#14> gap)
0x37c26f5cbf47 comment (;;; <@22,#15> load-context-slot)
0x37c26f5cbf47 position (877)
0x37c26f5cbf55 comment (;;; <@24,#16> check-non-smi)
0x37c26f5cbf55 position (882)
0x37c26f5cbf5d comment (;;; <@26,#17> check-maps)
0x37c26f5cbf5f embedded object (0x37dfeae12ab9 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5cbf71 comment (;;; <@28,#18> load-named-field)
0x37c26f5cbf75 comment (;;; <@30,#21> push-argument)
0x37c26f5cbf76 comment (;;; <@31,#21> gap)
0x37c26f5cbf7a comment (;;; <@32,#21> push-argument)
0x37c26f5cbf7b comment (;;; <@34,#19> constant-i)
0x37c26f5cbf80 comment (;;; <@35,#19> gap)
0x37c26f5cbf83 comment (;;; <@36,#22> call-with-descriptor)
0x37c26f5cbf84 code target (BUILTIN) (0x37c26f413aa0)
0x37c26f5cbf88 comment (;;; <@37,#22> gap)
0x37c26f5cbf8c comment (;;; <@38,#23> lazy-bailout)
0x37c26f5cbf8c comment (;;; <@39,#23> gap)
0x37c26f5cbf90 comment (;;; <@40,#24> load-context-slot)
0x37c26f5cbf90 position (919)
0x37c26f5cbf97 comment (;;; <@42,#25> check-non-smi)
0x37c26f5cbf97 position (923)
0x37c26f5cbfa0 comment (;;; <@44,#26> check-maps)
0x37c26f5cbfa2 embedded object (0x37dfeae1a1a9 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5cbfb4 comment (;;; <@46,#27> load-named-field)
0x37c26f5cbfbc comment (;;; <@47,#27> gap)
0x37c26f5cbfc0 position (943)
0x37c26f5cbfc0 comment (;;; <@49,#31> cmp-object-eq-and-branch)
0x37c26f5cbfc2 embedded object (0x23de51604201 <null>)
0x37c26f5cbfd3 comment (;;; <@50,#35> -------------------- B3 (unreachable/replaced) --------------------)
0x37c26f5cbfd3 position (933)
0x37c26f5cbfd3 comment (;;; <@54,#38> -------------------- B4 --------------------)
0x37c26f5cbfd3 comment (;;; <@56,#41> check-maps)
0x37c26f5cbfd3 position (980)
0x37c26f5cbfd5 embedded object (0x207a8f80a191 <Map(FAST_HOLEY_SMI_ELEMENTS)>)
0x37c26f5cbfe7 comment (;;; <@58,#43> check-maps)
0x37c26f5cbfe7 comment (;;; <@60,#46> push-argument)
0x37c26f5cbfe8 comment (;;; <@62,#46> push-argument)
0x37c26f5cbfe9 comment (;;; <@64,#45> constant-t)
0x37c26f5cbfeb embedded object (0x23de516c9621 <JS Function get (SharedFunctionInfo 0x23de516702a9)>)
0x37c26f5cbff3 comment (;;; <@65,#45> gap)
0x37c26f5cbff6 comment (;;; <@66,#47> invoke-function)
0x37c26f5cc006 comment (;;; <@68,#48> lazy-bailout)
0x37c26f5cc006 position (1010)
0x37c26f5cc006 comment (;;; <@71,#51> cmp-object-eq-and-branch)
0x37c26f5cc008 embedded object (0x23de51604381 <undefined>)
0x37c26f5cc019 comment (;;; <@72,#55> -------------------- B5 (unreachable/replaced) --------------------)
0x37c26f5cc019 position (1032)
0x37c26f5cc019 comment (;;; <@76,#58> -------------------- B6 --------------------)
0x37c26f5cc019 comment (;;; <@78,#61> return)
0x37c26f5cc019 position (1025)
0x37c26f5cc020 comment (;;; <@80,#52> -------------------- B7 (unreachable/replaced) --------------------)
0x37c26f5cc020 comment (;;; <@84,#62> -------------------- B8 (unreachable/replaced) --------------------)
0x37c26f5cc020 comment (;;; <@88,#32> -------------------- B9 (unreachable/replaced) --------------------)
0x37c26f5cc020 comment (;;; <@92,#65> -------------------- B10 (unreachable/replaced) --------------------)
0x37c26f5cc020 position (1061)
0x37c26f5cc020 comment (;;; <@96,#69> -------------------- B11 --------------------)
0x37c26f5cc020 comment (;;; <@97,#69> gap)
0x37c26f5cc024 comment (;;; <@98,#70> load-context-slot)
0x37c26f5cc032 comment (;;; <@100,#71> check-value)
0x37c26f5cc034 embedded object (0x238c96a402b9 <JS Function internalModuleStat (SharedFunctionInfo 0x238c96a40211)>)
0x37c26f5cc045 comment (;;; <@102,#73> check-maps)
0x37c26f5cc045 comment (;;; <@104,#74> push-argument)
0x37c26f5cc047 embedded object (0x23de516e6619 <JS Global Object>)
0x37c26f5cc051 comment (;;; <@106,#74> push-argument)
0x37c26f5cc054 comment (;;; <@108,#76> constant-e)
0x37c26f5cc05b comment (;;; <@110,#77> constant-t)
0x37c26f5cc05d embedded object (0x238c96a402b9 <JS Function internalModuleStat (SharedFunctionInfo 0x238c96a40211)>)
0x37c26f5cc065 comment (;;; <@112,#75> constant-t)
0x37c26f5cc067 embedded object (0x23de516e2019 <JS Object>)
0x37c26f5cc06f comment (;;; <@114,#72> constant-t)
0x37c26f5cc071 embedded object (0x23de516e6619 <JS Global Object>)
0x37c26f5cc079 comment (;;; <@115,#72> gap)
0x37c26f5cc07c comment (;;; <@116,#79> call-with-descriptor)
0x37c26f5cc07d code target (STUB) (0x37c26f5c3260)
0x37c26f5cc081 comment (;;; <@117,#79> gap)
0x37c26f5cc085 comment (;;; <@118,#80> lazy-bailout)
0x37c26f5cc085 comment (;;; <@120,#83> gap)
0x37c26f5cc085 position (1103)
0x37c26f5cc089 comment (;;; <@121,#83> cmp-object-eq-and-branch)
0x37c26f5cc08b embedded object (0x23de51604201 <null>)
0x37c26f5cc09c comment (;;; <@122,#87> -------------------- B12 (unreachable/replaced) --------------------)
0x37c26f5cc09c position (1113)
0x37c26f5cc09c comment (;;; <@126,#90> -------------------- B13 --------------------)
0x37c26f5cc09c comment (;;; <@128,#92> check-maps)
0x37c26f5cc09c position (1119)
0x37c26f5cc09e embedded object (0x207a8f80a191 <Map(FAST_HOLEY_SMI_ELEMENTS)>)
0x37c26f5cc0b0 comment (;;; <@130,#94> check-maps)
0x37c26f5cc0b0 comment (;;; <@132,#98> push-argument)
0x37c26f5cc0b1 comment (;;; <@134,#98> push-argument)
0x37c26f5cc0b4 comment (;;; <@136,#98> push-argument)
0x37c26f5cc0b5 comment (;;; <@138,#97> constant-t)
0x37c26f5cc0b7 embedded object (0x23de516c9669 <JS Function set (SharedFunctionInfo 0x23de51670351)>)
0x37c26f5cc0bf comment (;;; <@139,#97> gap)
0x37c26f5cc0c3 comment (;;; <@140,#99> invoke-function)
0x37c26f5cc0d3 comment (;;; <@142,#100> lazy-bailout)
0x37c26f5cc0d3 position (1093)
0x37c26f5cc0d3 comment (;;; <@146,#84> -------------------- B14 (unreachable/replaced) --------------------)
0x37c26f5cc0d3 comment (;;; <@150,#103> -------------------- B15 (unreachable/replaced) --------------------)
0x37c26f5cc0d3 position (1151)
0x37c26f5cc0d3 comment (;;; <@154,#106> -------------------- B16 --------------------)
0x37c26f5cc0d3 comment (;;; <@155,#106> gap)
0x37c26f5cc0d7 comment (;;; <@156,#109> return)
0x37c26f5cc0d7 position (1144)
0x37c26f5cc0e0 comment (;;; -------------------- Jump table --------------------)
0x37c26f5cc0e0 position (13312)
0x37c26f5cc0e0 deopt reason (hole)
0x37c26f5cc0e1 runtime entry (deoptimization bailout 1)
0x37c26f5cc0e5 position (15872)
0x37c26f5cc0e5 deopt reason (Smi)
0x37c26f5cc0e6 runtime entry (deoptimization bailout 2)
0x37c26f5cc0ea position (15872)
0x37c26f5cc0ea deopt reason (wrong map)
0x37c26f5cc0eb runtime entry (deoptimization bailout 3)
0x37c26f5cc0ef position (36864)
0x37c26f5cc0ef deopt reason (Smi)
0x37c26f5cc0f0 runtime entry (deoptimization bailout 5)
0x37c26f5cc0f4 position (36864)
0x37c26f5cc0f4 deopt reason (wrong map)
0x37c26f5cc0f5 runtime entry (deoptimization bailout 6)
0x37c26f5cc0f9 position (66048)
0x37c26f5cc0f9 deopt reason (wrong map)
0x37c26f5cc0fa runtime entry (deoptimization bailout 7)
0x37c26f5cc0fe position (107520)
0x37c26f5cc0fe deopt reason (hole)
0x37c26f5cc0ff runtime entry (deoptimization bailout 9)
0x37c26f5cc103 position (107520)
0x37c26f5cc103 deopt reason (value mismatch)
0x37c26f5cc104 runtime entry (deoptimization bailout 10)
0x37c26f5cc108 position (137216)
0x37c26f5cc108 deopt reason (wrong map)
0x37c26f5cc109 runtime entry (deoptimization bailout 12)
0x37c26f5cc110 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (get) id{12,0} ---
(r){
if(!(%_ClassOf(this)==='Map')){
throw h(44,
'Map.prototype.get',this);
}
var n=%_JSCollectionGetTable(this);
var p=((%_FixedArrayGet(n,(0)|0)));
var o=GetExistingHash(r);
if((o===(void 0)))return(void 0);
var s=MapFindEntry(n,p,r,o);
if(s===-1)return(void 0);
return((%_FixedArrayGet(n,((3+(p)+((s)*3))+1)|0)));
}
--- END ---
--- FUNCTION SOURCE (GetExistingHash) id{12,1} ---
(r){
if(%_IsSmi(r)){
return ComputeIntegerHash(r,0);
}
if((typeof(r)==='string')){
var w=%_StringGetRawHashField(r);
if((w&1)===0){
return w>>>2;
}
}else if((%_IsJSReceiver(r))&&!(%_IsJSProxy(r))&&!(%_ClassOf(r)==='global')){
var o=(r[f]);
return o;
}
return %GenericHash(r);
}
--- END ---
INLINE (GetExistingHash) id{12,1} AS 1 AT <0:156>
--- FUNCTION SOURCE (MapFindEntry) id{12,2} ---
(n,p,r,o){
var s=HashToEntry(n,o,p);
if(s===-1)return s;
var t=((%_FixedArrayGet(n,((3+(p)+((s)*3)))|0)));
if(r===t)return s;
var u=j(r);
while(true){
if(u&&j(t)){
return s;
}
s=((%_FixedArrayGet(n,((3+(p)+((s)*3))+2)|0)));
if(s===-1)return s;
t=((%_FixedArrayGet(n,((3+(p)+((s)*3)))|0)));
if(r===t)return s;
}
return-1;
}
--- END ---
INLINE (MapFindEntry) id{12,2} AS 2 AT <0:216>
--- FUNCTION SOURCE (HashToEntry) id{12,3} ---
(n,o,p){
var q=(o&((p)-1));
return((%_FixedArrayGet(n,(3+(q))|0)));
}
--- END ---
INLINE (HashToEntry) id{12,3} AS 3 AT <2:17>
--- FUNCTION SOURCE (isNaN) id{12,4} ---
(s){
return(typeof(s)==='number')&&(!%_IsSmi(%IS_VAR(s))&&!(s==s));
}
--- END ---
INLINE (isNaN) id{12,4} AS 4 AT <2:132>
--- Raw source ---
(r){
if(!(%_ClassOf(this)==='Map')){
throw h(44,
'Map.prototype.get',this);
}
var n=%_JSCollectionGetTable(this);
var p=((%_FixedArrayGet(n,(0)|0)));
var o=GetExistingHash(r);
if((o===(void 0)))return(void 0);
var s=MapFindEntry(n,p,r,o);
if(s===-1)return(void 0);
return((%_FixedArrayGet(n,((3+(p)+((s)*3))+1)|0)));
}
--- Optimized code ---
optimization_id = 12
source_position = 4903
kind = OPTIMIZED_FUNCTION
name = get
stack_slots = 22
compiler = crankshaft
Instructions (size = 2285)
0x37c26f5cd5e0 0 55 push rbp
0x37c26f5cd5e1 1 4889e5 REX.W movq rbp,rsp
0x37c26f5cd5e4 4 56 push rsi
0x37c26f5cd5e5 5 57 push rdi
0x37c26f5cd5e6 6 4881ec90000000 REX.W subq rsp,0x90
;;; <@0,#0> -------------------- B0 --------------------
;;; <@6,#4> prologue
;;; Prologue begin
;;; Prologue end
;;; <@10,#6> -------------------- B1 --------------------
;;; <@12,#7> context
0x37c26f5cd5ed 13 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 4903
;;; <@13,#7> gap
0x37c26f5cd5f1 17 488945e8 REX.W movq [rbp-0x18],rax
;;; <@16,#11> -------------------- B2 --------------------
;;; <@17,#11> gap
0x37c26f5cd5f5 21 488bf0 REX.W movq rsi,rax
;;; <@18,#13> stack-check
0x37c26f5cd5f8 24 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f5cd5ff 31 7305 jnc 38 (0x37c26f5cd606)
0x37c26f5cd601 33 e8daf5e6ff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@20,#13> lazy-bailout
;;; <@22,#15> gap
0x37c26f5cd606 38 488b4518 REX.W movq rax,[rbp+0x18] ;; debug: position 4928
;;; <@23,#15> class-of-test-and-branch
0x37c26f5cd60a 42 a801 test al,0x1
0x37c26f5cd60c 44 0f844e000000 jz 128 (0x37c26f5cd660)
0x37c26f5cd612 50 488b50ff REX.W movq rdx,[rax-0x1]
0x37c26f5cd616 54 807a0bc8 cmpb [rdx+0xb],0xc8
0x37c26f5cd61a 58 0f8340000000 jnc 128 (0x37c26f5cd660)
0x37c26f5cd620 64 488b521f REX.W movq rdx,[rdx+0x1f]
0x37c26f5cd624 68 f6c201 testb rdx,0x1
0x37c26f5cd627 71 7411 jz 90 (0x37c26f5cd63a)
0x37c26f5cd629 73 4c8b52ff REX.W movq r10,[rdx-0x1]
0x37c26f5cd62d 77 41807a0b84 cmpb [r10+0xb],0x84
0x37c26f5cd632 82 7506 jnz 90 (0x37c26f5cd63a)
0x37c26f5cd634 84 488b521f REX.W movq rdx,[rdx+0x1f]
0x37c26f5cd638 88 ebea jmp 68 (0x37c26f5cd624)
0x37c26f5cd63a 90 41807a0bc9 cmpb [r10+0xb],0xc9
0x37c26f5cd63f 95 0f851b000000 jnz 128 (0x37c26f5cd660)
0x37c26f5cd645 101 488b521f REX.W movq rdx,[rdx+0x1f]
0x37c26f5cd649 105 488b522f REX.W movq rdx,[rdx+0x2f]
0x37c26f5cd64d 109 49ba494f6051de230000 REX.W movq r10,0x23de51604f49 ;; object: 0x23de51604f49 <String[3]: Map>
0x37c26f5cd657 119 493bd2 REX.W cmpq rdx,r10
0x37c26f5cd65a 122 0f8467000000 jz 231 (0x37c26f5cd6c7)
;;; <@24,#19> -------------------- B3 (unreachable/replaced) --------------------
;;; <@28,#22> -------------------- B4 --------------------
;;; <@29,#22> gap
0x37c26f5cd660 128 488b4de8 REX.W movq rcx,[rbp-0x18] ;; debug: position 4946
;;; <@30,#23> load-context-slot
0x37c26f5cd664 132 488b793f REX.W movq rdi,[rcx+0x3f]
;;; <@32,#26> push-argument
0x37c26f5cd668 136 49ba81436051de230000 REX.W movq r10,0x23de51604381 ;; object: 0x23de51604381 <undefined>
0x37c26f5cd672 146 4152 push r10
;;; <@34,#26> push-argument
0x37c26f5cd674 148 49ba000000002c000000 REX.W movq r10,0x2c00000000
0x37c26f5cd67e 158 4152 push r10
;;; <@36,#26> push-argument
0x37c26f5cd680 160 49bac13ba6968c230000 REX.W movq r10,0x238c96a63bc1 ;; object: 0x238c96a63bc1 <String[17]: Map.prototype.get>
0x37c26f5cd68a 170 4152 push r10
;;; <@38,#26> push-argument
0x37c26f5cd68c 172 50 push rax
;;; <@40,#492> constant-s
0x37c26f5cd68d 173 48ba0000000001000000 REX.W movq rdx,0x100000000
;;; <@42,#28> constant-t
0x37c26f5cd697 183 48bb113ca6968c230000 REX.W movq rbx,0x238c96a63c11 ;; object: 0x238c96a63c11 <FixedArray[7]>
;;; <@43,#28> gap
0x37c26f5cd6a1 193 488bf1 REX.W movq rsi,rcx
;;; <@44,#30> call-with-descriptor
0x37c26f5cd6a4 196 e857f3ffff call 0x37c26f5cca00 ;; code: CALL_IC, GENERIC
;;; <@46,#31> lazy-bailout
;;; <@48,#32> push-argument
0x37c26f5cd6a9 201 50 push rax ;; debug: position 4940
;;; <@49,#32> gap
0x37c26f5cd6aa 202 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@50,#33> call-runtime
0x37c26f5cd6ae 206 0f1f840000000000 nop
0x37c26f5cd6b6 214 b801000000 movl rax,0x1
0x37c26f5cd6bb 219 498d9d58b13ffe REX.W leaq rbx,[r13-0x1c04ea8]
0x37c26f5cd6c2 226 e879bbe3ff call 0x37c26f409240 ;; code: STUB, CEntryStub, minor: 4
;;; <@52,#34> lazy-bailout
;;; <@54,#16> -------------------- B5 (unreachable/replaced) --------------------
;;; <@58,#36> -------------------- B6 --------------------
;;; <@59,#36> gap
0x37c26f5cd6c7 231 488b4518 REX.W movq rax,[rbp+0x18] ;; debug: position 4987
;;; <@60,#37> load-named-field
0x37c26f5cd6cb 235 488b5817 REX.W movq rbx,[rax+0x17]
;;; <@61,#37> gap
0x37c26f5cd6cf 239 48895de0 REX.W movq [rbp-0x20],rbx
;;; <@62,#41> load-keyed
0x37c26f5cd6d3 243 488b530f REX.W movq rdx,[rbx+0xf] ;; debug: position 5025
;;; <@63,#41> gap
0x37c26f5cd6d7 247 488955d8 REX.W movq [rbp-0x28],rdx
0x37c26f5cd6db 251 488b4de8 REX.W movq rcx,[rbp-0x18]
;;; <@64,#43> load-context-slot
0x37c26f5cd6df 255 488b797f REX.W movq rdi,[rcx+0x7f] ;; debug: position 5059
;;; <@65,#43> gap
0x37c26f5cd6e3 259 48897dd0 REX.W movq [rbp-0x30],rdi
;;; <@66,#44> check-value
0x37c26f5cd6e7 263 49baa92f6b51de230000 REX.W movq r10,0x23de516b2fa9 ;; object: 0x23de516b2fa9 <JS Function GetExistingHash (SharedFunctionInfo 0x23de5166f861)>
0x37c26f5cd6f1 273 493bfa REX.W cmpq rdi,r10
0x37c26f5cd6f4 276 0f85c7060000 jnz 2017 (0x37c26f5cddc1)
;;; <@68,#49> gap
0x37c26f5cd6fa 282 4c8b4510 REX.W movq r8,[rbp+0x10] ;; debug: position 1438
;;; <@69,#49> is-smi-and-branch
0x37c26f5cd6fe 286 41f6c001 testb r8,0x1
0x37c26f5cd702 290 0f8406010000 jz 558 (0x37c26f5cd80e)
;;; <@70,#53> -------------------- B7 (unreachable/replaced) --------------------
;;; <@74,#68> -------------------- B8 --------------------
;;; <@76,#69> gap
0x37c26f5cd708 296 498bf0 REX.W movq rsi,r8 ;; debug: position 1498
;;; <@77,#69> typeof-is-and-branch
0x37c26f5cd70b 299 40f6c601 testb rsi,0x1
0x37c26f5cd70f 303 740e jz 319 (0x37c26f5cd71f)
0x37c26f5cd711 305 488b76ff REX.W movq rsi,[rsi-0x1]
0x37c26f5cd715 309 807e0b80 cmpb [rsi+0xb],0x80
0x37c26f5cd719 313 0f82a4000000 jc 483 (0x37c26f5cd7c3)
;;; <@78,#73> -------------------- B9 (unreachable/replaced) --------------------
;;; <@82,#100> -------------------- B10 --------------------
;;; <@85,#101> has-instance-type-and-branch
0x37c26f5cd71f 319 41f6c001 testb r8,0x1 ;; debug: position 1588
0x37c26f5cd723 323 0f84af000000 jz 504 (0x37c26f5cd7d8)
0x37c26f5cd729 329 4d8b50ff REX.W movq r10,[r8-0x1]
0x37c26f5cd72d 333 41807a0bb1 cmpb [r10+0xb],0xb1
0x37c26f5cd732 338 0f82a0000000 jc 504 (0x37c26f5cd7d8)
;;; <@86,#105> -------------------- B11 (unreachable/replaced) --------------------
;;; <@90,#102> -------------------- B12 (unreachable/replaced) --------------------
;;; <@94,#108> -------------------- B13 --------------------
;;; <@97,#109> is-smi-and-branch
0x37c26f5cd738 344 41f6c001 testb r8,0x1 ;; debug: position 1610
0x37c26f5cd73c 348 0f8414000000 jz 374 (0x37c26f5cd756)
;;; <@98,#112> -------------------- B14 --------------------
;;; <@100,#113> load-named-field
0x37c26f5cd742 354 498b70ff REX.W movq rsi,[r8-0x1]
;;; <@102,#114> load-named-field
0x37c26f5cd746 358 0fb6760b movzxbl rsi,[rsi+0xb]
;;; <@105,#118> compare-numeric-and-branch
0x37c26f5cd74a 362 81feb1000000 cmpl rsi,0xb1
0x37c26f5cd750 368 0f8482000000 jz 504 (0x37c26f5cd7d8)
;;; <@106,#116> -------------------- B15 (unreachable/replaced) --------------------
;;; <@110,#119> -------------------- B16 (unreachable/replaced) --------------------
;;; <@114,#110> -------------------- B17 (unreachable/replaced) --------------------
;;; <@118,#122> -------------------- B18 (unreachable/replaced) --------------------
;;; <@122,#125> -------------------- B19 --------------------
;;; <@125,#126> class-of-test-and-branch
0x37c26f5cd756 374 41f6c001 testb r8,0x1 ;; debug: position 1641
0x37c26f5cd75a 378 0f8450000000 jz 464 (0x37c26f5cd7b0)
0x37c26f5cd760 384 4d8b48ff REX.W movq r9,[r8-0x1]
0x37c26f5cd764 388 4180790bc8 cmpb [r9+0xb],0xc8
0x37c26f5cd769 393 0f8341000000 jnc 464 (0x37c26f5cd7b0)
0x37c26f5cd76f 399 4d8b491f REX.W movq r9,[r9+0x1f]
0x37c26f5cd773 403 41f6c101 testb r9,0x1
0x37c26f5cd777 407 7411 jz 426 (0x37c26f5cd78a)
0x37c26f5cd779 409 4d8b51ff REX.W movq r10,[r9-0x1]
0x37c26f5cd77d 413 41807a0b84 cmpb [r10+0xb],0x84
0x37c26f5cd782 418 7506 jnz 426 (0x37c26f5cd78a)
0x37c26f5cd784 420 4d8b491f REX.W movq r9,[r9+0x1f]
0x37c26f5cd788 424 ebe9 jmp 403 (0x37c26f5cd773)
0x37c26f5cd78a 426 41807a0bc9 cmpb [r10+0xb],0xc9
0x37c26f5cd78f 431 0f851b000000 jnz 464 (0x37c26f5cd7b0)
0x37c26f5cd795 437 4d8b491f REX.W movq r9,[r9+0x1f]
0x37c26f5cd799 441 4d8b492f REX.W movq r9,[r9+0x2f]
0x37c26f5cd79d 445 49baa94c6051de230000 REX.W movq r10,0x23de51604ca9 ;; object: 0x23de51604ca9 <String[6]: global>
0x37c26f5cd7a7 455 4d3bca REX.W cmpq r9,r10
0x37c26f5cd7aa 458 0f8428000000 jz 504 (0x37c26f5cd7d8)
;;; <@126,#130> -------------------- B20 (unreachable/replaced) --------------------
;;; <@130,#133> -------------------- B21 --------------------
;;; <@132,#45> constant-t
0x37c26f5cd7b0 464 48be21276b51de230000 REX.W movq rsi,0x23de516b2721 ;; debug: position 1665
;; debug: position 1430
;; object: 0x23de516b2721 <FixedArray[16]>
;;; <@134,#134> load-context-slot
0x37c26f5cd7ba 474 488b762f REX.W movq rsi,[rsi+0x2f] ;; debug: position 1665
;;; <@137,#135> deoptimize
0x37c26f5cd7be 478 e86588d3ff call 0x37c26f306028 ;; debug: position 1664
;; debug: position 119809
;; debug: deopt reason 'Insufficient type feedback for keyed load'
;; soft deoptimization bailout 4
;;; <@138,#136> -------------------- B22 (unreachable/replaced) --------------------
;;; <@148,#127> -------------------- B23 (unreachable/replaced) --------------------
;;; <@152,#147> -------------------- B24 (unreachable/replaced) --------------------
;;; <@156,#70> -------------------- B25 (unreachable/replaced) --------------------
;;; <@160,#76> -------------------- B26 --------------------
;;; <@162,#77> load-named-field
0x37c26f5cd7c3 483 418b7007 movl rsi,[r8+0x7] ;; debug: position 1519
;;; <@163,#77> gap
0x37c26f5cd7c7 487 4c8bce REX.W movq r9,rsi
;;; <@164,#81> bit-i
0x37c26f5cd7ca 490 4183e101 andl r9,0x1 ;; debug: position 1552
;;; <@167,#84> compare-numeric-and-branch
0x37c26f5cd7ce 494 4183f900 cmpl r9,0x0 ;; debug: position 1555
0x37c26f5cd7d2 498 0f8425000000 jz 541 (0x37c26f5cd7fd)
;;; <@168,#88> -------------------- B27 (unreachable/replaced) --------------------
;;; <@172,#144> -------------------- B28 (unreachable/replaced) --------------------
;;; <@176,#151> -------------------- B29 --------------------
;;; <@178,#152> push-argument
0x37c26f5cd7d8 504 4150 push r8 ;; debug: position 1689
;;; <@180,#45> constant-t
0x37c26f5cd7da 506 48be21276b51de230000 REX.W movq rsi,0x23de516b2721 ;; debug: position 1430
;; object: 0x23de516b2721 <FixedArray[16]>
;;; <@182,#153> call-runtime
0x37c26f5cd7e4 516 b801000000 movl rax,0x1 ;; debug: position 1689
0x37c26f5cd7e9 521 498d9d68753cfe REX.W leaq rbx,[r13-0x1c38a98]
0x37c26f5cd7f0 528 e84bbae3ff call 0x37c26f409240 ;; code: STUB, CEntryStub, minor: 4
;;; <@184,#154> lazy-bailout
;;; <@186,#157> gap
0x37c26f5cd7f5 533 488bd8 REX.W movq rbx,rax ;; debug: position 1682
;;; <@187,#157> goto
0x37c26f5cd7f8 536 e956000000 jmp 627 (0x37c26f5cd853)
;;; <@188,#85> -------------------- B30 (unreachable/replaced) --------------------
;;; <@192,#91> -------------------- B31 --------------------
;;; <@194,#94> shift-i
0x37c26f5cd7fd 541 c1ee02 shrl rsi, 2 ;; debug: position 1569
;; debug: position 1570
;;; <@196,#498> smi-tag
0x37c26f5cd800 544 8bc6 movl rax,rsi ;; debug: position 5059
0x37c26f5cd802 546 48c1e020 REX.W shlq rax, 32
;;; <@198,#98> gap
0x37c26f5cd806 550 488bd8 REX.W movq rbx,rax ;; debug: position 1562
;;; <@199,#98> goto
0x37c26f5cd809 553 e945000000 jmp 627 (0x37c26f5cd853)
;;; <@200,#50> -------------------- B32 (unreachable/replaced) --------------------
;;; <@204,#56> -------------------- B33 --------------------
;;; <@206,#45> constant-t
0x37c26f5cd80e 558 48be21276b51de230000 REX.W movq rsi,0x23de516b2721 ;; debug: position 1458
;; debug: position 1430
;; object: 0x23de516b2721 <FixedArray[16]>
;;; <@208,#57> load-context-slot
0x37c26f5cd818 568 488b7e77 REX.W movq rdi,[rsi+0x77] ;; debug: position 1458
;;; <@210,#59> push-argument
0x37c26f5cd81c 572 49ba81436051de230000 REX.W movq r10,0x23de51604381 ;; object: 0x23de51604381 <undefined>
0x37c26f5cd826 582 4152 push r10
;;; <@212,#59> push-argument
0x37c26f5cd828 584 ff7510 push [rbp+0x10]
;;; <@214,#59> push-argument
0x37c26f5cd82b 587 6a00 push 0x0
;;; <@216,#45> constant-t
0x37c26f5cd82d 589 48be21276b51de230000 REX.W movq rsi,0x23de516b2721 ;; debug: position 1430
;; object: 0x23de516b2721 <FixedArray[16]>
;;; <@218,#500> constant-s
0x37c26f5cd837 599 48ba0000000001000000 REX.W movq rdx,0x100000000 ;; debug: position 1458
;;; <@220,#61> constant-t
0x37c26f5cd841 609 48bbd13da6968c230000 REX.W movq rbx,0x238c96a63dd1 ;; object: 0x238c96a63dd1 <FixedArray[5]>
;;; <@222,#63> call-with-descriptor
0x37c26f5cd84b 619 e8f06af5ff call 0x37c26f524340 ;; code: CALL_IC, GENERIC
;;; <@224,#64> lazy-bailout
;;; <@226,#67> gap
0x37c26f5cd850 624 488bd8 REX.W movq rbx,rax ;; debug: position 1451
;;; <@228,#158> -------------------- B34 --------------------
0x37c26f5cd853 627 48895dc0 REX.W movq [rbp-0x40],rbx ;; debug: position 5059
;;; <@231,#161> cmp-object-eq-and-branch
0x37c26f5cd857 631 49ba81436051de230000 REX.W movq r10,0x23de51604381 ;; debug: position 5084
;; object: 0x23de51604381 <undefined>
0x37c26f5cd861 641 493bda REX.W cmpq rbx,r10
0x37c26f5cd864 644 0f84fc030000 jz 1670 (0x37c26f5cdc66)
;;; <@232,#165> -------------------- B35 (unreachable/replaced) --------------------
;;; <@236,#172> -------------------- B36 --------------------
;;; <@237,#172> gap
0x37c26f5cd86a 650 488b4de8 REX.W movq rcx,[rbp-0x18] ;; debug: position 5119
;;; <@238,#173> load-context-slot
0x37c26f5cd86e 654 488b796f REX.W movq rdi,[rcx+0x6f]
;;; <@239,#173> gap
0x37c26f5cd872 658 48897db8 REX.W movq [rbp-0x48],rdi
;;; <@240,#177> check-value
0x37c26f5cd876 662 49ba192f6b51de230000 REX.W movq r10,0x23de516b2f19 ;; object: 0x23de516b2f19 <JS Function MapFindEntry (SharedFunctionInfo 0x23de5166f711)>
0x37c26f5cd880 672 493bfa REX.W cmpq rdi,r10
0x37c26f5cd883 675 0f853d050000 jnz 2022 (0x37c26f5cddc6)
;;; <@242,#45> constant-t
0x37c26f5cd889 681 48be21276b51de230000 REX.W movq rsi,0x23de516b2721 ;; debug: position 1430
;; object: 0x23de516b2721 <FixedArray[16]>
;;; <@244,#182> load-context-slot
0x37c26f5cd893 691 488b465f REX.W movq rax,[rsi+0x5f] ;; debug: position 870
;;; <@246,#183> check-value
0x37c26f5cd897 695 49ba892e6b51de230000 REX.W movq r10,0x23de516b2e89 ;; object: 0x23de516b2e89 <JS Function HashToEntry (SharedFunctionInfo 0x23de5166f5c1)>
0x37c26f5cd8a1 705 493bc2 REX.W cmpq rax,r10
0x37c26f5cd8a4 708 0f8521050000 jnz 2027 (0x37c26f5cddcb)
;;; <@247,#183> gap
0x37c26f5cd8aa 714 4c8b45d8 REX.W movq r8,[rbp-0x28]
;;; <@248,#497> tagged-to-i
0x37c26f5cd8ae 718 41f6c001 testb r8,0x1 ;; debug: position 366
0x37c26f5cd8b2 722 0f85bf030000 jnz 1687 (0x37c26f5cdc77)
0x37c26f5cd8b8 728 49c1e820 REX.W shrq r8, 32
;;; <@249,#497> gap
0x37c26f5cd8bc 732 4c894590 REX.W movq [rbp-0x70],r8
0x37c26f5cd8c0 736 498bd0 REX.W movq rdx,r8
;;; <@250,#189> sub-i
0x37c26f5cd8c3 739 83ea01 subl rdx,0x1 ;; debug: position 368
;;; <@251,#189> gap
0x37c26f5cd8c6 742 488bf3 REX.W movq rsi,rbx
;;; <@252,#501> tagged-to-i
0x37c26f5cd8c9 745 40f6c601 testb rsi,0x1 ;; debug: position 362
0x37c26f5cd8cd 749 0f85da030000 jnz 1741 (0x37c26f5cdcad)
0x37c26f5cd8d3 755 48c1ee20 REX.W shrq rsi, 32
;;; <@254,#191> bit-i
0x37c26f5cd8d7 759 23d6 andl rdx,rsi ;; debug: position 363
0x37c26f5cd8d9 761 4863d2 REX.W movsxlq rdx,rdx
;;; <@255,#191> gap
0x37c26f5cd8dc 764 4c8b4de0 REX.W movq r9,[rbp-0x20]
;;; <@256,#201> load-keyed
0x37c26f5cd8e0 768 4d8b5cd127 REX.W movq r11,[r9+rdx*8+0x27] ;; debug: position 382
;;; <@257,#201> gap
0x37c26f5cd8e5 773 4c895db0 REX.W movq [rbp-0x50],r11
;;; <@260,#205> -------------------- B37 --------------------
;;; <@261,#205> gap
0x37c26f5cd8e9 777 4d8be3 REX.W movq r12,r11 ;; debug: position 870
;;; <@262,#506> tagged-to-i
0x37c26f5cd8ec 780 41f6c401 testb r12,0x1 ;; debug: position 893
0x37c26f5cd8f0 784 0f8518040000 jnz 1838 (0x37c26f5cdd0e)
0x37c26f5cd8f6 790 49c1ec20 REX.W shrq r12, 32
;;; <@263,#506> gap
0x37c26f5cd8fa 794 4c8965a0 REX.W movq [rbp-0x60],r12
;;; <@265,#209> compare-numeric-and-branch
0x37c26f5cd8fe 798 4183fcff cmpl r12,0xff ;; debug: position 894
0x37c26f5cd902 802 0f840c030000 jz 1588 (0x37c26f5cdc14)
;;; <@266,#213> -------------------- B38 (unreachable/replaced) --------------------
;;; <@270,#221> -------------------- B39 --------------------
;;; <@271,#221> gap
0x37c26f5cd908 808 4d8bf0 REX.W movq r14,r8 ;; debug: position 938
;;; <@272,#223> add-i
0x37c26f5cd90b 811 4183c603 addl r14,0x3 ;; debug: position 939
0x37c26f5cd90f 815 0f80bb040000 jo 2032 (0x37c26f5cddd0)
;;; <@273,#223> gap
0x37c26f5cd915 821 4c897598 REX.W movq [rbp-0x68],r14
0x37c26f5cd919 825 4c89e0 REX.W movq rax,r12
;;; <@274,#227> mul-i
0x37c26f5cd91c 828 6bc003 imull rax,rax,0x3 ;; debug: position 948
0x37c26f5cd91f 831 0f80b0040000 jo 2037 (0x37c26f5cddd5)
;;; <@275,#227> gap
0x37c26f5cd925 837 4c8bf8 REX.W movq r15,rax
;;; <@276,#229> add-i
0x37c26f5cd928 840 4503fe addl r15,r14 ;; debug: position 943
;;; <@277,#229> gap
0x37c26f5cd92b 843 4c897da8 REX.W movq [rbp-0x58],r15
;;; <@278,#234> load-keyed
0x37c26f5cd92f 847 4b8b44f90f REX.W movq rax,[r9+r15*8+0xf] ;; debug: position 918
;;; <@279,#234> gap
0x37c26f5cd934 852 488945c8 REX.W movq [rbp-0x38],rax
0x37c26f5cd938 856 488b5510 REX.W movq rdx,[rbp+0x10]
;;; <@280,#237> check-non-smi
0x37c26f5cd93c 860 f6c201 testb rdx,0x1 ;; debug: position 964
0x37c26f5cd93f 863 0f8495040000 jz 2042 (0x37c26f5cddda)
;;; <@282,#238> check-instance-type
0x37c26f5cd945 869 4c8b52ff REX.W movq r10,[rdx-0x1]
0x37c26f5cd949 873 41f6420b80 testb [r10+0xb],0x80
0x37c26f5cd94e 878 0f858b040000 jnz 2047 (0x37c26f5cdddf)
;;; <@284,#239> check-non-smi
0x37c26f5cd954 884 a801 test al,0x1
0x37c26f5cd956 886 0f8488040000 jz 2052 (0x37c26f5cdde4)
;;; <@286,#240> check-instance-type
0x37c26f5cd95c 892 4c8b50ff REX.W movq r10,[rax-0x1]
0x37c26f5cd960 896 41f6420b80 testb [r10+0xb],0x80
0x37c26f5cd965 901 0f857e040000 jnz 2057 (0x37c26f5cdde9)
;;; <@288,#45> constant-t
0x37c26f5cd96b 907 48be21276b51de230000 REX.W movq rsi,0x23de516b2721 ;; debug: position 1430
;; object: 0x23de516b2721 <FixedArray[16]>
;;; <@291,#241> string-compare-and-branch
0x37c26f5cd975 917 e866faffff call 0x37c26f5cd3e0 ;; debug: position 964
;; code: STUB, StringEqualStub, minor: 0
0x37c26f5cd97a 922 493b45c0 REX.W cmpq rax,[r13-0x40]
0x37c26f5cd97e 926 0f8487020000 jz 1579 (0x37c26f5cdc0b)
;;; <@292,#241> lazy-bailout
;;; <@294,#245> -------------------- B40 (unreachable/replaced) --------------------
;;; <@298,#253> -------------------- B41 --------------------
;;; <@300,#45> constant-t
0x37c26f5cd984 932 48be21276b51de230000 REX.W movq rsi,0x23de516b2721 ;; debug: position 985
;; debug: position 1430
;; object: 0x23de516b2721 <FixedArray[16]>
;;; <@302,#254> load-context-slot
0x37c26f5cd98e 942 488b464f REX.W movq rax,[rsi+0x4f] ;; debug: position 985
;;; <@304,#255> check-value
0x37c26f5cd992 946 49ba412e6b51de230000 REX.W movq r10,0x23de516b2e41 ;; object: 0x23de516b2e41 <JS Function isNaN (SharedFunctionInfo 0x23de5164e549)>
0x37c26f5cd99c 956 493bc2 REX.W cmpq rax,r10
0x37c26f5cd99f 959 0f8549040000 jnz 2062 (0x37c26f5cddee)
;;; <@306,#260> gap
0x37c26f5cd9a5 965 488b5d10 REX.W movq rbx,[rbp+0x10] ;; debug: position 15807
;;; <@307,#260> typeof-is-and-branch
0x37c26f5cd9a9 969 f6c301 testb rbx,0x1
0x37c26f5cd9ac 972 0f841d000000 jz 1007 (0x37c26f5cd9cf)
0x37c26f5cd9b2 978 4d8b55f8 REX.W movq r10,[r13-0x8]
0x37c26f5cd9b6 982 4c3953ff REX.W cmpq [rbx-0x1],r10
0x37c26f5cd9ba 986 0f840f000000 jz 1007 (0x37c26f5cd9cf)
;;; <@308,#266> -------------------- B42 --------------------
;;; <@310,#268> gap
0x37c26f5cd9c0 992 48bb71426051de230000 REX.W movq rbx,0x23de51604271 ;; object: 0x23de51604271 <false>
;;; <@311,#268> goto
0x37c26f5cd9ca 1002 e90a000000 jmp 1017 (0x37c26f5cd9d9)
;;; <@312,#263> -------------------- B43 --------------------
;;; <@314,#265> gap
0x37c26f5cd9cf 1007 48bbc1436051de230000 REX.W movq rbx,0x23de516043c1 ;; object: 0x23de516043c1 <true>
;;; <@316,#270> -------------------- B44 --------------------
;;; <@319,#271> branch
0x37c26f5cd9d9 1017 493b5dc0 REX.W cmpq rbx,[r13-0x40] ;; debug: position 15819
0x37c26f5cd9dd 1021 0f8408000000 jz 1035 (0x37c26f5cd9eb)
;;; <@320,#315> -------------------- B45 --------------------
;;; <@322,#317> gap
0x37c26f5cd9e3 1027 488bc3 REX.W movq rax,rbx
;;; <@323,#317> goto
0x37c26f5cd9e6 1030 e935000000 jmp 1088 (0x37c26f5cda20)
;;; <@324,#272> -------------------- B46 --------------------
;;; <@327,#273> is-smi-and-branch
0x37c26f5cd9eb 1035 f6451001 testb [rbp+0x10],0x1 ;; debug: position 15823
0x37c26f5cd9ef 1039 0f840f000000 jz 1060 (0x37c26f5cda04)
;;; <@328,#277> -------------------- B47 (unreachable/replaced) --------------------
;;; <@332,#283> -------------------- B48 --------------------
;;; <@334,#285> gap
0x37c26f5cd9f5 1045 48bbc1436051de230000 REX.W movq rbx,0x23de516043c1 ;; debug: position 15822
;; object: 0x23de516043c1 <true>
;;; <@335,#285> goto
0x37c26f5cd9ff 1055 e90a000000 jmp 1070 (0x37c26f5cda0e)
;;; <@336,#274> -------------------- B49 (unreachable/replaced) --------------------
;;; <@340,#280> -------------------- B50 --------------------
;;; <@342,#282> gap
0x37c26f5cda04 1060 48bb71426051de230000 REX.W movq rbx,0x23de51604271 ;; object: 0x23de51604271 <false>
;;; <@344,#287> -------------------- B51 --------------------
;;; <@347,#288> branch
0x37c26f5cda0e 1070 493b5dc0 REX.W cmpq rbx,[r13-0x40] ;; debug: position 15842
0x37c26f5cda12 1074 0f8505000000 jnz 1085 (0x37c26f5cda1d)
;;; <@348,#308> -------------------- B52 (unreachable/replaced) --------------------
;;; <@352,#289> -------------------- B53 --------------------
;;; <@355,#290> deoptimize
0x37c26f5cda18 1080 e88d86d3ff call 0x37c26f3060aa ;; debug: position 15847
;; debug: position 31236
;; debug: deopt reason 'Insufficient type feedback for combined type of binary operation'
;; soft deoptimization bailout 17
;;; <@356,#291> -------------------- B54 (unreachable/replaced) --------------------
;;; <@366,#298> -------------------- B55 (unreachable/replaced) --------------------
;;; <@370,#304> -------------------- B56 (unreachable/replaced) --------------------
;;; <@374,#295> -------------------- B57 (unreachable/replaced) --------------------
;;; <@378,#301> -------------------- B58 (unreachable/replaced) --------------------
;;; <@382,#311> -------------------- B59 (unreachable/replaced) --------------------
;;; <@386,#318> -------------------- B60 --------------------
;;; <@388,#320> gap
0x37c26f5cda1d 1085 488bc3 REX.W movq rax,rbx ;; debug: position 15819
;;; <@390,#322> -------------------- B61 --------------------
0x37c26f5cda20 1088 48894588 REX.W movq [rbp-0x78],rax ;; debug: position 15791
;;; <@394,#326> -------------------- B62 --------------------
;;; <@396,#338> gap
0x37c26f5cda24 1092 488b4da0 REX.W movq rcx,[rbp-0x60] ;; debug: position 985
;; debug: position 991
0x37c26f5cda28 1096 488b5dc8 REX.W movq rbx,[rbp-0x38]
0x37c26f5cda2c 1100 4c8b45e0 REX.W movq r8,[rbp-0x20]
;;; <@398,#339> -------------------- B63 (loop header) --------------------
0x37c26f5cda30 1104 48894d80 REX.W movq [rbp-0x80],rcx ;; debug: position 997
;;; <@402,#342> -------------------- B64 (unreachable/replaced) --------------------
;;; <@406,#348> -------------------- B65 --------------------
;;; <@408,#350> stack-check
0x37c26f5cda34 1108 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88] ;; debug: position 991
0x37c26f5cda3b 1115 0f8205030000 jc 1894 (0x37c26f5cdd46)
;;; <@411,#352> branch
0x37c26f5cda41 1121 493b45c0 REX.W cmpq rax,[r13-0x40] ;; debug: position 1007
0x37c26f5cda45 1125 0f85d8000000 jnz 1347 (0x37c26f5cdb23)
;;; <@412,#356> -------------------- B66 (unreachable/replaced) --------------------
;;; <@416,#353> -------------------- B67 (unreachable/replaced) --------------------
;;; <@420,#359> -------------------- B68 --------------------
;;; <@422,#45> constant-t
0x37c26f5cda4b 1131 48be21276b51de230000 REX.W movq rsi,0x23de516b2721 ;; debug: position 1010
;; debug: position 1430
;; object: 0x23de516b2721 <FixedArray[16]>
;;; <@424,#360> load-context-slot
0x37c26f5cda55 1141 488b7e4f REX.W movq rdi,[rsi+0x4f] ;; debug: position 1010
;;; <@426,#362> push-argument
0x37c26f5cda59 1145 49ba81436051de230000 REX.W movq r10,0x23de51604381 ;; object: 0x23de51604381 <undefined>
0x37c26f5cda63 1155 4152 push r10
;;; <@428,#362> push-argument
0x37c26f5cda65 1157 53 push rbx
;;; <@430,#45> constant-t
0x37c26f5cda66 1158 48be21276b51de230000 REX.W movq rsi,0x23de516b2721 ;; debug: position 1430
;; object: 0x23de516b2721 <FixedArray[16]>
;;; <@432,#507> constant-s
0x37c26f5cda70 1168 48ba0000000005000000 REX.W movq rdx,0x500000000 ;; debug: position 1010
;;; <@434,#364> constant-t
0x37c26f5cda7a 1178 48bb413fa6968c230000 REX.W movq rbx,0x238c96a63f41 ;; object: 0x238c96a63f41 <FixedArray[7]>
;;; <@436,#366> call-with-descriptor
0x37c26f5cda84 1188 e83719f4ff call 0x37c26f50f3c0 ;; code: CALL_IC, GENERIC
;;; <@438,#367> lazy-bailout
;;; <@441,#368> branch
0x37c26f5cda89 1193 493b45a8 REX.W cmpq rax,[r13-0x58]
0x37c26f5cda8d 1197 0f8490000000 jz 1347 (0x37c26f5cdb23)
0x37c26f5cda93 1203 493b45c0 REX.W cmpq rax,[r13-0x40]
0x37c26f5cda97 1207 0f844d010000 jz 1546 (0x37c26f5cdbea)
0x37c26f5cda9d 1213 493b45c8 REX.W cmpq rax,[r13-0x38]
0x37c26f5cdaa1 1217 0f847c000000 jz 1347 (0x37c26f5cdb23)
0x37c26f5cdaa7 1223 493b45b8 REX.W cmpq rax,[r13-0x48]
0x37c26f5cdaab 1227 0f8472000000 jz 1347 (0x37c26f5cdb23)
0x37c26f5cdab1 1233 4885c0 REX.W testq rax,rax
0x37c26f5cdab4 1236 0f8469000000 jz 1347 (0x37c26f5cdb23)
0x37c26f5cdaba 1242 a801 test al,0x1
0x37c26f5cdabc 1244 0f8428010000 jz 1546 (0x37c26f5cdbea)
0x37c26f5cdac2 1250 4c8b50ff REX.W movq r10,[rax-0x1]
0x37c26f5cdac6 1254 41f6420c10 testb [r10+0xc],0x10
0x37c26f5cdacb 1259 0f8552000000 jnz 1347 (0x37c26f5cdb23)
0x37c26f5cdad1 1265 41807a0bb1 cmpb [r10+0xb],0xb1
0x37c26f5cdad6 1270 0f830e010000 jnc 1546 (0x37c26f5cdbea)
0x37c26f5cdadc 1276 41807a0b80 cmpb [r10+0xb],0x80
0x37c26f5cdae1 1281 7310 jnc 1299 (0x37c26f5cdaf3)
0x37c26f5cdae3 1283 4883780f00 REX.W cmpq [rax+0xf],0x0
0x37c26f5cdae8 1288 0f85fc000000 jnz 1546 (0x37c26f5cdbea)
0x37c26f5cdaee 1294 e930000000 jmp 1347 (0x37c26f5cdb23)
0x37c26f5cdaf3 1299 41807a0b80 cmpb [r10+0xb],0x80
0x37c26f5cdaf8 1304 0f84ec000000 jz 1546 (0x37c26f5cdbea)
0x37c26f5cdafe 1310 41807a0b82 cmpb [r10+0xb],0x82
0x37c26f5cdb03 1315 0f84e1000000 jz 1546 (0x37c26f5cdbea)
0x37c26f5cdb09 1321 4d3b55f8 REX.W cmpq r10,[r13-0x8]
0x37c26f5cdb0d 1325 7514 jnz 1347 (0x37c26f5cdb23)
0x37c26f5cdb0f 1327 c5f957c0 vxorpd xmm0,xmm0,xmm0
0x37c26f5cdb13 1331 c5f92e4007 vucomisd xmm0,[rax+0x7]
0x37c26f5cdb18 1336 0f8405000000 jz 1347 (0x37c26f5cdb23)
0x37c26f5cdb1e 1342 e9c7000000 jmp 1546 (0x37c26f5cdbea)
;;; <@442,#372> -------------------- B69 (unreachable/replaced) --------------------
;;; <@446,#381> -------------------- B70 --------------------
;;; <@447,#381> gap
0x37c26f5cdb23 1347 488b4580 REX.W movq rax,[rbp-0x80] ;; debug: position 1053
;;; <@448,#387> mul-i
0x37c26f5cdb27 1351 6bc003 imull rax,rax,0x3 ;; debug: position 1063
0x37c26f5cdb2a 1354 0f80c3020000 jo 2067 (0x37c26f5cddf3)
;;; <@450,#389> add-i
0x37c26f5cdb30 1360 034598 addl rax,[rbp-0x68] ;; debug: position 1058
0x37c26f5cdb33 1363 0f80bf020000 jo 2072 (0x37c26f5cddf8)
0x37c26f5cdb39 1369 4863c0 REX.W movsxlq rax,rax
;;; <@452,#392> add-i
0x37c26f5cdb3c 1372 8d5802 leal rbx,[rax+0x2] ;; debug: position 1067
;;; <@453,#392> gap
0x37c26f5cdb3f 1375 488b4de0 REX.W movq rcx,[rbp-0x20]
;;; <@454,#397> load-keyed
0x37c26f5cdb43 1379 488b7cc11f REX.W movq rdi,[rcx+rax*8+0x1f] ;; debug: position 1033
;;; <@455,#397> gap
0x37c26f5cdb48 1384 4889bd78ffffff REX.W movq [rbp-0x88],rdi
0x37c26f5cdb4f 1391 4c8bc7 REX.W movq r8,rdi
;;; <@456,#512> tagged-to-i
0x37c26f5cdb52 1394 41f6c001 testb r8,0x1 ;; debug: position 1080
0x37c26f5cdb56 1398 0f852f020000 jnz 1963 (0x37c26f5cdd8b)
0x37c26f5cdb5c 1404 49c1e820 REX.W shrq r8, 32
;;; <@457,#512> gap
0x37c26f5cdb60 1408 4c898568ffffff REX.W movq [rbp-0x98],r8
;;; <@459,#401> compare-numeric-and-branch
0x37c26f5cdb67 1415 4183f8ff cmpl r8,0xff ;; debug: position 1081
0x37c26f5cdb6b 1419 0f8482000000 jz 1555 (0x37c26f5cdbf3)
;;; <@460,#405> -------------------- B71 (unreachable/replaced) --------------------
;;; <@464,#413> -------------------- B72 --------------------
;;; <@465,#413> gap
0x37c26f5cdb71 1425 498bc0 REX.W movq rax,r8 ;; debug: position 1121
;;; <@466,#419> mul-i
0x37c26f5cdb74 1428 6bc003 imull rax,rax,0x3 ;; debug: position 1131
0x37c26f5cdb77 1431 0f8080020000 jo 2077 (0x37c26f5cddfd)
;;; <@467,#419> gap
0x37c26f5cdb7d 1437 488bd8 REX.W movq rbx,rax
;;; <@468,#421> add-i
0x37c26f5cdb80 1440 035d98 addl rbx,[rbp-0x68] ;; debug: position 1126
;;; <@469,#421> gap
0x37c26f5cdb83 1443 48899d70ffffff REX.W movq [rbp-0x90],rbx
;;; <@470,#426> load-keyed
0x37c26f5cdb8a 1450 4c8b4cd90f REX.W movq r9,[rcx+rbx*8+0xf] ;; debug: position 1101
;;; <@471,#426> gap
0x37c26f5cdb8f 1455 4c898d60ffffff REX.W movq [rbp-0xa0],r9
;;; <@472,#431> check-non-smi
0x37c26f5cdb96 1462 41f6c101 testb r9,0x1 ;; debug: position 1147
0x37c26f5cdb9a 1466 0f8462020000 jz 2082 (0x37c26f5cde02)
;;; <@474,#432> check-instance-type
0x37c26f5cdba0 1472 4d8b51ff REX.W movq r10,[r9-0x1]
0x37c26f5cdba4 1476 41f6420b80 testb [r10+0xb],0x80
0x37c26f5cdba9 1481 0f8558020000 jnz 2087 (0x37c26f5cde07)
;;; <@476,#45> constant-t
0x37c26f5cdbaf 1487 48be21276b51de230000 REX.W movq rsi,0x23de516b2721 ;; debug: position 1430
;; object: 0x23de516b2721 <FixedArray[16]>
;;; <@478,#433> gap
0x37c26f5cdbb9 1497 488b5510 REX.W movq rdx,[rbp+0x10] ;; debug: position 1147
0x37c26f5cdbbd 1501 498bc1 REX.W movq rax,r9
;;; <@479,#433> string-compare-and-branch
0x37c26f5cdbc0 1504 e81bf8ffff call 0x37c26f5cd3e0 ;; code: STUB, StringEqualStub, minor: 0
0x37c26f5cdbc5 1509 493b45c0 REX.W cmpq rax,[r13-0x40]
0x37c26f5cdbc9 1513 0f8430000000 jz 1567 (0x37c26f5cdbff)
;;; <@480,#433> lazy-bailout
;;; <@482,#437> -------------------- B73 (unreachable/replaced) --------------------
;;; <@486,#445> -------------------- B74 --------------------
;;; <@488,#447> gap
0x37c26f5cdbcf 1519 488b8d68ffffff REX.W movq rcx,[rbp-0x98] ;; debug: position 991
0x37c26f5cdbd6 1526 488b9d60ffffff REX.W movq rbx,[rbp-0xa0]
0x37c26f5cdbdd 1533 4c8b45e0 REX.W movq r8,[rbp-0x20]
0x37c26f5cdbe1 1537 488b4588 REX.W movq rax,[rbp-0x78]
;;; <@489,#447> goto
0x37c26f5cdbe5 1541 e946feffff jmp 1104 (0x37c26f5cda30)
;;; <@490,#369> -------------------- B75 (unreachable/replaced) --------------------
;;; <@494,#375> -------------------- B76 --------------------
;;; <@496,#379> gap
0x37c26f5cdbea 1546 488b4580 REX.W movq rax,[rbp-0x80] ;; debug: position 1024
;; debug: position 1017
;;; <@497,#379> goto
0x37c26f5cdbee 1550 e925000000 jmp 1592 (0x37c26f5cdc18)
;;; <@498,#402> -------------------- B77 (unreachable/replaced) --------------------
;;; <@502,#408> -------------------- B78 --------------------
;;; <@504,#412> gap
0x37c26f5cdbf3 1555 488b8568ffffff REX.W movq rax,[rbp-0x98] ;; debug: position 1094
;; debug: position 1087
;;; <@505,#412> goto
0x37c26f5cdbfa 1562 e919000000 jmp 1592 (0x37c26f5cdc18)
;;; <@506,#434> -------------------- B79 (unreachable/replaced) --------------------
;;; <@510,#440> -------------------- B80 --------------------
;;; <@512,#444> gap
0x37c26f5cdbff 1567 488b8568ffffff REX.W movq rax,[rbp-0x98] ;; debug: position 1159
;; debug: position 1152
;;; <@513,#444> goto
0x37c26f5cdc06 1574 e90d000000 jmp 1592 (0x37c26f5cdc18)
;;; <@514,#345> -------------------- B81 (unreachable/replaced) --------------------
;;; <@518,#448> -------------------- B82 (unreachable/replaced) --------------------
;;; <@522,#242> -------------------- B83 (unreachable/replaced) --------------------
;;; <@526,#248> -------------------- B84 --------------------
;;; <@528,#252> gap
0x37c26f5cdc0b 1579 488b45a0 REX.W movq rax,[rbp-0x60] ;; debug: position 976
;; debug: position 969
;;; <@529,#252> goto
0x37c26f5cdc0f 1583 e904000000 jmp 1592 (0x37c26f5cdc18)
;;; <@530,#210> -------------------- B85 (unreachable/replaced) --------------------
;;; <@534,#216> -------------------- B86 --------------------
;;; <@536,#220> gap
0x37c26f5cdc14 1588 488b45a0 REX.W movq rax,[rbp-0x60] ;; debug: position 907
;; debug: position 900
;;; <@538,#453> -------------------- B87 --------------------
;;; <@541,#457> compare-numeric-and-branch
0x37c26f5cdc18 1592 83f8ff cmpl rax,0xff ;; debug: position 5119
;; debug: position 5146
0x37c26f5cdc1b 1595 0f8434000000 jz 1653 (0x37c26f5cdc55)
;;; <@542,#461> -------------------- B88 (unreachable/replaced) --------------------
;;; <@546,#468> -------------------- B89 --------------------
;;; <@547,#468> gap
0x37c26f5cdc21 1601 488b5d90 REX.W movq rbx,[rbp-0x70] ;; debug: position 5192
;;; <@548,#472> add-i
0x37c26f5cdc25 1605 83c303 addl rbx,0x3 ;; debug: position 5197
0x37c26f5cdc28 1608 0f80de010000 jo 2092 (0x37c26f5cde0c)
;;; <@549,#472> gap
0x37c26f5cdc2e 1614 488bd0 REX.W movq rdx,rax
;;; <@550,#476> mul-i
0x37c26f5cdc31 1617 6bd203 imull rdx,rdx,0x3 ;; debug: position 5206
0x37c26f5cdc34 1620 0f80d7010000 jo 2097 (0x37c26f5cde11)
;;; <@552,#478> add-i
0x37c26f5cdc3a 1626 03d3 addl rdx,rbx ;; debug: position 5201
0x37c26f5cdc3c 1628 0f80d4010000 jo 2102 (0x37c26f5cde16)
0x37c26f5cdc42 1634 4863d2 REX.W movsxlq rdx,rdx
;;; <@553,#478> gap
0x37c26f5cdc45 1637 488b45e0 REX.W movq rax,[rbp-0x20]
;;; <@554,#486> load-keyed
0x37c26f5cdc49 1641 488b44d017 REX.W movq rax,[rax+rdx*8+0x17] ;; debug: position 5176
;;; <@556,#488> return
0x37c26f5cdc4e 1646 488be5 REX.W movq rsp,rbp ;; debug: position 5168
0x37c26f5cdc51 1649 5d pop rbp
0x37c26f5cdc52 1650 c21000 ret 0x10
;;; <@558,#458> -------------------- B90 (unreachable/replaced) --------------------
;;; <@562,#464> -------------------- B91 --------------------
;;; <@564,#3> constant-t
0x37c26f5cdc55 1653 48b881436051de230000 REX.W movq rax,0x23de51604381 ;; debug: position 5164
;; debug: position 4903
;; object: 0x23de51604381 <undefined>
;;; <@566,#467> return
0x37c26f5cdc5f 1663 488be5 REX.W movq rsp,rbp ;; debug: position 5152
0x37c26f5cdc62 1666 5d pop rbp
0x37c26f5cdc63 1667 c21000 ret 0x10
;;; <@568,#162> -------------------- B92 (unreachable/replaced) --------------------
;;; <@572,#168> -------------------- B93 --------------------
;;; <@574,#3> constant-t
0x37c26f5cdc66 1670 48b881436051de230000 REX.W movq rax,0x23de51604381 ;; debug: position 5109
;; debug: position 4903
;; object: 0x23de51604381 <undefined>
;;; <@576,#171> return
0x37c26f5cdc70 1680 488be5 REX.W movq rsp,rbp ;; debug: position 5097
0x37c26f5cdc73 1683 5d pop rbp
0x37c26f5cdc74 1684 c21000 ret 0x10
;;; <@248,#497> -------------------- Deferred tagged-to-i --------------------
0x37c26f5cdc77 1687 4d8b55f8 REX.W movq r10,[r13-0x8] ;; debug: position 366
0x37c26f5cdc7b 1691 4d3950ff REX.W cmpq [r8-0x1],r10
0x37c26f5cdc7f 1695 0f8596010000 jnz 2107 (0x37c26f5cde1b)
0x37c26f5cdc85 1701 c4c17b104007 vmovsd xmm0,[r8+0x7]
0x37c26f5cdc8b 1707 c57b2cc0 vcvttsd2si r8,xmm0
0x37c26f5cdc8f 1711 c5f157c9 vxorpd xmm1,xmm1,xmm1
0x37c26f5cdc93 1715 c4c1732ac8 vcvtlsi2sd xmm1,xmm1,r8
0x37c26f5cdc98 1720 c5f92ec1 vucomisd xmm0,xmm1
0x37c26f5cdc9c 1724 0f857e010000 jnz 2112 (0x37c26f5cde20)
0x37c26f5cdca2 1730 0f8a7d010000 jpe 2117 (0x37c26f5cde25)
0x37c26f5cdca8 1736 e90ffcffff jmp 732 (0x37c26f5cd8bc)
;;; <@252,#501> -------------------- Deferred tagged-to-i --------------------
0x37c26f5cdcad 1741 4d8b55f8 REX.W movq r10,[r13-0x8] ;; debug: position 362
0x37c26f5cdcb1 1745 4c3956ff REX.W cmpq [rsi-0x1],r10
0x37c26f5cdcb5 1749 7529 jnz 1792 (0x37c26f5cdce0)
0x37c26f5cdcb7 1751 c5fb104607 vmovsd xmm0,[rsi+0x7]
0x37c26f5cdcbc 1756 c4e1fb2cf0 vcvttsd2siq rsi,xmm0
0x37c26f5cdcc1 1761 4883fe01 REX.W cmpq rsi,0x1
0x37c26f5cdcc5 1765 7112 jno 1785 (0x37c26f5cdcd9)
0x37c26f5cdcc7 1767 4883ec08 REX.W subq rsp,0x8
0x37c26f5cdccb 1771 c5fb110424 vmovsd [rsp],xmm0
0x37c26f5cdcd0 1776 e84bf8ffff call 0x37c26f5cd520 ;; code: STUB, DoubleToIStub, minor: 135556
0x37c26f5cdcd5 1781 4883c408 REX.W addq rsp,0x8
0x37c26f5cdcd9 1785 8bf6 movl rsi,rsi
0x37c26f5cdcdb 1787 e9f7fbffff jmp 759 (0x37c26f5cd8d7)
0x37c26f5cdce0 1792 493b75a8 REX.W cmpq rsi,[r13-0x58]
0x37c26f5cdce4 1796 7507 jnz 1805 (0x37c26f5cdced)
0x37c26f5cdce6 1798 33f6 xorl rsi,rsi
0x37c26f5cdce8 1800 e9eafbffff jmp 759 (0x37c26f5cd8d7)
0x37c26f5cdced 1805 493b75c0 REX.W cmpq rsi,[r13-0x40]
0x37c26f5cdcf1 1809 750a jnz 1821 (0x37c26f5cdcfd)
0x37c26f5cdcf3 1811 be01000000 movl rsi,0x1
0x37c26f5cdcf8 1816 e9dafbffff jmp 759 (0x37c26f5cd8d7)
0x37c26f5cdcfd 1821 493b75c8 REX.W cmpq rsi,[r13-0x38]
0x37c26f5cdd01 1825 0f8523010000 jnz 2122 (0x37c26f5cde2a)
0x37c26f5cdd07 1831 33f6 xorl rsi,rsi
0x37c26f5cdd09 1833 e9c9fbffff jmp 759 (0x37c26f5cd8d7)
;;; <@262,#506> -------------------- Deferred tagged-to-i --------------------
0x37c26f5cdd0e 1838 4d8b55f8 REX.W movq r10,[r13-0x8] ;; debug: position 893
0x37c26f5cdd12 1842 4d395424ff REX.W cmpq [r12-0x1],r10
0x37c26f5cdd17 1847 0f8512010000 jnz 2127 (0x37c26f5cde2f)
0x37c26f5cdd1d 1853 c4c17b10442407 vmovsd xmm0,[r12+0x7]
0x37c26f5cdd24 1860 c57b2ce0 vcvttsd2si r12,xmm0
0x37c26f5cdd28 1864 c5f157c9 vxorpd xmm1,xmm1,xmm1
0x37c26f5cdd2c 1868 c4c1732acc vcvtlsi2sd xmm1,xmm1,r12
0x37c26f5cdd31 1873 c5f92ec1 vucomisd xmm0,xmm1
0x37c26f5cdd35 1877 0f85f9000000 jnz 2132 (0x37c26f5cde34)
0x37c26f5cdd3b 1883 0f8af8000000 jpe 2137 (0x37c26f5cde39)
0x37c26f5cdd41 1889 e9b4fbffff jmp 794 (0x37c26f5cd8fa)
;;; <@408,#350> -------------------- Deferred stack-check --------------------
0x37c26f5cdd46 1894 50 push rax ;; debug: position 991
0x37c26f5cdd47 1895 51 push rcx
0x37c26f5cdd48 1896 52 push rdx
0x37c26f5cdd49 1897 53 push rbx
0x37c26f5cdd4a 1898 56 push rsi
0x37c26f5cdd4b 1899 57 push rdi
0x37c26f5cdd4c 1900 4150 push r8
0x37c26f5cdd4e 1902 4151 push r9
0x37c26f5cdd50 1904 4153 push r11
0x37c26f5cdd52 1906 4154 push r12
0x37c26f5cdd54 1908 4156 push r14
0x37c26f5cdd56 1910 4157 push r15
0x37c26f5cdd58 1912 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x37c26f5cdd5d 1917 488b75f8 REX.W movq rsi,[rbp-0x8]
0x37c26f5cdd61 1921 33c0 xorl rax,rax
0x37c26f5cdd63 1923 498d9d28d53ffe REX.W leaq rbx,[r13-0x1c02ad8]
0x37c26f5cdd6a 1930 e8719be3ff call 0x37c26f4078e0 ;; code: STUB, CEntryStub, minor: 5
0x37c26f5cdd6f 1935 488d642420 REX.W leaq rsp,[rsp+0x20]
0x37c26f5cdd74 1940 415f pop r15
0x37c26f5cdd76 1942 415e pop r14
0x37c26f5cdd78 1944 415c pop r12
0x37c26f5cdd7a 1946 415b pop r11
0x37c26f5cdd7c 1948 4159 pop r9
0x37c26f5cdd7e 1950 4158 pop r8
0x37c26f5cdd80 1952 5f pop rdi
0x37c26f5cdd81 1953 5e pop rsi
0x37c26f5cdd82 1954 5b pop rbx
0x37c26f5cdd83 1955 5a pop rdx
0x37c26f5cdd84 1956 59 pop rcx
0x37c26f5cdd85 1957 58 pop rax
0x37c26f5cdd86 1958 e9b6fcffff jmp 1121 (0x37c26f5cda41)
;;; <@456,#512> -------------------- Deferred tagged-to-i --------------------
0x37c26f5cdd8b 1963 4d8b55f8 REX.W movq r10,[r13-0x8] ;; debug: position 1080
0x37c26f5cdd8f 1967 4d3950ff REX.W cmpq [r8-0x1],r10
0x37c26f5cdd93 1971 0f85a5000000 jnz 2142 (0x37c26f5cde3e)
0x37c26f5cdd99 1977 c4c17b104007 vmovsd xmm0,[r8+0x7]
0x37c26f5cdd9f 1983 c57b2cc0 vcvttsd2si r8,xmm0
0x37c26f5cdda3 1987 c5f157c9 vxorpd xmm1,xmm1,xmm1
0x37c26f5cdda7 1991 c4c1732ac8 vcvtlsi2sd xmm1,xmm1,r8
0x37c26f5cddac 1996 c5f92ec1 vucomisd xmm0,xmm1
0x37c26f5cddb0 2000 0f858d000000 jnz 2147 (0x37c26f5cde43)
0x37c26f5cddb6 2006 0f8a8c000000 jpe 2152 (0x37c26f5cde48)
0x37c26f5cddbc 2012 e99ffdffff jmp 1408 (0x37c26f5cdb60)
;;; -------------------- Jump table --------------------
0x37c26f5cddc1 2017 e85882b3ff call 0x37c26f10601e ;; debug: position 79872
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 3
0x37c26f5cddc6 2022 e87b82b3ff call 0x37c26f106046 ;; debug: position 110592
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 7
0x37c26f5cddcb 2027 e88082b3ff call 0x37c26f106050 ;; debug: position 8706
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 8
0x37c26f5cddd0 2032 e88582b3ff call 0x37c26f10605a ;; debug: position 44034
;; debug: deopt reason 'overflow'
;; deoptimization bailout 9
0x37c26f5cddd5 2037 e88a82b3ff call 0x37c26f106064 ;; debug: position 48642
;; debug: deopt reason 'overflow'
;; deoptimization bailout 10
0x37c26f5cddda 2042 e88f82b3ff call 0x37c26f10606e ;; debug: position 56834
;; debug: deopt reason 'Smi'
;; deoptimization bailout 11
0x37c26f5cdddf 2047 e89482b3ff call 0x37c26f106078 ;; debug: position 56834
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 12
0x37c26f5cdde4 2052 e89982b3ff call 0x37c26f106082 ;; debug: position 56834
;; debug: deopt reason 'Smi'
;; deoptimization bailout 13
0x37c26f5cdde9 2057 e89e82b3ff call 0x37c26f10608c ;; debug: position 56834
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 14
0x37c26f5cddee 2062 e8ad82b3ff call 0x37c26f1060a0 ;; debug: position 67586
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 16
0x37c26f5cddf3 2067 e8d082b3ff call 0x37c26f1060c8 ;; debug: position 107522
;; debug: deopt reason 'overflow'
;; deoptimization bailout 20
0x37c26f5cddf8 2072 e8d582b3ff call 0x37c26f1060d2 ;; debug: position 104962
;; debug: deopt reason 'overflow'
;; deoptimization bailout 21
0x37c26f5cddfd 2077 e8da82b3ff call 0x37c26f1060dc ;; debug: position 142338
;; debug: deopt reason 'overflow'
;; deoptimization bailout 22
0x37c26f5cde02 2082 e8df82b3ff call 0x37c26f1060e6 ;; debug: position 150530
;; debug: deopt reason 'Smi'
;; deoptimization bailout 23
0x37c26f5cde07 2087 e8e482b3ff call 0x37c26f1060f0 ;; debug: position 150530
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 24
0x37c26f5cde0c 2092 e8f382b3ff call 0x37c26f106104 ;; debug: position 150528
;; debug: deopt reason 'overflow'
;; deoptimization bailout 26
0x37c26f5cde11 2097 e8f882b3ff call 0x37c26f10610e ;; debug: position 155136
;; debug: deopt reason 'overflow'
;; deoptimization bailout 27
0x37c26f5cde16 2102 e8fd82b3ff call 0x37c26f106118 ;; debug: position 152576
;; debug: deopt reason 'overflow'
;; deoptimization bailout 28
0x37c26f5cde1b 2107 e80283b3ff call 0x37c26f106122 ;; debug: position 10243
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 29
0x37c26f5cde20 2112 e8fd82b3ff call 0x37c26f106122 ;; debug: position 10243
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 29
0x37c26f5cde25 2117 e8f882b3ff call 0x37c26f106122 ;; debug: position 10243
;; debug: deopt reason 'NaN'
;; deoptimization bailout 29
0x37c26f5cde2a 2122 e8fd82b3ff call 0x37c26f10612c ;; debug: position 8195
;; debug: deopt reason 'not a heap number/undefined/true/false'
;; deoptimization bailout 30
0x37c26f5cde2f 2127 e80283b3ff call 0x37c26f106136 ;; debug: position 20482
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 31
0x37c26f5cde34 2132 e8fd82b3ff call 0x37c26f106136 ;; debug: position 20482
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 31
0x37c26f5cde39 2137 e8f882b3ff call 0x37c26f106136 ;; debug: position 20482
;; debug: deopt reason 'NaN'
;; deoptimization bailout 31
0x37c26f5cde3e 2142 e8fd82b3ff call 0x37c26f106140 ;; debug: position 116226
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 32
0x37c26f5cde43 2147 e8f882b3ff call 0x37c26f106140 ;; debug: position 116226
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 32
0x37c26f5cde48 2152 e8f382b3ff call 0x37c26f106140 ;; debug: position 116226
;; debug: deopt reason 'NaN'
;; deoptimization bailout 32
0x37c26f5cde4d 2157 0f1f00 nop
;;; Safepoint table.
Inlined functions (count = 4)
0x23de5166f861 <SharedFunctionInfo GetExistingHash>
0x23de5166f711 <SharedFunctionInfo MapFindEntry>
0x23de5166f5c1 <SharedFunctionInfo HashToEntry>
0x23de5164e549 <SharedFunctionInfo isNaN>
Deoptimization Input Data (deopt points = 33)
index ast id argc pc
0 4 0 38
1 41 0 201
2 39 0 231
3 19 0 -1
4 106 0 -1
5 173 0 533
6 23 0 624
7 118 0 -1
8 3 0 -1
9 44 0 -1
10 81 0 -1
11 73 0 -1
12 73 0 -1
13 73 0 -1
14 73 0 -1
15 73 0 932
16 106 0 -1
17 26 0 -1
18 144 0 1121
19 161 0 1193
20 204 0 -1
21 204 0 -1
22 266 0 -1
23 258 0 -1
24 258 0 -1
25 258 0 1519
26 172 0 -1
27 207 0 -1
28 207 0 -1
29 3 0 -1
30 3 0 -1
31 24 0 -1
32 192 0 -1
Safepoints (size = 125)
0x37c26f5cd606 38 0000000000000000010000 (sp -> fp) 0
0x37c26f5cd6a9 201 0000000000000000010000 (sp -> fp) 1
0x37c26f5cd6c7 231 0000000000000000010000 (sp -> fp) 2
0x37c26f5cd7f5 533 0000000000000011110000 (sp -> fp) 5
0x37c26f5cd850 624 0000000000000011110000 (sp -> fp) 6
0x37c26f5cd97a 922 0000000000111101110000 (sp -> fp) 15
0x37c26f5cda89 1193 0000010000011001110000 (sp -> fp) 19
0x37c26f5cdbc5 1509 1001010000011001110000 (sp -> fp) 25
0x37c26f5cdd6f 1935 0000010000011001110000 | rax | rbx | r8 (sp -> fp) 18
RelocInfo (size = 3664)
0x37c26f5cd5ed position (4903)
0x37c26f5cd5ed comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f5cd5ed comment (;;; <@6,#4> prologue)
0x37c26f5cd5ed comment (;;; Prologue begin)
0x37c26f5cd5ed comment (;;; Prologue end)
0x37c26f5cd5ed comment (;;; <@10,#6> -------------------- B1 --------------------)
0x37c26f5cd5ed comment (;;; <@12,#7> context)
0x37c26f5cd5f1 comment (;;; <@13,#7> gap)
0x37c26f5cd5f5 comment (;;; <@16,#11> -------------------- B2 --------------------)
0x37c26f5cd5f5 comment (;;; <@17,#11> gap)
0x37c26f5cd5f8 comment (;;; <@18,#13> stack-check)
0x37c26f5cd602 code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f5cd606 comment (;;; <@20,#13> lazy-bailout)
0x37c26f5cd606 comment (;;; <@22,#15> gap)
0x37c26f5cd606 position (4928)
0x37c26f5cd60a comment (;;; <@23,#15> class-of-test-and-branch)
0x37c26f5cd64f embedded object (0x23de51604f49 <String[3]: Map>)
0x37c26f5cd660 comment (;;; <@24,#19> -------------------- B3 (unreachable/replaced) --------------------)
0x37c26f5cd660 position (4946)
0x37c26f5cd660 comment (;;; <@28,#22> -------------------- B4 --------------------)
0x37c26f5cd660 comment (;;; <@29,#22> gap)
0x37c26f5cd664 comment (;;; <@30,#23> load-context-slot)
0x37c26f5cd668 comment (;;; <@32,#26> push-argument)
0x37c26f5cd66a embedded object (0x23de51604381 <undefined>)
0x37c26f5cd674 comment (;;; <@34,#26> push-argument)
0x37c26f5cd680 comment (;;; <@36,#26> push-argument)
0x37c26f5cd682 embedded object (0x238c96a63bc1 <String[17]: Map.prototype.get>)
0x37c26f5cd68c comment (;;; <@38,#26> push-argument)
0x37c26f5cd68d comment (;;; <@40,#492> constant-s)
0x37c26f5cd697 comment (;;; <@42,#28> constant-t)
0x37c26f5cd699 embedded object (0x238c96a63c11 <FixedArray[7]>)
0x37c26f5cd6a1 comment (;;; <@43,#28> gap)
0x37c26f5cd6a4 comment (;;; <@44,#30> call-with-descriptor)
0x37c26f5cd6a5 code target (CALL_IC) (0x37c26f5cca00)
0x37c26f5cd6a9 comment (;;; <@46,#31> lazy-bailout)
0x37c26f5cd6a9 comment (;;; <@48,#32> push-argument)
0x37c26f5cd6a9 position (4940)
0x37c26f5cd6aa comment (;;; <@49,#32> gap)
0x37c26f5cd6ae comment (;;; <@50,#33> call-runtime)
0x37c26f5cd6c3 code target (STUB) (0x37c26f409240)
0x37c26f5cd6c7 comment (;;; <@52,#34> lazy-bailout)
0x37c26f5cd6c7 comment (;;; <@54,#16> -------------------- B5 (unreachable/replaced) --------------------)
0x37c26f5cd6c7 position (4987)
0x37c26f5cd6c7 comment (;;; <@58,#36> -------------------- B6 --------------------)
0x37c26f5cd6c7 comment (;;; <@59,#36> gap)
0x37c26f5cd6cb comment (;;; <@60,#37> load-named-field)
0x37c26f5cd6cf comment (;;; <@61,#37> gap)
0x37c26f5cd6d3 comment (;;; <@62,#41> load-keyed)
0x37c26f5cd6d3 position (5025)
0x37c26f5cd6d7 comment (;;; <@63,#41> gap)
0x37c26f5cd6df comment (;;; <@64,#43> load-context-slot)
0x37c26f5cd6df position (5059)
0x37c26f5cd6e3 comment (;;; <@65,#43> gap)
0x37c26f5cd6e7 comment (;;; <@66,#44> check-value)
0x37c26f5cd6e9 embedded object (0x23de516b2fa9 <JS Function GetExistingHash (SharedFunctionInfo 0x23de5166f861)>)
0x37c26f5cd6fa comment (;;; <@68,#49> gap)
0x37c26f5cd6fa position (1438)
0x37c26f5cd6fe comment (;;; <@69,#49> is-smi-and-branch)
0x37c26f5cd708 comment (;;; <@70,#53> -------------------- B7 (unreachable/replaced) --------------------)
0x37c26f5cd708 position (1498)
0x37c26f5cd708 comment (;;; <@74,#68> -------------------- B8 --------------------)
0x37c26f5cd708 comment (;;; <@76,#69> gap)
0x37c26f5cd70b comment (;;; <@77,#69> typeof-is-and-branch)
0x37c26f5cd71f comment (;;; <@78,#73> -------------------- B9 (unreachable/replaced) --------------------)
0x37c26f5cd71f position (1588)
0x37c26f5cd71f comment (;;; <@82,#100> -------------------- B10 --------------------)
0x37c26f5cd71f comment (;;; <@85,#101> has-instance-type-and-branch)
0x37c26f5cd738 comment (;;; <@86,#105> -------------------- B11 (unreachable/replaced) --------------------)
0x37c26f5cd738 comment (;;; <@90,#102> -------------------- B12 (unreachable/replaced) --------------------)
0x37c26f5cd738 position (1610)
0x37c26f5cd738 comment (;;; <@94,#108> -------------------- B13 --------------------)
0x37c26f5cd738 comment (;;; <@97,#109> is-smi-and-branch)
0x37c26f5cd742 comment (;;; <@98,#112> -------------------- B14 --------------------)
0x37c26f5cd742 comment (;;; <@100,#113> load-named-field)
0x37c26f5cd746 comment (;;; <@102,#114> load-named-field)
0x37c26f5cd74a comment (;;; <@105,#118> compare-numeric-and-branch)
0x37c26f5cd756 comment (;;; <@106,#116> -------------------- B15 (unreachable/replaced) --------------------)
0x37c26f5cd756 comment (;;; <@110,#119> -------------------- B16 (unreachable/replaced) --------------------)
0x37c26f5cd756 comment (;;; <@114,#110> -------------------- B17 (unreachable/replaced) --------------------)
0x37c26f5cd756 comment (;;; <@118,#122> -------------------- B18 (unreachable/replaced) --------------------)
0x37c26f5cd756 position (1641)
0x37c26f5cd756 comment (;;; <@122,#125> -------------------- B19 --------------------)
0x37c26f5cd756 comment (;;; <@125,#126> class-of-test-and-branch)
0x37c26f5cd79f embedded object (0x23de51604ca9 <String[6]: global>)
0x37c26f5cd7b0 comment (;;; <@126,#130> -------------------- B20 (unreachable/replaced) --------------------)
0x37c26f5cd7b0 position (1665)
0x37c26f5cd7b0 comment (;;; <@130,#133> -------------------- B21 --------------------)
0x37c26f5cd7b0 comment (;;; <@132,#45> constant-t)
0x37c26f5cd7b0 position (1430)
0x37c26f5cd7b2 embedded object (0x23de516b2721 <FixedArray[16]>)
0x37c26f5cd7ba comment (;;; <@134,#134> load-context-slot)
0x37c26f5cd7ba position (1665)
0x37c26f5cd7be position (1664)
0x37c26f5cd7be comment (;;; <@137,#135> deoptimize)
0x37c26f5cd7be position (119809)
0x37c26f5cd7be deopt reason (Insufficient type feedback for keyed load)
0x37c26f5cd7bf runtime entry
0x37c26f5cd7c3 comment (;;; <@138,#136> -------------------- B22 (unreachable/replaced) --------------------)
0x37c26f5cd7c3 comment (;;; <@148,#127> -------------------- B23 (unreachable/replaced) --------------------)
0x37c26f5cd7c3 comment (;;; <@152,#147> -------------------- B24 (unreachable/replaced) --------------------)
0x37c26f5cd7c3 comment (;;; <@156,#70> -------------------- B25 (unreachable/replaced) --------------------)
0x37c26f5cd7c3 position (1519)
0x37c26f5cd7c3 comment (;;; <@160,#76> -------------------- B26 --------------------)
0x37c26f5cd7c3 comment (;;; <@162,#77> load-named-field)
0x37c26f5cd7c7 comment (;;; <@163,#77> gap)
0x37c26f5cd7ca comment (;;; <@164,#81> bit-i)
0x37c26f5cd7ca position (1552)
0x37c26f5cd7ce position (1555)
0x37c26f5cd7ce comment (;;; <@167,#84> compare-numeric-and-branch)
0x37c26f5cd7d8 comment (;;; <@168,#88> -------------------- B27 (unreachable/replaced) --------------------)
0x37c26f5cd7d8 comment (;;; <@172,#144> -------------------- B28 (unreachable/replaced) --------------------)
0x37c26f5cd7d8 position (1689)
0x37c26f5cd7d8 comment (;;; <@176,#151> -------------------- B29 --------------------)
0x37c26f5cd7d8 comment (;;; <@178,#152> push-argument)
0x37c26f5cd7da comment (;;; <@180,#45> constant-t)
0x37c26f5cd7da position (1430)
0x37c26f5cd7dc embedded object (0x23de516b2721 <FixedArray[16]>)
0x37c26f5cd7e4 comment (;;; <@182,#153> call-runtime)
0x37c26f5cd7e4 position (1689)
0x37c26f5cd7f1 code target (STUB) (0x37c26f409240)
0x37c26f5cd7f5 comment (;;; <@184,#154> lazy-bailout)
0x37c26f5cd7f5 comment (;;; <@186,#157> gap)
0x37c26f5cd7f5 position (1682)
0x37c26f5cd7f8 comment (;;; <@187,#157> goto)
0x37c26f5cd7fd comment (;;; <@188,#85> -------------------- B30 (unreachable/replaced) --------------------)
0x37c26f5cd7fd position (1569)
0x37c26f5cd7fd comment (;;; <@192,#91> -------------------- B31 --------------------)
0x37c26f5cd7fd comment (;;; <@194,#94> shift-i)
0x37c26f5cd7fd position (1570)
0x37c26f5cd800 comment (;;; <@196,#498> smi-tag)
0x37c26f5cd800 position (5059)
0x37c26f5cd806 comment (;;; <@198,#98> gap)
0x37c26f5cd806 position (1562)
0x37c26f5cd809 comment (;;; <@199,#98> goto)
0x37c26f5cd80e comment (;;; <@200,#50> -------------------- B32 (unreachable/replaced) --------------------)
0x37c26f5cd80e position (1458)
0x37c26f5cd80e comment (;;; <@204,#56> -------------------- B33 --------------------)
0x37c26f5cd80e comment (;;; <@206,#45> constant-t)
0x37c26f5cd80e position (1430)
0x37c26f5cd810 embedded object (0x23de516b2721 <FixedArray[16]>)
0x37c26f5cd818 comment (;;; <@208,#57> load-context-slot)
0x37c26f5cd818 position (1458)
0x37c26f5cd81c comment (;;; <@210,#59> push-argument)
0x37c26f5cd81e embedded object (0x23de51604381 <undefined>)
0x37c26f5cd828 comment (;;; <@212,#59> push-argument)
0x37c26f5cd82b comment (;;; <@214,#59> push-argument)
0x37c26f5cd82d comment (;;; <@216,#45> constant-t)
0x37c26f5cd82d position (1430)
0x37c26f5cd82f embedded object (0x23de516b2721 <FixedArray[16]>)
0x37c26f5cd837 comment (;;; <@218,#500> constant-s)
0x37c26f5cd837 position (1458)
0x37c26f5cd841 comment (;;; <@220,#61> constant-t)
0x37c26f5cd843 embedded object (0x238c96a63dd1 <FixedArray[5]>)
0x37c26f5cd84b comment (;;; <@222,#63> call-with-descriptor)
0x37c26f5cd84c code target (CALL_IC) (0x37c26f524340)
0x37c26f5cd850 comment (;;; <@224,#64> lazy-bailout)
0x37c26f5cd850 comment (;;; <@226,#67> gap)
0x37c26f5cd850 position (1451)
0x37c26f5cd853 position (5059)
0x37c26f5cd853 comment (;;; <@228,#158> -------------------- B34 --------------------)
0x37c26f5cd857 position (5084)
0x37c26f5cd857 comment (;;; <@231,#161> cmp-object-eq-and-branch)
0x37c26f5cd859 embedded object (0x23de51604381 <undefined>)
0x37c26f5cd86a comment (;;; <@232,#165> -------------------- B35 (unreachable/replaced) --------------------)
0x37c26f5cd86a position (5119)
0x37c26f5cd86a comment (;;; <@236,#172> -------------------- B36 --------------------)
0x37c26f5cd86a comment (;;; <@237,#172> gap)
0x37c26f5cd86e comment (;;; <@238,#173> load-context-slot)
0x37c26f5cd872 comment (;;; <@239,#173> gap)
0x37c26f5cd876 comment (;;; <@240,#177> check-value)
0x37c26f5cd878 embedded object (0x23de516b2f19 <JS Function MapFindEntry (SharedFunctionInfo 0x23de5166f711)>)
0x37c26f5cd889 comment (;;; <@242,#45> constant-t)
0x37c26f5cd889 position (1430)
0x37c26f5cd88b embedded object (0x23de516b2721 <FixedArray[16]>)
0x37c26f5cd893 comment (;;; <@244,#182> load-context-slot)
0x37c26f5cd893 position (870)
0x37c26f5cd897 comment (;;; <@246,#183> check-value)
0x37c26f5cd899 embedded object (0x23de516b2e89 <JS Function HashToEntry (SharedFunctionInfo 0x23de5166f5c1)>)
0x37c26f5cd8aa comment (;;; <@247,#183> gap)
0x37c26f5cd8ae comment (;;; <@248,#497> tagged-to-i)
0x37c26f5cd8ae position (366)
0x37c26f5cd8bc comment (;;; <@249,#497> gap)
0x37c26f5cd8c3 comment (;;; <@250,#189> sub-i)
0x37c26f5cd8c3 position (368)
0x37c26f5cd8c6 comment (;;; <@251,#189> gap)
0x37c26f5cd8c9 comment (;;; <@252,#501> tagged-to-i)
0x37c26f5cd8c9 position (362)
0x37c26f5cd8d7 comment (;;; <@254,#191> bit-i)
0x37c26f5cd8d7 position (363)
0x37c26f5cd8dc comment (;;; <@255,#191> gap)
0x37c26f5cd8e0 comment (;;; <@256,#201> load-keyed)
0x37c26f5cd8e0 position (382)
0x37c26f5cd8e5 comment (;;; <@257,#201> gap)
0x37c26f5cd8e9 position (870)
0x37c26f5cd8e9 comment (;;; <@260,#205> -------------------- B37 --------------------)
0x37c26f5cd8e9 comment (;;; <@261,#205> gap)
0x37c26f5cd8ec comment (;;; <@262,#506> tagged-to-i)
0x37c26f5cd8ec position (893)
0x37c26f5cd8fa comment (;;; <@263,#506> gap)
0x37c26f5cd8fe position (894)
0x37c26f5cd8fe comment (;;; <@265,#209> compare-numeric-and-branch)
0x37c26f5cd908 comment (;;; <@266,#213> -------------------- B38 (unreachable/replaced) --------------------)
0x37c26f5cd908 position (938)
0x37c26f5cd908 comment (;;; <@270,#221> -------------------- B39 --------------------)
0x37c26f5cd908 comment (;;; <@271,#221> gap)
0x37c26f5cd90b comment (;;; <@272,#223> add-i)
0x37c26f5cd90b position (939)
0x37c26f5cd915 comment (;;; <@273,#223> gap)
0x37c26f5cd91c comment (;;; <@274,#227> mul-i)
0x37c26f5cd91c position (948)
0x37c26f5cd925 comment (;;; <@275,#227> gap)
0x37c26f5cd928 comment (;;; <@276,#229> add-i)
0x37c26f5cd928 position (943)
0x37c26f5cd92b comment (;;; <@277,#229> gap)
0x37c26f5cd92f comment (;;; <@278,#234> load-keyed)
0x37c26f5cd92f position (918)
0x37c26f5cd934 comment (;;; <@279,#234> gap)
0x37c26f5cd93c comment (;;; <@280,#237> check-non-smi)
0x37c26f5cd93c position (964)
0x37c26f5cd945 comment (;;; <@282,#238> check-instance-type)
0x37c26f5cd954 comment (;;; <@284,#239> check-non-smi)
0x37c26f5cd95c comment (;;; <@286,#240> check-instance-type)
0x37c26f5cd96b comment (;;; <@288,#45> constant-t)
0x37c26f5cd96b position (1430)
0x37c26f5cd96d embedded object (0x23de516b2721 <FixedArray[16]>)
0x37c26f5cd975 position (964)
0x37c26f5cd975 comment (;;; <@291,#241> string-compare-and-branch)
0x37c26f5cd976 code target (STUB) (0x37c26f5cd3e0)
0x37c26f5cd984 comment (;;; <@292,#241> lazy-bailout)
0x37c26f5cd984 comment (;;; <@294,#245> -------------------- B40 (unreachable/replaced) --------------------)
0x37c26f5cd984 position (985)
0x37c26f5cd984 comment (;;; <@298,#253> -------------------- B41 --------------------)
0x37c26f5cd984 comment (;;; <@300,#45> constant-t)
0x37c26f5cd984 position (1430)
0x37c26f5cd986 embedded object (0x23de516b2721 <FixedArray[16]>)
0x37c26f5cd98e comment (;;; <@302,#254> load-context-slot)
0x37c26f5cd98e position (985)
0x37c26f5cd992 comment (;;; <@304,#255> check-value)
0x37c26f5cd994 embedded object (0x23de516b2e41 <JS Function isNaN (SharedFunctionInfo 0x23de5164e549)>)
0x37c26f5cd9a5 comment (;;; <@306,#260> gap)
0x37c26f5cd9a5 position (15807)
0x37c26f5cd9a9 comment (;;; <@307,#260> typeof-is-and-branch)
0x37c26f5cd9c0 comment (;;; <@308,#266> -------------------- B42 --------------------)
0x37c26f5cd9c0 comment (;;; <@310,#268> gap)
0x37c26f5cd9c2 embedded object (0x23de51604271 <false>)
0x37c26f5cd9ca comment (;;; <@311,#268> goto)
0x37c26f5cd9cf comment (;;; <@312,#263> -------------------- B43 --------------------)
0x37c26f5cd9cf comment (;;; <@314,#265> gap)
0x37c26f5cd9d1 embedded object (0x23de516043c1 <true>)
0x37c26f5cd9d9 position (15819)
0x37c26f5cd9d9 comment (;;; <@316,#270> -------------------- B44 --------------------)
0x37c26f5cd9d9 comment (;;; <@319,#271> branch)
0x37c26f5cd9e3 comment (;;; <@320,#315> -------------------- B45 --------------------)
0x37c26f5cd9e3 comment (;;; <@322,#317> gap)
0x37c26f5cd9e6 comment (;;; <@323,#317> goto)
0x37c26f5cd9eb position (15823)
0x37c26f5cd9eb comment (;;; <@324,#272> -------------------- B46 --------------------)
0x37c26f5cd9eb comment (;;; <@327,#273> is-smi-and-branch)
0x37c26f5cd9f5 comment (;;; <@328,#277> -------------------- B47 (unreachable/replaced) --------------------)
0x37c26f5cd9f5 position (15822)
0x37c26f5cd9f5 comment (;;; <@332,#283> -------------------- B48 --------------------)
0x37c26f5cd9f5 comment (;;; <@334,#285> gap)
0x37c26f5cd9f7 embedded object (0x23de516043c1 <true>)
0x37c26f5cd9ff comment (;;; <@335,#285> goto)
0x37c26f5cda04 comment (;;; <@336,#274> -------------------- B49 (unreachable/replaced) --------------------)
0x37c26f5cda04 comment (;;; <@340,#280> -------------------- B50 --------------------)
0x37c26f5cda04 comment (;;; <@342,#282> gap)
0x37c26f5cda06 embedded object (0x23de51604271 <false>)
0x37c26f5cda0e position (15842)
0x37c26f5cda0e comment (;;; <@344,#287> -------------------- B51 --------------------)
0x37c26f5cda0e comment (;;; <@347,#288> branch)
0x37c26f5cda18 comment (;;; <@348,#308> -------------------- B52 (unreachable/replaced) --------------------)
0x37c26f5cda18 position (15847)
0x37c26f5cda18 comment (;;; <@352,#289> -------------------- B53 --------------------)
0x37c26f5cda18 comment (;;; <@355,#290> deoptimize)
0x37c26f5cda18 position (31236)
0x37c26f5cda18 deopt reason (Insufficient type feedback for combined type of binary operation)
0x37c26f5cda19 runtime entry
0x37c26f5cda1d comment (;;; <@356,#291> -------------------- B54 (unreachable/replaced) --------------------)
0x37c26f5cda1d comment (;;; <@366,#298> -------------------- B55 (unreachable/replaced) --------------------)
0x37c26f5cda1d comment (;;; <@370,#304> -------------------- B56 (unreachable/replaced) --------------------)
0x37c26f5cda1d comment (;;; <@374,#295> -------------------- B57 (unreachable/replaced) --------------------)
0x37c26f5cda1d comment (;;; <@378,#301> -------------------- B58 (unreachable/replaced) --------------------)
0x37c26f5cda1d comment (;;; <@382,#311> -------------------- B59 (unreachable/replaced) --------------------)
0x37c26f5cda1d position (15819)
0x37c26f5cda1d comment (;;; <@386,#318> -------------------- B60 --------------------)
0x37c26f5cda1d comment (;;; <@388,#320> gap)
0x37c26f5cda20 position (15791)
0x37c26f5cda20 comment (;;; <@390,#322> -------------------- B61 --------------------)
0x37c26f5cda24 position (985)
0x37c26f5cda24 comment (;;; <@394,#326> -------------------- B62 --------------------)
0x37c26f5cda24 comment (;;; <@396,#338> gap)
0x37c26f5cda24 position (991)
0x37c26f5cda30 position (997)
0x37c26f5cda30 comment (;;; <@398,#339> -------------------- B63 (loop header) --------------------)
0x37c26f5cda34 comment (;;; <@402,#342> -------------------- B64 (unreachable/replaced) --------------------)
0x37c26f5cda34 position (991)
0x37c26f5cda34 comment (;;; <@406,#348> -------------------- B65 --------------------)
0x37c26f5cda34 comment (;;; <@408,#350> stack-check)
0x37c26f5cda41 position (1007)
0x37c26f5cda41 comment (;;; <@411,#352> branch)
0x37c26f5cda4b comment (;;; <@412,#356> -------------------- B66 (unreachable/replaced) --------------------)
0x37c26f5cda4b comment (;;; <@416,#353> -------------------- B67 (unreachable/replaced) --------------------)
0x37c26f5cda4b position (1010)
0x37c26f5cda4b comment (;;; <@420,#359> -------------------- B68 --------------------)
0x37c26f5cda4b comment (;;; <@422,#45> constant-t)
0x37c26f5cda4b position (1430)
0x37c26f5cda4d embedded object (0x23de516b2721 <FixedArray[16]>)
0x37c26f5cda55 comment (;;; <@424,#360> load-context-slot)
0x37c26f5cda55 position (1010)
0x37c26f5cda59 comment (;;; <@426,#362> push-argument)
0x37c26f5cda5b embedded object (0x23de51604381 <undefined>)
0x37c26f5cda65 comment (;;; <@428,#362> push-argument)
0x37c26f5cda66 comment (;;; <@430,#45> constant-t)
0x37c26f5cda66 position (1430)
0x37c26f5cda68 embedded object (0x23de516b2721 <FixedArray[16]>)
0x37c26f5cda70 comment (;;; <@432,#507> constant-s)
0x37c26f5cda70 position (1010)
0x37c26f5cda7a comment (;;; <@434,#364> constant-t)
0x37c26f5cda7c embedded object (0x238c96a63f41 <FixedArray[7]>)
0x37c26f5cda84 comment (;;; <@436,#366> call-with-descriptor)
0x37c26f5cda85 code target (CALL_IC) (0x37c26f50f3c0)
0x37c26f5cda89 comment (;;; <@438,#367> lazy-bailout)
0x37c26f5cda89 comment (;;; <@441,#368> branch)
0x37c26f5cdb23 comment (;;; <@442,#372> -------------------- B69 (unreachable/replaced) --------------------)
0x37c26f5cdb23 position (1053)
0x37c26f5cdb23 comment (;;; <@446,#381> -------------------- B70 --------------------)
0x37c26f5cdb23 comment (;;; <@447,#381> gap)
0x37c26f5cdb27 comment (;;; <@448,#387> mul-i)
0x37c26f5cdb27 position (1063)
0x37c26f5cdb30 comment (;;; <@450,#389> add-i)
0x37c26f5cdb30 position (1058)
0x37c26f5cdb3c comment (;;; <@452,#392> add-i)
0x37c26f5cdb3c position (1067)
0x37c26f5cdb3f comment (;;; <@453,#392> gap)
0x37c26f5cdb43 comment (;;; <@454,#397> load-keyed)
0x37c26f5cdb43 position (1033)
0x37c26f5cdb48 comment (;;; <@455,#397> gap)
0x37c26f5cdb52 comment (;;; <@456,#512> tagged-to-i)
0x37c26f5cdb52 position (1080)
0x37c26f5cdb60 comment (;;; <@457,#512> gap)
0x37c26f5cdb67 position (1081)
0x37c26f5cdb67 comment (;;; <@459,#401> compare-numeric-and-branch)
0x37c26f5cdb71 comment (;;; <@460,#405> -------------------- B71 (unreachable/replaced) --------------------)
0x37c26f5cdb71 position (1121)
0x37c26f5cdb71 comment (;;; <@464,#413> -------------------- B72 --------------------)
0x37c26f5cdb71 comment (;;; <@465,#413> gap)
0x37c26f5cdb74 comment (;;; <@466,#419> mul-i)
0x37c26f5cdb74 position (1131)
0x37c26f5cdb7d comment (;;; <@467,#419> gap)
0x37c26f5cdb80 comment (;;; <@468,#421> add-i)
0x37c26f5cdb80 position (1126)
0x37c26f5cdb83 comment (;;; <@469,#421> gap)
0x37c26f5cdb8a comment (;;; <@470,#426> load-keyed)
0x37c26f5cdb8a position (1101)
0x37c26f5cdb8f comment (;;; <@471,#426> gap)
0x37c26f5cdb96 comment (;;; <@472,#431> check-non-smi)
0x37c26f5cdb96 position (1147)
0x37c26f5cdba0 comment (;;; <@474,#432> check-instance-type)
0x37c26f5cdbaf comment (;;; <@476,#45> constant-t)
0x37c26f5cdbaf position (1430)
0x37c26f5cdbb1 embedded object (0x23de516b2721 <FixedArray[16]>)
0x37c26f5cdbb9 comment (;;; <@478,#433> gap)
0x37c26f5cdbb9 position (1147)
0x37c26f5cdbc0 comment (;;; <@479,#433> string-compare-and-branch)
0x37c26f5cdbc1 code target (STUB) (0x37c26f5cd3e0)
0x37c26f5cdbcf comment (;;; <@480,#433> lazy-bailout)
0x37c26f5cdbcf comment (;;; <@482,#437> -------------------- B73 (unreachable/replaced) --------------------)
0x37c26f5cdbcf position (991)
0x37c26f5cdbcf comment (;;; <@486,#445> -------------------- B74 --------------------)
0x37c26f5cdbcf comment (;;; <@488,#447> gap)
0x37c26f5cdbe5 comment (;;; <@489,#447> goto)
0x37c26f5cdbea comment (;;; <@490,#369> -------------------- B75 (unreachable/replaced) --------------------)
0x37c26f5cdbea position (1024)
0x37c26f5cdbea comment (;;; <@494,#375> -------------------- B76 --------------------)
0x37c26f5cdbea comment (;;; <@496,#379> gap)
0x37c26f5cdbea position (1017)
0x37c26f5cdbee comment (;;; <@497,#379> goto)
0x37c26f5cdbf3 comment (;;; <@498,#402> -------------------- B77 (unreachable/replaced) --------------------)
0x37c26f5cdbf3 position (1094)
0x37c26f5cdbf3 comment (;;; <@502,#408> -------------------- B78 --------------------)
0x37c26f5cdbf3 comment (;;; <@504,#412> gap)
0x37c26f5cdbf3 position (1087)
0x37c26f5cdbfa comment (;;; <@505,#412> goto)
0x37c26f5cdbff comment (;;; <@506,#434> -------------------- B79 (unreachable/replaced) --------------------)
0x37c26f5cdbff position (1159)
0x37c26f5cdbff comment (;;; <@510,#440> -------------------- B80 --------------------)
0x37c26f5cdbff comment (;;; <@512,#444> gap)
0x37c26f5cdbff position (1152)
0x37c26f5cdc06 comment (;;; <@513,#444> goto)
0x37c26f5cdc0b comment (;;; <@514,#345> -------------------- B81 (unreachable/replaced) --------------------)
0x37c26f5cdc0b comment (;;; <@518,#448> -------------------- B82 (unreachable/replaced) --------------------)
0x37c26f5cdc0b comment (;;; <@522,#242> -------------------- B83 (unreachable/replaced) --------------------)
0x37c26f5cdc0b position (976)
0x37c26f5cdc0b comment (;;; <@526,#248> -------------------- B84 --------------------)
0x37c26f5cdc0b comment (;;; <@528,#252> gap)
0x37c26f5cdc0b position (969)
0x37c26f5cdc0f comment (;;; <@529,#252> goto)
0x37c26f5cdc14 comment (;;; <@530,#210> -------------------- B85 (unreachable/replaced) --------------------)
0x37c26f5cdc14 position (907)
0x37c26f5cdc14 comment (;;; <@534,#216> -------------------- B86 --------------------)
0x37c26f5cdc14 comment (;;; <@536,#220> gap)
0x37c26f5cdc14 position (900)
0x37c26f5cdc18 position (5119)
0x37c26f5cdc18 comment (;;; <@538,#453> -------------------- B87 --------------------)
0x37c26f5cdc18 position (5146)
0x37c26f5cdc18 comment (;;; <@541,#457> compare-numeric-and-branch)
0x37c26f5cdc21 comment (;;; <@542,#461> -------------------- B88 (unreachable/replaced) --------------------)
0x37c26f5cdc21 position (5192)
0x37c26f5cdc21 comment (;;; <@546,#468> -------------------- B89 --------------------)
0x37c26f5cdc21 comment (;;; <@547,#468> gap)
0x37c26f5cdc25 comment (;;; <@548,#472> add-i)
0x37c26f5cdc25 position (5197)
0x37c26f5cdc2e comment (;;; <@549,#472> gap)
0x37c26f5cdc31 comment (;;; <@550,#476> mul-i)
0x37c26f5cdc31 position (5206)
0x37c26f5cdc3a comment (;;; <@552,#478> add-i)
0x37c26f5cdc3a position (5201)
0x37c26f5cdc45 comment (;;; <@553,#478> gap)
0x37c26f5cdc49 comment (;;; <@554,#486> load-keyed)
0x37c26f5cdc49 position (5176)
0x37c26f5cdc4e comment (;;; <@556,#488> return)
0x37c26f5cdc4e position (5168)
0x37c26f5cdc55 comment (;;; <@558,#458> -------------------- B90 (unreachable/replaced) --------------------)
0x37c26f5cdc55 position (5164)
0x37c26f5cdc55 comment (;;; <@562,#464> -------------------- B91 --------------------)
0x37c26f5cdc55 comment (;;; <@564,#3> constant-t)
0x37c26f5cdc55 position (4903)
0x37c26f5cdc57 embedded object (0x23de51604381 <undefined>)
0x37c26f5cdc5f comment (;;; <@566,#467> return)
0x37c26f5cdc5f position (5152)
0x37c26f5cdc66 comment (;;; <@568,#162> -------------------- B92 (unreachable/replaced) --------------------)
0x37c26f5cdc66 position (5109)
0x37c26f5cdc66 comment (;;; <@572,#168> -------------------- B93 --------------------)
0x37c26f5cdc66 comment (;;; <@574,#3> constant-t)
0x37c26f5cdc66 position (4903)
0x37c26f5cdc68 embedded object (0x23de51604381 <undefined>)
0x37c26f5cdc70 comment (;;; <@576,#171> return)
0x37c26f5cdc70 position (5097)
0x37c26f5cdc77 position (366)
0x37c26f5cdc77 comment (;;; <@248,#497> -------------------- Deferred tagged-to-i --------------------)
0x37c26f5cdcad position (362)
0x37c26f5cdcad comment (;;; <@252,#501> -------------------- Deferred tagged-to-i --------------------)
0x37c26f5cdcd1 code target (STUB) (0x37c26f5cd520)
0x37c26f5cdd0e position (893)
0x37c26f5cdd0e comment (;;; <@262,#506> -------------------- Deferred tagged-to-i --------------------)
0x37c26f5cdd46 position (991)
0x37c26f5cdd46 comment (;;; <@408,#350> -------------------- Deferred stack-check --------------------)
0x37c26f5cdd6b code target (STUB) (0x37c26f4078e0)
0x37c26f5cdd8b position (1080)
0x37c26f5cdd8b comment (;;; <@456,#512> -------------------- Deferred tagged-to-i --------------------)
0x37c26f5cddc1 comment (;;; -------------------- Jump table --------------------)
0x37c26f5cddc1 position (79872)
0x37c26f5cddc1 deopt reason (value mismatch)
0x37c26f5cddc2 runtime entry (deoptimization bailout 3)
0x37c26f5cddc6 position (110592)
0x37c26f5cddc6 deopt reason (value mismatch)
0x37c26f5cddc7 runtime entry (deoptimization bailout 7)
0x37c26f5cddcb position (8706)
0x37c26f5cddcb deopt reason (value mismatch)
0x37c26f5cddcc runtime entry (deoptimization bailout 8)
0x37c26f5cddd0 position (44034)
0x37c26f5cddd0 deopt reason (overflow)
0x37c26f5cddd1 runtime entry (deoptimization bailout 9)
0x37c26f5cddd5 position (48642)
0x37c26f5cddd5 deopt reason (overflow)
0x37c26f5cddd6 runtime entry (deoptimization bailout 10)
0x37c26f5cddda position (56834)
0x37c26f5cddda deopt reason (Smi)
0x37c26f5cdddb runtime entry (deoptimization bailout 11)
0x37c26f5cdddf position (56834)
0x37c26f5cdddf deopt reason (wrong instance type)
0x37c26f5cdde0 runtime entry (deoptimization bailout 12)
0x37c26f5cdde4 position (56834)
0x37c26f5cdde4 deopt reason (Smi)
0x37c26f5cdde5 runtime entry (deoptimization bailout 13)
0x37c26f5cdde9 position (56834)
0x37c26f5cdde9 deopt reason (wrong instance type)
0x37c26f5cddea runtime entry (deoptimization bailout 14)
0x37c26f5cddee position (67586)
0x37c26f5cddee deopt reason (value mismatch)
0x37c26f5cddef runtime entry (deoptimization bailout 16)
0x37c26f5cddf3 position (107522)
0x37c26f5cddf3 deopt reason (overflow)
0x37c26f5cddf4 runtime entry (deoptimization bailout 20)
0x37c26f5cddf8 position (104962)
0x37c26f5cddf8 deopt reason (overflow)
0x37c26f5cddf9 runtime entry (deoptimization bailout 21)
0x37c26f5cddfd position (142338)
0x37c26f5cddfd deopt reason (overflow)
0x37c26f5cddfe runtime entry (deoptimization bailout 22)
0x37c26f5cde02 position (150530)
0x37c26f5cde02 deopt reason (Smi)
0x37c26f5cde03 runtime entry (deoptimization bailout 23)
0x37c26f5cde07 position (150530)
0x37c26f5cde07 deopt reason (wrong instance type)
0x37c26f5cde08 runtime entry (deoptimization bailout 24)
0x37c26f5cde0c position (150528)
0x37c26f5cde0c deopt reason (overflow)
0x37c26f5cde0d runtime entry (deoptimization bailout 26)
0x37c26f5cde11 position (155136)
0x37c26f5cde11 deopt reason (overflow)
0x37c26f5cde12 runtime entry (deoptimization bailout 27)
0x37c26f5cde16 position (152576)
0x37c26f5cde16 deopt reason (overflow)
0x37c26f5cde17 runtime entry (deoptimization bailout 28)
0x37c26f5cde1b position (10243)
0x37c26f5cde1b deopt reason (not a heap number)
0x37c26f5cde1c runtime entry (deoptimization bailout 29)
0x37c26f5cde20 position (10243)
0x37c26f5cde20 deopt reason (lost precision)
0x37c26f5cde21 runtime entry (deoptimization bailout 29)
0x37c26f5cde25 position (10243)
0x37c26f5cde25 deopt reason (NaN)
0x37c26f5cde26 runtime entry (deoptimization bailout 29)
0x37c26f5cde2a position (8195)
0x37c26f5cde2a deopt reason (not a heap number/undefined/true/false)
0x37c26f5cde2b runtime entry (deoptimization bailout 30)
0x37c26f5cde2f position (20482)
0x37c26f5cde2f deopt reason (not a heap number)
0x37c26f5cde30 runtime entry (deoptimization bailout 31)
0x37c26f5cde34 position (20482)
0x37c26f5cde34 deopt reason (lost precision)
0x37c26f5cde35 runtime entry (deoptimization bailout 31)
0x37c26f5cde39 position (20482)
0x37c26f5cde39 deopt reason (NaN)
0x37c26f5cde3a runtime entry (deoptimization bailout 31)
0x37c26f5cde3e position (116226)
0x37c26f5cde3e deopt reason (not a heap number)
0x37c26f5cde3f runtime entry (deoptimization bailout 32)
0x37c26f5cde43 position (116226)
0x37c26f5cde43 deopt reason (lost precision)
0x37c26f5cde44 runtime entry (deoptimization bailout 32)
0x37c26f5cde48 position (116226)
0x37c26f5cde48 deopt reason (NaN)
0x37c26f5cde49 runtime entry (deoptimization bailout 32)
0x37c26f5cde50 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (Module._nodeModulePaths) id{13,0} ---
(from) {
// guarantee that 'from' is absolute.
from = path.resolve(from);
// Return early not only to avoid unnecessary work, but to *avoid* returning
// an array of two items for a root: [ '//node_modules', '/node_modules' ]
if (from === '/')
return ['/node_modules'];
// note: this approach *only* works when the path is guaranteed
// to be absolute. Doing a fully-edge-case-correct path.split
// that works on both Windows and Posix is non-trivial.
const paths = [];
var p = 0;
var last = from.length;
for (var i = from.length - 1; i >= 0; --i) {
const code = from.charCodeAt(i);
if (code === 47/*/*/) {
if (p !== nmLen)
paths.push(from.slice(0, last) + '/node_modules');
last = i;
p = 0;
} else if (p !== -1) {
if (nmChars[p] === code) {
++p;
} else {
p = -1;
}
}
}
// Append /node_modules to handle root paths.
paths.push('/node_modules');
return paths;
}
--- END ---
--- Raw source ---
(from) {
// guarantee that 'from' is absolute.
from = path.resolve(from);
// Return early not only to avoid unnecessary work, but to *avoid* returning
// an array of two items for a root: [ '//node_modules', '/node_modules' ]
if (from === '/')
return ['/node_modules'];
// note: this approach *only* works when the path is guaranteed
// to be absolute. Doing a fully-edge-case-correct path.split
// that works on both Windows and Posix is non-trivial.
const paths = [];
var p = 0;
var last = from.length;
for (var i = from.length - 1; i >= 0; --i) {
const code = from.charCodeAt(i);
if (code === 47/*/*/) {
if (p !== nmLen)
paths.push(from.slice(0, last) + '/node_modules');
last = i;
p = 0;
} else if (p !== -1) {
if (nmChars[p] === code) {
++p;
} else {
p = -1;
}
}
}
// Append /node_modules to handle root paths.
paths.push('/node_modules');
return paths;
};
--- Optimized code ---
optimization_id = 13
source_position = 7564
kind = OPTIMIZED_FUNCTION
name = Module._nodeModulePaths
stack_slots = 9
compiler = crankshaft
Instructions (size = 2168)
0x37c26f5d0540 0 55 push rbp
0x37c26f5d0541 1 4889e5 REX.W movq rbp,rsp
0x37c26f5d0544 4 56 push rsi
0x37c26f5d0545 5 57 push rdi
0x37c26f5d0546 6 4883ec28 REX.W subq rsp,0x28
;;; <@0,#0> -------------------- B0 --------------------
;;; <@6,#4> prologue
;;; Prologue begin
;;; Prologue end
;;; <@10,#6> -------------------- B1 --------------------
;;; <@12,#7> context
0x37c26f5d054a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 7564
;;; <@13,#7> gap
0x37c26f5d054e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@16,#12> -------------------- B2 --------------------
;;; <@17,#12> gap
0x37c26f5d0552 18 488bf0 REX.W movq rsi,rax
;;; <@18,#14> stack-check
0x37c26f5d0555 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f5d055c 28 7305 jnc 35 (0x37c26f5d0563)
0x37c26f5d055e 30 e87dc6e6ff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@20,#14> lazy-bailout
;;; <@21,#14> gap
0x37c26f5d0563 35 488b5de8 REX.W movq rbx,[rbp-0x18]
;;; <@22,#15> load-context-slot
0x37c26f5d0567 39 488b435f REX.W movq rax,[rbx+0x5f] ;; debug: position 7626
0x37c26f5d056b 43 493b45d8 REX.W cmpq rax,[r13-0x28]
0x37c26f5d056f 47 0f8437070000 jz 1900 (0x37c26f5d0cac)
;;; <@24,#16> check-non-smi
0x37c26f5d0575 53 a801 test al,0x1 ;; debug: position 7631
0x37c26f5d0577 55 0f8434070000 jz 1905 (0x37c26f5d0cb1)
;;; <@26,#17> check-maps
0x37c26f5d057d 61 49bab92ae1eadf370000 REX.W movq r10,0x37dfeae12ab9 ;; object: 0x37dfeae12ab9 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5d0587 71 4c3950ff REX.W cmpq [rax-0x1],r10
0x37c26f5d058b 75 0f8525070000 jnz 1910 (0x37c26f5d0cb6)
;;; <@28,#18> load-named-field
0x37c26f5d0591 81 488b7817 REX.W movq rdi,[rax+0x17]
;;; <@30,#21> push-argument
0x37c26f5d0595 85 50 push rax
;;; <@31,#21> gap
0x37c26f5d0596 86 488b5510 REX.W movq rdx,[rbp+0x10]
;;; <@32,#21> push-argument
0x37c26f5d059a 90 52 push rdx
;;; <@34,#208> constant-i
0x37c26f5d059b 91 b801000000 movl rax,0x1 ;; debug: position 7564
;;; <@35,#208> gap
0x37c26f5d05a0 96 488bf3 REX.W movq rsi,rbx
;;; <@36,#22> call-with-descriptor
0x37c26f5d05a3 99 e8f834e4ff call Call_ReceiverIsNotNullOrUndefined (0x37c26f413aa0) ;; debug: position 7631
;; code: BUILTIN
;;; <@37,#22> gap
0x37c26f5d05a8 104 488945e0 REX.W movq [rbp-0x20],rax
0x37c26f5d05ac 108 488bd8 REX.W movq rbx,rax
;;; <@38,#23> lazy-bailout
;;; <@40,#25> check-non-smi
0x37c26f5d05af 111 f6c301 testb rbx,0x1 ;; debug: position 7819
0x37c26f5d05b2 114 0f8403070000 jz 1915 (0x37c26f5d0cbb)
;;; <@42,#26> check-instance-type
0x37c26f5d05b8 120 4c8b53ff REX.W movq r10,[rbx-0x1]
0x37c26f5d05bc 124 41f6420b80 testb [r10+0xb],0x80
0x37c26f5d05c1 129 0f85f9060000 jnz 1920 (0x37c26f5d0cc0)
;;; <@44,#24> constant-t
0x37c26f5d05c7 135 48b8a19fa2968c230000 REX.W movq rax,0x238c96a29fa1 ;; debug: position 7823
;; object: 0x238c96a29fa1 <String[1]: />
;;; <@46,#28> gap
0x37c26f5d05d1 145 488b75e8 REX.W movq rsi,[rbp-0x18] ;; debug: position 7819
0x37c26f5d05d5 149 488bd3 REX.W movq rdx,rbx
;;; <@47,#28> string-compare-and-branch
0x37c26f5d05d8 152 e803ceffff call 0x37c26f5cd3e0 ;; code: STUB, StringEqualStub, minor: 0
0x37c26f5d05dd 157 493b45c0 REX.W cmpq rax,[r13-0x40]
0x37c26f5d05e1 161 0f8459040000 jz 1280 (0x37c26f5d0a40)
;;; <@48,#28> lazy-bailout
;;; <@50,#32> -------------------- B3 (unreachable/replaced) --------------------
;;; <@54,#44> -------------------- B4 --------------------
;;; <@56,#46> allocate
0x37c26f5d05e7 167 498b9d300f0000 REX.W movq rbx,[r13+0xf30] ;; debug: position 8074
0x37c26f5d05ee 174 488bc3 REX.W movq rax,rbx
0x37c26f5d05f1 177 4883c020 REX.W addq rax,0x20
0x37c26f5d05f5 181 0f8286040000 jc 1345 (0x37c26f5d0a81)
0x37c26f5d05fb 187 493b85380f0000 REX.W cmpq rax,[r13+0xf38]
0x37c26f5d0602 194 0f8779040000 ja 1345 (0x37c26f5d0a81)
0x37c26f5d0608 200 498985300f0000 REX.W movq [r13+0xf30],rax
0x37c26f5d060f 207 48ffc3 REX.W incq rbx
;;; <@57,#46> gap
0x37c26f5d0612 210 48895dd8 REX.W movq [rbp-0x28],rbx
;;; <@58,#48> store-named-field
0x37c26f5d0616 214 49ba41426051de230000 REX.W movq r10,0x23de51604241 ;; object: 0x23de51604241 <FixedArray[0]>
0x37c26f5d0620 224 4c89530f REX.W movq [rbx+0xf],r10
;;; <@60,#50> store-named-field
0x37c26f5d0624 228 49bac971808f7a200000 REX.W movq r10,0x207a8f8071c9 ;; object: 0x207a8f8071c9 <Map(FAST_ELEMENTS)>
0x37c26f5d062e 238 4c8953ff REX.W movq [rbx-0x1],r10
;;; <@62,#52> store-named-field
0x37c26f5d0632 242 49ba41426051de230000 REX.W movq r10,0x23de51604241 ;; object: 0x23de51604241 <FixedArray[0]>
0x37c26f5d063c 252 4c895307 REX.W movq [rbx+0x7],r10
;;; <@64,#54> store-named-field
0x37c26f5d0640 256 4533d2 xorl r10,r10
0x37c26f5d0643 259 4c895317 REX.W movq [rbx+0x17],r10
;;; <@65,#54> gap
0x37c26f5d0647 263 488b45e0 REX.W movq rax,[rbp-0x20]
;;; <@66,#62> load-named-field
0x37c26f5d064b 267 8b5013 movl rdx,[rax+0x13] ;; debug: position 8112
;;; <@67,#62> gap
0x37c26f5d064e 270 488bca REX.W movq rcx,rdx
;;; <@68,#68> sub-i
0x37c26f5d0651 273 83e901 subl rcx,0x1 ;; debug: position 8150
;;; <@70,#98> check-maps
;;; <@72,#131> check-maps
;;; <@74,#206> check-maps
;;; <@76,#80> gap
0x37c26f5d0654 276 4c8bd1 REX.W movq r10,rcx ;; debug: position 8194
;; debug: position 8280
;; debug: position 8125
0x37c26f5d0657 279 488bca REX.W movq rcx,rdx
0x37c26f5d065a 282 498bd2 REX.W movq rdx,r10
0x37c26f5d065d 285 4c8b4de8 REX.W movq r9,[rbp-0x18]
0x37c26f5d0661 289 4533c0 xorl r8,r8
;;; <@78,#81> -------------------- B5 (loop header) --------------------
0x37c26f5d0664 292 4c8945c8 REX.W movq [rbp-0x38],r8 ;; debug: position 8155
0x37c26f5d0668 296 488955d0 REX.W movq [rbp-0x30],rdx
;;; <@81,#84> compare-numeric-and-branch
0x37c26f5d066c 300 83fa00 cmpl rdx,0x0 ;; debug: position 8157
0x37c26f5d066f 303 0f8c20030000 jl 1109 (0x37c26f5d0995)
;;; <@82,#85> -------------------- B6 (unreachable/replaced) --------------------
;;; <@86,#91> -------------------- B7 --------------------
;;; <@88,#93> stack-check
0x37c26f5d0675 309 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88] ;; debug: position 8125
0x37c26f5d067c 316 0f825c040000 jc 1438 (0x37c26f5d0ade)
;;; <@90,#103> load-named-field
0x37c26f5d0682 322 8b7013 movl rsi,[rax+0x13] ;; debug: position 8194
;;; <@92,#104> bounds-check
0x37c26f5d0685 325 3bf2 cmpl rsi,rdx
0x37c26f5d0687 327 0f8638060000 jna 1925 (0x37c26f5d0cc5)
;;; <@93,#104> gap
0x37c26f5d068d 333 488bf8 REX.W movq rdi,rax
0x37c26f5d0690 336 488bf2 REX.W movq rsi,rdx
;;; <@94,#105> string-char-code-at
0x37c26f5d0693 339 4c8b5fff REX.W movq r11,[rdi-0x1]
0x37c26f5d0697 343 450fb65b0b movzxbl r11,[r11+0xb]
0x37c26f5d069c 348 41f6c301 testb r11,0x1
0x37c26f5d06a0 352 742e jz 400 (0x37c26f5d06d0)
0x37c26f5d06a2 354 41f6c302 testb r11,0x2
0x37c26f5d06a6 358 740d jz 373 (0x37c26f5d06b5)
0x37c26f5d06a8 360 448b5f23 movl r11,[rdi+0x23]
0x37c26f5d06ac 364 4903f3 REX.W addq rsi,r11
0x37c26f5d06af 367 488b7f17 REX.W movq rdi,[rdi+0x17]
0x37c26f5d06b3 371 eb12 jmp 391 (0x37c26f5d06c7)
0x37c26f5d06b5 373 4d8b55d0 REX.W movq r10,[r13-0x30]
0x37c26f5d06b9 377 4c39571f REX.W cmpq [rdi+0x1f],r10
0x37c26f5d06bd 381 0f8560040000 jnz 1507 (0x37c26f5d0b23)
0x37c26f5d06c3 387 488b7f17 REX.W movq rdi,[rdi+0x17]
0x37c26f5d06c7 391 4c8b5fff REX.W movq r11,[rdi-0x1]
0x37c26f5d06cb 395 450fb65b0b movzxbl r11,[r11+0xb]
0x37c26f5d06d0 400 41f6c303 testb r11,0x3
0x37c26f5d06d4 404 7422 jz 440 (0x37c26f5d06f8)
0x37c26f5d06d6 406 41f6c310 testb r11,0x10
0x37c26f5d06da 410 0f8543040000 jnz 1507 (0x37c26f5d0b23)
0x37c26f5d06e0 416 41f6c304 testb r11,0x4
0x37c26f5d06e4 420 4c8b5f1f REX.W movq r11,[rdi+0x1f]
0x37c26f5d06e8 424 7507 jnz 433 (0x37c26f5d06f1)
0x37c26f5d06ea 426 450fb71c73 movzxwl r11,[r11+rsi*2]
0x37c26f5d06ef 431 eb1b jmp 460 (0x37c26f5d070c)
0x37c26f5d06f1 433 450fb61c33 movzxbl r11,[r11+rsi*1]
0x37c26f5d06f6 438 eb14 jmp 460 (0x37c26f5d070c)
0x37c26f5d06f8 440 41f6c304 testb r11,0x4
0x37c26f5d06fc 444 7508 jnz 454 (0x37c26f5d0706)
0x37c26f5d06fe 446 440fb75c7717 movzxwl r11,[rdi+rsi*2+0x17]
0x37c26f5d0704 452 eb06 jmp 460 (0x37c26f5d070c)
0x37c26f5d0706 454 440fb65c3717 movzxbl r11,[rdi+rsi*1+0x17]
;;; <@97,#109> compare-numeric-and-branch
0x37c26f5d070c 460 4183fb2f cmpl r11,0x2f ;; debug: position 8224
0x37c26f5d0710 464 0f8479000000 jz 591 (0x37c26f5d078f)
;;; <@98,#113> -------------------- B8 (unreachable/replaced) --------------------
;;; <@102,#239> -------------------- B9 --------------------
;;; <@105,#242> compare-numeric-and-branch
0x37c26f5d0716 470 4183f8ff cmpl r8,0xff ;; debug: position 8375
;; debug: position 8377
0x37c26f5d071a 474 0f845e000000 jz 574 (0x37c26f5d077e)
;;; <@106,#246> -------------------- B10 (unreachable/replaced) --------------------
;;; <@110,#249> -------------------- B11 --------------------
;;; <@112,#250> load-context-slot
0x37c26f5d0720 480 498bb1d7000000 REX.W movq rsi,[r9+0xd7] ;; debug: position 8399
;;; <@114,#252> check-non-smi
0x37c26f5d0727 487 40f6c601 testb rsi,0x1 ;; debug: position 8406
0x37c26f5d072b 491 0f8499050000 jz 1930 (0x37c26f5d0cca)
;;; <@116,#253> check-maps
0x37c26f5d0731 497 49bae96a808f7a200000 REX.W movq r10,0x207a8f806ae9 ;; object: 0x207a8f806ae9 <Map(FAST_SMI_ELEMENTS)>
0x37c26f5d073b 507 4c3956ff REX.W cmpq [rsi-0x1],r10
0x37c26f5d073f 511 0f858a050000 jnz 1935 (0x37c26f5d0ccf)
;;; <@118,#254> load-named-field
0x37c26f5d0745 517 488b7e0f REX.W movq rdi,[rsi+0xf]
;;; <@120,#255> load-named-field
0x37c26f5d0749 521 8b761b movl rsi,[rsi+0x1b]
;;; <@122,#256> bounds-check
0x37c26f5d074c 524 413bf0 cmpl rsi,r8
0x37c26f5d074f 527 0f867f050000 jna 1940 (0x37c26f5d0cd4)
;;; <@124,#257> load-keyed
0x37c26f5d0755 533 428b74c713 movl rsi,[rdi+r8*8+0x13]
;;; <@127,#259> compare-numeric-and-branch
0x37c26f5d075a 538 413bf3 cmpl rsi,r11 ;; debug: position 8410
0x37c26f5d075d 541 0f840a000000 jz 557 (0x37c26f5d076d)
;;; <@128,#263> -------------------- B12 (unreachable/replaced) --------------------
;;; <@132,#270> -------------------- B13 --------------------
;;; <@134,#276> gap
0x37c26f5d0763 547 beffffffff movl rsi,0xffffffff ;; debug: position 8468
;; debug: position 8395
;;; <@135,#276> goto
0x37c26f5d0768 552 e914000000 jmp 577 (0x37c26f5d0781)
;;; <@136,#260> -------------------- B14 (unreachable/replaced) --------------------
;;; <@140,#266> -------------------- B15 --------------------
;;; <@141,#266> gap
0x37c26f5d076d 557 498bf0 REX.W movq rsi,r8 ;; debug: position 8434
;;; <@142,#268> add-i
0x37c26f5d0770 560 83c601 addl rsi,0x1
0x37c26f5d0773 563 0f8060050000 jo 1945 (0x37c26f5d0cd9)
;;; <@145,#274> goto
0x37c26f5d0779 569 e903000000 jmp 577 (0x37c26f5d0781) ;; debug: position 8395
;;; <@146,#278> -------------------- B16 (unreachable/replaced) --------------------
;;; <@150,#243> -------------------- B17 (unreachable/replaced) --------------------
;;; <@154,#281> -------------------- B18 --------------------
;;; <@156,#283> gap
0x37c26f5d077e 574 498bf0 REX.W movq rsi,r8 ;; debug: position 8371
;;; <@158,#287> -------------------- B19 --------------------
;;; <@160,#289> gap
0x37c26f5d0781 577 488bd3 REX.W movq rdx,rbx ;; debug: position 8215
0x37c26f5d0784 580 488bde REX.W movq rbx,rsi
0x37c26f5d0787 583 488bc1 REX.W movq rax,rcx
;;; <@161,#289> goto
0x37c26f5d078a 586 e9e6010000 jmp 1077 (0x37c26f5d0975)
;;; <@162,#110> -------------------- B20 (unreachable/replaced) --------------------
;;; <@166,#116> -------------------- B21 --------------------
;;; <@168,#118> load-context-slot
0x37c26f5d078f 591 498bb1df000000 REX.W movq rsi,[r9+0xdf] ;; debug: position 8251
;; debug: position 8257
;;; <@170,#338> tagged-to-i
0x37c26f5d0796 598 40f6c601 testb rsi,0x1
0x37c26f5d079a 602 0f85dc030000 jnz 1596 (0x37c26f5d0b7c)
0x37c26f5d07a0 608 48c1ee20 REX.W shrq rsi, 32
;;; <@173,#119> compare-numeric-and-branch
0x37c26f5d07a4 612 443bc6 cmpl r8,rsi ;; debug: position 8253
0x37c26f5d07a7 615 0f84bf010000 jz 1068 (0x37c26f5d096c)
;;; <@174,#123> -------------------- B22 (unreachable/replaced) --------------------
;;; <@178,#126> -------------------- B23 --------------------
;;; <@180,#129> check-maps
0x37c26f5d07ad 621 49bac971808f7a200000 REX.W movq r10,0x207a8f8071c9 ;; debug: position 8274
;; debug: position 8280
;; object: 0x207a8f8071c9 <Map(FAST_ELEMENTS)>
0x37c26f5d07b7 631 4c3953ff REX.W cmpq [rbx-0x1],r10
0x37c26f5d07bb 635 0f851d050000 jnz 1950 (0x37c26f5d0cde)
;;; <@182,#337> smi-tag
0x37c26f5d07c1 641 8bf1 movl rsi,rcx ;; debug: position 8290
0x37c26f5d07c3 643 48c1e620 REX.W shlq rsi, 32
;;; <@184,#141> push-argument
0x37c26f5d07c7 647 50 push rax
;;; <@186,#141> push-argument
0x37c26f5d07c8 648 6a00 push 0x0
;;; <@188,#141> push-argument
0x37c26f5d07ca 650 56 push rsi
;;; <@190,#140> constant-t
0x37c26f5d07cb 651 48bf09716b51de230000 REX.W movq rdi,0x23de516b7109 ;; object: 0x23de516b7109 <JS Function slice (SharedFunctionInfo 0x23de51657a01)>
;;; <@191,#140> gap
0x37c26f5d07d5 661 498bf1 REX.W movq rsi,r9
;;; <@192,#142> invoke-function
0x37c26f5d07d8 664 488b7727 REX.W movq rsi,[rdi+0x27]
0x37c26f5d07dc 668 498b55a8 REX.W movq rdx,[r13-0x58]
0x37c26f5d07e0 672 b802000000 movl rax,0x2
0x37c26f5d07e5 677 ff5737 call [rdi+0x37]
;;; <@194,#143> lazy-bailout
;;; <@196,#145> check-non-smi
0x37c26f5d07e8 680 a801 test al,0x1 ;; debug: position 8305
0x37c26f5d07ea 682 0f84f3040000 jz 1955 (0x37c26f5d0ce3)
;;; <@198,#146> check-instance-type
0x37c26f5d07f0 688 4c8b50ff REX.W movq r10,[rax-0x1]
0x37c26f5d07f4 692 41f6420b80 testb [r10+0xb],0x80
0x37c26f5d07f9 697 0f85e9040000 jnz 1960 (0x37c26f5d0ce8)
;;; <@200,#147> load-named-field
0x37c26f5d07ff 703 8b5813 movl rbx,[rax+0x13]
;;; <@203,#150> compare-numeric-and-branch
0x37c26f5d0802 706 83fb00 cmpl rbx,0x0
0x37c26f5d0805 709 0f84b7000000 jz 898 (0x37c26f5d08c2)
;;; <@204,#151> -------------------- B24 --------------------
;;; <@207,#152> compare-numeric-and-branch
;;; <@208,#153> -------------------- B25 --------------------
;;; <@210,#156> add-i
0x37c26f5d080b 715 83c30d addl rbx,0xd
;;; <@212,#158> bounds-check
0x37c26f5d080e 718 81fbf1ffff0f cmpl rbx,0xffffff1
0x37c26f5d0814 724 0f83d3040000 jnc 1965 (0x37c26f5d0ced)
;;; <@214,#159> load-named-field
0x37c26f5d081a 730 488b50ff REX.W movq rdx,[rax-0x1]
;;; <@216,#160> load-named-field
0x37c26f5d081e 734 0fb6520b movzxbl rdx,[rdx+0xb]
;;; <@218,#163> allocate
0x37c26f5d0822 738 498bb5300f0000 REX.W movq rsi,[r13+0xf30]
0x37c26f5d0829 745 488bce REX.W movq rcx,rsi
0x37c26f5d082c 748 4883c128 REX.W addq rcx,0x28
0x37c26f5d0830 752 0f827a030000 jc 1648 (0x37c26f5d0bb0)
0x37c26f5d0836 758 493b8d380f0000 REX.W cmpq rcx,[r13+0xf38]
0x37c26f5d083d 765 0f876d030000 ja 1648 (0x37c26f5d0bb0)
0x37c26f5d0843 771 49898d300f0000 REX.W movq [r13+0xf30],rcx
0x37c26f5d084a 778 48ffc6 REX.W incq rsi
;;; <@219,#163> gap
0x37c26f5d084d 781 488bca REX.W movq rcx,rdx
;;; <@220,#164> bit-i
0x37c26f5d0850 784 83e104 andl rcx,0x4
;;; <@222,#165> bit-i
0x37c26f5d0853 787 83f204 xorl rdx,0x4
;;; <@224,#167> bit-i
0x37c26f5d0856 790 83e10c andl rcx,0xc
;;; <@227,#168> compare-numeric-and-branch
0x37c26f5d0859 793 83f900 cmpl rcx,0x0
0x37c26f5d085c 796 0f851f000000 jnz 833 (0x37c26f5d0881)
;;; <@228,#171> -------------------- B26 --------------------
;;; <@230,#174> bit-i
0x37c26f5d0862 802 83e20c andl rdx,0xc
;;; <@233,#177> compare-numeric-and-branch
0x37c26f5d0865 805 83fa0c cmpl rdx,0xc
0x37c26f5d0868 808 0f8413000000 jz 833 (0x37c26f5d0881)
;;; <@234,#181> -------------------- B27 --------------------
;;; <@236,#183> store-named-field
0x37c26f5d086e 814 49bac950808f7a200000 REX.W movq r10,0x207a8f8050c9 ;; object: 0x207a8f8050c9 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5d0878 824 4c8956ff REX.W movq [rsi-0x1],r10
;;; <@239,#184> goto
0x37c26f5d087c 828 e90e000000 jmp 847 (0x37c26f5d088f)
;;; <@240,#175> -------------------- B28 (unreachable/replaced) --------------------
;;; <@244,#169> -------------------- B29 (unreachable/replaced) --------------------
;;; <@248,#178> -------------------- B30 --------------------
;;; <@250,#180> store-named-field
0x37c26f5d0881 833 49ba7150808f7a200000 REX.W movq r10,0x207a8f805071 ;; object: 0x207a8f805071 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5d088b 843 4c8956ff REX.W movq [rsi-0x1],r10
;;; <@254,#186> -------------------- B31 --------------------
;;; <@256,#188> store-named-field
0x37c26f5d088f 847 c7460703000000 movl [rsi+0x7],0x3
;;; <@258,#340> smi-tag
0x37c26f5d0896 854 8bd3 movl rdx,rbx
0x37c26f5d0898 856 48c1e220 REX.W shlq rdx, 32
;;; <@260,#189> store-named-field
0x37c26f5d089c 860 4889560f REX.W movq [rsi+0xf],rdx
;;; <@262,#190> store-named-field
0x37c26f5d08a0 864 48894617 REX.W movq [rsi+0x17],rax
;;; <@264,#191> store-named-field
0x37c26f5d08a4 868 49bab9dfa2968c230000 REX.W movq r10,0x238c96a2dfb9 ;; object: 0x238c96a2dfb9 <String[13]: /node_modules>
0x37c26f5d08ae 878 4c89561f REX.W movq [rsi+0x1f],r10
;;; <@267,#192> goto
0x37c26f5d08b2 882 e903000000 jmp 890 (0x37c26f5d08ba)
;;; <@268,#193> -------------------- B32 --------------------
;;; <@270,#194> gap
0x37c26f5d08b7 887 488bf0 REX.W movq rsi,rax
;;; <@272,#196> -------------------- B33 --------------------
;;; <@274,#197> gap
0x37c26f5d08ba 890 488bde REX.W movq rbx,rsi
;;; <@275,#197> goto
0x37c26f5d08bd 893 e90a000000 jmp 908 (0x37c26f5d08cc)
;;; <@276,#198> -------------------- B34 --------------------
;;; <@278,#199> gap
0x37c26f5d08c2 898 48bbb9dfa2968c230000 REX.W movq rbx,0x238c96a2dfb9 ;; object: 0x238c96a2dfb9 <String[13]: /node_modules>
;;; <@280,#201> -------------------- B35 --------------------
;;; <@281,#201> gap
0x37c26f5d08cc 908 488b55d8 REX.W movq rdx,[rbp-0x28]
;;; <@282,#207> load-named-field
0x37c26f5d08d0 912 8b4a1b movl rcx,[rdx+0x1b] ;; debug: position 8280
;;; <@284,#210> check-maps
0x37c26f5d08d3 915 49bac971808f7a200000 REX.W movq r10,0x207a8f8071c9 ;; object: 0x207a8f8071c9 <Map(FAST_ELEMENTS)>
0x37c26f5d08dd 925 4c3952ff REX.W cmpq [rdx-0x1],r10
0x37c26f5d08e1 929 0f850b040000 jnz 1970 (0x37c26f5d0cf2)
;;; <@286,#211> load-named-field
0x37c26f5d08e7 935 488b7a0f REX.W movq rdi,[rdx+0xf]
;;; <@288,#212> check-maps
0x37c26f5d08eb 939 49ba0943808f7a200000 REX.W movq r10,0x207a8f804309 ;; object: 0x207a8f804309 <Map(FAST_SMI_ELEMENTS)>
0x37c26f5d08f5 949 4c3957ff REX.W cmpq [rdi-0x1],r10
0x37c26f5d08f9 953 0f85f8030000 jnz 1975 (0x37c26f5d0cf7)
;;; <@290,#213> load-named-field
0x37c26f5d08ff 959 8b421b movl rax,[rdx+0x1b]
;;; <@293,#215> compare-numeric-and-branch
0x37c26f5d0902 962 3bc8 cmpl rcx,rax
0x37c26f5d0904 964 0f840d000000 jz 983 (0x37c26f5d0917)
;;; <@294,#221> -------------------- B36 --------------------
;;; <@296,#222> bounds-check
0x37c26f5d090a 970 3bc1 cmpl rax,rcx
0x37c26f5d090c 972 0f86ea030000 jna 1980 (0x37c26f5d0cfc)
;;; <@299,#223> goto
0x37c26f5d0912 978 e924000000 jmp 1019 (0x37c26f5d093b)
;;; <@300,#216> -------------------- B37 --------------------
;;; <@302,#217> load-named-field
0x37c26f5d0917 983 448b470b movl r8,[rdi+0xb]
;;; <@303,#217> gap
0x37c26f5d091b 987 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@304,#218> maybe-grow-elements
0x37c26f5d091f 991 413bc8 cmpl rcx,r8
0x37c26f5d0922 994 0f8de5020000 jge 1741 (0x37c26f5d0c0d)
0x37c26f5d0928 1000 488bc7 REX.W movq rax,rdi
;;; <@306,#219> add-i
0x37c26f5d092b 1003 8d7101 leal rsi,[rcx+0x1]
;;; <@308,#341> smi-tag
0x37c26f5d092e 1006 8bfe movl rdi,rsi
0x37c26f5d0930 1008 48c1e720 REX.W shlq rdi, 32
;;; <@310,#220> store-named-field
0x37c26f5d0934 1012 48897a17 REX.W movq [rdx+0x17],rdi
;;; <@312,#224> gap
0x37c26f5d0938 1016 488bf8 REX.W movq rdi,rax
;;; <@314,#226> -------------------- B38 --------------------
;;; <@316,#227> store-keyed
0x37c26f5d093b 1019 48895ccf0f REX.W movq [rdi+rcx*8+0xf],rbx
0x37c26f5d0940 1024 488d4ccf0f REX.W leaq rcx,[rdi+rcx*8+0xf]
0x37c26f5d0945 1029 4881e30000f0ff REX.W andq rbx,0xfffffffffff00000
0x37c26f5d094c 1036 f6430802 testb [rbx+0x8],0x2
0x37c26f5d0950 1040 7415 jz 1063 (0x37c26f5d0967)
0x37c26f5d0952 1042 48c7c30000f0ff REX.W movq rbx,0xfff00000
0x37c26f5d0959 1049 4823df REX.W andq rbx,rdi
0x37c26f5d095c 1052 f6430804 testb [rbx+0x8],0x4
0x37c26f5d0960 1056 7405 jz 1063 (0x37c26f5d0967)
0x37c26f5d0962 1058 e89963e4ff call 0x37c26f416d00 ;; code: STUB, RecordWriteStub, minor: 8503
;;; <@319,#230> goto
0x37c26f5d0967 1063 e903000000 jmp 1071 (0x37c26f5d096f) ;; debug: position 8247
;;; <@320,#120> -------------------- B39 --------------------
0x37c26f5d096c 1068 488bd3 REX.W movq rdx,rbx ;; debug: position 8253
;;; <@324,#231> -------------------- B40 (unreachable/replaced) --------------------
;;; <@328,#234> -------------------- B41 --------------------
;;; <@330,#286> gap
0x37c26f5d096f 1071 488b45d0 REX.W movq rax,[rbp-0x30] ;; debug: position 8340
;; debug: position 8215
0x37c26f5d0973 1075 33db xorl rbx,rbx
;;; <@332,#292> -------------------- B42 --------------------
;;; <@333,#292> gap
0x37c26f5d0975 1077 488b4dd0 REX.W movq rcx,[rbp-0x30] ;; debug: position 8165
;;; <@334,#295> add-i
0x37c26f5d0979 1081 83c1ff addl rcx,0xff
;;; <@336,#298> gap
0x37c26f5d097c 1084 4c8bc3 REX.W movq r8,rbx ;; debug: position 8125
0x37c26f5d097f 1087 488bda REX.W movq rbx,rdx
0x37c26f5d0982 1090 488bd1 REX.W movq rdx,rcx
0x37c26f5d0985 1093 488bc8 REX.W movq rcx,rax
0x37c26f5d0988 1096 4c8b4de8 REX.W movq r9,[rbp-0x18]
0x37c26f5d098c 1100 488b45e0 REX.W movq rax,[rbp-0x20]
;;; <@337,#298> goto
0x37c26f5d0990 1104 e9cffcffff jmp 292 (0x37c26f5d0664)
;;; <@338,#88> -------------------- B43 --------------------
0x37c26f5d0995 1109 488bd3 REX.W movq rdx,rbx ;; debug: position 8157
;;; <@342,#299> -------------------- B44 --------------------
;;; <@344,#302> check-maps
0x37c26f5d0998 1112 49bac971808f7a200000 REX.W movq r10,0x207a8f8071c9 ;; debug: position 8551
;; debug: position 8557
;; object: 0x207a8f8071c9 <Map(FAST_ELEMENTS)>
0x37c26f5d09a2 1122 4c3952ff REX.W cmpq [rdx-0x1],r10
0x37c26f5d09a6 1126 0f8555030000 jnz 1985 (0x37c26f5d0d01)
;;; <@346,#311> load-named-field
0x37c26f5d09ac 1132 8b5a1b movl rbx,[rdx+0x1b]
;;; <@348,#314> load-named-field
0x37c26f5d09af 1135 488b4a0f REX.W movq rcx,[rdx+0xf]
;;; <@350,#315> check-maps
0x37c26f5d09b3 1139 49ba0943808f7a200000 REX.W movq r10,0x207a8f804309 ;; object: 0x207a8f804309 <Map(FAST_SMI_ELEMENTS)>
0x37c26f5d09bd 1149 4c3951ff REX.W cmpq [rcx-0x1],r10
0x37c26f5d09c1 1153 0f853f030000 jnz 1990 (0x37c26f5d0d06)
;;; <@352,#316> load-named-field
0x37c26f5d09c7 1159 8b421b movl rax,[rdx+0x1b]
;;; <@355,#318> compare-numeric-and-branch
0x37c26f5d09ca 1162 3bd8 cmpl rbx,rax
0x37c26f5d09cc 1164 0f840d000000 jz 1183 (0x37c26f5d09df)
;;; <@356,#324> -------------------- B45 --------------------
;;; <@358,#325> bounds-check
0x37c26f5d09d2 1170 3bc3 cmpl rax,rbx
0x37c26f5d09d4 1172 0f8631030000 jna 1995 (0x37c26f5d0d0b)
;;; <@361,#326> goto
0x37c26f5d09da 1178 e922000000 jmp 1217 (0x37c26f5d0a01)
;;; <@362,#319> -------------------- B46 --------------------
;;; <@364,#320> load-named-field
0x37c26f5d09df 1183 8b790b movl rdi,[rcx+0xb]
;;; <@365,#320> gap
0x37c26f5d09e2 1186 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@366,#321> maybe-grow-elements
0x37c26f5d09e6 1190 3bdf cmpl rbx,rdi
0x37c26f5d09e8 1192 0f8d70020000 jge 1822 (0x37c26f5d0c5e)
0x37c26f5d09ee 1198 488bc1 REX.W movq rax,rcx
;;; <@368,#322> add-i
0x37c26f5d09f1 1201 8d4b01 leal rcx,[rbx+0x1]
;;; <@370,#342> smi-tag
0x37c26f5d09f4 1204 8bf1 movl rsi,rcx
0x37c26f5d09f6 1206 48c1e620 REX.W shlq rsi, 32
;;; <@372,#323> store-named-field
0x37c26f5d09fa 1210 48897217 REX.W movq [rdx+0x17],rsi
;;; <@374,#327> gap
0x37c26f5d09fe 1214 488bc8 REX.W movq rcx,rax
;;; <@376,#329> -------------------- B47 --------------------
;;; <@378,#317> constant-t
0x37c26f5d0a01 1217 48b8b9dfa2968c230000 REX.W movq rax,0x238c96a2dfb9 ;; object: 0x238c96a2dfb9 <String[13]: /node_modules>
;;; <@380,#330> store-keyed
0x37c26f5d0a0b 1227 488944d90f REX.W movq [rcx+rbx*8+0xf],rax
0x37c26f5d0a10 1232 488d5cd90f REX.W leaq rbx,[rcx+rbx*8+0xf]
0x37c26f5d0a15 1237 48250000f0ff REX.W and rax,0xfffffffffff00000
0x37c26f5d0a1b 1243 f6400802 testb [rax+0x8],0x2
0x37c26f5d0a1f 1247 7415 jz 1270 (0x37c26f5d0a36)
0x37c26f5d0a21 1249 48c7c00000f0ff REX.W movq rax,0xfff00000
0x37c26f5d0a28 1256 4823c1 REX.W andq rax,rcx
0x37c26f5d0a2b 1259 f6400804 testb [rax+0x8],0x4
0x37c26f5d0a2f 1263 7405 jz 1270 (0x37c26f5d0a36)
0x37c26f5d0a31 1265 e8aae5ffff call 0x37c26f5cefe0 ;; code: STUB, RecordWriteStub, minor: 8961
;;; <@381,#330> gap
0x37c26f5d0a36 1270 488bc2 REX.W movq rax,rdx
;;; <@382,#334> return
0x37c26f5d0a39 1273 488be5 REX.W movq rsp,rbp ;; debug: position 8585
0x37c26f5d0a3c 1276 5d pop rbp
0x37c26f5d0a3d 1277 c21000 ret 0x10
;;; <@384,#29> -------------------- B48 (unreachable/replaced) --------------------
;;; <@388,#35> -------------------- B49 --------------------
;;; <@390,#39> this-function
0x37c26f5d0a40 1280 488b45f0 REX.W movq rax,[rbp-0x10] ;; debug: position 7841
;;; <@392,#40> push-argument
0x37c26f5d0a44 1284 50 push rax
;;; <@394,#40> push-argument
0x37c26f5d0a45 1285 6a00 push 0x0
;;; <@396,#40> push-argument
0x37c26f5d0a47 1287 49ba69b99d0d95290000 REX.W movq r10,0x29950d9db969 ;; object: 0x29950d9db969 <FixedArray[2]>
0x37c26f5d0a51 1297 4152 push r10
;;; <@398,#40> push-argument
0x37c26f5d0a53 1299 49ba0000000003000000 REX.W movq r10,0x300000000
0x37c26f5d0a5d 1309 4152 push r10
;;; <@399,#40> gap
0x37c26f5d0a5f 1311 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@400,#41> call-runtime
0x37c26f5d0a63 1315 b804000000 movl rax,0x4
0x37c26f5d0a68 1320 498d9d88ce40fe REX.W leaq rbx,[r13-0x1bf3178]
0x37c26f5d0a6f 1327 e8cc87e3ff call 0x37c26f409240 ;; code: STUB, CEntryStub, minor: 4
;;; <@402,#41> lazy-bailout
;;; <@404,#43> return
0x37c26f5d0a74 1332 488be5 REX.W movq rsp,rbp ;; debug: position 7834
0x37c26f5d0a77 1335 5d pop rbp
0x37c26f5d0a78 1336 c21000 ret 0x10
0x37c26f5d0a7b 1339 660f1f440000 nop
;;; <@56,#46> -------------------- Deferred allocate --------------------
0x37c26f5d0a81 1345 33db xorl rbx,rbx ;; debug: position 8074
0x37c26f5d0a83 1347 50 push rax
0x37c26f5d0a84 1348 51 push rcx
0x37c26f5d0a85 1349 52 push rdx
0x37c26f5d0a86 1350 53 push rbx
0x37c26f5d0a87 1351 56 push rsi
0x37c26f5d0a88 1352 57 push rdi
0x37c26f5d0a89 1353 4150 push r8
0x37c26f5d0a8b 1355 4151 push r9
0x37c26f5d0a8d 1357 4153 push r11
0x37c26f5d0a8f 1359 4154 push r12
0x37c26f5d0a91 1361 4156 push r14
0x37c26f5d0a93 1363 4157 push r15
0x37c26f5d0a95 1365 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x37c26f5d0a9a 1370 49ba0000000020000000 REX.W movq r10,0x2000000000
0x37c26f5d0aa4 1380 4152 push r10
0x37c26f5d0aa6 1382 6a00 push 0x0
0x37c26f5d0aa8 1384 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f5d0aac 1388 b802000000 movl rax,0x2
0x37c26f5d0ab1 1393 498d9db8da3ffe REX.W leaq rbx,[r13-0x1c02548]
0x37c26f5d0ab8 1400 e8236ee3ff call 0x37c26f4078e0 ;; code: STUB, CEntryStub, minor: 5
0x37c26f5d0abd 1405 4889442460 REX.W movq [rsp+0x60],rax
0x37c26f5d0ac2 1410 488d642420 REX.W leaq rsp,[rsp+0x20]
0x37c26f5d0ac7 1415 415f pop r15
0x37c26f5d0ac9 1417 415e pop r14
0x37c26f5d0acb 1419 415c pop r12
0x37c26f5d0acd 1421 415b pop r11
0x37c26f5d0acf 1423 4159 pop r9
0x37c26f5d0ad1 1425 4158 pop r8
0x37c26f5d0ad3 1427 5f pop rdi
0x37c26f5d0ad4 1428 5e pop rsi
0x37c26f5d0ad5 1429 5b pop rbx
0x37c26f5d0ad6 1430 5a pop rdx
0x37c26f5d0ad7 1431 59 pop rcx
0x37c26f5d0ad8 1432 58 pop rax
0x37c26f5d0ad9 1433 e934fbffff jmp 210 (0x37c26f5d0612)
;;; <@88,#93> -------------------- Deferred stack-check --------------------
0x37c26f5d0ade 1438 50 push rax ;; debug: position 8125
0x37c26f5d0adf 1439 51 push rcx
0x37c26f5d0ae0 1440 52 push rdx
0x37c26f5d0ae1 1441 53 push rbx
0x37c26f5d0ae2 1442 56 push rsi
0x37c26f5d0ae3 1443 57 push rdi
0x37c26f5d0ae4 1444 4150 push r8
0x37c26f5d0ae6 1446 4151 push r9
0x37c26f5d0ae8 1448 4153 push r11
0x37c26f5d0aea 1450 4154 push r12
0x37c26f5d0aec 1452 4156 push r14
0x37c26f5d0aee 1454 4157 push r15
0x37c26f5d0af0 1456 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x37c26f5d0af5 1461 488b75f8 REX.W movq rsi,[rbp-0x8]
0x37c26f5d0af9 1465 33c0 xorl rax,rax
0x37c26f5d0afb 1467 498d9d28d53ffe REX.W leaq rbx,[r13-0x1c02ad8]
0x37c26f5d0b02 1474 e8d96de3ff call 0x37c26f4078e0 ;; code: STUB, CEntryStub, minor: 5
0x37c26f5d0b07 1479 488d642420 REX.W leaq rsp,[rsp+0x20]
0x37c26f5d0b0c 1484 415f pop r15
0x37c26f5d0b0e 1486 415e pop r14
0x37c26f5d0b10 1488 415c pop r12
0x37c26f5d0b12 1490 415b pop r11
0x37c26f5d0b14 1492 4159 pop r9
0x37c26f5d0b16 1494 4158 pop r8
0x37c26f5d0b18 1496 5f pop rdi
0x37c26f5d0b19 1497 5e pop rsi
0x37c26f5d0b1a 1498 5b pop rbx
0x37c26f5d0b1b 1499 5a pop rdx
0x37c26f5d0b1c 1500 59 pop rcx
0x37c26f5d0b1d 1501 58 pop rax
0x37c26f5d0b1e 1502 e95ffbffff jmp 322 (0x37c26f5d0682)
;;; <@94,#105> -------------------- Deferred string-char-code-at --------------------
0x37c26f5d0b23 1507 4533db xorl r11,r11 ;; debug: position 8194
0x37c26f5d0b26 1510 50 push rax
0x37c26f5d0b27 1511 51 push rcx
0x37c26f5d0b28 1512 52 push rdx
0x37c26f5d0b29 1513 53 push rbx
0x37c26f5d0b2a 1514 56 push rsi
0x37c26f5d0b2b 1515 57 push rdi
0x37c26f5d0b2c 1516 4150 push r8
0x37c26f5d0b2e 1518 4151 push r9
0x37c26f5d0b30 1520 4153 push r11
0x37c26f5d0b32 1522 4154 push r12
0x37c26f5d0b34 1524 4156 push r14
0x37c26f5d0b36 1526 4157 push r15
0x37c26f5d0b38 1528 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x37c26f5d0b3d 1533 57 push rdi
0x37c26f5d0b3e 1534 48c1e620 REX.W shlq rsi, 32
0x37c26f5d0b42 1538 56 push rsi
0x37c26f5d0b43 1539 498bf1 REX.W movq rsi,r9
0x37c26f5d0b46 1542 b802000000 movl rax,0x2
0x37c26f5d0b4b 1547 498d9d98d649fe REX.W leaq rbx,[r13-0x1b62968]
0x37c26f5d0b52 1554 e8896de3ff call 0x37c26f4078e0 ;; code: STUB, CEntryStub, minor: 5
0x37c26f5d0b57 1559 48c1e820 REX.W shrq rax, 32
0x37c26f5d0b5b 1563 4889442438 REX.W movq [rsp+0x38],rax
0x37c26f5d0b60 1568 488d642420 REX.W leaq rsp,[rsp+0x20]
0x37c26f5d0b65 1573 415f pop r15
0x37c26f5d0b67 1575 415e pop r14
0x37c26f5d0b69 1577 415c pop r12
0x37c26f5d0b6b 1579 415b pop r11
0x37c26f5d0b6d 1581 4159 pop r9
0x37c26f5d0b6f 1583 4158 pop r8
0x37c26f5d0b71 1585 5f pop rdi
0x37c26f5d0b72 1586 5e pop rsi
0x37c26f5d0b73 1587 5b pop rbx
0x37c26f5d0b74 1588 5a pop rdx
0x37c26f5d0b75 1589 59 pop rcx
0x37c26f5d0b76 1590 58 pop rax
0x37c26f5d0b77 1591 e990fbffff jmp 460 (0x37c26f5d070c)
;;; <@170,#338> -------------------- Deferred tagged-to-i --------------------
0x37c26f5d0b7c 1596 4d8b55f8 REX.W movq r10,[r13-0x8] ;; debug: position 8257
0x37c26f5d0b80 1600 4c3956ff REX.W cmpq [rsi-0x1],r10
0x37c26f5d0b84 1604 0f8586010000 jnz 2000 (0x37c26f5d0d10)
0x37c26f5d0b8a 1610 c5fb104607 vmovsd xmm0,[rsi+0x7]
0x37c26f5d0b8f 1615 c5fb2cf0 vcvttsd2si rsi,xmm0
0x37c26f5d0b93 1619 c5f157c9 vxorpd xmm1,xmm1,xmm1
0x37c26f5d0b97 1623 c5f32ace vcvtlsi2sd xmm1,xmm1,rsi
0x37c26f5d0b9b 1627 c5f92ec1 vucomisd xmm0,xmm1
0x37c26f5d0b9f 1631 0f8570010000 jnz 2005 (0x37c26f5d0d15)
0x37c26f5d0ba5 1637 0f8a6f010000 jpe 2010 (0x37c26f5d0d1a)
0x37c26f5d0bab 1643 e9f4fbffff jmp 612 (0x37c26f5d07a4)
;;; <@218,#163> -------------------- Deferred allocate --------------------
0x37c26f5d0bb0 1648 33f6 xorl rsi,rsi ;; debug: position 8305
0x37c26f5d0bb2 1650 50 push rax
0x37c26f5d0bb3 1651 51 push rcx
0x37c26f5d0bb4 1652 52 push rdx
0x37c26f5d0bb5 1653 53 push rbx
0x37c26f5d0bb6 1654 56 push rsi
0x37c26f5d0bb7 1655 57 push rdi
0x37c26f5d0bb8 1656 4150 push r8
0x37c26f5d0bba 1658 4151 push r9
0x37c26f5d0bbc 1660 4153 push r11
0x37c26f5d0bbe 1662 4154 push r12
0x37c26f5d0bc0 1664 4156 push r14
0x37c26f5d0bc2 1666 4157 push r15
0x37c26f5d0bc4 1668 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x37c26f5d0bc9 1673 49ba0000000028000000 REX.W movq r10,0x2800000000
0x37c26f5d0bd3 1683 4152 push r10
0x37c26f5d0bd5 1685 6a00 push 0x0
0x37c26f5d0bd7 1687 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f5d0bdb 1691 b802000000 movl rax,0x2
0x37c26f5d0be0 1696 498d9db8da3ffe REX.W leaq rbx,[r13-0x1c02548]
0x37c26f5d0be7 1703 e8f46ce3ff call 0x37c26f4078e0 ;; code: STUB, CEntryStub, minor: 5
0x37c26f5d0bec 1708 4889442458 REX.W movq [rsp+0x58],rax
0x37c26f5d0bf1 1713 488d642420 REX.W leaq rsp,[rsp+0x20]
0x37c26f5d0bf6 1718 415f pop r15
0x37c26f5d0bf8 1720 415e pop r14
0x37c26f5d0bfa 1722 415c pop r12
0x37c26f5d0bfc 1724 415b pop r11
0x37c26f5d0bfe 1726 4159 pop r9
0x37c26f5d0c00 1728 4158 pop r8
0x37c26f5d0c02 1730 5f pop rdi
0x37c26f5d0c03 1731 5e pop rsi
0x37c26f5d0c04 1732 5b pop rbx
0x37c26f5d0c05 1733 5a pop rdx
0x37c26f5d0c06 1734 59 pop rcx
0x37c26f5d0c07 1735 58 pop rax
0x37c26f5d0c08 1736 e940fcffff jmp 781 (0x37c26f5d084d)
;;; <@304,#218> -------------------- Deferred maybe-grow-elements --------------------
0x37c26f5d0c0d 1741 33c0 xorl rax,rax ;; debug: position 8280
0x37c26f5d0c0f 1743 50 push rax
0x37c26f5d0c10 1744 51 push rcx
0x37c26f5d0c11 1745 52 push rdx
0x37c26f5d0c12 1746 53 push rbx
0x37c26f5d0c13 1747 56 push rsi
0x37c26f5d0c14 1748 57 push rdi
0x37c26f5d0c15 1749 4150 push r8
0x37c26f5d0c17 1751 4151 push r9
0x37c26f5d0c19 1753 4153 push r11
0x37c26f5d0c1b 1755 4154 push r12
0x37c26f5d0c1d 1757 4156 push r14
0x37c26f5d0c1f 1759 4157 push r15
0x37c26f5d0c21 1761 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x37c26f5d0c26 1766 488bc2 REX.W movq rax,rdx
0x37c26f5d0c29 1769 488bd9 REX.W movq rbx,rcx
0x37c26f5d0c2c 1772 48c1e320 REX.W shlq rbx, 32
0x37c26f5d0c30 1776 e80bf6ffff call 0x37c26f5d0240 ;; code: STUB, GrowArrayElementsStub, minor: 258
0x37c26f5d0c35 1781 4889442478 REX.W movq [rsp+0x78],rax
0x37c26f5d0c3a 1786 488d642420 REX.W leaq rsp,[rsp+0x20]
0x37c26f5d0c3f 1791 415f pop r15
0x37c26f5d0c41 1793 415e pop r14
0x37c26f5d0c43 1795 415c pop r12
0x37c26f5d0c45 1797 415b pop r11
0x37c26f5d0c47 1799 4159 pop r9
0x37c26f5d0c49 1801 4158 pop r8
0x37c26f5d0c4b 1803 5f pop rdi
0x37c26f5d0c4c 1804 5e pop rsi
0x37c26f5d0c4d 1805 5b pop rbx
0x37c26f5d0c4e 1806 5a pop rdx
0x37c26f5d0c4f 1807 59 pop rcx
0x37c26f5d0c50 1808 58 pop rax
0x37c26f5d0c51 1809 a801 test al,0x1
0x37c26f5d0c53 1811 0f84c6000000 jz 2015 (0x37c26f5d0d1f)
0x37c26f5d0c59 1817 e9cdfcffff jmp 1003 (0x37c26f5d092b)
;;; <@366,#321> -------------------- Deferred maybe-grow-elements --------------------
0x37c26f5d0c5e 1822 33c0 xorl rax,rax ;; debug: position 8557
0x37c26f5d0c60 1824 50 push rax
0x37c26f5d0c61 1825 51 push rcx
0x37c26f5d0c62 1826 52 push rdx
0x37c26f5d0c63 1827 53 push rbx
0x37c26f5d0c64 1828 56 push rsi
0x37c26f5d0c65 1829 57 push rdi
0x37c26f5d0c66 1830 4150 push r8
0x37c26f5d0c68 1832 4151 push r9
0x37c26f5d0c6a 1834 4153 push r11
0x37c26f5d0c6c 1836 4154 push r12
0x37c26f5d0c6e 1838 4156 push r14
0x37c26f5d0c70 1840 4157 push r15
0x37c26f5d0c72 1842 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x37c26f5d0c77 1847 488bc2 REX.W movq rax,rdx
0x37c26f5d0c7a 1850 48c1e320 REX.W shlq rbx, 32
0x37c26f5d0c7e 1854 e8bdf5ffff call 0x37c26f5d0240 ;; code: STUB, GrowArrayElementsStub, minor: 258
0x37c26f5d0c83 1859 4889442478 REX.W movq [rsp+0x78],rax
0x37c26f5d0c88 1864 488d642420 REX.W leaq rsp,[rsp+0x20]
0x37c26f5d0c8d 1869 415f pop r15
0x37c26f5d0c8f 1871 415e pop r14
0x37c26f5d0c91 1873 415c pop r12
0x37c26f5d0c93 1875 415b pop r11
0x37c26f5d0c95 1877 4159 pop r9
0x37c26f5d0c97 1879 4158 pop r8
0x37c26f5d0c99 1881 5f pop rdi
0x37c26f5d0c9a 1882 5e pop rsi
0x37c26f5d0c9b 1883 5b pop rbx
0x37c26f5d0c9c 1884 5a pop rdx
0x37c26f5d0c9d 1885 59 pop rcx
0x37c26f5d0c9e 1886 58 pop rax
0x37c26f5d0c9f 1887 a801 test al,0x1
0x37c26f5d0ca1 1889 0f847d000000 jz 2020 (0x37c26f5d0d24)
0x37c26f5d0ca7 1895 e945fdffff jmp 1201 (0x37c26f5d09f1)
;;; -------------------- Jump table --------------------
0x37c26f5d0cac 1900 e85953b3ff call 0x37c26f10600a ;; debug: position 31744
;; debug: deopt reason 'hole'
;; deoptimization bailout 1
0x37c26f5d0cb1 1905 e85e53b3ff call 0x37c26f106014 ;; debug: position 34304
;; debug: deopt reason 'Smi'
;; deoptimization bailout 2
0x37c26f5d0cb6 1910 e86353b3ff call 0x37c26f10601e ;; debug: position 34304
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 3
0x37c26f5d0cbb 1915 e87253b3ff call 0x37c26f106032 ;; debug: position 130560
;; debug: deopt reason 'Smi'
;; deoptimization bailout 5
0x37c26f5d0cc0 1920 e87753b3ff call 0x37c26f10603c ;; debug: position 130560
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 6
0x37c26f5d0cc5 1925 e89053b3ff call 0x37c26f10605a ;; debug: position 322560
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 9
0x37c26f5d0cca 1930 e89553b3ff call 0x37c26f106064 ;; debug: position 431104
;; debug: deopt reason 'Smi'
;; deoptimization bailout 10
0x37c26f5d0ccf 1935 e89a53b3ff call 0x37c26f10606e ;; debug: position 431104
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 11
0x37c26f5d0cd4 1940 e89f53b3ff call 0x37c26f106078 ;; debug: position 431104
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 12
0x37c26f5d0cd9 1945 e8a453b3ff call 0x37c26f106082 ;; debug: position 445440
;; debug: deopt reason 'overflow'
;; deoptimization bailout 13
0x37c26f5d0cde 1950 e8a953b3ff call 0x37c26f10608c ;; debug: position 366592
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 14
0x37c26f5d0ce3 1955 e8b853b3ff call 0x37c26f1060a0 ;; debug: position 379392
;; debug: deopt reason 'Smi'
;; deoptimization bailout 16
0x37c26f5d0ce8 1960 e8bd53b3ff call 0x37c26f1060aa ;; debug: position 379392
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 17
0x37c26f5d0ced 1965 e8c253b3ff call 0x37c26f1060b4 ;; debug: position 379392
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 18
0x37c26f5d0cf2 1970 e8c753b3ff call 0x37c26f1060be ;; debug: position 366592
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 19
0x37c26f5d0cf7 1975 e8cc53b3ff call 0x37c26f1060c8 ;; debug: position 366592
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 20
0x37c26f5d0cfc 1980 e8d153b3ff call 0x37c26f1060d2 ;; debug: position 366592
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 21
0x37c26f5d0d01 1985 e8d653b3ff call 0x37c26f1060dc ;; debug: position 508416
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 22
0x37c26f5d0d06 1990 e8db53b3ff call 0x37c26f1060e6 ;; debug: position 508416
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 23
0x37c26f5d0d0b 1995 e8e053b3ff call 0x37c26f1060f0 ;; debug: position 508416
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 24
0x37c26f5d0d10 2000 e8ef53b3ff call 0x37c26f106104 ;; debug: position 354816
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 26
0x37c26f5d0d15 2005 e8ea53b3ff call 0x37c26f106104 ;; debug: position 354816
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 26
0x37c26f5d0d1a 2010 e8e553b3ff call 0x37c26f106104 ;; debug: position 354816
;; debug: deopt reason 'NaN'
;; deoptimization bailout 26
0x37c26f5d0d1f 2015 e8ea53b3ff call 0x37c26f10610e ;; debug: position 366592
;; debug: deopt reason 'Smi'
;; deoptimization bailout 27
0x37c26f5d0d24 2020 e8ef53b3ff call 0x37c26f106118 ;; debug: position 508416
;; debug: deopt reason 'Smi'
;; deoptimization bailout 28
0x37c26f5d0d29 2025 0f1f00 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 29)
index ast id argc pc
0 4 0 35
1 4 0 -1
2 4 0 -1
3 4 0 -1
4 24 0 111
5 24 0 -1
6 24 0 -1
7 24 0 167
8 110 0 322
9 157 0 -1
10 284 0 -1
11 284 0 -1
12 284 0 -1
13 303 0 -1
14 205 0 -1
15 239 0 680
16 239 0 -1
17 239 0 -1
18 239 0 -1
19 235 0 -1
20 235 0 -1
21 235 0 -1
22 107 0 -1
23 107 0 -1
24 107 0 -1
25 43 0 1332
26 190 0 -1
27 235 0 -1
28 107 0 -1
Safepoints (size = 140)
0x37c26f5d0563 35 000010000 (sp -> fp) 0
0x37c26f5d05a8 104 000010000 (sp -> fp) 4
0x37c26f5d05dd 157 000110000 (sp -> fp) 7
0x37c26f5d07e8 680 001110000 (sp -> fp) 15
0x37c26f5d0a74 1332 000110000 (sp -> fp) 25
0x37c26f5d0abd 1405 000110000 | rbx (sp -> fp) <none> argc: 2
0x37c26f5d0b07 1479 001110000 | rax | rbx | r9 (sp -> fp) 8
0x37c26f5d0b57 1559 001110000 | rax | rbx | r9 (sp -> fp) <none> argc: 2
0x37c26f5d0bec 1708 001110000 | rax | rsi (sp -> fp) <none> argc: 2
0x37c26f5d0c35 1781 001110000 | rdx | rbx | rsi | rdi (sp -> fp) <none>
0x37c26f5d0c83 1859 001110000 | rcx | rdx | rsi (sp -> fp) <none>
RelocInfo (size = 2650)
0x37c26f5d054a position (7564)
0x37c26f5d054a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f5d054a comment (;;; <@6,#4> prologue)
0x37c26f5d054a comment (;;; Prologue begin)
0x37c26f5d054a comment (;;; Prologue end)
0x37c26f5d054a comment (;;; <@10,#6> -------------------- B1 --------------------)
0x37c26f5d054a comment (;;; <@12,#7> context)
0x37c26f5d054e comment (;;; <@13,#7> gap)
0x37c26f5d0552 comment (;;; <@16,#12> -------------------- B2 --------------------)
0x37c26f5d0552 comment (;;; <@17,#12> gap)
0x37c26f5d0555 comment (;;; <@18,#14> stack-check)
0x37c26f5d055f code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f5d0563 comment (;;; <@20,#14> lazy-bailout)
0x37c26f5d0563 comment (;;; <@21,#14> gap)
0x37c26f5d0567 comment (;;; <@22,#15> load-context-slot)
0x37c26f5d0567 position (7626)
0x37c26f5d0575 comment (;;; <@24,#16> check-non-smi)
0x37c26f5d0575 position (7631)
0x37c26f5d057d comment (;;; <@26,#17> check-maps)
0x37c26f5d057f embedded object (0x37dfeae12ab9 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5d0591 comment (;;; <@28,#18> load-named-field)
0x37c26f5d0595 comment (;;; <@30,#21> push-argument)
0x37c26f5d0596 comment (;;; <@31,#21> gap)
0x37c26f5d059a comment (;;; <@32,#21> push-argument)
0x37c26f5d059b comment (;;; <@34,#208> constant-i)
0x37c26f5d059b position (7564)
0x37c26f5d05a0 comment (;;; <@35,#208> gap)
0x37c26f5d05a3 comment (;;; <@36,#22> call-with-descriptor)
0x37c26f5d05a3 position (7631)
0x37c26f5d05a4 code target (BUILTIN) (0x37c26f413aa0)
0x37c26f5d05a8 comment (;;; <@37,#22> gap)
0x37c26f5d05af comment (;;; <@38,#23> lazy-bailout)
0x37c26f5d05af comment (;;; <@40,#25> check-non-smi)
0x37c26f5d05af position (7819)
0x37c26f5d05b8 comment (;;; <@42,#26> check-instance-type)
0x37c26f5d05c7 comment (;;; <@44,#24> constant-t)
0x37c26f5d05c7 position (7823)
0x37c26f5d05c9 embedded object (0x238c96a29fa1 <String[1]: />)
0x37c26f5d05d1 comment (;;; <@46,#28> gap)
0x37c26f5d05d1 position (7819)
0x37c26f5d05d8 comment (;;; <@47,#28> string-compare-and-branch)
0x37c26f5d05d9 code target (STUB) (0x37c26f5cd3e0)
0x37c26f5d05e7 comment (;;; <@48,#28> lazy-bailout)
0x37c26f5d05e7 comment (;;; <@50,#32> -------------------- B3 (unreachable/replaced) --------------------)
0x37c26f5d05e7 position (8074)
0x37c26f5d05e7 comment (;;; <@54,#44> -------------------- B4 --------------------)
0x37c26f5d05e7 comment (;;; <@56,#46> allocate)
0x37c26f5d0612 comment (;;; <@57,#46> gap)
0x37c26f5d0616 comment (;;; <@58,#48> store-named-field)
0x37c26f5d0618 embedded object (0x23de51604241 <FixedArray[0]>)
0x37c26f5d0624 comment (;;; <@60,#50> store-named-field)
0x37c26f5d0626 embedded object (0x207a8f8071c9 <Map(FAST_ELEMENTS)>)
0x37c26f5d0632 comment (;;; <@62,#52> store-named-field)
0x37c26f5d0634 embedded object (0x23de51604241 <FixedArray[0]>)
0x37c26f5d0640 comment (;;; <@64,#54> store-named-field)
0x37c26f5d0647 comment (;;; <@65,#54> gap)
0x37c26f5d064b comment (;;; <@66,#62> load-named-field)
0x37c26f5d064b position (8112)
0x37c26f5d064e comment (;;; <@67,#62> gap)
0x37c26f5d0651 comment (;;; <@68,#68> sub-i)
0x37c26f5d0651 position (8150)
0x37c26f5d0654 comment (;;; <@70,#98> check-maps)
0x37c26f5d0654 position (8194)
0x37c26f5d0654 comment (;;; <@72,#131> check-maps)
0x37c26f5d0654 position (8280)
0x37c26f5d0654 comment (;;; <@74,#206> check-maps)
0x37c26f5d0654 comment (;;; <@76,#80> gap)
0x37c26f5d0654 position (8125)
0x37c26f5d0664 position (8155)
0x37c26f5d0664 comment (;;; <@78,#81> -------------------- B5 (loop header) --------------------)
0x37c26f5d066c position (8157)
0x37c26f5d066c comment (;;; <@81,#84> compare-numeric-and-branch)
0x37c26f5d0675 comment (;;; <@82,#85> -------------------- B6 (unreachable/replaced) --------------------)
0x37c26f5d0675 position (8125)
0x37c26f5d0675 comment (;;; <@86,#91> -------------------- B7 --------------------)
0x37c26f5d0675 comment (;;; <@88,#93> stack-check)
0x37c26f5d0682 comment (;;; <@90,#103> load-named-field)
0x37c26f5d0682 position (8194)
0x37c26f5d0685 comment (;;; <@92,#104> bounds-check)
0x37c26f5d068d comment (;;; <@93,#104> gap)
0x37c26f5d0693 comment (;;; <@94,#105> string-char-code-at)
0x37c26f5d070c position (8224)
0x37c26f5d070c comment (;;; <@97,#109> compare-numeric-and-branch)
0x37c26f5d0716 comment (;;; <@98,#113> -------------------- B8 (unreachable/replaced) --------------------)
0x37c26f5d0716 position (8375)
0x37c26f5d0716 comment (;;; <@102,#239> -------------------- B9 --------------------)
0x37c26f5d0716 position (8377)
0x37c26f5d0716 comment (;;; <@105,#242> compare-numeric-and-branch)
0x37c26f5d0720 comment (;;; <@106,#246> -------------------- B10 (unreachable/replaced) --------------------)
0x37c26f5d0720 position (8399)
0x37c26f5d0720 comment (;;; <@110,#249> -------------------- B11 --------------------)
0x37c26f5d0720 comment (;;; <@112,#250> load-context-slot)
0x37c26f5d0727 comment (;;; <@114,#252> check-non-smi)
0x37c26f5d0727 position (8406)
0x37c26f5d0731 comment (;;; <@116,#253> check-maps)
0x37c26f5d0733 embedded object (0x207a8f806ae9 <Map(FAST_SMI_ELEMENTS)>)
0x37c26f5d0745 comment (;;; <@118,#254> load-named-field)
0x37c26f5d0749 comment (;;; <@120,#255> load-named-field)
0x37c26f5d074c comment (;;; <@122,#256> bounds-check)
0x37c26f5d0755 comment (;;; <@124,#257> load-keyed)
0x37c26f5d075a position (8410)
0x37c26f5d075a comment (;;; <@127,#259> compare-numeric-and-branch)
0x37c26f5d0763 comment (;;; <@128,#263> -------------------- B12 (unreachable/replaced) --------------------)
0x37c26f5d0763 position (8468)
0x37c26f5d0763 comment (;;; <@132,#270> -------------------- B13 --------------------)
0x37c26f5d0763 comment (;;; <@134,#276> gap)
0x37c26f5d0763 position (8395)
0x37c26f5d0768 comment (;;; <@135,#276> goto)
0x37c26f5d076d comment (;;; <@136,#260> -------------------- B14 (unreachable/replaced) --------------------)
0x37c26f5d076d position (8434)
0x37c26f5d076d comment (;;; <@140,#266> -------------------- B15 --------------------)
0x37c26f5d076d comment (;;; <@141,#266> gap)
0x37c26f5d0770 comment (;;; <@142,#268> add-i)
0x37c26f5d0779 position (8395)
0x37c26f5d0779 comment (;;; <@145,#274> goto)
0x37c26f5d077e comment (;;; <@146,#278> -------------------- B16 (unreachable/replaced) --------------------)
0x37c26f5d077e comment (;;; <@150,#243> -------------------- B17 (unreachable/replaced) --------------------)
0x37c26f5d077e position (8371)
0x37c26f5d077e comment (;;; <@154,#281> -------------------- B18 --------------------)
0x37c26f5d077e comment (;;; <@156,#283> gap)
0x37c26f5d0781 position (8215)
0x37c26f5d0781 comment (;;; <@158,#287> -------------------- B19 --------------------)
0x37c26f5d0781 comment (;;; <@160,#289> gap)
0x37c26f5d078a comment (;;; <@161,#289> goto)
0x37c26f5d078f comment (;;; <@162,#110> -------------------- B20 (unreachable/replaced) --------------------)
0x37c26f5d078f position (8251)
0x37c26f5d078f comment (;;; <@166,#116> -------------------- B21 --------------------)
0x37c26f5d078f comment (;;; <@168,#118> load-context-slot)
0x37c26f5d078f position (8257)
0x37c26f5d0796 comment (;;; <@170,#338> tagged-to-i)
0x37c26f5d07a4 position (8253)
0x37c26f5d07a4 comment (;;; <@173,#119> compare-numeric-and-branch)
0x37c26f5d07ad comment (;;; <@174,#123> -------------------- B22 (unreachable/replaced) --------------------)
0x37c26f5d07ad position (8274)
0x37c26f5d07ad comment (;;; <@178,#126> -------------------- B23 --------------------)
0x37c26f5d07ad comment (;;; <@180,#129> check-maps)
0x37c26f5d07ad position (8280)
0x37c26f5d07af embedded object (0x207a8f8071c9 <Map(FAST_ELEMENTS)>)
0x37c26f5d07c1 comment (;;; <@182,#337> smi-tag)
0x37c26f5d07c1 position (8290)
0x37c26f5d07c7 comment (;;; <@184,#141> push-argument)
0x37c26f5d07c8 comment (;;; <@186,#141> push-argument)
0x37c26f5d07ca comment (;;; <@188,#141> push-argument)
0x37c26f5d07cb comment (;;; <@190,#140> constant-t)
0x37c26f5d07cd embedded object (0x23de516b7109 <JS Function slice (SharedFunctionInfo 0x23de51657a01)>)
0x37c26f5d07d5 comment (;;; <@191,#140> gap)
0x37c26f5d07d8 comment (;;; <@192,#142> invoke-function)
0x37c26f5d07e8 comment (;;; <@194,#143> lazy-bailout)
0x37c26f5d07e8 comment (;;; <@196,#145> check-non-smi)
0x37c26f5d07e8 position (8305)
0x37c26f5d07f0 comment (;;; <@198,#146> check-instance-type)
0x37c26f5d07ff comment (;;; <@200,#147> load-named-field)
0x37c26f5d0802 comment (;;; <@203,#150> compare-numeric-and-branch)
0x37c26f5d080b comment (;;; <@204,#151> -------------------- B24 --------------------)
0x37c26f5d080b comment (;;; <@207,#152> compare-numeric-and-branch)
0x37c26f5d080b comment (;;; <@208,#153> -------------------- B25 --------------------)
0x37c26f5d080b comment (;;; <@210,#156> add-i)
0x37c26f5d080e comment (;;; <@212,#158> bounds-check)
0x37c26f5d081a comment (;;; <@214,#159> load-named-field)
0x37c26f5d081e comment (;;; <@216,#160> load-named-field)
0x37c26f5d0822 comment (;;; <@218,#163> allocate)
0x37c26f5d084d comment (;;; <@219,#163> gap)
0x37c26f5d0850 comment (;;; <@220,#164> bit-i)
0x37c26f5d0853 comment (;;; <@222,#165> bit-i)
0x37c26f5d0856 comment (;;; <@224,#167> bit-i)
0x37c26f5d0859 comment (;;; <@227,#168> compare-numeric-and-branch)
0x37c26f5d0862 comment (;;; <@228,#171> -------------------- B26 --------------------)
0x37c26f5d0862 comment (;;; <@230,#174> bit-i)
0x37c26f5d0865 comment (;;; <@233,#177> compare-numeric-and-branch)
0x37c26f5d086e comment (;;; <@234,#181> -------------------- B27 --------------------)
0x37c26f5d086e comment (;;; <@236,#183> store-named-field)
0x37c26f5d0870 embedded object (0x207a8f8050c9 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5d087c comment (;;; <@239,#184> goto)
0x37c26f5d0881 comment (;;; <@240,#175> -------------------- B28 (unreachable/replaced) --------------------)
0x37c26f5d0881 comment (;;; <@244,#169> -------------------- B29 (unreachable/replaced) --------------------)
0x37c26f5d0881 comment (;;; <@248,#178> -------------------- B30 --------------------)
0x37c26f5d0881 comment (;;; <@250,#180> store-named-field)
0x37c26f5d0883 embedded object (0x207a8f805071 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5d088f comment (;;; <@254,#186> -------------------- B31 --------------------)
0x37c26f5d088f comment (;;; <@256,#188> store-named-field)
0x37c26f5d0896 comment (;;; <@258,#340> smi-tag)
0x37c26f5d089c comment (;;; <@260,#189> store-named-field)
0x37c26f5d08a0 comment (;;; <@262,#190> store-named-field)
0x37c26f5d08a4 comment (;;; <@264,#191> store-named-field)
0x37c26f5d08a6 embedded object (0x238c96a2dfb9 <String[13]: /node_modules>)
0x37c26f5d08b2 comment (;;; <@267,#192> goto)
0x37c26f5d08b7 comment (;;; <@268,#193> -------------------- B32 --------------------)
0x37c26f5d08b7 comment (;;; <@270,#194> gap)
0x37c26f5d08ba comment (;;; <@272,#196> -------------------- B33 --------------------)
0x37c26f5d08ba comment (;;; <@274,#197> gap)
0x37c26f5d08bd comment (;;; <@275,#197> goto)
0x37c26f5d08c2 comment (;;; <@276,#198> -------------------- B34 --------------------)
0x37c26f5d08c2 comment (;;; <@278,#199> gap)
0x37c26f5d08c4 embedded object (0x238c96a2dfb9 <String[13]: /node_modules>)
0x37c26f5d08cc comment (;;; <@280,#201> -------------------- B35 --------------------)
0x37c26f5d08cc comment (;;; <@281,#201> gap)
0x37c26f5d08d0 comment (;;; <@282,#207> load-named-field)
0x37c26f5d08d0 position (8280)
0x37c26f5d08d3 comment (;;; <@284,#210> check-maps)
0x37c26f5d08d5 embedded object (0x207a8f8071c9 <Map(FAST_ELEMENTS)>)
0x37c26f5d08e7 comment (;;; <@286,#211> load-named-field)
0x37c26f5d08eb comment (;;; <@288,#212> check-maps)
0x37c26f5d08ed embedded object (0x207a8f804309 <Map(FAST_SMI_ELEMENTS)>)
0x37c26f5d08ff comment (;;; <@290,#213> load-named-field)
0x37c26f5d0902 comment (;;; <@293,#215> compare-numeric-and-branch)
0x37c26f5d090a comment (;;; <@294,#221> -------------------- B36 --------------------)
0x37c26f5d090a comment (;;; <@296,#222> bounds-check)
0x37c26f5d0912 comment (;;; <@299,#223> goto)
0x37c26f5d0917 comment (;;; <@300,#216> -------------------- B37 --------------------)
0x37c26f5d0917 comment (;;; <@302,#217> load-named-field)
0x37c26f5d091b comment (;;; <@303,#217> gap)
0x37c26f5d091f comment (;;; <@304,#218> maybe-grow-elements)
0x37c26f5d092b comment (;;; <@306,#219> add-i)
0x37c26f5d092e comment (;;; <@308,#341> smi-tag)
0x37c26f5d0934 comment (;;; <@310,#220> store-named-field)
0x37c26f5d0938 comment (;;; <@312,#224> gap)
0x37c26f5d093b comment (;;; <@314,#226> -------------------- B38 --------------------)
0x37c26f5d093b comment (;;; <@316,#227> store-keyed)
0x37c26f5d0963 code target (STUB) (0x37c26f416d00)
0x37c26f5d0967 position (8247)
0x37c26f5d0967 comment (;;; <@319,#230> goto)
0x37c26f5d096c position (8253)
0x37c26f5d096c comment (;;; <@320,#120> -------------------- B39 --------------------)
0x37c26f5d096f comment (;;; <@324,#231> -------------------- B40 (unreachable/replaced) --------------------)
0x37c26f5d096f position (8340)
0x37c26f5d096f comment (;;; <@328,#234> -------------------- B41 --------------------)
0x37c26f5d096f comment (;;; <@330,#286> gap)
0x37c26f5d096f position (8215)
0x37c26f5d0975 position (8165)
0x37c26f5d0975 comment (;;; <@332,#292> -------------------- B42 --------------------)
0x37c26f5d0975 comment (;;; <@333,#292> gap)
0x37c26f5d0979 comment (;;; <@334,#295> add-i)
0x37c26f5d097c comment (;;; <@336,#298> gap)
0x37c26f5d097c position (8125)
0x37c26f5d0990 comment (;;; <@337,#298> goto)
0x37c26f5d0995 position (8157)
0x37c26f5d0995 comment (;;; <@338,#88> -------------------- B43 --------------------)
0x37c26f5d0998 position (8551)
0x37c26f5d0998 comment (;;; <@342,#299> -------------------- B44 --------------------)
0x37c26f5d0998 comment (;;; <@344,#302> check-maps)
0x37c26f5d0998 position (8557)
0x37c26f5d099a embedded object (0x207a8f8071c9 <Map(FAST_ELEMENTS)>)
0x37c26f5d09ac comment (;;; <@346,#311> load-named-field)
0x37c26f5d09af comment (;;; <@348,#314> load-named-field)
0x37c26f5d09b3 comment (;;; <@350,#315> check-maps)
0x37c26f5d09b5 embedded object (0x207a8f804309 <Map(FAST_SMI_ELEMENTS)>)
0x37c26f5d09c7 comment (;;; <@352,#316> load-named-field)
0x37c26f5d09ca comment (;;; <@355,#318> compare-numeric-and-branch)
0x37c26f5d09d2 comment (;;; <@356,#324> -------------------- B45 --------------------)
0x37c26f5d09d2 comment (;;; <@358,#325> bounds-check)
0x37c26f5d09da comment (;;; <@361,#326> goto)
0x37c26f5d09df comment (;;; <@362,#319> -------------------- B46 --------------------)
0x37c26f5d09df comment (;;; <@364,#320> load-named-field)
0x37c26f5d09e2 comment (;;; <@365,#320> gap)
0x37c26f5d09e6 comment (;;; <@366,#321> maybe-grow-elements)
0x37c26f5d09f1 comment (;;; <@368,#322> add-i)
0x37c26f5d09f4 comment (;;; <@370,#342> smi-tag)
0x37c26f5d09fa comment (;;; <@372,#323> store-named-field)
0x37c26f5d09fe comment (;;; <@374,#327> gap)
0x37c26f5d0a01 comment (;;; <@376,#329> -------------------- B47 --------------------)
0x37c26f5d0a01 comment (;;; <@378,#317> constant-t)
0x37c26f5d0a03 embedded object (0x238c96a2dfb9 <String[13]: /node_modules>)
0x37c26f5d0a0b comment (;;; <@380,#330> store-keyed)
0x37c26f5d0a32 code target (STUB) (0x37c26f5cefe0)
0x37c26f5d0a36 comment (;;; <@381,#330> gap)
0x37c26f5d0a39 comment (;;; <@382,#334> return)
0x37c26f5d0a39 position (8585)
0x37c26f5d0a40 comment (;;; <@384,#29> -------------------- B48 (unreachable/replaced) --------------------)
0x37c26f5d0a40 position (7841)
0x37c26f5d0a40 comment (;;; <@388,#35> -------------------- B49 --------------------)
0x37c26f5d0a40 comment (;;; <@390,#39> this-function)
0x37c26f5d0a44 comment (;;; <@392,#40> push-argument)
0x37c26f5d0a45 comment (;;; <@394,#40> push-argument)
0x37c26f5d0a47 comment (;;; <@396,#40> push-argument)
0x37c26f5d0a49 embedded object (0x29950d9db969 <FixedArray[2]>)
0x37c26f5d0a53 comment (;;; <@398,#40> push-argument)
0x37c26f5d0a5f comment (;;; <@399,#40> gap)
0x37c26f5d0a63 comment (;;; <@400,#41> call-runtime)
0x37c26f5d0a70 code target (STUB) (0x37c26f409240)
0x37c26f5d0a74 comment (;;; <@402,#41> lazy-bailout)
0x37c26f5d0a74 comment (;;; <@404,#43> return)
0x37c26f5d0a74 position (7834)
0x37c26f5d0a81 position (8074)
0x37c26f5d0a81 comment (;;; <@56,#46> -------------------- Deferred allocate --------------------)
0x37c26f5d0ab9 code target (STUB) (0x37c26f4078e0)
0x37c26f5d0ade position (8125)
0x37c26f5d0ade comment (;;; <@88,#93> -------------------- Deferred stack-check --------------------)
0x37c26f5d0b03 code target (STUB) (0x37c26f4078e0)
0x37c26f5d0b23 position (8194)
0x37c26f5d0b23 comment (;;; <@94,#105> -------------------- Deferred string-char-code-at --------------------)
0x37c26f5d0b53 code target (STUB) (0x37c26f4078e0)
0x37c26f5d0b7c position (8257)
0x37c26f5d0b7c comment (;;; <@170,#338> -------------------- Deferred tagged-to-i --------------------)
0x37c26f5d0bb0 position (8305)
0x37c26f5d0bb0 comment (;;; <@218,#163> -------------------- Deferred allocate --------------------)
0x37c26f5d0be8 code target (STUB) (0x37c26f4078e0)
0x37c26f5d0c0d position (8280)
0x37c26f5d0c0d comment (;;; <@304,#218> -------------------- Deferred maybe-grow-elements --------------------)
0x37c26f5d0c31 code target (STUB) (0x37c26f5d0240)
0x37c26f5d0c5e position (8557)
0x37c26f5d0c5e comment (;;; <@366,#321> -------------------- Deferred maybe-grow-elements --------------------)
0x37c26f5d0c7f code target (STUB) (0x37c26f5d0240)
0x37c26f5d0cac comment (;;; -------------------- Jump table --------------------)
0x37c26f5d0cac position (31744)
0x37c26f5d0cac deopt reason (hole)
0x37c26f5d0cad runtime entry (deoptimization bailout 1)
0x37c26f5d0cb1 position (34304)
0x37c26f5d0cb1 deopt reason (Smi)
0x37c26f5d0cb2 runtime entry (deoptimization bailout 2)
0x37c26f5d0cb6 position (34304)
0x37c26f5d0cb6 deopt reason (wrong map)
0x37c26f5d0cb7 runtime entry (deoptimization bailout 3)
0x37c26f5d0cbb position (130560)
0x37c26f5d0cbb deopt reason (Smi)
0x37c26f5d0cbc runtime entry (deoptimization bailout 5)
0x37c26f5d0cc0 position (130560)
0x37c26f5d0cc0 deopt reason (wrong instance type)
0x37c26f5d0cc1 runtime entry (deoptimization bailout 6)
0x37c26f5d0cc5 position (322560)
0x37c26f5d0cc5 deopt reason (out of bounds)
0x37c26f5d0cc6 runtime entry (deoptimization bailout 9)
0x37c26f5d0cca position (431104)
0x37c26f5d0cca deopt reason (Smi)
0x37c26f5d0ccb runtime entry (deoptimization bailout 10)
0x37c26f5d0ccf position (431104)
0x37c26f5d0ccf deopt reason (wrong map)
0x37c26f5d0cd0 runtime entry (deoptimization bailout 11)
0x37c26f5d0cd4 position (431104)
0x37c26f5d0cd4 deopt reason (out of bounds)
0x37c26f5d0cd5 runtime entry (deoptimization bailout 12)
0x37c26f5d0cd9 position (445440)
0x37c26f5d0cd9 deopt reason (overflow)
0x37c26f5d0cda runtime entry (deoptimization bailout 13)
0x37c26f5d0cde position (366592)
0x37c26f5d0cde deopt reason (wrong map)
0x37c26f5d0cdf runtime entry (deoptimization bailout 14)
0x37c26f5d0ce3 position (379392)
0x37c26f5d0ce3 deopt reason (Smi)
0x37c26f5d0ce4 runtime entry (deoptimization bailout 16)
0x37c26f5d0ce8 position (379392)
0x37c26f5d0ce8 deopt reason (wrong instance type)
0x37c26f5d0ce9 runtime entry (deoptimization bailout 17)
0x37c26f5d0ced position (379392)
0x37c26f5d0ced deopt reason (out of bounds)
0x37c26f5d0cee runtime entry (deoptimization bailout 18)
0x37c26f5d0cf2 position (366592)
0x37c26f5d0cf2 deopt reason (wrong map)
0x37c26f5d0cf3 runtime entry (deoptimization bailout 19)
0x37c26f5d0cf7 position (366592)
0x37c26f5d0cf7 deopt reason (wrong map)
0x37c26f5d0cf8 runtime entry (deoptimization bailout 20)
0x37c26f5d0cfc position (366592)
0x37c26f5d0cfc deopt reason (out of bounds)
0x37c26f5d0cfd runtime entry (deoptimization bailout 21)
0x37c26f5d0d01 position (508416)
0x37c26f5d0d01 deopt reason (wrong map)
0x37c26f5d0d02 runtime entry (deoptimization bailout 22)
0x37c26f5d0d06 position (508416)
0x37c26f5d0d06 deopt reason (wrong map)
0x37c26f5d0d07 runtime entry (deoptimization bailout 23)
0x37c26f5d0d0b position (508416)
0x37c26f5d0d0b deopt reason (out of bounds)
0x37c26f5d0d0c runtime entry (deoptimization bailout 24)
0x37c26f5d0d10 position (354816)
0x37c26f5d0d10 deopt reason (not a heap number)
0x37c26f5d0d11 runtime entry (deoptimization bailout 26)
0x37c26f5d0d15 position (354816)
0x37c26f5d0d15 deopt reason (lost precision)
0x37c26f5d0d16 runtime entry (deoptimization bailout 26)
0x37c26f5d0d1a position (354816)
0x37c26f5d0d1a deopt reason (NaN)
0x37c26f5d0d1b runtime entry (deoptimization bailout 26)
0x37c26f5d0d1f position (366592)
0x37c26f5d0d1f deopt reason (Smi)
0x37c26f5d0d20 runtime entry (deoptimization bailout 27)
0x37c26f5d0d24 position (508416)
0x37c26f5d0d24 deopt reason (Smi)
0x37c26f5d0d25 runtime entry (deoptimization bailout 28)
0x37c26f5d0d2c comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (NativeModule.nonInternalExists) id{14,0} ---
(id) {
return NativeModule.exists(id) && !NativeModule.isInternal(id);
}
--- END ---
--- FUNCTION SOURCE (NativeModule.exists) id{14,1} ---
(id) {
return NativeModule._source.hasOwnProperty(id);
}
--- END ---
INLINE (NativeModule.exists) id{14,1} AS 1 AT <0:33>
--- FUNCTION SOURCE (NativeModule.isInternal) id{14,2} ---
(id) {
return id.startsWith('internal/');
}
--- END ---
INLINE (NativeModule.isInternal) id{14,2} AS 2 AT <0:61>
--- Raw source ---
(id) {
return NativeModule.exists(id) && !NativeModule.isInternal(id);
};
--- Optimized code ---
optimization_id = 14
source_position = 14655
kind = OPTIMIZED_FUNCTION
name = NativeModule.nonInternalExists
stack_slots = 8
compiler = crankshaft
Instructions (size = 652)
0x37c26f5db0a0 0 55 push rbp
0x37c26f5db0a1 1 4889e5 REX.W movq rbp,rsp
0x37c26f5db0a4 4 56 push rsi
0x37c26f5db0a5 5 57 push rdi
0x37c26f5db0a6 6 4883ec20 REX.W subq rsp,0x20
;;; <@0,#0> -------------------- B0 --------------------
;;; <@6,#4> prologue
;;; Prologue begin
;;; Prologue end
;;; <@10,#6> -------------------- B1 --------------------
;;; <@12,#7> context
0x37c26f5db0aa 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 14655
;;; <@13,#7> gap
0x37c26f5db0ae 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@16,#11> -------------------- B2 --------------------
;;; <@17,#11> gap
0x37c26f5db0b2 18 488bf0 REX.W movq rsi,rax
;;; <@18,#13> stack-check
0x37c26f5db0b5 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f5db0bc 28 7305 jnc 35 (0x37c26f5db0c3)
0x37c26f5db0be 30 e81d1be6ff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@20,#13> lazy-bailout
;;; <@21,#13> gap
0x37c26f5db0c3 35 488b45e8 REX.W movq rax,[rbp-0x18]
;;; <@22,#14> load-context-slot
0x37c26f5db0c7 39 488b989f000000 REX.W movq rbx,[rax+0x9f] ;; debug: position 14675
;;; <@23,#14> gap
0x37c26f5db0ce 46 48895de0 REX.W movq [rbp-0x20],rbx
;;; <@24,#15> check-non-smi
0x37c26f5db0d2 50 f6c301 testb rbx,0x1 ;; debug: position 14688
0x37c26f5db0d5 53 0f84f2010000 jz 557 (0x37c26f5db2cd)
;;; <@26,#16> check-maps
0x37c26f5db0db 59 49ba9905818f7a200000 REX.W movq r10,0x207a8f810599 ;; object: 0x207a8f810599 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5db0e5 69 4c3953ff REX.W cmpq [rbx-0x1],r10
0x37c26f5db0e9 73 0f85e3010000 jnz 562 (0x37c26f5db2d2)
;;; <@28,#19> constant-t
0x37c26f5db0ef 79 48be711f6e51de230000 REX.W movq rsi,0x23de516e1f71 ;; debug: position 14256
;; object: 0x23de516e1f71 <FixedArray[19]>
;;; <@30,#23> load-context-slot
0x37c26f5db0f9 89 488b969f000000 REX.W movq rdx,[rsi+0x9f] ;; debug: position 14274
;;; <@32,#24> check-non-smi
0x37c26f5db100 96 f6c201 testb rdx,0x1 ;; debug: position 14286
0x37c26f5db103 99 0f84ce010000 jz 567 (0x37c26f5db2d7)
;;; <@34,#25> check-maps
0x37c26f5db109 105 49ba9905818f7a200000 REX.W movq r10,0x207a8f810599 ;; object: 0x207a8f810599 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5db113 115 4c3952ff REX.W cmpq [rdx-0x1],r10
0x37c26f5db117 119 0f85bf010000 jnz 572 (0x37c26f5db2dc)
;;; <@36,#26> load-named-field
0x37c26f5db11d 125 488b4a07 REX.W movq rcx,[rdx+0x7]
0x37c26f5db121 129 488b490f REX.W movq rcx,[rcx+0xf]
;;; <@37,#26> gap
0x37c26f5db125 133 48894dd8 REX.W movq [rbp-0x28],rcx
;;; <@38,#19> constant-t
0x37c26f5db129 137 48be711f6e51de230000 REX.W movq rsi,0x23de516e1f71 ;; debug: position 14256
;; object: 0x23de516e1f71 <FixedArray[19]>
;;; <@39,#19> gap
0x37c26f5db133 147 488bd1 REX.W movq rdx,rcx
;;; <@40,#27> load-named-generic
0x37c26f5db136 150 48b9394a6851de230000 REX.W movq rcx,0x23de51684a39 ;; debug: position 14295
;; object: 0x23de51684a39 <String[14]: hasOwnProperty>
0x37c26f5db140 160 48bb698ebe67c4010000 REX.W movq rbx,0x1c467be8e69 ;; object: 0x1c467be8e69 <FixedArray[7]>
0x37c26f5db14a 170 48b80000000005000000 REX.W movq rax,0x500000000
0x37c26f5db154 180 e8e763f7ff call 0x37c26f551540 ;; code: contextual, LOAD_IC, GENERIC
;;; <@42,#28> lazy-bailout
;;; <@44,#31> push-argument
0x37c26f5db159 185 ff75d8 push [rbp-0x28]
;;; <@45,#31> gap
0x37c26f5db15c 188 488b5d10 REX.W movq rbx,[rbp+0x10]
;;; <@46,#31> push-argument
0x37c26f5db160 192 53 push rbx
;;; <@48,#19> constant-t
0x37c26f5db161 193 48be711f6e51de230000 REX.W movq rsi,0x23de516e1f71 ;; debug: position 14256
;; object: 0x23de516e1f71 <FixedArray[19]>
;;; <@50,#29> constant-i
0x37c26f5db16b 203 ba01000000 movl rdx,0x1 ;; debug: position 14295
;;; <@51,#29> gap
0x37c26f5db170 208 488bf8 REX.W movq rdi,rax
0x37c26f5db173 211 488bc2 REX.W movq rax,rdx
;;; <@52,#32> call-with-descriptor
0x37c26f5db176 214 e82589e3ff call Call_ReceiverIsNotNullOrUndefined (0x37c26f413aa0) ;; code: BUILTIN
;;; <@54,#33> lazy-bailout
;;; <@58,#37> -------------------- B3 --------------------
;;; <@61,#38> branch
0x37c26f5db17b 219 493b45c0 REX.W cmpq rax,[r13-0x40] ;; debug: position 14699
0x37c26f5db17f 223 0f840f000000 jz 244 (0x37c26f5db194)
0x37c26f5db185 229 493b45c8 REX.W cmpq rax,[r13-0x38]
0x37c26f5db189 233 0f8437010000 jz 550 (0x37c26f5db2c6)
0x37c26f5db18f 239 e8b2aeb2ff call 0x37c26f106046 ;; debug: position 22528
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 7
;;; <@62,#82> -------------------- B4 (unreachable/replaced) --------------------
;;; <@66,#39> -------------------- B5 --------------------
;;; <@67,#39> gap
0x37c26f5db194 244 488b5de8 REX.W movq rbx,[rbp-0x18] ;; debug: position 14703
;;; <@68,#40> load-context-slot
0x37c26f5db198 248 488b939f000000 REX.W movq rdx,[rbx+0x9f]
;;; <@69,#40> gap
0x37c26f5db19f 255 488955d0 REX.W movq [rbp-0x30],rdx
;;; <@70,#41> check-non-smi
0x37c26f5db1a3 259 f6c201 testb rdx,0x1 ;; debug: position 14716
0x37c26f5db1a6 262 0f8435010000 jz 577 (0x37c26f5db2e1)
;;; <@72,#42> check-maps
0x37c26f5db1ac 268 49ba9905818f7a200000 REX.W movq r10,0x207a8f810599 ;; object: 0x207a8f810599 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5db1b6 278 4c3952ff REX.W cmpq [rdx-0x1],r10
0x37c26f5db1ba 282 0f8526010000 jnz 582 (0x37c26f5db2e6)
;;; <@73,#42> gap
0x37c26f5db1c0 288 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@74,#48> check-non-smi
0x37c26f5db1c4 292 a801 test al,0x1 ;; debug: position 14801
0x37c26f5db1c6 294 0f841f010000 jz 587 (0x37c26f5db2eb)
;;; <@76,#49> check-instance-type
0x37c26f5db1cc 300 4c8b50ff REX.W movq r10,[rax-0x1]
0x37c26f5db1d0 304 41f6420b80 testb [r10+0xb],0x80
0x37c26f5db1d5 309 0f8515010000 jnz 592 (0x37c26f5db2f0)
;;; <@78,#51> check-maps
;;; <@80,#55> push-argument
0x37c26f5db1db 315 50 push rax
;;; <@82,#55> push-argument
0x37c26f5db1dc 316 49bab1e26d51de230000 REX.W movq r10,0x23de516de2b1 ;; object: 0x23de516de2b1 <String[9]: internal/>
0x37c26f5db1e6 326 4152 push r10
;;; <@84,#19> constant-t
0x37c26f5db1e8 328 48be711f6e51de230000 REX.W movq rsi,0x23de516e1f71 ;; debug: position 14256
;; object: 0x23de516e1f71 <FixedArray[19]>
;;; <@86,#54> constant-t
0x37c26f5db1f2 338 48bfd11d6c51de230000 REX.W movq rdi,0x23de516c1dd1 ;; debug: position 14801
;; object: 0x23de516c1dd1 <JS Function startsWith (SharedFunctionInfo 0x23de51658e79)>
;;; <@88,#56> invoke-function
0x37c26f5db1fc 348 488b7727 REX.W movq rsi,[rdi+0x27]
0x37c26f5db200 352 498b55a8 REX.W movq rdx,[r13-0x58]
0x37c26f5db204 356 b801000000 movl rax,0x1
0x37c26f5db209 361 bb02000000 movl rbx,0x2
0x37c26f5db20e 366 e8ade5e2ff call ArgumentsAdaptorTrampoline (0x37c26f4097c0) ;; code: BUILTIN
;;; <@90,#57> lazy-bailout
;;; <@93,#58> branch
0x37c26f5db213 371 493b45a8 REX.W cmpq rax,[r13-0x58]
0x37c26f5db217 375 0f8490000000 jz 525 (0x37c26f5db2ad)
0x37c26f5db21d 381 493b45c0 REX.W cmpq rax,[r13-0x40]
0x37c26f5db221 385 0f8495000000 jz 540 (0x37c26f5db2bc)
0x37c26f5db227 391 493b45c8 REX.W cmpq rax,[r13-0x38]
0x37c26f5db22b 395 0f847c000000 jz 525 (0x37c26f5db2ad)
0x37c26f5db231 401 493b45b8 REX.W cmpq rax,[r13-0x48]
0x37c26f5db235 405 0f8472000000 jz 525 (0x37c26f5db2ad)
0x37c26f5db23b 411 4885c0 REX.W testq rax,rax
0x37c26f5db23e 414 0f8469000000 jz 525 (0x37c26f5db2ad)
0x37c26f5db244 420 a801 test al,0x1
0x37c26f5db246 422 0f8470000000 jz 540 (0x37c26f5db2bc)
0x37c26f5db24c 428 4c8b50ff REX.W movq r10,[rax-0x1]
0x37c26f5db250 432 41f6420c10 testb [r10+0xc],0x10
0x37c26f5db255 437 0f8552000000 jnz 525 (0x37c26f5db2ad)
0x37c26f5db25b 443 41807a0bb1 cmpb [r10+0xb],0xb1
0x37c26f5db260 448 0f8356000000 jnc 540 (0x37c26f5db2bc)
0x37c26f5db266 454 41807a0b80 cmpb [r10+0xb],0x80
0x37c26f5db26b 459 7310 jnc 477 (0x37c26f5db27d)
0x37c26f5db26d 461 4883780f00 REX.W cmpq [rax+0xf],0x0
0x37c26f5db272 466 0f8544000000 jnz 540 (0x37c26f5db2bc)
0x37c26f5db278 472 e930000000 jmp 525 (0x37c26f5db2ad)
0x37c26f5db27d 477 41807a0b80 cmpb [r10+0xb],0x80
0x37c26f5db282 482 0f8434000000 jz 540 (0x37c26f5db2bc)
0x37c26f5db288 488 41807a0b82 cmpb [r10+0xb],0x82
0x37c26f5db28d 493 0f8429000000 jz 540 (0x37c26f5db2bc)
0x37c26f5db293 499 4d3b55f8 REX.W cmpq r10,[r13-0x8]
0x37c26f5db297 503 7514 jnz 525 (0x37c26f5db2ad)
0x37c26f5db299 505 c5f957c0 vxorpd xmm0,xmm0,xmm0
0x37c26f5db29d 509 c5f92e4007 vucomisd xmm0,[rax+0x7]
0x37c26f5db2a2 514 0f8405000000 jz 525 (0x37c26f5db2ad)
0x37c26f5db2a8 520 e90f000000 jmp 540 (0x37c26f5db2bc)
;;; <@94,#63> -------------------- B6 (unreachable/replaced) --------------------
;;; <@98,#70> -------------------- B7 (unreachable/replaced) --------------------
;;; <@102,#78> -------------------- B8 --------------------
;;; <@104,#80> gap
0x37c26f5db2ad 525 48b8c1436051de230000 REX.W movq rax,0x23de516043c1 ;; debug: position 14702
;; object: 0x23de516043c1 <true>
;;; <@105,#80> goto
0x37c26f5db2b7 535 e90a000000 jmp 550 (0x37c26f5db2c6)
;;; <@106,#59> -------------------- B9 (unreachable/replaced) --------------------
;;; <@110,#67> -------------------- B10 (unreachable/replaced) --------------------
;;; <@114,#75> -------------------- B11 --------------------
;;; <@116,#77> gap
0x37c26f5db2bc 540 48b871426051de230000 REX.W movq rax,0x23de51604271 ;; object: 0x23de51604271 <false>
;;; <@118,#85> -------------------- B12 (unreachable/replaced) --------------------
;;; <@122,#89> -------------------- B13 --------------------
;;; <@124,#91> return
0x37c26f5db2c6 550 488be5 REX.W movq rsp,rbp ;; debug: position 14668
0x37c26f5db2c9 553 5d pop rbp
0x37c26f5db2ca 554 c21000 ret 0x10
;;; -------------------- Jump table --------------------
0x37c26f5db2cd 557 e838adb2ff call 0x37c26f10600a ;; debug: position 16896
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x37c26f5db2d2 562 e83dadb2ff call 0x37c26f106014 ;; debug: position 16896
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 2
0x37c26f5db2d7 567 e842adb2ff call 0x37c26f10601e ;; debug: position 15361
;; debug: deopt reason 'Smi'
;; deoptimization bailout 3
0x37c26f5db2dc 572 e847adb2ff call 0x37c26f106028 ;; debug: position 15361
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 4
0x37c26f5db2e1 577 e86aadb2ff call 0x37c26f106050 ;; debug: position 31232
;; debug: deopt reason 'Smi'
;; deoptimization bailout 8
0x37c26f5db2e6 582 e86fadb2ff call 0x37c26f10605a ;; debug: position 31232
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 9
0x37c26f5db2eb 587 e874adb2ff call 0x37c26f106064 ;; debug: position 11778
;; debug: deopt reason 'Smi'
;; deoptimization bailout 10
0x37c26f5db2f0 592 e879adb2ff call 0x37c26f10606e ;; debug: position 11778
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 11
0x37c26f5db2f5 597 0f1f00 nop
;;; Safepoint table.
Inlined functions (count = 2)
0x23de516df681 <SharedFunctionInfo NativeModule.exists>
0x23de516df981 <SharedFunctionInfo NativeModule.isInternal>
Deoptimization Input Data (deopt points = 13)
index ast id argc pc
0 4 0 35
1 4 0 -1
2 4 0 -1
3 3 0 -1
4 3 0 -1
5 13 0 185
6 5 0 219
7 9 0 -1
8 9 0 -1
9 9 0 -1
10 3 0 -1
11 3 0 -1
12 5 0 371
Safepoints (size = 52)
0x37c26f5db0c3 35 00010000 (sp -> fp) 0
0x37c26f5db159 185 01110000 (sp -> fp) 5
0x37c26f5db17b 219 00110000 (sp -> fp) 6
0x37c26f5db213 371 10010000 (sp -> fp) 12
RelocInfo (size = 857)
0x37c26f5db0aa position (14655)
0x37c26f5db0aa comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f5db0aa comment (;;; <@6,#4> prologue)
0x37c26f5db0aa comment (;;; Prologue begin)
0x37c26f5db0aa comment (;;; Prologue end)
0x37c26f5db0aa comment (;;; <@10,#6> -------------------- B1 --------------------)
0x37c26f5db0aa comment (;;; <@12,#7> context)
0x37c26f5db0ae comment (;;; <@13,#7> gap)
0x37c26f5db0b2 comment (;;; <@16,#11> -------------------- B2 --------------------)
0x37c26f5db0b2 comment (;;; <@17,#11> gap)
0x37c26f5db0b5 comment (;;; <@18,#13> stack-check)
0x37c26f5db0bf code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f5db0c3 comment (;;; <@20,#13> lazy-bailout)
0x37c26f5db0c3 comment (;;; <@21,#13> gap)
0x37c26f5db0c7 comment (;;; <@22,#14> load-context-slot)
0x37c26f5db0c7 position (14675)
0x37c26f5db0ce comment (;;; <@23,#14> gap)
0x37c26f5db0d2 comment (;;; <@24,#15> check-non-smi)
0x37c26f5db0d2 position (14688)
0x37c26f5db0db comment (;;; <@26,#16> check-maps)
0x37c26f5db0dd embedded object (0x207a8f810599 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5db0ef comment (;;; <@28,#19> constant-t)
0x37c26f5db0ef position (14256)
0x37c26f5db0f1 embedded object (0x23de516e1f71 <FixedArray[19]>)
0x37c26f5db0f9 comment (;;; <@30,#23> load-context-slot)
0x37c26f5db0f9 position (14274)
0x37c26f5db100 comment (;;; <@32,#24> check-non-smi)
0x37c26f5db100 position (14286)
0x37c26f5db109 comment (;;; <@34,#25> check-maps)
0x37c26f5db10b embedded object (0x207a8f810599 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5db11d comment (;;; <@36,#26> load-named-field)
0x37c26f5db125 comment (;;; <@37,#26> gap)
0x37c26f5db129 comment (;;; <@38,#19> constant-t)
0x37c26f5db129 position (14256)
0x37c26f5db12b embedded object (0x23de516e1f71 <FixedArray[19]>)
0x37c26f5db133 comment (;;; <@39,#19> gap)
0x37c26f5db136 comment (;;; <@40,#27> load-named-generic)
0x37c26f5db136 position (14295)
0x37c26f5db138 embedded object (0x23de51684a39 <String[14]: hasOwnProperty>)
0x37c26f5db142 embedded object (0x1c467be8e69 <FixedArray[7]>)
0x37c26f5db155 code target (LOAD_IC) (0x37c26f551540)
0x37c26f5db159 comment (;;; <@42,#28> lazy-bailout)
0x37c26f5db159 comment (;;; <@44,#31> push-argument)
0x37c26f5db15c comment (;;; <@45,#31> gap)
0x37c26f5db160 comment (;;; <@46,#31> push-argument)
0x37c26f5db161 comment (;;; <@48,#19> constant-t)
0x37c26f5db161 position (14256)
0x37c26f5db163 embedded object (0x23de516e1f71 <FixedArray[19]>)
0x37c26f5db16b comment (;;; <@50,#29> constant-i)
0x37c26f5db16b position (14295)
0x37c26f5db170 comment (;;; <@51,#29> gap)
0x37c26f5db176 comment (;;; <@52,#32> call-with-descriptor)
0x37c26f5db177 code target (BUILTIN) (0x37c26f413aa0)
0x37c26f5db17b comment (;;; <@54,#33> lazy-bailout)
0x37c26f5db17b position (14699)
0x37c26f5db17b comment (;;; <@58,#37> -------------------- B3 --------------------)
0x37c26f5db17b comment (;;; <@61,#38> branch)
0x37c26f5db18f position (22528)
0x37c26f5db18f deopt reason (unexpected object)
0x37c26f5db190 runtime entry (deoptimization bailout 7)
0x37c26f5db194 comment (;;; <@62,#82> -------------------- B4 (unreachable/replaced) --------------------)
0x37c26f5db194 position (14703)
0x37c26f5db194 comment (;;; <@66,#39> -------------------- B5 --------------------)
0x37c26f5db194 comment (;;; <@67,#39> gap)
0x37c26f5db198 comment (;;; <@68,#40> load-context-slot)
0x37c26f5db19f comment (;;; <@69,#40> gap)
0x37c26f5db1a3 comment (;;; <@70,#41> check-non-smi)
0x37c26f5db1a3 position (14716)
0x37c26f5db1ac comment (;;; <@72,#42> check-maps)
0x37c26f5db1ae embedded object (0x207a8f810599 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5db1c0 comment (;;; <@73,#42> gap)
0x37c26f5db1c4 comment (;;; <@74,#48> check-non-smi)
0x37c26f5db1c4 position (14801)
0x37c26f5db1cc comment (;;; <@76,#49> check-instance-type)
0x37c26f5db1db comment (;;; <@78,#51> check-maps)
0x37c26f5db1db comment (;;; <@80,#55> push-argument)
0x37c26f5db1dc comment (;;; <@82,#55> push-argument)
0x37c26f5db1de embedded object (0x23de516de2b1 <String[9]: internal/>)
0x37c26f5db1e8 comment (;;; <@84,#19> constant-t)
0x37c26f5db1e8 position (14256)
0x37c26f5db1ea embedded object (0x23de516e1f71 <FixedArray[19]>)
0x37c26f5db1f2 comment (;;; <@86,#54> constant-t)
0x37c26f5db1f2 position (14801)
0x37c26f5db1f4 embedded object (0x23de516c1dd1 <JS Function startsWith (SharedFunctionInfo 0x23de51658e79)>)
0x37c26f5db1fc comment (;;; <@88,#56> invoke-function)
0x37c26f5db20f code target (BUILTIN) (0x37c26f4097c0)
0x37c26f5db213 comment (;;; <@90,#57> lazy-bailout)
0x37c26f5db213 comment (;;; <@93,#58> branch)
0x37c26f5db2ad comment (;;; <@94,#63> -------------------- B6 (unreachable/replaced) --------------------)
0x37c26f5db2ad comment (;;; <@98,#70> -------------------- B7 (unreachable/replaced) --------------------)
0x37c26f5db2ad position (14702)
0x37c26f5db2ad comment (;;; <@102,#78> -------------------- B8 --------------------)
0x37c26f5db2ad comment (;;; <@104,#80> gap)
0x37c26f5db2af embedded object (0x23de516043c1 <true>)
0x37c26f5db2b7 comment (;;; <@105,#80> goto)
0x37c26f5db2bc comment (;;; <@106,#59> -------------------- B9 (unreachable/replaced) --------------------)
0x37c26f5db2bc comment (;;; <@110,#67> -------------------- B10 (unreachable/replaced) --------------------)
0x37c26f5db2bc comment (;;; <@114,#75> -------------------- B11 --------------------)
0x37c26f5db2bc comment (;;; <@116,#77> gap)
0x37c26f5db2be embedded object (0x23de51604271 <false>)
0x37c26f5db2c6 comment (;;; <@118,#85> -------------------- B12 (unreachable/replaced) --------------------)
0x37c26f5db2c6 position (14668)
0x37c26f5db2c6 comment (;;; <@122,#89> -------------------- B13 --------------------)
0x37c26f5db2c6 comment (;;; <@124,#91> return)
0x37c26f5db2cd comment (;;; -------------------- Jump table --------------------)
0x37c26f5db2cd position (16896)
0x37c26f5db2cd deopt reason (Smi)
0x37c26f5db2ce runtime entry (deoptimization bailout 1)
0x37c26f5db2d2 position (16896)
0x37c26f5db2d2 deopt reason (wrong map)
0x37c26f5db2d3 runtime entry (deoptimization bailout 2)
0x37c26f5db2d7 position (15361)
0x37c26f5db2d7 deopt reason (Smi)
0x37c26f5db2d8 runtime entry (deoptimization bailout 3)
0x37c26f5db2dc position (15361)
0x37c26f5db2dc deopt reason (wrong map)
0x37c26f5db2dd runtime entry (deoptimization bailout 4)
0x37c26f5db2e1 position (31232)
0x37c26f5db2e1 deopt reason (Smi)
0x37c26f5db2e2 runtime entry (deoptimization bailout 8)
0x37c26f5db2e6 position (31232)
0x37c26f5db2e6 deopt reason (wrong map)
0x37c26f5db2e7 runtime entry (deoptimization bailout 9)
0x37c26f5db2eb position (11778)
0x37c26f5db2eb deopt reason (Smi)
0x37c26f5db2ec runtime entry (deoptimization bailout 10)
0x37c26f5db2f0 position (11778)
0x37c26f5db2f0 deopt reason (wrong instance type)
0x37c26f5db2f1 runtime entry (deoptimization bailout 11)
0x37c26f5db2f8 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (charCodeAt) id{15,0} ---
(t){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(18,"String.prototype.charCodeAt");
var u=%_StringCharCodeAt(this,t);
if(!%_IsSmi(u)){
u=%_StringCharCodeAt((%_ToString(this)),(%_ToInteger(t)));
}
return u;
}
--- END ---
--- Raw source ---
(t){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(18,"String.prototype.charCodeAt");
var u=%_StringCharCodeAt(this,t);
if(!%_IsSmi(u)){
u=%_StringCharCodeAt((%_ToString(this)),(%_ToInteger(t)));
}
return u;
}
--- Optimized code ---
optimization_id = 15
source_position = 1059
kind = OPTIMIZED_FUNCTION
name = charCodeAt
stack_slots = 6
compiler = crankshaft
Instructions (size = 1017)
0x37c26f5db800 0 55 push rbp
0x37c26f5db801 1 4889e5 REX.W movq rbp,rsp
0x37c26f5db804 4 56 push rsi
0x37c26f5db805 5 57 push rdi
0x37c26f5db806 6 4883ec10 REX.W subq rsp,0x10
;;; <@0,#0> -------------------- B0 --------------------
;;; <@6,#4> prologue
;;; Prologue begin
;;; Prologue end
;;; <@10,#6> -------------------- B1 --------------------
;;; <@12,#7> context
0x37c26f5db80a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 1059
;;; <@13,#7> gap
0x37c26f5db80e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@16,#11> -------------------- B2 --------------------
;;; <@17,#11> gap
0x37c26f5db812 18 488bf0 REX.W movq rsi,rax
;;; <@18,#13> stack-check
0x37c26f5db815 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f5db81c 28 7305 jnc 35 (0x37c26f5db823)
0x37c26f5db81e 30 e8bd13e6ff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@20,#13> lazy-bailout
;;; <@22,#16> gap
0x37c26f5db823 35 488b5d18 REX.W movq rbx,[rbp+0x18] ;; debug: position 1081
;;; <@23,#16> cmp-object-eq-and-branch
0x37c26f5db827 39 49ba01426051de230000 REX.W movq r10,0x23de51604201 ;; object: 0x23de51604201 <null>
0x37c26f5db831 49 493bda REX.W cmpq rbx,r10
0x37c26f5db834 52 0f849e010000 jz 472 (0x37c26f5db9d8)
;;; <@24,#20> -------------------- B3 (unreachable/replaced) --------------------
;;; <@28,#23> -------------------- B4 --------------------
;;; <@31,#24> cmp-object-eq-and-branch
0x37c26f5db83a 58 49ba81436051de230000 REX.W movq r10,0x23de51604381 ;; debug: position 1096
;; object: 0x23de51604381 <undefined>
0x37c26f5db844 68 493bda REX.W cmpq rbx,r10
0x37c26f5db847 71 0f848b010000 jz 472 (0x37c26f5db9d8)
;;; <@32,#28> -------------------- B5 (unreachable/replaced) --------------------
;;; <@36,#45> -------------------- B6 --------------------
;;; <@38,#46> check-non-smi
0x37c26f5db84d 77 f6c301 testb rbx,0x1 ;; debug: position 1158
0x37c26f5db850 80 0f840f030000 jz 869 (0x37c26f5dbb65)
;;; <@40,#47> check-instance-type
0x37c26f5db856 86 4c8b53ff REX.W movq r10,[rbx-0x1]
0x37c26f5db85a 90 41f6420b80 testb [r10+0xb],0x80
0x37c26f5db85f 95 0f8505030000 jnz 874 (0x37c26f5dbb6a)
;;; <@42,#48> load-named-field
0x37c26f5db865 101 8b4313 movl rax,[rbx+0x13]
;;; <@43,#48> gap
0x37c26f5db868 104 488b5510 REX.W movq rdx,[rbp+0x10]
;;; <@44,#85> tagged-to-i
0x37c26f5db86c 108 f6c201 testb rdx,0x1
0x37c26f5db86f 111 0f85d6010000 jnz 587 (0x37c26f5dba4b)
0x37c26f5db875 117 48c1ea20 REX.W shrq rdx, 32
;;; <@46,#49> bounds-check
0x37c26f5db879 121 3bc2 cmpl rax,rdx
0x37c26f5db87b 123 0f86ee020000 jna 879 (0x37c26f5dbb6f)
;;; <@47,#49> gap
0x37c26f5db881 129 488bc3 REX.W movq rax,rbx
;;; <@48,#50> string-char-code-at
0x37c26f5db884 132 488b48ff REX.W movq rcx,[rax-0x1]
0x37c26f5db888 136 0fb6490b movzxbl rcx,[rcx+0xb]
0x37c26f5db88c 140 f6c101 testb rcx,0x1
0x37c26f5db88f 143 742b jz 188 (0x37c26f5db8bc)
0x37c26f5db891 145 f6c102 testb rcx,0x2
0x37c26f5db894 148 740c jz 162 (0x37c26f5db8a2)
0x37c26f5db896 150 8b4823 movl rcx,[rax+0x23]
0x37c26f5db899 153 4803d1 REX.W addq rdx,rcx
0x37c26f5db89c 156 488b4017 REX.W movq rax,[rax+0x17]
0x37c26f5db8a0 160 eb12 jmp 180 (0x37c26f5db8b4)
0x37c26f5db8a2 162 4d8b55d0 REX.W movq r10,[r13-0x30]
0x37c26f5db8a6 166 4c39501f REX.W cmpq [rax+0x1f],r10
0x37c26f5db8aa 170 0f85cf010000 jnz 639 (0x37c26f5dba7f)
0x37c26f5db8b0 176 488b4017 REX.W movq rax,[rax+0x17]
0x37c26f5db8b4 180 488b48ff REX.W movq rcx,[rax-0x1]
0x37c26f5db8b8 184 0fb6490b movzxbl rcx,[rcx+0xb]
0x37c26f5db8bc 188 f6c103 testb rcx,0x3
0x37c26f5db8bf 191 741e jz 223 (0x37c26f5db8df)
0x37c26f5db8c1 193 f6c110 testb rcx,0x10
0x37c26f5db8c4 196 0f85b5010000 jnz 639 (0x37c26f5dba7f)
0x37c26f5db8ca 202 f6c104 testb rcx,0x4
0x37c26f5db8cd 205 488b481f REX.W movq rcx,[rax+0x1f]
0x37c26f5db8d1 209 7506 jnz 217 (0x37c26f5db8d9)
0x37c26f5db8d3 211 0fb70c51 movzxwl rcx,[rcx+rdx*2]
0x37c26f5db8d7 215 eb17 jmp 240 (0x37c26f5db8f0)
0x37c26f5db8d9 217 0fb60c11 movzxbl rcx,[rcx+rdx*1]
0x37c26f5db8dd 221 eb11 jmp 240 (0x37c26f5db8f0)
0x37c26f5db8df 223 f6c104 testb rcx,0x4
0x37c26f5db8e2 226 7507 jnz 235 (0x37c26f5db8eb)
0x37c26f5db8e4 228 0fb74c5017 movzxwl rcx,[rax+rdx*2+0x17]
0x37c26f5db8e9 233 eb05 jmp 240 (0x37c26f5db8f0)
0x37c26f5db8eb 235 0fb64c1017 movzxbl rcx,[rax+rdx*1+0x17]
;;; <@50,#87> smi-tag
0x37c26f5db8f0 240 8bc1 movl rax,rcx ;; debug: position 1190
0x37c26f5db8f2 242 48c1e020 REX.W shlq rax, 32
;;; <@53,#53> is-smi-and-branch
0x37c26f5db8f6 246 a801 test al,0x1
0x37c26f5db8f8 248 0f84cd000000 jz 459 (0x37c26f5db9cb)
;;; <@54,#57> -------------------- B7 (unreachable/replaced) --------------------
;;; <@58,#60> -------------------- B8 --------------------
;;; <@59,#60> gap
0x37c26f5db8fe 254 488b75e8 REX.W movq rsi,[rbp-0x18] ;; debug: position 1225
0x37c26f5db902 258 488bc3 REX.W movq rax,rbx
;;; <@60,#62> call-with-descriptor
0x37c26f5db905 261 e8165ee5ff call 0x37c26f431720 ;; code: STUB, ToStringStub, minor: 0
;;; <@61,#62> gap
0x37c26f5db90a 266 488945e0 REX.W movq [rbp-0x20],rax
0x37c26f5db90e 270 488bd8 REX.W movq rbx,rax
;;; <@62,#63> lazy-bailout
;;; <@63,#63> gap
0x37c26f5db911 273 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f5db915 277 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@64,#65> call-with-descriptor
0x37c26f5db919 281 0f1f440000 nop
0x37c26f5db91e 286 e83dfef3ff call 0x37c26f51b760 ;; debug: position 1244
;; code: STUB, ToIntegerStub, minor: 0
;;; <@66,#66> lazy-bailout
;;; <@67,#66> gap
0x37c26f5db923 291 488b5de0 REX.W movq rbx,[rbp-0x20]
;;; <@68,#67> check-non-smi
0x37c26f5db927 295 f6c301 testb rbx,0x1 ;; debug: position 1205
0x37c26f5db92a 298 0f8444020000 jz 884 (0x37c26f5dbb74)
;;; <@70,#68> check-instance-type
0x37c26f5db930 304 4c8b53ff REX.W movq r10,[rbx-0x1]
0x37c26f5db934 308 41f6420b80 testb [r10+0xb],0x80
0x37c26f5db939 313 0f853a020000 jnz 889 (0x37c26f5dbb79)
;;; <@72,#69> load-named-field
0x37c26f5db93f 319 8b5313 movl rdx,[rbx+0x13]
;;; <@73,#69> gap
0x37c26f5db942 322 488bc8 REX.W movq rcx,rax
;;; <@74,#88> tagged-to-i
0x37c26f5db945 325 f6c101 testb rcx,0x1
0x37c26f5db948 328 0f858a010000 jnz 728 (0x37c26f5dbad8)
0x37c26f5db94e 334 48c1e920 REX.W shrq rcx, 32
;;; <@76,#70> bounds-check
0x37c26f5db952 338 3bd1 cmpl rdx,rcx
0x37c26f5db954 340 0f8624020000 jna 894 (0x37c26f5dbb7e)
;;; <@78,#71> string-char-code-at
0x37c26f5db95a 346 488b43ff REX.W movq rax,[rbx-0x1]
0x37c26f5db95e 350 0fb6400b movzxbl rax,[rax+0xb]
0x37c26f5db962 354 a801 test al,0x1
0x37c26f5db964 356 742a jz 400 (0x37c26f5db990)
0x37c26f5db966 358 a802 test al,0x2
0x37c26f5db968 360 740c jz 374 (0x37c26f5db976)
0x37c26f5db96a 362 8b4323 movl rax,[rbx+0x23]
0x37c26f5db96d 365 4803c8 REX.W addq rcx,rax
0x37c26f5db970 368 488b5b17 REX.W movq rbx,[rbx+0x17]
0x37c26f5db974 372 eb12 jmp 392 (0x37c26f5db988)
0x37c26f5db976 374 4d8b55d0 REX.W movq r10,[r13-0x30]
0x37c26f5db97a 378 4c39531f REX.W cmpq [rbx+0x1f],r10
0x37c26f5db97e 382 0f8588010000 jnz 780 (0x37c26f5dbb0c)
0x37c26f5db984 388 488b5b17 REX.W movq rbx,[rbx+0x17]
0x37c26f5db988 392 488b43ff REX.W movq rax,[rbx-0x1]
0x37c26f5db98c 396 0fb6400b movzxbl rax,[rax+0xb]
0x37c26f5db990 400 a803 test al,0x3
0x37c26f5db992 402 741c jz 432 (0x37c26f5db9b0)
0x37c26f5db994 404 a810 test al,0x10
0x37c26f5db996 406 0f8570010000 jnz 780 (0x37c26f5dbb0c)
0x37c26f5db99c 412 a804 test al,0x4
0x37c26f5db99e 414 488b431f REX.W movq rax,[rbx+0x1f]
0x37c26f5db9a2 418 7506 jnz 426 (0x37c26f5db9aa)
0x37c26f5db9a4 420 0fb70448 movzxwl rax,[rax+rcx*2]
0x37c26f5db9a8 424 eb16 jmp 448 (0x37c26f5db9c0)
0x37c26f5db9aa 426 0fb60408 movzxbl rax,[rax+rcx*1]
0x37c26f5db9ae 430 eb10 jmp 448 (0x37c26f5db9c0)
0x37c26f5db9b0 432 a804 test al,0x4
0x37c26f5db9b2 434 7507 jnz 443 (0x37c26f5db9bb)
0x37c26f5db9b4 436 0fb7444b17 movzxwl rax,[rbx+rcx*2+0x17]
0x37c26f5db9b9 441 eb05 jmp 448 (0x37c26f5db9c0)
0x37c26f5db9bb 443 0fb6440b17 movzxbl rax,[rbx+rcx*1+0x17]
;;; <@80,#89> smi-tag
0x37c26f5db9c0 448 8bd8 movl rbx,rax ;; debug: position 1271
0x37c26f5db9c2 450 48c1e320 REX.W shlq rbx, 32
;;; <@83,#74> goto
0x37c26f5db9c6 454 e903000000 jmp 462 (0x37c26f5db9ce) ;; debug: position 1186
;;; <@84,#54> -------------------- B9 (unreachable/replaced) --------------------
;;; <@88,#75> -------------------- B10 --------------------
;;; <@90,#77> gap
0x37c26f5db9cb 459 488bd8 REX.W movq rbx,rax
;;; <@92,#79> -------------------- B11 --------------------
;;; <@93,#79> gap
0x37c26f5db9ce 462 488bc3 REX.W movq rax,rbx ;; debug: position 1271
;;; <@94,#82> return
0x37c26f5db9d1 465 488be5 REX.W movq rsp,rbp ;; debug: position 1264
0x37c26f5db9d4 468 5d pop rbp
0x37c26f5db9d5 469 c21000 ret 0x10
;;; <@96,#25> -------------------- B12 (unreachable/replaced) --------------------
;;; <@100,#17> -------------------- B13 (unreachable/replaced) --------------------
;;; <@104,#31> -------------------- B14 --------------------
;;; <@105,#31> gap
0x37c26f5db9d8 472 488b45e8 REX.W movq rax,[rbp-0x18] ;; debug: position 1115
;;; <@106,#32> load-context-slot
0x37c26f5db9dc 476 488b7857 REX.W movq rdi,[rax+0x57]
;;; <@108,#35> push-argument
0x37c26f5db9e0 480 49ba81436051de230000 REX.W movq r10,0x23de51604381 ;; object: 0x23de51604381 <undefined>
0x37c26f5db9ea 490 4152 push r10
;;; <@110,#35> push-argument
0x37c26f5db9ec 492 49ba0000000012000000 REX.W movq r10,0x1200000000
0x37c26f5db9f6 502 4152 push r10
;;; <@112,#35> push-argument
0x37c26f5db9f8 504 49bae1cba2968c230000 REX.W movq r10,0x238c96a2cbe1 ;; object: 0x238c96a2cbe1 <String[27]: String.prototype.charCodeAt>
0x37c26f5dba02 514 4152 push r10
;;; <@114,#92> constant-s
0x37c26f5dba04 516 48ba0000000001000000 REX.W movq rdx,0x100000000
;;; <@116,#37> constant-t
0x37c26f5dba0e 526 48bb39cca2968c230000 REX.W movq rbx,0x238c96a2cc39 ;; object: 0x238c96a2cc39 <FixedArray[3]>
;;; <@117,#37> gap
0x37c26f5dba18 536 488bf0 REX.W movq rsi,rax
;;; <@118,#39> call-with-descriptor
0x37c26f5dba1b 539 e82089f4ff call 0x37c26f524340 ;; code: CALL_IC, GENERIC
;;; <@120,#40> lazy-bailout
;;; <@122,#41> push-argument
0x37c26f5dba20 544 50 push rax ;; debug: position 1109
;;; <@123,#41> gap
0x37c26f5dba21 545 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@124,#42> call-runtime
0x37c26f5dba25 549 0f1f840000000000 nop
0x37c26f5dba2d 557 b801000000 movl rax,0x1
0x37c26f5dba32 562 498d9d58b13ffe REX.W leaq rbx,[r13-0x1c04ea8]
0x37c26f5dba39 569 e802d8e2ff call 0x37c26f409240 ;; code: STUB, CEntryStub, minor: 4
;;; <@126,#43> lazy-bailout
0x37c26f5dba3e 574 6666660f1f840000000000 nop
0x37c26f5dba49 585 6690 nop
;;; <@44,#85> -------------------- Deferred tagged-to-i --------------------
0x37c26f5dba4b 587 4d8b55f8 REX.W movq r10,[r13-0x8] ;; debug: position 1158
0x37c26f5dba4f 591 4c3952ff REX.W cmpq [rdx-0x1],r10
0x37c26f5dba53 595 0f852a010000 jnz 899 (0x37c26f5dbb83)
0x37c26f5dba59 601 c5fb104207 vmovsd xmm0,[rdx+0x7]
0x37c26f5dba5e 606 c5fb2cd0 vcvttsd2si rdx,xmm0
0x37c26f5dba62 610 c5f157c9 vxorpd xmm1,xmm1,xmm1
0x37c26f5dba66 614 c5f32aca vcvtlsi2sd xmm1,xmm1,rdx
0x37c26f5dba6a 618 c5f92ec1 vucomisd xmm0,xmm1
0x37c26f5dba6e 622 0f8514010000 jnz 904 (0x37c26f5dbb88)
0x37c26f5dba74 628 0f8a13010000 jpe 909 (0x37c26f5dbb8d)
0x37c26f5dba7a 634 e9fafdffff jmp 121 (0x37c26f5db879)
;;; <@48,#50> -------------------- Deferred string-char-code-at --------------------
0x37c26f5dba7f 639 33c9 xorl rcx,rcx
0x37c26f5dba81 641 50 push rax
0x37c26f5dba82 642 51 push rcx
0x37c26f5dba83 643 52 push rdx
0x37c26f5dba84 644 53 push rbx
0x37c26f5dba85 645 56 push rsi
0x37c26f5dba86 646 57 push rdi
0x37c26f5dba87 647 4150 push r8
0x37c26f5dba89 649 4151 push r9
0x37c26f5dba8b 651 4153 push r11
0x37c26f5dba8d 653 4154 push r12
0x37c26f5dba8f 655 4156 push r14
0x37c26f5dba91 657 4157 push r15
0x37c26f5dba93 659 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x37c26f5dba98 664 50 push rax
0x37c26f5dba99 665 48c1e220 REX.W shlq rdx, 32
0x37c26f5dba9d 669 52 push rdx
0x37c26f5dba9e 670 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f5dbaa2 674 b802000000 movl rax,0x2
0x37c26f5dbaa7 679 498d9d98d649fe REX.W leaq rbx,[r13-0x1b62968]
0x37c26f5dbaae 686 e82dbee2ff call 0x37c26f4078e0 ;; code: STUB, CEntryStub, minor: 5
0x37c26f5dbab3 691 48c1e820 REX.W shrq rax, 32
0x37c26f5dbab7 695 4889442470 REX.W movq [rsp+0x70],rax
0x37c26f5dbabc 700 488d642420 REX.W leaq rsp,[rsp+0x20]
0x37c26f5dbac1 705 415f pop r15
0x37c26f5dbac3 707 415e pop r14
0x37c26f5dbac5 709 415c pop r12
0x37c26f5dbac7 711 415b pop r11
0x37c26f5dbac9 713 4159 pop r9
0x37c26f5dbacb 715 4158 pop r8
0x37c26f5dbacd 717 5f pop rdi
0x37c26f5dbace 718 5e pop rsi
0x37c26f5dbacf 719 5b pop rbx
0x37c26f5dbad0 720 5a pop rdx
0x37c26f5dbad1 721 59 pop rcx
0x37c26f5dbad2 722 58 pop rax
0x37c26f5dbad3 723 e918feffff jmp 240 (0x37c26f5db8f0)
;;; <@74,#88> -------------------- Deferred tagged-to-i --------------------
0x37c26f5dbad8 728 4d8b55f8 REX.W movq r10,[r13-0x8] ;; debug: position 1205
0x37c26f5dbadc 732 4c3951ff REX.W cmpq [rcx-0x1],r10
0x37c26f5dbae0 736 0f85ac000000 jnz 914 (0x37c26f5dbb92)
0x37c26f5dbae6 742 c5fb104107 vmovsd xmm0,[rcx+0x7]
0x37c26f5dbaeb 747 c5fb2cc8 vcvttsd2si rcx,xmm0
0x37c26f5dbaef 751 c5f157c9 vxorpd xmm1,xmm1,xmm1
0x37c26f5dbaf3 755 c5f32ac9 vcvtlsi2sd xmm1,xmm1,rcx
0x37c26f5dbaf7 759 c5f92ec1 vucomisd xmm0,xmm1
0x37c26f5dbafb 763 0f8596000000 jnz 919 (0x37c26f5dbb97)
0x37c26f5dbb01 769 0f8a95000000 jpe 924 (0x37c26f5dbb9c)
0x37c26f5dbb07 775 e946feffff jmp 338 (0x37c26f5db952)
;;; <@78,#71> -------------------- Deferred string-char-code-at --------------------
0x37c26f5dbb0c 780 33c0 xorl rax,rax
0x37c26f5dbb0e 782 50 push rax
0x37c26f5dbb0f 783 51 push rcx
0x37c26f5dbb10 784 52 push rdx
0x37c26f5dbb11 785 53 push rbx
0x37c26f5dbb12 786 56 push rsi
0x37c26f5dbb13 787 57 push rdi
0x37c26f5dbb14 788 4150 push r8
0x37c26f5dbb16 790 4151 push r9
0x37c26f5dbb18 792 4153 push r11
0x37c26f5dbb1a 794 4154 push r12
0x37c26f5dbb1c 796 4156 push r14
0x37c26f5dbb1e 798 4157 push r15
0x37c26f5dbb20 800 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x37c26f5dbb25 805 53 push rbx
0x37c26f5dbb26 806 48c1e120 REX.W shlq rcx, 32
0x37c26f5dbb2a 810 51 push rcx
0x37c26f5dbb2b 811 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f5dbb2f 815 b802000000 movl rax,0x2
0x37c26f5dbb34 820 498d9d98d649fe REX.W leaq rbx,[r13-0x1b62968]
0x37c26f5dbb3b 827 e8a0bde2ff call 0x37c26f4078e0 ;; code: STUB, CEntryStub, minor: 5
0x37c26f5dbb40 832 48c1e820 REX.W shrq rax, 32
0x37c26f5dbb44 836 4889442478 REX.W movq [rsp+0x78],rax
0x37c26f5dbb49 841 488d642420 REX.W leaq rsp,[rsp+0x20]
0x37c26f5dbb4e 846 415f pop r15
0x37c26f5dbb50 848 415e pop r14
0x37c26f5dbb52 850 415c pop r12
0x37c26f5dbb54 852 415b pop r11
0x37c26f5dbb56 854 4159 pop r9
0x37c26f5dbb58 856 4158 pop r8
0x37c26f5dbb5a 858 5f pop rdi
0x37c26f5dbb5b 859 5e pop rsi
0x37c26f5dbb5c 860 5b pop rbx
0x37c26f5dbb5d 861 5a pop rdx
0x37c26f5dbb5e 862 59 pop rcx
0x37c26f5dbb5f 863 58 pop rax
0x37c26f5dbb60 864 e95bfeffff jmp 448 (0x37c26f5db9c0)
;;; -------------------- Jump table --------------------
0x37c26f5dbb65 869 e8a0a4b2ff call 0x37c26f10600a ;; debug: position 50688
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x37c26f5dbb6a 874 e8a5a4b2ff call 0x37c26f106014 ;; debug: position 50688
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 2
0x37c26f5dbb6f 879 e8aaa4b2ff call 0x37c26f10601e ;; debug: position 50688
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 3
0x37c26f5dbb74 884 e8c3a4b2ff call 0x37c26f10603c ;; debug: position 74752
;; debug: deopt reason 'Smi'
;; deoptimization bailout 6
0x37c26f5dbb79 889 e8c8a4b2ff call 0x37c26f106046 ;; debug: position 74752
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 7
0x37c26f5dbb7e 894 e8cda4b2ff call 0x37c26f106050 ;; debug: position 74752
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 8
0x37c26f5dbb83 899 e8e6a4b2ff call 0x37c26f10606e ;; debug: position 50688
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 11
0x37c26f5dbb88 904 e8e1a4b2ff call 0x37c26f10606e ;; debug: position 50688
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 11
0x37c26f5dbb8d 909 e8dca4b2ff call 0x37c26f10606e ;; debug: position 50688
;; debug: deopt reason 'NaN'
;; deoptimization bailout 11
0x37c26f5dbb92 914 e8e1a4b2ff call 0x37c26f106078 ;; debug: position 74752
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 12
0x37c26f5dbb97 919 e8dca4b2ff call 0x37c26f106078 ;; debug: position 74752
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 12
0x37c26f5dbb9c 924 e8d7a4b2ff call 0x37c26f106078 ;; debug: position 74752
;; debug: deopt reason 'NaN'
;; deoptimization bailout 12
0x37c26f5dbba1 929 0f1f00 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 13)
index ast id argc pc
0 4 0 35
1 10 0 -1
2 10 0 -1
3 10 0 -1
4 99 0 273
5 105 0 291
6 105 0 -1
7 105 0 -1
8 105 0 -1
9 39 0 544
10 37 0 574
11 10 0 -1
12 105 0 -1
Safepoints (size = 85)
0x37c26f5db823 35 010000 (sp -> fp) 0
0x37c26f5db90a 266 010000 (sp -> fp) 4
0x37c26f5db923 291 110000 (sp -> fp) 5
0x37c26f5dba20 544 010000 (sp -> fp) 9
0x37c26f5dba3e 574 010000 (sp -> fp) 10
0x37c26f5dbab3 691 010000 | rbx (sp -> fp) <none> argc: 2
0x37c26f5dbb40 832 010000 (sp -> fp) <none> argc: 2
RelocInfo (size = 940)
0x37c26f5db80a position (1059)
0x37c26f5db80a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f5db80a comment (;;; <@6,#4> prologue)
0x37c26f5db80a comment (;;; Prologue begin)
0x37c26f5db80a comment (;;; Prologue end)
0x37c26f5db80a comment (;;; <@10,#6> -------------------- B1 --------------------)
0x37c26f5db80a comment (;;; <@12,#7> context)
0x37c26f5db80e comment (;;; <@13,#7> gap)
0x37c26f5db812 comment (;;; <@16,#11> -------------------- B2 --------------------)
0x37c26f5db812 comment (;;; <@17,#11> gap)
0x37c26f5db815 comment (;;; <@18,#13> stack-check)
0x37c26f5db81f code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f5db823 comment (;;; <@20,#13> lazy-bailout)
0x37c26f5db823 comment (;;; <@22,#16> gap)
0x37c26f5db823 position (1081)
0x37c26f5db827 comment (;;; <@23,#16> cmp-object-eq-and-branch)
0x37c26f5db829 embedded object (0x23de51604201 <null>)
0x37c26f5db83a comment (;;; <@24,#20> -------------------- B3 (unreachable/replaced) --------------------)
0x37c26f5db83a position (1096)
0x37c26f5db83a comment (;;; <@28,#23> -------------------- B4 --------------------)
0x37c26f5db83a comment (;;; <@31,#24> cmp-object-eq-and-branch)
0x37c26f5db83c embedded object (0x23de51604381 <undefined>)
0x37c26f5db84d comment (;;; <@32,#28> -------------------- B5 (unreachable/replaced) --------------------)
0x37c26f5db84d position (1158)
0x37c26f5db84d comment (;;; <@36,#45> -------------------- B6 --------------------)
0x37c26f5db84d comment (;;; <@38,#46> check-non-smi)
0x37c26f5db856 comment (;;; <@40,#47> check-instance-type)
0x37c26f5db865 comment (;;; <@42,#48> load-named-field)
0x37c26f5db868 comment (;;; <@43,#48> gap)
0x37c26f5db86c comment (;;; <@44,#85> tagged-to-i)
0x37c26f5db879 comment (;;; <@46,#49> bounds-check)
0x37c26f5db881 comment (;;; <@47,#49> gap)
0x37c26f5db884 comment (;;; <@48,#50> string-char-code-at)
0x37c26f5db8f0 comment (;;; <@50,#87> smi-tag)
0x37c26f5db8f0 position (1190)
0x37c26f5db8f6 comment (;;; <@53,#53> is-smi-and-branch)
0x37c26f5db8fe comment (;;; <@54,#57> -------------------- B7 (unreachable/replaced) --------------------)
0x37c26f5db8fe position (1225)
0x37c26f5db8fe comment (;;; <@58,#60> -------------------- B8 --------------------)
0x37c26f5db8fe comment (;;; <@59,#60> gap)
0x37c26f5db905 comment (;;; <@60,#62> call-with-descriptor)
0x37c26f5db906 code target (STUB) (0x37c26f431720)
0x37c26f5db90a comment (;;; <@61,#62> gap)
0x37c26f5db911 comment (;;; <@62,#63> lazy-bailout)
0x37c26f5db911 comment (;;; <@63,#63> gap)
0x37c26f5db919 comment (;;; <@64,#65> call-with-descriptor)
0x37c26f5db91e position (1244)
0x37c26f5db91f code target (STUB) (0x37c26f51b760)
0x37c26f5db923 comment (;;; <@66,#66> lazy-bailout)
0x37c26f5db923 comment (;;; <@67,#66> gap)
0x37c26f5db927 comment (;;; <@68,#67> check-non-smi)
0x37c26f5db927 position (1205)
0x37c26f5db930 comment (;;; <@70,#68> check-instance-type)
0x37c26f5db93f comment (;;; <@72,#69> load-named-field)
0x37c26f5db942 comment (;;; <@73,#69> gap)
0x37c26f5db945 comment (;;; <@74,#88> tagged-to-i)
0x37c26f5db952 comment (;;; <@76,#70> bounds-check)
0x37c26f5db95a comment (;;; <@78,#71> string-char-code-at)
0x37c26f5db9c0 comment (;;; <@80,#89> smi-tag)
0x37c26f5db9c0 position (1271)
0x37c26f5db9c6 position (1186)
0x37c26f5db9c6 comment (;;; <@83,#74> goto)
0x37c26f5db9cb comment (;;; <@84,#54> -------------------- B9 (unreachable/replaced) --------------------)
0x37c26f5db9cb comment (;;; <@88,#75> -------------------- B10 --------------------)
0x37c26f5db9cb comment (;;; <@90,#77> gap)
0x37c26f5db9ce position (1271)
0x37c26f5db9ce comment (;;; <@92,#79> -------------------- B11 --------------------)
0x37c26f5db9ce comment (;;; <@93,#79> gap)
0x37c26f5db9d1 comment (;;; <@94,#82> return)
0x37c26f5db9d1 position (1264)
0x37c26f5db9d8 comment (;;; <@96,#25> -------------------- B12 (unreachable/replaced) --------------------)
0x37c26f5db9d8 comment (;;; <@100,#17> -------------------- B13 (unreachable/replaced) --------------------)
0x37c26f5db9d8 position (1115)
0x37c26f5db9d8 comment (;;; <@104,#31> -------------------- B14 --------------------)
0x37c26f5db9d8 comment (;;; <@105,#31> gap)
0x37c26f5db9dc comment (;;; <@106,#32> load-context-slot)
0x37c26f5db9e0 comment (;;; <@108,#35> push-argument)
0x37c26f5db9e2 embedded object (0x23de51604381 <undefined>)
0x37c26f5db9ec comment (;;; <@110,#35> push-argument)
0x37c26f5db9f8 comment (;;; <@112,#35> push-argument)
0x37c26f5db9fa embedded object (0x238c96a2cbe1 <String[27]: String.prototype.charCodeAt>)
0x37c26f5dba04 comment (;;; <@114,#92> constant-s)
0x37c26f5dba0e comment (;;; <@116,#37> constant-t)
0x37c26f5dba10 embedded object (0x238c96a2cc39 <FixedArray[3]>)
0x37c26f5dba18 comment (;;; <@117,#37> gap)
0x37c26f5dba1b comment (;;; <@118,#39> call-with-descriptor)
0x37c26f5dba1c code target (CALL_IC) (0x37c26f524340)
0x37c26f5dba20 comment (;;; <@120,#40> lazy-bailout)
0x37c26f5dba20 comment (;;; <@122,#41> push-argument)
0x37c26f5dba20 position (1109)
0x37c26f5dba21 comment (;;; <@123,#41> gap)
0x37c26f5dba25 comment (;;; <@124,#42> call-runtime)
0x37c26f5dba3a code target (STUB) (0x37c26f409240)
0x37c26f5dba3e comment (;;; <@126,#43> lazy-bailout)
0x37c26f5dba4b position (1158)
0x37c26f5dba4b comment (;;; <@44,#85> -------------------- Deferred tagged-to-i --------------------)
0x37c26f5dba7f comment (;;; <@48,#50> -------------------- Deferred string-char-code-at --------------------)
0x37c26f5dbaaf code target (STUB) (0x37c26f4078e0)
0x37c26f5dbad8 position (1205)
0x37c26f5dbad8 comment (;;; <@74,#88> -------------------- Deferred tagged-to-i --------------------)
0x37c26f5dbb0c comment (;;; <@78,#71> -------------------- Deferred string-char-code-at --------------------)
0x37c26f5dbb3c code target (STUB) (0x37c26f4078e0)
0x37c26f5dbb65 comment (;;; -------------------- Jump table --------------------)
0x37c26f5dbb65 position (50688)
0x37c26f5dbb65 deopt reason (Smi)
0x37c26f5dbb66 runtime entry (deoptimization bailout 1)
0x37c26f5dbb6a position (50688)
0x37c26f5dbb6a deopt reason (wrong instance type)
0x37c26f5dbb6b runtime entry (deoptimization bailout 2)
0x37c26f5dbb6f position (50688)
0x37c26f5dbb6f deopt reason (out of bounds)
0x37c26f5dbb70 runtime entry (deoptimization bailout 3)
0x37c26f5dbb74 position (74752)
0x37c26f5dbb74 deopt reason (Smi)
0x37c26f5dbb75 runtime entry (deoptimization bailout 6)
0x37c26f5dbb79 position (74752)
0x37c26f5dbb79 deopt reason (wrong instance type)
0x37c26f5dbb7a runtime entry (deoptimization bailout 7)
0x37c26f5dbb7e position (74752)
0x37c26f5dbb7e deopt reason (out of bounds)
0x37c26f5dbb7f runtime entry (deoptimization bailout 8)
0x37c26f5dbb83 position (50688)
0x37c26f5dbb83 deopt reason (not a heap number)
0x37c26f5dbb84 runtime entry (deoptimization bailout 11)
0x37c26f5dbb88 position (50688)
0x37c26f5dbb88 deopt reason (lost precision)
0x37c26f5dbb89 runtime entry (deoptimization bailout 11)
0x37c26f5dbb8d position (50688)
0x37c26f5dbb8d deopt reason (NaN)
0x37c26f5dbb8e runtime entry (deoptimization bailout 11)
0x37c26f5dbb92 position (74752)
0x37c26f5dbb92 deopt reason (not a heap number)
0x37c26f5dbb93 runtime entry (deoptimization bailout 12)
0x37c26f5dbb97 position (74752)
0x37c26f5dbb97 deopt reason (lost precision)
0x37c26f5dbb98 runtime entry (deoptimization bailout 12)
0x37c26f5dbb9c position (74752)
0x37c26f5dbb9c deopt reason (NaN)
0x37c26f5dbb9d runtime entry (deoptimization bailout 12)
0x37c26f5dbba4 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (debugs.(anonymous function)) id{16,0} ---
() {}
--- END ---
--- Raw source ---
() {};
--- Optimized code ---
optimization_id = 16
source_position = 4772
kind = OPTIMIZED_FUNCTION
name = debugs.(anonymous function)
stack_slots = 5
compiler = crankshaft
Instructions (size = 71)
0x37c26f5df8a0 0 55 push rbp
0x37c26f5df8a1 1 4889e5 REX.W movq rbp,rsp
0x37c26f5df8a4 4 56 push rsi
0x37c26f5df8a5 5 57 push rdi
0x37c26f5df8a6 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@4,#3> prologue
;;; Prologue begin
;;; Prologue end
;;; <@8,#5> -------------------- B1 --------------------
;;; <@10,#6> context
0x37c26f5df8aa 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 4772
;;; <@11,#6> gap
0x37c26f5df8ae 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@14,#10> -------------------- B2 --------------------
;;; <@15,#10> gap
0x37c26f5df8b2 18 488bf0 REX.W movq rsi,rax
;;; <@16,#12> stack-check
0x37c26f5df8b5 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f5df8bc 28 7305 jnc 35 (0x37c26f5df8c3)
0x37c26f5df8be 30 e81dd3e5ff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@18,#12> lazy-bailout
;;; <@20,#2> constant-t
0x37c26f5df8c3 35 48b881436051de230000 REX.W movq rax,0x23de51604381 ;; object: 0x23de51604381 <undefined>
;;; <@22,#14> return
0x37c26f5df8cd 45 488be5 REX.W movq rsp,rbp
0x37c26f5df8d0 48 5d pop rbp
0x37c26f5df8d1 49 c20800 ret 0x8
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 1)
index ast id argc pc
0 4 0 35
Safepoints (size = 19)
0x37c26f5df8c3 35 10000 (sp -> fp) 0
RelocInfo (size = 148)
0x37c26f5df8aa position (4772)
0x37c26f5df8aa comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f5df8aa comment (;;; <@4,#3> prologue)
0x37c26f5df8aa comment (;;; Prologue begin)
0x37c26f5df8aa comment (;;; Prologue end)
0x37c26f5df8aa comment (;;; <@8,#5> -------------------- B1 --------------------)
0x37c26f5df8aa comment (;;; <@10,#6> context)
0x37c26f5df8ae comment (;;; <@11,#6> gap)
0x37c26f5df8b2 comment (;;; <@14,#10> -------------------- B2 --------------------)
0x37c26f5df8b2 comment (;;; <@15,#10> gap)
0x37c26f5df8b5 comment (;;; <@16,#12> stack-check)
0x37c26f5df8bf code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f5df8c3 comment (;;; <@18,#12> lazy-bailout)
0x37c26f5df8c3 comment (;;; <@20,#2> constant-t)
0x37c26f5df8c5 embedded object (0x23de51604381 <undefined>)
0x37c26f5df8cd comment (;;; <@22,#14> return)
0x37c26f5df8d4 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (Module._resolveFilename) id{17,0} ---
(request, parent, isMain) {
if (NativeModule.nonInternalExists(request)) {
return request;
}
var resolvedModule = Module._resolveLookupPaths(request, parent);
var id = resolvedModule[0];
var paths = resolvedModule[1];
// look up the filename first, since that's the cache key.
debug('looking for %j in %j', id, paths);
var filename = Module._findPath(request, paths, isMain);
if (!filename) {
var err = new Error("Cannot find module '" + request + "'");
err.code = 'MODULE_NOT_FOUND';
throw err;
}
return filename;
}
--- END ---
--- FUNCTION SOURCE (NativeModule.nonInternalExists) id{17,1} ---
(id) {
return NativeModule.exists(id) && !NativeModule.isInternal(id);
}
--- END ---
INLINE (NativeModule.nonInternalExists) id{17,1} AS 1 AT <0:47>
--- FUNCTION SOURCE (NativeModule.exists) id{17,2} ---
(id) {
return NativeModule._source.hasOwnProperty(id);
}
--- END ---
INLINE (NativeModule.exists) id{17,2} AS 2 AT <1:33>
--- FUNCTION SOURCE (NativeModule.isInternal) id{17,3} ---
(id) {
return id.startsWith('internal/');
}
--- END ---
INLINE (NativeModule.isInternal) id{17,3} AS 3 AT <1:61>
--- FUNCTION SOURCE (debugs.(anonymous function)) id{17,4} ---
() {}
--- END ---
INLINE (debugs.(anonymous function)) id{17,4} AS 4 AT <0:297>
--- Raw source ---
(request, parent, isMain) {
if (NativeModule.nonInternalExists(request)) {
return request;
}
var resolvedModule = Module._resolveLookupPaths(request, parent);
var id = resolvedModule[0];
var paths = resolvedModule[1];
// look up the filename first, since that's the cache key.
debug('looking for %j in %j', id, paths);
var filename = Module._findPath(request, paths, isMain);
if (!filename) {
var err = new Error("Cannot find module '" + request + "'");
err.code = 'MODULE_NOT_FOUND';
throw err;
}
return filename;
};
--- Optimized code ---
optimization_id = 17
source_position = 12774
kind = OPTIMIZED_FUNCTION
name = Module._resolveFilename
stack_slots = 10
compiler = crankshaft
Instructions (size = 1632)
0x37c26f5eddc0 0 55 push rbp
0x37c26f5eddc1 1 4889e5 REX.W movq rbp,rsp
0x37c26f5eddc4 4 56 push rsi
0x37c26f5eddc5 5 57 push rdi
0x37c26f5eddc6 6 4883ec30 REX.W subq rsp,0x30
;;; <@0,#0> -------------------- B0 --------------------
;;; <@10,#6> prologue
;;; Prologue begin
;;; Prologue end
;;; <@14,#8> -------------------- B1 --------------------
;;; <@16,#9> context
0x37c26f5eddca 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 12774
;;; <@17,#9> gap
0x37c26f5eddce 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@20,#13> -------------------- B2 --------------------
;;; <@21,#13> gap
0x37c26f5eddd2 18 488bf0 REX.W movq rsi,rax
;;; <@22,#15> stack-check
0x37c26f5eddd5 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f5edddc 28 7305 jnc 35 (0x37c26f5edde3)
0x37c26f5eddde 30 e8fdede4ff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@24,#15> lazy-bailout
;;; <@25,#15> gap
0x37c26f5edde3 35 488b45e8 REX.W movq rax,[rbp-0x18]
;;; <@26,#16> load-context-slot
0x37c26f5edde7 39 488b582f REX.W movq rbx,[rax+0x2f] ;; debug: position 12808
0x37c26f5eddeb 43 493b5dd8 REX.W cmpq rbx,[r13-0x28]
0x37c26f5eddef 47 0f8441050000 jz 1398 (0x37c26f5ee336)
;;; <@27,#16> gap
0x37c26f5eddf5 53 48895de0 REX.W movq [rbp-0x20],rbx
;;; <@28,#17> check-non-smi
0x37c26f5eddf9 57 f6c301 testb rbx,0x1 ;; debug: position 12821
0x37c26f5eddfc 60 0f8439050000 jz 1403 (0x37c26f5ee33b)
;;; <@30,#18> check-maps
0x37c26f5ede02 66 49ba9905818f7a200000 REX.W movq r10,0x207a8f810599 ;; object: 0x207a8f810599 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5ede0c 76 4c3953ff REX.W cmpq [rbx-0x1],r10
0x37c26f5ede10 80 0f852a050000 jnz 1408 (0x37c26f5ee340)
;;; <@32,#21> constant-t
0x37c26f5ede16 86 48be711f6e51de230000 REX.W movq rsi,0x23de516e1f71 ;; debug: position 14655
;; object: 0x23de516e1f71 <FixedArray[19]>
;;; <@34,#25> load-context-slot
0x37c26f5ede20 96 488b8e9f000000 REX.W movq rcx,[rsi+0x9f] ;; debug: position 14675
;;; <@35,#25> gap
0x37c26f5ede27 103 48894dd8 REX.W movq [rbp-0x28],rcx
;;; <@36,#26> check-non-smi
0x37c26f5ede2b 107 f6c101 testb rcx,0x1 ;; debug: position 14688
0x37c26f5ede2e 110 0f8411050000 jz 1413 (0x37c26f5ee345)
;;; <@38,#27> check-maps
0x37c26f5ede34 116 49ba9905818f7a200000 REX.W movq r10,0x207a8f810599 ;; object: 0x207a8f810599 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5ede3e 126 4c3951ff REX.W cmpq [rcx-0x1],r10
0x37c26f5ede42 130 0f8502050000 jnz 1418 (0x37c26f5ee34a)
;;; <@40,#36> load-named-field
0x37c26f5ede48 136 488b7907 REX.W movq rdi,[rcx+0x7] ;; debug: position 14286
0x37c26f5ede4c 140 488b7f0f REX.W movq rdi,[rdi+0xf]
;;; <@41,#36> gap
0x37c26f5ede50 144 48897dd0 REX.W movq [rbp-0x30],rdi
;;; <@42,#21> constant-t
0x37c26f5ede54 148 48be711f6e51de230000 REX.W movq rsi,0x23de516e1f71 ;; debug: position 14655
;; object: 0x23de516e1f71 <FixedArray[19]>
;;; <@43,#21> gap
0x37c26f5ede5e 158 488bd7 REX.W movq rdx,rdi
;;; <@44,#37> load-named-generic
0x37c26f5ede61 161 48b9394a6851de230000 REX.W movq rcx,0x23de51684a39 ;; debug: position 14295
;; object: 0x23de51684a39 <String[14]: hasOwnProperty>
0x37c26f5ede6b 171 48bb698ebe67c4010000 REX.W movq rbx,0x1c467be8e69 ;; object: 0x1c467be8e69 <FixedArray[7]>
0x37c26f5ede75 181 48b80000000005000000 REX.W movq rax,0x500000000
0x37c26f5ede7f 191 e8bc36f6ff call 0x37c26f551540 ;; code: contextual, LOAD_IC, GENERIC
;;; <@46,#38> lazy-bailout
;;; <@48,#41> push-argument
0x37c26f5ede84 196 ff75d0 push [rbp-0x30]
;;; <@49,#41> gap
0x37c26f5ede87 199 488b5d20 REX.W movq rbx,[rbp+0x20]
;;; <@50,#41> push-argument
0x37c26f5ede8b 203 53 push rbx
;;; <@52,#21> constant-t
0x37c26f5ede8c 204 48be711f6e51de230000 REX.W movq rsi,0x23de516e1f71 ;; debug: position 14655
;; object: 0x23de516e1f71 <FixedArray[19]>
;;; <@54,#39> constant-i
0x37c26f5ede96 214 ba01000000 movl rdx,0x1 ;; debug: position 14295
;;; <@55,#39> gap
0x37c26f5ede9b 219 488bf8 REX.W movq rdi,rax
0x37c26f5ede9e 222 488bc2 REX.W movq rax,rdx
;;; <@56,#42> call-with-descriptor
0x37c26f5edea1 225 e8fa5be2ff call Call_ReceiverIsNotNullOrUndefined (0x37c26f413aa0) ;; code: BUILTIN
;;; <@58,#43> lazy-bailout
;;; <@61,#44> branch
0x37c26f5edea6 230 493b45a8 REX.W cmpq rax,[r13-0x58]
0x37c26f5edeaa 234 0f84ba010000 jz 682 (0x37c26f5ee06a)
0x37c26f5edeb0 240 493b45c0 REX.W cmpq rax,[r13-0x40]
0x37c26f5edeb4 244 0f8486000000 jz 384 (0x37c26f5edf40)
0x37c26f5edeba 250 493b45c8 REX.W cmpq rax,[r13-0x38]
0x37c26f5edebe 254 0f84a6010000 jz 682 (0x37c26f5ee06a)
0x37c26f5edec4 260 493b45b8 REX.W cmpq rax,[r13-0x48]
0x37c26f5edec8 264 0f849c010000 jz 682 (0x37c26f5ee06a)
0x37c26f5edece 270 4885c0 REX.W testq rax,rax
0x37c26f5eded1 273 0f8493010000 jz 682 (0x37c26f5ee06a)
0x37c26f5eded7 279 a801 test al,0x1
0x37c26f5eded9 281 0f8461000000 jz 384 (0x37c26f5edf40)
0x37c26f5ededf 287 4c8b50ff REX.W movq r10,[rax-0x1]
0x37c26f5edee3 291 41f6420c10 testb [r10+0xc],0x10
0x37c26f5edee8 296 0f857c010000 jnz 682 (0x37c26f5ee06a)
0x37c26f5edeee 302 41807a0bb1 cmpb [r10+0xb],0xb1
0x37c26f5edef3 307 0f8347000000 jnc 384 (0x37c26f5edf40)
0x37c26f5edef9 313 41807a0b80 cmpb [r10+0xb],0x80
0x37c26f5edefe 318 7310 jnc 336 (0x37c26f5edf10)
0x37c26f5edf00 320 4883780f00 REX.W cmpq [rax+0xf],0x0
0x37c26f5edf05 325 0f8535000000 jnz 384 (0x37c26f5edf40)
0x37c26f5edf0b 331 e95a010000 jmp 682 (0x37c26f5ee06a)
0x37c26f5edf10 336 41807a0b80 cmpb [r10+0xb],0x80
0x37c26f5edf15 341 0f8425000000 jz 384 (0x37c26f5edf40)
0x37c26f5edf1b 347 41807a0b82 cmpb [r10+0xb],0x82
0x37c26f5edf20 352 0f841a000000 jz 384 (0x37c26f5edf40)
0x37c26f5edf26 358 4d3b55f8 REX.W cmpq r10,[r13-0x8]
0x37c26f5edf2a 362 7514 jnz 384 (0x37c26f5edf40)
0x37c26f5edf2c 364 c5f957c0 vxorpd xmm0,xmm0,xmm0
0x37c26f5edf30 368 c5f92e4007 vucomisd xmm0,[rax+0x7]
0x37c26f5edf35 373 0f842f010000 jz 682 (0x37c26f5ee06a)
0x37c26f5edf3b 379 e900000000 jmp 384 (0x37c26f5edf40)
;;; <@62,#49> -------------------- B3 (unreachable/replaced) --------------------
;;; <@66,#56> -------------------- B4 (unreachable/replaced) --------------------
;;; <@70,#45> -------------------- B5 (unreachable/replaced) --------------------
;;; <@74,#53> -------------------- B6 (unreachable/replaced) --------------------
;;; <@78,#60> -------------------- B7 --------------------
;;; <@80,#21> constant-t
0x37c26f5edf40 384 48be711f6e51de230000 REX.W movq rsi,0x23de516e1f71 ;; debug: position 14703
;; debug: position 14655
;; object: 0x23de516e1f71 <FixedArray[19]>
;;; <@82,#61> load-context-slot
0x37c26f5edf4a 394 488b869f000000 REX.W movq rax,[rsi+0x9f] ;; debug: position 14703
;;; <@83,#61> gap
0x37c26f5edf51 401 488945c8 REX.W movq [rbp-0x38],rax
;;; <@84,#62> check-non-smi
0x37c26f5edf55 405 a801 test al,0x1 ;; debug: position 14716
0x37c26f5edf57 407 0f84f2030000 jz 1423 (0x37c26f5ee34f)
;;; <@86,#63> check-maps
0x37c26f5edf5d 413 49ba9905818f7a200000 REX.W movq r10,0x207a8f810599 ;; object: 0x207a8f810599 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5edf67 423 4c3950ff REX.W cmpq [rax-0x1],r10
0x37c26f5edf6b 427 0f85e3030000 jnz 1428 (0x37c26f5ee354)
;;; <@87,#63> gap
0x37c26f5edf71 433 488b5d20 REX.W movq rbx,[rbp+0x20]
;;; <@88,#69> check-non-smi
0x37c26f5edf75 437 f6c301 testb rbx,0x1 ;; debug: position 14801
0x37c26f5edf78 440 0f84db030000 jz 1433 (0x37c26f5ee359)
;;; <@90,#70> check-instance-type
0x37c26f5edf7e 446 4c8b53ff REX.W movq r10,[rbx-0x1]
0x37c26f5edf82 450 41f6420b80 testb [r10+0xb],0x80
0x37c26f5edf87 455 0f85d1030000 jnz 1438 (0x37c26f5ee35e)
;;; <@92,#72> check-maps
;;; <@94,#76> push-argument
0x37c26f5edf8d 461 53 push rbx
;;; <@96,#76> push-argument
0x37c26f5edf8e 462 49bab1e26d51de230000 REX.W movq r10,0x23de516de2b1 ;; object: 0x23de516de2b1 <String[9]: internal/>
0x37c26f5edf98 472 4152 push r10
;;; <@98,#21> constant-t
0x37c26f5edf9a 474 48be711f6e51de230000 REX.W movq rsi,0x23de516e1f71 ;; debug: position 14655
;; object: 0x23de516e1f71 <FixedArray[19]>
;;; <@100,#75> constant-t
0x37c26f5edfa4 484 48bfd11d6c51de230000 REX.W movq rdi,0x23de516c1dd1 ;; debug: position 14801
;; object: 0x23de516c1dd1 <JS Function startsWith (SharedFunctionInfo 0x23de51658e79)>
;;; <@102,#77> invoke-function
0x37c26f5edfae 494 488b7727 REX.W movq rsi,[rdi+0x27]
0x37c26f5edfb2 498 498b55a8 REX.W movq rdx,[r13-0x58]
0x37c26f5edfb6 502 b801000000 movl rax,0x1
0x37c26f5edfbb 507 bb02000000 movl rbx,0x2
0x37c26f5edfc0 512 e8fbb7e1ff call ArgumentsAdaptorTrampoline (0x37c26f4097c0) ;; code: BUILTIN
;;; <@104,#78> lazy-bailout
;;; <@107,#79> branch
0x37c26f5edfc5 517 493b45a8 REX.W cmpq rax,[r13-0x58]
0x37c26f5edfc9 521 0f8490000000 jz 671 (0x37c26f5ee05f)
0x37c26f5edfcf 527 493b45c0 REX.W cmpq rax,[r13-0x40]
0x37c26f5edfd3 531 0f8491000000 jz 682 (0x37c26f5ee06a)
0x37c26f5edfd9 537 493b45c8 REX.W cmpq rax,[r13-0x38]
0x37c26f5edfdd 541 0f847c000000 jz 671 (0x37c26f5ee05f)
0x37c26f5edfe3 547 493b45b8 REX.W cmpq rax,[r13-0x48]
0x37c26f5edfe7 551 0f8472000000 jz 671 (0x37c26f5ee05f)
0x37c26f5edfed 557 4885c0 REX.W testq rax,rax
0x37c26f5edff0 560 0f8469000000 jz 671 (0x37c26f5ee05f)
0x37c26f5edff6 566 a801 test al,0x1
0x37c26f5edff8 568 0f846c000000 jz 682 (0x37c26f5ee06a)
0x37c26f5edffe 574 4c8b50ff REX.W movq r10,[rax-0x1]
0x37c26f5ee002 578 41f6420c10 testb [r10+0xc],0x10
0x37c26f5ee007 583 0f8552000000 jnz 671 (0x37c26f5ee05f)
0x37c26f5ee00d 589 41807a0bb1 cmpb [r10+0xb],0xb1
0x37c26f5ee012 594 0f8352000000 jnc 682 (0x37c26f5ee06a)
0x37c26f5ee018 600 41807a0b80 cmpb [r10+0xb],0x80
0x37c26f5ee01d 605 7310 jnc 623 (0x37c26f5ee02f)
0x37c26f5ee01f 607 4883780f00 REX.W cmpq [rax+0xf],0x0
0x37c26f5ee024 612 0f8540000000 jnz 682 (0x37c26f5ee06a)
0x37c26f5ee02a 618 e930000000 jmp 671 (0x37c26f5ee05f)
0x37c26f5ee02f 623 41807a0b80 cmpb [r10+0xb],0x80
0x37c26f5ee034 628 0f8430000000 jz 682 (0x37c26f5ee06a)
0x37c26f5ee03a 634 41807a0b82 cmpb [r10+0xb],0x82
0x37c26f5ee03f 639 0f8425000000 jz 682 (0x37c26f5ee06a)
0x37c26f5ee045 645 4d3b55f8 REX.W cmpq r10,[r13-0x8]
0x37c26f5ee049 649 7514 jnz 671 (0x37c26f5ee05f)
0x37c26f5ee04b 651 c5f957c0 vxorpd xmm0,xmm0,xmm0
0x37c26f5ee04f 655 c5f92e4007 vucomisd xmm0,[rax+0x7]
0x37c26f5ee054 660 0f8405000000 jz 671 (0x37c26f5ee05f)
0x37c26f5ee05a 666 e90b000000 jmp 682 (0x37c26f5ee06a)
;;; <@108,#84> -------------------- B8 (unreachable/replaced) --------------------
;;; <@112,#92> -------------------- B9 (unreachable/replaced) --------------------
;;; <@116,#96> -------------------- B10 (unreachable/replaced) --------------------
;;; <@120,#102> -------------------- B11 --------------------
;;; <@121,#102> gap
0x37c26f5ee05f 671 488b4520 REX.W movq rax,[rbp+0x20] ;; debug: position 12855
;;; <@122,#104> return
0x37c26f5ee063 675 488be5 REX.W movq rsp,rbp
0x37c26f5ee066 678 5d pop rbp
0x37c26f5ee067 679 c22000 ret 0x20
;;; <@124,#80> -------------------- B12 (unreachable/replaced) --------------------
;;; <@128,#88> -------------------- B13 (unreachable/replaced) --------------------
;;; <@132,#99> -------------------- B14 (unreachable/replaced) --------------------
;;; <@136,#105> -------------------- B15 --------------------
;;; <@137,#105> gap
0x37c26f5ee06a 682 488b45e8 REX.W movq rax,[rbp-0x18] ;; debug: position 12899
;;; <@138,#106> load-context-slot
0x37c26f5ee06e 686 488b988f000000 REX.W movq rbx,[rax+0x8f]
;;; <@140,#107> check-non-smi
0x37c26f5ee075 693 f6c301 testb rbx,0x1 ;; debug: position 12906
0x37c26f5ee078 696 0f84e5020000 jz 1443 (0x37c26f5ee363)
;;; <@142,#108> check-maps
0x37c26f5ee07e 702 49ba49abe1eadf370000 REX.W movq r10,0x37dfeae1ab49 ;; object: 0x37dfeae1ab49 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5ee088 712 4c3953ff REX.W cmpq [rbx-0x1],r10
0x37c26f5ee08c 716 0f85d6020000 jnz 1448 (0x37c26f5ee368)
;;; <@144,#111> push-argument
0x37c26f5ee092 722 53 push rbx
;;; <@146,#111> push-argument
0x37c26f5ee093 723 ff7520 push [rbp+0x20]
;;; <@147,#111> gap
0x37c26f5ee096 726 488b5d18 REX.W movq rbx,[rbp+0x18]
;;; <@148,#111> push-argument
0x37c26f5ee09a 730 53 push rbx
;;; <@150,#110> constant-t
0x37c26f5ee09b 731 48bf2949a5968c230000 REX.W movq rdi,0x238c96a54929 ;; object: 0x238c96a54929 <JS Function Module._resolveLookupPaths (SharedFunctionInfo 0x238c96a2f801)>
;;; <@151,#110> gap
0x37c26f5ee0a5 741 488bf0 REX.W movq rsi,rax
;;; <@152,#112> invoke-function
0x37c26f5ee0a8 744 488b7727 REX.W movq rsi,[rdi+0x27]
0x37c26f5ee0ac 748 498b55a8 REX.W movq rdx,[r13-0x58]
0x37c26f5ee0b0 752 b802000000 movl rax,0x2
0x37c26f5ee0b5 757 ff5737 call [rdi+0x37]
;;; <@154,#113> lazy-bailout
;;; <@156,#117> check-non-smi
0x37c26f5ee0b8 760 a801 test al,0x1 ;; debug: position 12969
0x37c26f5ee0ba 762 0f84ad020000 jz 1453 (0x37c26f5ee36d)
;;; <@158,#118> check-maps
0x37c26f5ee0c0 768 49bac971808f7a200000 REX.W movq r10,0x207a8f8071c9 ;; object: 0x207a8f8071c9 <Map(FAST_ELEMENTS)>
0x37c26f5ee0ca 778 4c3950ff REX.W cmpq [rax-0x1],r10
0x37c26f5ee0ce 782 0f859e020000 jnz 1458 (0x37c26f5ee372)
;;; <@160,#119> load-named-field
0x37c26f5ee0d4 788 488b580f REX.W movq rbx,[rax+0xf]
;;; <@162,#120> load-named-field
0x37c26f5ee0d8 792 8b501b movl rdx,[rax+0x1b]
;;; <@164,#121> bounds-check
0x37c26f5ee0db 795 83fa00 cmpl rdx,0x0
0x37c26f5ee0de 798 0f8693020000 jna 1463 (0x37c26f5ee377)
;;; <@166,#130> bounds-check
0x37c26f5ee0e4 804 83fa01 cmpl rdx,0x1 ;; debug: position 13002
0x37c26f5ee0e7 807 0f868f020000 jna 1468 (0x37c26f5ee37c)
;;; <@168,#122> load-keyed
0x37c26f5ee0ed 813 488b530f REX.W movq rdx,[rbx+0xf] ;; debug: position 12969
;;; <@170,#131> load-keyed
0x37c26f5ee0f1 817 488b5b17 REX.W movq rbx,[rbx+0x17] ;; debug: position 13002
;;; <@171,#131> gap
0x37c26f5ee0f5 821 488b55e8 REX.W movq rdx,[rbp-0x18]
;;; <@172,#133> load-context-slot
0x37c26f5ee0f9 825 488b8a9f000000 REX.W movq rcx,[rdx+0x9f] ;; debug: position 13071
0x37c26f5ee100 832 493b4dd8 REX.W cmpq rcx,[r13-0x28]
0x37c26f5ee104 836 0f8477020000 jz 1473 (0x37c26f5ee381)
;;; <@174,#137> check-value
0x37c26f5ee10a 842 49ba5946a5968c230000 REX.W movq r10,0x238c96a54659 ;; object: 0x238c96a54659 <JS Function debugs.(anonymous function) (SharedFunctionInfo 0x238c96a15d39)>
0x37c26f5ee114 852 493bca REX.W cmpq rcx,r10
0x37c26f5ee117 855 0f8569020000 jnz 1478 (0x37c26f5ee386)
;;; <@178,#145> -------------------- B16 --------------------
;;; <@180,#146> load-context-slot
0x37c26f5ee11d 861 488b828f000000 REX.W movq rax,[rdx+0x8f] ;; debug: position 13131
;;; <@182,#147> check-non-smi
0x37c26f5ee124 868 a801 test al,0x1 ;; debug: position 13138
0x37c26f5ee126 870 0f845f020000 jz 1483 (0x37c26f5ee38b)
;;; <@184,#148> check-maps
0x37c26f5ee12c 876 49ba49abe1eadf370000 REX.W movq r10,0x37dfeae1ab49 ;; object: 0x37dfeae1ab49 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5ee136 886 4c3950ff REX.W cmpq [rax-0x1],r10
0x37c26f5ee13a 890 0f8550020000 jnz 1488 (0x37c26f5ee390)
;;; <@186,#152> push-argument
0x37c26f5ee140 896 50 push rax
;;; <@188,#152> push-argument
0x37c26f5ee141 897 ff7520 push [rbp+0x20]
;;; <@190,#152> push-argument
0x37c26f5ee144 900 53 push rbx
;;; <@191,#152> gap
0x37c26f5ee145 901 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@192,#152> push-argument
0x37c26f5ee149 905 50 push rax
;;; <@194,#151> constant-t
0x37c26f5ee14a 906 48bf0947a5968c230000 REX.W movq rdi,0x238c96a54709 ;; object: 0x238c96a54709 <JS Function Module._findPath (SharedFunctionInfo 0x238c96a2f5c1)>
;;; <@195,#151> gap
0x37c26f5ee154 916 488bf2 REX.W movq rsi,rdx
;;; <@196,#153> invoke-function
0x37c26f5ee157 919 488b7727 REX.W movq rsi,[rdi+0x27]
0x37c26f5ee15b 923 498b55a8 REX.W movq rdx,[r13-0x58]
0x37c26f5ee15f 927 b803000000 movl rax,0x3
0x37c26f5ee164 932 ff5737 call [rdi+0x37]
;;; <@198,#154> lazy-bailout
;;; <@201,#157> branch
0x37c26f5ee167 935 a801 test al,0x1 ;; debug: position 13180
0x37c26f5ee169 937 0f8426020000 jz 1493 (0x37c26f5ee395)
0x37c26f5ee16f 943 4c8b50ff REX.W movq r10,[rax-0x1]
0x37c26f5ee173 947 41807a0b80 cmpb [r10+0xb],0x80
0x37c26f5ee178 952 7310 jnc 970 (0x37c26f5ee18a)
0x37c26f5ee17a 954 4883780f00 REX.W cmpq [rax+0xf],0x0
0x37c26f5ee17f 959 0f854c010000 jnz 1297 (0x37c26f5ee2d1)
0x37c26f5ee185 965 e905000000 jmp 975 (0x37c26f5ee18f)
0x37c26f5ee18a 970 e86b7fb1ff call 0x37c26f1060fa ;; debug: position 207872
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 25
;;; <@202,#161> -------------------- B17 (unreachable/replaced) --------------------
;;; <@206,#164> -------------------- B18 --------------------
;;; <@207,#164> gap
0x37c26f5ee18f 975 488b5d20 REX.W movq rbx,[rbp+0x20] ;; debug: position 13210
;;; <@208,#167> check-non-smi
0x37c26f5ee193 979 f6c301 testb rbx,0x1 ;; debug: position 13239
0x37c26f5ee196 982 0f84fe010000 jz 1498 (0x37c26f5ee39a)
;;; <@210,#168> check-instance-type
0x37c26f5ee19c 988 4c8b53ff REX.W movq r10,[rbx-0x1]
0x37c26f5ee1a0 992 41f6420b80 testb [r10+0xb],0x80
0x37c26f5ee1a5 997 0f85f4010000 jnz 1503 (0x37c26f5ee39f)
;;; <@212,#170> load-named-field
0x37c26f5ee1ab 1003 8b4313 movl rax,[rbx+0x13]
;;; <@215,#172> compare-numeric-and-branch
;;; <@216,#173> -------------------- B19 --------------------
;;; <@219,#174> compare-numeric-and-branch
0x37c26f5ee1ae 1006 83f800 cmpl rax,0x0
0x37c26f5ee1b1 1009 0f84ab000000 jz 1186 (0x37c26f5ee262)
;;; <@220,#175> -------------------- B20 --------------------
;;; <@222,#178> add-i
0x37c26f5ee1b7 1015 83c014 addl rax,0x14
;;; <@224,#180> bounds-check
0x37c26f5ee1ba 1018 3df1ffff0f cmp rax,0xffffff1
0x37c26f5ee1bf 1023 0f83df010000 jnc 1508 (0x37c26f5ee3a4)
;;; <@226,#182> load-named-field
0x37c26f5ee1c5 1029 488b53ff REX.W movq rdx,[rbx-0x1]
;;; <@228,#183> load-named-field
0x37c26f5ee1c9 1033 0fb6520b movzxbl rdx,[rdx+0xb]
;;; <@230,#185> allocate
0x37c26f5ee1cd 1037 498bb5300f0000 REX.W movq rsi,[r13+0xf30]
0x37c26f5ee1d4 1044 488bce REX.W movq rcx,rsi
0x37c26f5ee1d7 1047 4883c128 REX.W addq rcx,0x28
0x37c26f5ee1db 1051 0f82f8000000 jc 1305 (0x37c26f5ee2d9)
0x37c26f5ee1e1 1057 493b8d380f0000 REX.W cmpq rcx,[r13+0xf38]
0x37c26f5ee1e8 1064 0f87eb000000 ja 1305 (0x37c26f5ee2d9)
0x37c26f5ee1ee 1070 49898d300f0000 REX.W movq [r13+0xf30],rcx
0x37c26f5ee1f5 1077 48ffc6 REX.W incq rsi
;;; <@231,#185> gap
0x37c26f5ee1f8 1080 488bca REX.W movq rcx,rdx
;;; <@232,#186> bit-i
0x37c26f5ee1fb 1083 83e104 andl rcx,0x4
;;; <@234,#187> bit-i
0x37c26f5ee1fe 1086 83f204 xorl rdx,0x4
;;; <@236,#189> bit-i
0x37c26f5ee201 1089 83e10c andl rcx,0xc
;;; <@239,#190> compare-numeric-and-branch
0x37c26f5ee204 1092 83f900 cmpl rcx,0x0
0x37c26f5ee207 1095 0f851f000000 jnz 1132 (0x37c26f5ee22c)
;;; <@240,#193> -------------------- B21 --------------------
;;; <@242,#196> bit-i
0x37c26f5ee20d 1101 83e20c andl rdx,0xc
;;; <@245,#199> compare-numeric-and-branch
0x37c26f5ee210 1104 83fa0c cmpl rdx,0xc
0x37c26f5ee213 1107 0f8413000000 jz 1132 (0x37c26f5ee22c)
;;; <@246,#203> -------------------- B22 --------------------
;;; <@248,#205> store-named-field
0x37c26f5ee219 1113 49bac950808f7a200000 REX.W movq r10,0x207a8f8050c9 ;; object: 0x207a8f8050c9 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5ee223 1123 4c8956ff REX.W movq [rsi-0x1],r10
;;; <@251,#206> goto
0x37c26f5ee227 1127 e90e000000 jmp 1146 (0x37c26f5ee23a)
;;; <@252,#197> -------------------- B23 (unreachable/replaced) --------------------
;;; <@256,#191> -------------------- B24 (unreachable/replaced) --------------------
;;; <@260,#200> -------------------- B25 --------------------
;;; <@262,#202> store-named-field
0x37c26f5ee22c 1132 49ba7150808f7a200000 REX.W movq r10,0x207a8f805071 ;; object: 0x207a8f805071 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5ee236 1142 4c8956ff REX.W movq [rsi-0x1],r10
;;; <@266,#208> -------------------- B26 --------------------
;;; <@268,#210> store-named-field
0x37c26f5ee23a 1146 c7460703000000 movl [rsi+0x7],0x3
;;; <@270,#260> smi-tag
0x37c26f5ee241 1153 8bd0 movl rdx,rax
0x37c26f5ee243 1155 48c1e220 REX.W shlq rdx, 32
;;; <@272,#211> store-named-field
0x37c26f5ee247 1159 4889560f REX.W movq [rsi+0xf],rdx
;;; <@274,#212> store-named-field
0x37c26f5ee24b 1163 49bab1e2a2968c230000 REX.W movq r10,0x238c96a2e2b1 ;; object: 0x238c96a2e2b1 <String[20]: Cannot find module '>
0x37c26f5ee255 1173 4c895617 REX.W movq [rsi+0x17],r10
;;; <@276,#213> store-named-field
0x37c26f5ee259 1177 48895e1f REX.W movq [rsi+0x1f],rbx
;;; <@279,#214> goto
0x37c26f5ee25d 1181 e90a000000 jmp 1196 (0x37c26f5ee26c)
;;; <@280,#215> -------------------- B27 --------------------
;;; <@282,#216> gap
0x37c26f5ee262 1186 48beb1e2a2968c230000 REX.W movq rsi,0x238c96a2e2b1 ;; object: 0x238c96a2e2b1 <String[20]: Cannot find module '>
;;; <@284,#218> -------------------- B28 --------------------
;;; <@286,#219> gap
0x37c26f5ee26c 1196 488bce REX.W movq rcx,rsi
;;; <@287,#219> goto
0x37c26f5ee26f 1199 e903000000 jmp 1207 (0x37c26f5ee277)
;;; <@288,#220> -------------------- B29 --------------------
;;; <@290,#221> gap
0x37c26f5ee274 1204 488bcb REX.W movq rcx,rbx
;;; <@292,#223> -------------------- B30 --------------------
0x37c26f5ee277 1207 48894dc0 REX.W movq [rbp-0x40],rcx
;;; <@294,#225> constant-t
0x37c26f5ee27b 1211 48b879d76d51de230000 REX.W movq rax,0x23de516dd779 ;; debug: position 13251
;; object: 0x23de516dd779 <String[1]: '>
;;; <@295,#225> gap
0x37c26f5ee285 1221 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f5ee289 1225 488bd1 REX.W movq rdx,rcx
;;; <@296,#228> string-add
0x37c26f5ee28c 1228 e8af34f6ff call 0x37c26f551740 ;; debug: position 13249
;; code: STUB, StringAddStub, minor: 0
;;; <@298,#228> lazy-bailout
;;; <@300,#239> push-argument
0x37c26f5ee291 1233 49bac1736b51de230000 REX.W movq r10,0x23de516b73c1 ;; debug: position 13206
;; object: 0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>
0x37c26f5ee29b 1243 4152 push r10
;;; <@302,#239> push-argument
0x37c26f5ee29d 1245 50 push rax
;;; <@304,#165> constant-t
0x37c26f5ee29e 1246 48b8c1736b51de230000 REX.W movq rax,0x23de516b73c1 ;; debug: position 13210
;; object: 0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>
;;; <@306,#165> constant-t
0x37c26f5ee2a8 1256 48b8c1736b51de230000 REX.W movq rax,0x23de516b73c1 ;; object: 0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>
;;; <@308,#39> constant-i
0x37c26f5ee2b2 1266 ba01000000 movl rdx,0x1 ;; debug: position 14295
;;; <@309,#39> gap
0x37c26f5ee2b7 1271 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f5ee2bb 1275 488bf8 REX.W movq rdi,rax
0x37c26f5ee2be 1278 4c8bd2 REX.W movq r10,rdx
0x37c26f5ee2c1 1281 488bd0 REX.W movq rdx,rax
0x37c26f5ee2c4 1284 498bc2 REX.W movq rax,r10
;;; <@310,#240> call-with-descriptor
0x37c26f5ee2c7 1287 e814ade1ff call Construct (0x37c26f408fe0) ;; debug: position 13206
;; code: BUILTIN
;;; <@312,#241> lazy-bailout
;;; <@315,#245> deoptimize
0x37c26f5ee2cc 1292 e8657ed1ff call 0x37c26f306136 ;; debug: position 13270
;; debug: position 253952
;; debug: deopt reason 'Insufficient type feedback for generic named access'
;; soft deoptimization bailout 31
;;; <@316,#246> -------------------- B31 (unreachable/replaced) --------------------
;;; <@328,#158> -------------------- B32 (unreachable/replaced) --------------------
;;; <@332,#254> -------------------- B33 --------------------
;;; <@334,#257> return
0x37c26f5ee2d1 1297 488be5 REX.W movq rsp,rbp ;; debug: position 13320
;; debug: position 13313
0x37c26f5ee2d4 1300 5d pop rbp
0x37c26f5ee2d5 1301 c22000 ret 0x20
0x37c26f5ee2d8 1304 90 nop
;;; <@230,#185> -------------------- Deferred allocate --------------------
0x37c26f5ee2d9 1305 33f6 xorl rsi,rsi ;; debug: position 13239
0x37c26f5ee2db 1307 50 push rax
0x37c26f5ee2dc 1308 51 push rcx
0x37c26f5ee2dd 1309 52 push rdx
0x37c26f5ee2de 1310 53 push rbx
0x37c26f5ee2df 1311 56 push rsi
0x37c26f5ee2e0 1312 57 push rdi
0x37c26f5ee2e1 1313 4150 push r8
0x37c26f5ee2e3 1315 4151 push r9
0x37c26f5ee2e5 1317 4153 push r11
0x37c26f5ee2e7 1319 4154 push r12
0x37c26f5ee2e9 1321 4156 push r14
0x37c26f5ee2eb 1323 4157 push r15
0x37c26f5ee2ed 1325 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x37c26f5ee2f2 1330 49ba0000000028000000 REX.W movq r10,0x2800000000
0x37c26f5ee2fc 1340 4152 push r10
0x37c26f5ee2fe 1342 6a00 push 0x0
0x37c26f5ee300 1344 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f5ee304 1348 b802000000 movl rax,0x2
0x37c26f5ee309 1353 498d9db8da3ffe REX.W leaq rbx,[r13-0x1c02548]
0x37c26f5ee310 1360 e8cb95e1ff call 0x37c26f4078e0 ;; code: STUB, CEntryStub, minor: 5
0x37c26f5ee315 1365 4889442458 REX.W movq [rsp+0x58],rax
0x37c26f5ee31a 1370 488d642420 REX.W leaq rsp,[rsp+0x20]
0x37c26f5ee31f 1375 415f pop r15
0x37c26f5ee321 1377 415e pop r14
0x37c26f5ee323 1379 415c pop r12
0x37c26f5ee325 1381 415b pop r11
0x37c26f5ee327 1383 4159 pop r9
0x37c26f5ee329 1385 4158 pop r8
0x37c26f5ee32b 1387 5f pop rdi
0x37c26f5ee32c 1388 5e pop rsi
0x37c26f5ee32d 1389 5b pop rbx
0x37c26f5ee32e 1390 5a pop rdx
0x37c26f5ee32f 1391 59 pop rcx
0x37c26f5ee330 1392 58 pop rax
0x37c26f5ee331 1393 e9c2feffff jmp 1080 (0x37c26f5ee1f8)
;;; -------------------- Jump table --------------------
0x37c26f5ee336 1398 e8cf7cb1ff call 0x37c26f10600a ;; debug: position 17408
;; debug: deopt reason 'hole'
;; deoptimization bailout 1
0x37c26f5ee33b 1403 e8d47cb1ff call 0x37c26f106014 ;; debug: position 24064
;; debug: deopt reason 'Smi'
;; deoptimization bailout 2
0x37c26f5ee340 1408 e8d97cb1ff call 0x37c26f10601e ;; debug: position 24064
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 3
0x37c26f5ee345 1413 e8de7cb1ff call 0x37c26f106028 ;; debug: position 16897
;; debug: deopt reason 'Smi'
;; deoptimization bailout 4
0x37c26f5ee34a 1418 e8e37cb1ff call 0x37c26f106032 ;; debug: position 16897
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 5
0x37c26f5ee34f 1423 e8fc7cb1ff call 0x37c26f106050 ;; debug: position 31233
;; debug: deopt reason 'Smi'
;; deoptimization bailout 8
0x37c26f5ee354 1428 e8017db1ff call 0x37c26f10605a ;; debug: position 31233
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 9
0x37c26f5ee359 1433 e8067db1ff call 0x37c26f106064 ;; debug: position 11779
;; debug: deopt reason 'Smi'
;; deoptimization bailout 10
0x37c26f5ee35e 1438 e80b7db1ff call 0x37c26f10606e ;; debug: position 11779
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 11
0x37c26f5ee363 1443 e81a7db1ff call 0x37c26f106082 ;; debug: position 67584
;; debug: deopt reason 'Smi'
;; deoptimization bailout 13
0x37c26f5ee368 1448 e81f7db1ff call 0x37c26f10608c ;; debug: position 67584
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 14
0x37c26f5ee36d 1453 e82e7db1ff call 0x37c26f1060a0 ;; debug: position 99840
;; debug: deopt reason 'Smi'
;; deoptimization bailout 16
0x37c26f5ee372 1458 e8337db1ff call 0x37c26f1060aa ;; debug: position 99840
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 17
0x37c26f5ee377 1463 e8387db1ff call 0x37c26f1060b4 ;; debug: position 99840
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 18
0x37c26f5ee37c 1468 e83d7db1ff call 0x37c26f1060be ;; debug: position 116736
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 19
0x37c26f5ee381 1473 e8427db1ff call 0x37c26f1060c8 ;; debug: position 152064
;; debug: deopt reason 'hole'
;; deoptimization bailout 20
0x37c26f5ee386 1478 e8477db1ff call 0x37c26f1060d2 ;; debug: position 152064
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 21
0x37c26f5ee38b 1483 e84c7db1ff call 0x37c26f1060dc ;; debug: position 186368
;; debug: deopt reason 'Smi'
;; deoptimization bailout 22
0x37c26f5ee390 1488 e8517db1ff call 0x37c26f1060e6 ;; debug: position 186368
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 23
0x37c26f5ee395 1493 e8607db1ff call 0x37c26f1060fa ;; debug: position 207872
;; debug: deopt reason 'Smi'
;; deoptimization bailout 25
0x37c26f5ee39a 1498 e8657db1ff call 0x37c26f106104 ;; debug: position 238080
;; debug: deopt reason 'Smi'
;; deoptimization bailout 26
0x37c26f5ee39f 1503 e86a7db1ff call 0x37c26f10610e ;; debug: position 238080
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 27
0x37c26f5ee3a4 1508 e86f7db1ff call 0x37c26f106118 ;; debug: position 238080
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 28
0x37c26f5ee3a9 1513 0f1f00 nop
;;; Safepoint table.
Inlined functions (count = 4)
0x23de516df8c1 <SharedFunctionInfo NativeModule.nonInternalExists>
0x23de516df681 <SharedFunctionInfo NativeModule.exists>
0x23de516df981 <SharedFunctionInfo NativeModule.isInternal>
0x238c96a15d39 <SharedFunctionInfo debugs.(anonymous function)>
Deoptimization Input Data (deopt points = 32)
index ast id argc pc
0 4 0 35
1 4 0 -1
2 4 0 -1
3 4 0 -1
4 3 0 -1
5 3 0 -1
6 13 0 196
7 5 0 230
8 7 0 -1
9 7 0 -1
10 3 0 -1
11 3 0 -1
12 5 0 517
13 22 0 -1
14 22 0 -1
15 57 0 760
16 57 0 -1
17 57 0 -1
18 57 0 -1
19 57 0 -1
20 57 0 -1
21 57 0 -1
22 116 0 -1
23 116 0 -1
24 144 0 935
25 144 0 -1
26 169 0 -1
27 169 0 -1
28 169 0 -1
29 201 0 1233
30 191 0 1292
31 191 0 -1
Safepoints (size = 116)
0x37c26f5edde3 35 0000010000 (sp -> fp) 0
0x37c26f5ede84 196 0011110000 (sp -> fp) 6
0x37c26f5edea6 230 0001110000 (sp -> fp) 7
0x37c26f5edfc5 517 0100110000 (sp -> fp) 12
0x37c26f5ee0b8 760 0000010000 (sp -> fp) 15
0x37c26f5ee167 935 0000010000 (sp -> fp) 24
0x37c26f5ee291 1233 1000010000 (sp -> fp) 29
0x37c26f5ee2cc 1292 0000010000 (sp -> fp) 30
0x37c26f5ee315 1365 0000010000 | rbx | rsi (sp -> fp) <none> argc: 2
RelocInfo (size = 2135)
0x37c26f5eddca position (12774)
0x37c26f5eddca comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f5eddca comment (;;; <@10,#6> prologue)
0x37c26f5eddca comment (;;; Prologue begin)
0x37c26f5eddca comment (;;; Prologue end)
0x37c26f5eddca comment (;;; <@14,#8> -------------------- B1 --------------------)
0x37c26f5eddca comment (;;; <@16,#9> context)
0x37c26f5eddce comment (;;; <@17,#9> gap)
0x37c26f5eddd2 comment (;;; <@20,#13> -------------------- B2 --------------------)
0x37c26f5eddd2 comment (;;; <@21,#13> gap)
0x37c26f5eddd5 comment (;;; <@22,#15> stack-check)
0x37c26f5edddf code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f5edde3 comment (;;; <@24,#15> lazy-bailout)
0x37c26f5edde3 comment (;;; <@25,#15> gap)
0x37c26f5edde7 comment (;;; <@26,#16> load-context-slot)
0x37c26f5edde7 position (12808)
0x37c26f5eddf5 comment (;;; <@27,#16> gap)
0x37c26f5eddf9 comment (;;; <@28,#17> check-non-smi)
0x37c26f5eddf9 position (12821)
0x37c26f5ede02 comment (;;; <@30,#18> check-maps)
0x37c26f5ede04 embedded object (0x207a8f810599 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5ede16 comment (;;; <@32,#21> constant-t)
0x37c26f5ede16 position (14655)
0x37c26f5ede18 embedded object (0x23de516e1f71 <FixedArray[19]>)
0x37c26f5ede20 comment (;;; <@34,#25> load-context-slot)
0x37c26f5ede20 position (14675)
0x37c26f5ede27 comment (;;; <@35,#25> gap)
0x37c26f5ede2b comment (;;; <@36,#26> check-non-smi)
0x37c26f5ede2b position (14688)
0x37c26f5ede34 comment (;;; <@38,#27> check-maps)
0x37c26f5ede36 embedded object (0x207a8f810599 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5ede48 comment (;;; <@40,#36> load-named-field)
0x37c26f5ede48 position (14286)
0x37c26f5ede50 comment (;;; <@41,#36> gap)
0x37c26f5ede54 comment (;;; <@42,#21> constant-t)
0x37c26f5ede54 position (14655)
0x37c26f5ede56 embedded object (0x23de516e1f71 <FixedArray[19]>)
0x37c26f5ede5e comment (;;; <@43,#21> gap)
0x37c26f5ede61 comment (;;; <@44,#37> load-named-generic)
0x37c26f5ede61 position (14295)
0x37c26f5ede63 embedded object (0x23de51684a39 <String[14]: hasOwnProperty>)
0x37c26f5ede6d embedded object (0x1c467be8e69 <FixedArray[7]>)
0x37c26f5ede80 code target (LOAD_IC) (0x37c26f551540)
0x37c26f5ede84 comment (;;; <@46,#38> lazy-bailout)
0x37c26f5ede84 comment (;;; <@48,#41> push-argument)
0x37c26f5ede87 comment (;;; <@49,#41> gap)
0x37c26f5ede8b comment (;;; <@50,#41> push-argument)
0x37c26f5ede8c comment (;;; <@52,#21> constant-t)
0x37c26f5ede8c position (14655)
0x37c26f5ede8e embedded object (0x23de516e1f71 <FixedArray[19]>)
0x37c26f5ede96 comment (;;; <@54,#39> constant-i)
0x37c26f5ede96 position (14295)
0x37c26f5ede9b comment (;;; <@55,#39> gap)
0x37c26f5edea1 comment (;;; <@56,#42> call-with-descriptor)
0x37c26f5edea2 code target (BUILTIN) (0x37c26f413aa0)
0x37c26f5edea6 comment (;;; <@58,#43> lazy-bailout)
0x37c26f5edea6 comment (;;; <@61,#44> branch)
0x37c26f5edf40 comment (;;; <@62,#49> -------------------- B3 (unreachable/replaced) --------------------)
0x37c26f5edf40 comment (;;; <@66,#56> -------------------- B4 (unreachable/replaced) --------------------)
0x37c26f5edf40 comment (;;; <@70,#45> -------------------- B5 (unreachable/replaced) --------------------)
0x37c26f5edf40 comment (;;; <@74,#53> -------------------- B6 (unreachable/replaced) --------------------)
0x37c26f5edf40 position (14703)
0x37c26f5edf40 comment (;;; <@78,#60> -------------------- B7 --------------------)
0x37c26f5edf40 comment (;;; <@80,#21> constant-t)
0x37c26f5edf40 position (14655)
0x37c26f5edf42 embedded object (0x23de516e1f71 <FixedArray[19]>)
0x37c26f5edf4a comment (;;; <@82,#61> load-context-slot)
0x37c26f5edf4a position (14703)
0x37c26f5edf51 comment (;;; <@83,#61> gap)
0x37c26f5edf55 comment (;;; <@84,#62> check-non-smi)
0x37c26f5edf55 position (14716)
0x37c26f5edf5d comment (;;; <@86,#63> check-maps)
0x37c26f5edf5f embedded object (0x207a8f810599 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5edf71 comment (;;; <@87,#63> gap)
0x37c26f5edf75 comment (;;; <@88,#69> check-non-smi)
0x37c26f5edf75 position (14801)
0x37c26f5edf7e comment (;;; <@90,#70> check-instance-type)
0x37c26f5edf8d comment (;;; <@92,#72> check-maps)
0x37c26f5edf8d comment (;;; <@94,#76> push-argument)
0x37c26f5edf8e comment (;;; <@96,#76> push-argument)
0x37c26f5edf90 embedded object (0x23de516de2b1 <String[9]: internal/>)
0x37c26f5edf9a comment (;;; <@98,#21> constant-t)
0x37c26f5edf9a position (14655)
0x37c26f5edf9c embedded object (0x23de516e1f71 <FixedArray[19]>)
0x37c26f5edfa4 comment (;;; <@100,#75> constant-t)
0x37c26f5edfa4 position (14801)
0x37c26f5edfa6 embedded object (0x23de516c1dd1 <JS Function startsWith (SharedFunctionInfo 0x23de51658e79)>)
0x37c26f5edfae comment (;;; <@102,#77> invoke-function)
0x37c26f5edfc1 code target (BUILTIN) (0x37c26f4097c0)
0x37c26f5edfc5 comment (;;; <@104,#78> lazy-bailout)
0x37c26f5edfc5 comment (;;; <@107,#79> branch)
0x37c26f5ee05f comment (;;; <@108,#84> -------------------- B8 (unreachable/replaced) --------------------)
0x37c26f5ee05f comment (;;; <@112,#92> -------------------- B9 (unreachable/replaced) --------------------)
0x37c26f5ee05f comment (;;; <@116,#96> -------------------- B10 (unreachable/replaced) --------------------)
0x37c26f5ee05f position (12855)
0x37c26f5ee05f comment (;;; <@120,#102> -------------------- B11 --------------------)
0x37c26f5ee05f comment (;;; <@121,#102> gap)
0x37c26f5ee063 comment (;;; <@122,#104> return)
0x37c26f5ee06a comment (;;; <@124,#80> -------------------- B12 (unreachable/replaced) --------------------)
0x37c26f5ee06a comment (;;; <@128,#88> -------------------- B13 (unreachable/replaced) --------------------)
0x37c26f5ee06a comment (;;; <@132,#99> -------------------- B14 (unreachable/replaced) --------------------)
0x37c26f5ee06a position (12899)
0x37c26f5ee06a comment (;;; <@136,#105> -------------------- B15 --------------------)
0x37c26f5ee06a comment (;;; <@137,#105> gap)
0x37c26f5ee06e comment (;;; <@138,#106> load-context-slot)
0x37c26f5ee075 comment (;;; <@140,#107> check-non-smi)
0x37c26f5ee075 position (12906)
0x37c26f5ee07e comment (;;; <@142,#108> check-maps)
0x37c26f5ee080 embedded object (0x37dfeae1ab49 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5ee092 comment (;;; <@144,#111> push-argument)
0x37c26f5ee093 comment (;;; <@146,#111> push-argument)
0x37c26f5ee096 comment (;;; <@147,#111> gap)
0x37c26f5ee09a comment (;;; <@148,#111> push-argument)
0x37c26f5ee09b comment (;;; <@150,#110> constant-t)
0x37c26f5ee09d embedded object (0x238c96a54929 <JS Function Module._resolveLookupPaths (SharedFunctionInfo 0x238c96a2f801)>)
0x37c26f5ee0a5 comment (;;; <@151,#110> gap)
0x37c26f5ee0a8 comment (;;; <@152,#112> invoke-function)
0x37c26f5ee0b8 comment (;;; <@154,#113> lazy-bailout)
0x37c26f5ee0b8 comment (;;; <@156,#117> check-non-smi)
0x37c26f5ee0b8 position (12969)
0x37c26f5ee0c0 comment (;;; <@158,#118> check-maps)
0x37c26f5ee0c2 embedded object (0x207a8f8071c9 <Map(FAST_ELEMENTS)>)
0x37c26f5ee0d4 comment (;;; <@160,#119> load-named-field)
0x37c26f5ee0d8 comment (;;; <@162,#120> load-named-field)
0x37c26f5ee0db comment (;;; <@164,#121> bounds-check)
0x37c26f5ee0e4 comment (;;; <@166,#130> bounds-check)
0x37c26f5ee0e4 position (13002)
0x37c26f5ee0ed comment (;;; <@168,#122> load-keyed)
0x37c26f5ee0ed position (12969)
0x37c26f5ee0f1 comment (;;; <@170,#131> load-keyed)
0x37c26f5ee0f1 position (13002)
0x37c26f5ee0f5 comment (;;; <@171,#131> gap)
0x37c26f5ee0f9 comment (;;; <@172,#133> load-context-slot)
0x37c26f5ee0f9 position (13071)
0x37c26f5ee10a comment (;;; <@174,#137> check-value)
0x37c26f5ee10c embedded object (0x238c96a54659 <JS Function debugs.(anonymous function) (SharedFunctionInfo 0x238c96a15d39)>)
0x37c26f5ee11d position (13131)
0x37c26f5ee11d comment (;;; <@178,#145> -------------------- B16 --------------------)
0x37c26f5ee11d comment (;;; <@180,#146> load-context-slot)
0x37c26f5ee124 comment (;;; <@182,#147> check-non-smi)
0x37c26f5ee124 position (13138)
0x37c26f5ee12c comment (;;; <@184,#148> check-maps)
0x37c26f5ee12e embedded object (0x37dfeae1ab49 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5ee140 comment (;;; <@186,#152> push-argument)
0x37c26f5ee141 comment (;;; <@188,#152> push-argument)
0x37c26f5ee144 comment (;;; <@190,#152> push-argument)
0x37c26f5ee145 comment (;;; <@191,#152> gap)
0x37c26f5ee149 comment (;;; <@192,#152> push-argument)
0x37c26f5ee14a comment (;;; <@194,#151> constant-t)
0x37c26f5ee14c embedded object (0x238c96a54709 <JS Function Module._findPath (SharedFunctionInfo 0x238c96a2f5c1)>)
0x37c26f5ee154 comment (;;; <@195,#151> gap)
0x37c26f5ee157 comment (;;; <@196,#153> invoke-function)
0x37c26f5ee167 comment (;;; <@198,#154> lazy-bailout)
0x37c26f5ee167 position (13180)
0x37c26f5ee167 comment (;;; <@201,#157> branch)
0x37c26f5ee18a position (207872)
0x37c26f5ee18a deopt reason (unexpected object)
0x37c26f5ee18b runtime entry (deoptimization bailout 25)
0x37c26f5ee18f comment (;;; <@202,#161> -------------------- B17 (unreachable/replaced) --------------------)
0x37c26f5ee18f position (13210)
0x37c26f5ee18f comment (;;; <@206,#164> -------------------- B18 --------------------)
0x37c26f5ee18f comment (;;; <@207,#164> gap)
0x37c26f5ee193 comment (;;; <@208,#167> check-non-smi)
0x37c26f5ee193 position (13239)
0x37c26f5ee19c comment (;;; <@210,#168> check-instance-type)
0x37c26f5ee1ab comment (;;; <@212,#170> load-named-field)
0x37c26f5ee1ae comment (;;; <@215,#172> compare-numeric-and-branch)
0x37c26f5ee1ae comment (;;; <@216,#173> -------------------- B19 --------------------)
0x37c26f5ee1ae comment (;;; <@219,#174> compare-numeric-and-branch)
0x37c26f5ee1b7 comment (;;; <@220,#175> -------------------- B20 --------------------)
0x37c26f5ee1b7 comment (;;; <@222,#178> add-i)
0x37c26f5ee1ba comment (;;; <@224,#180> bounds-check)
0x37c26f5ee1c5 comment (;;; <@226,#182> load-named-field)
0x37c26f5ee1c9 comment (;;; <@228,#183> load-named-field)
0x37c26f5ee1cd comment (;;; <@230,#185> allocate)
0x37c26f5ee1f8 comment (;;; <@231,#185> gap)
0x37c26f5ee1fb comment (;;; <@232,#186> bit-i)
0x37c26f5ee1fe comment (;;; <@234,#187> bit-i)
0x37c26f5ee201 comment (;;; <@236,#189> bit-i)
0x37c26f5ee204 comment (;;; <@239,#190> compare-numeric-and-branch)
0x37c26f5ee20d comment (;;; <@240,#193> -------------------- B21 --------------------)
0x37c26f5ee20d comment (;;; <@242,#196> bit-i)
0x37c26f5ee210 comment (;;; <@245,#199> compare-numeric-and-branch)
0x37c26f5ee219 comment (;;; <@246,#203> -------------------- B22 --------------------)
0x37c26f5ee219 comment (;;; <@248,#205> store-named-field)
0x37c26f5ee21b embedded object (0x207a8f8050c9 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5ee227 comment (;;; <@251,#206> goto)
0x37c26f5ee22c comment (;;; <@252,#197> -------------------- B23 (unreachable/replaced) --------------------)
0x37c26f5ee22c comment (;;; <@256,#191> -------------------- B24 (unreachable/replaced) --------------------)
0x37c26f5ee22c comment (;;; <@260,#200> -------------------- B25 --------------------)
0x37c26f5ee22c comment (;;; <@262,#202> store-named-field)
0x37c26f5ee22e embedded object (0x207a8f805071 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5ee23a comment (;;; <@266,#208> -------------------- B26 --------------------)
0x37c26f5ee23a comment (;;; <@268,#210> store-named-field)
0x37c26f5ee241 comment (;;; <@270,#260> smi-tag)
0x37c26f5ee247 comment (;;; <@272,#211> store-named-field)
0x37c26f5ee24b comment (;;; <@274,#212> store-named-field)
0x37c26f5ee24d embedded object (0x238c96a2e2b1 <String[20]: Cannot find module '>)
0x37c26f5ee259 comment (;;; <@276,#213> store-named-field)
0x37c26f5ee25d comment (;;; <@279,#214> goto)
0x37c26f5ee262 comment (;;; <@280,#215> -------------------- B27 --------------------)
0x37c26f5ee262 comment (;;; <@282,#216> gap)
0x37c26f5ee264 embedded object (0x238c96a2e2b1 <String[20]: Cannot find module '>)
0x37c26f5ee26c comment (;;; <@284,#218> -------------------- B28 --------------------)
0x37c26f5ee26c comment (;;; <@286,#219> gap)
0x37c26f5ee26f comment (;;; <@287,#219> goto)
0x37c26f5ee274 comment (;;; <@288,#220> -------------------- B29 --------------------)
0x37c26f5ee274 comment (;;; <@290,#221> gap)
0x37c26f5ee277 comment (;;; <@292,#223> -------------------- B30 --------------------)
0x37c26f5ee27b comment (;;; <@294,#225> constant-t)
0x37c26f5ee27b position (13251)
0x37c26f5ee27d embedded object (0x23de516dd779 <String[1]: '>)
0x37c26f5ee285 comment (;;; <@295,#225> gap)
0x37c26f5ee28c comment (;;; <@296,#228> string-add)
0x37c26f5ee28c position (13249)
0x37c26f5ee28d code target (STUB) (0x37c26f551740)
0x37c26f5ee291 comment (;;; <@298,#228> lazy-bailout)
0x37c26f5ee291 comment (;;; <@300,#239> push-argument)
0x37c26f5ee291 position (13206)
0x37c26f5ee293 embedded object (0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>)
0x37c26f5ee29d comment (;;; <@302,#239> push-argument)
0x37c26f5ee29e comment (;;; <@304,#165> constant-t)
0x37c26f5ee29e position (13210)
0x37c26f5ee2a0 embedded object (0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>)
0x37c26f5ee2a8 comment (;;; <@306,#165> constant-t)
0x37c26f5ee2aa embedded object (0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>)
0x37c26f5ee2b2 comment (;;; <@308,#39> constant-i)
0x37c26f5ee2b2 position (14295)
0x37c26f5ee2b7 comment (;;; <@309,#39> gap)
0x37c26f5ee2c7 comment (;;; <@310,#240> call-with-descriptor)
0x37c26f5ee2c7 position (13206)
0x37c26f5ee2c8 code target (BUILTIN) (0x37c26f408fe0)
0x37c26f5ee2cc comment (;;; <@312,#241> lazy-bailout)
0x37c26f5ee2cc position (13270)
0x37c26f5ee2cc comment (;;; <@315,#245> deoptimize)
0x37c26f5ee2cc position (253952)
0x37c26f5ee2cc deopt reason (Insufficient type feedback for generic named access)
0x37c26f5ee2cd runtime entry
0x37c26f5ee2d1 comment (;;; <@316,#246> -------------------- B31 (unreachable/replaced) --------------------)
0x37c26f5ee2d1 comment (;;; <@328,#158> -------------------- B32 (unreachable/replaced) --------------------)
0x37c26f5ee2d1 position (13320)
0x37c26f5ee2d1 comment (;;; <@332,#254> -------------------- B33 --------------------)
0x37c26f5ee2d1 comment (;;; <@334,#257> return)
0x37c26f5ee2d1 position (13313)
0x37c26f5ee2d9 position (13239)
0x37c26f5ee2d9 comment (;;; <@230,#185> -------------------- Deferred allocate --------------------)
0x37c26f5ee311 code target (STUB) (0x37c26f4078e0)
0x37c26f5ee336 comment (;;; -------------------- Jump table --------------------)
0x37c26f5ee336 position (17408)
0x37c26f5ee336 deopt reason (hole)
0x37c26f5ee337 runtime entry (deoptimization bailout 1)
0x37c26f5ee33b position (24064)
0x37c26f5ee33b deopt reason (Smi)
0x37c26f5ee33c runtime entry (deoptimization bailout 2)
0x37c26f5ee340 position (24064)
0x37c26f5ee340 deopt reason (wrong map)
0x37c26f5ee341 runtime entry (deoptimization bailout 3)
0x37c26f5ee345 position (16897)
0x37c26f5ee345 deopt reason (Smi)
0x37c26f5ee346 runtime entry (deoptimization bailout 4)
0x37c26f5ee34a position (16897)
0x37c26f5ee34a deopt reason (wrong map)
0x37c26f5ee34b runtime entry (deoptimization bailout 5)
0x37c26f5ee34f position (31233)
0x37c26f5ee34f deopt reason (Smi)
0x37c26f5ee350 runtime entry (deoptimization bailout 8)
0x37c26f5ee354 position (31233)
0x37c26f5ee354 deopt reason (wrong map)
0x37c26f5ee355 runtime entry (deoptimization bailout 9)
0x37c26f5ee359 position (11779)
0x37c26f5ee359 deopt reason (Smi)
0x37c26f5ee35a runtime entry (deoptimization bailout 10)
0x37c26f5ee35e position (11779)
0x37c26f5ee35e deopt reason (wrong instance type)
0x37c26f5ee35f runtime entry (deoptimization bailout 11)
0x37c26f5ee363 position (67584)
0x37c26f5ee363 deopt reason (Smi)
0x37c26f5ee364 runtime entry (deoptimization bailout 13)
0x37c26f5ee368 position (67584)
0x37c26f5ee368 deopt reason (wrong map)
0x37c26f5ee369 runtime entry (deoptimization bailout 14)
0x37c26f5ee36d position (99840)
0x37c26f5ee36d deopt reason (Smi)
0x37c26f5ee36e runtime entry (deoptimization bailout 16)
0x37c26f5ee372 position (99840)
0x37c26f5ee372 deopt reason (wrong map)
0x37c26f5ee373 runtime entry (deoptimization bailout 17)
0x37c26f5ee377 position (99840)
0x37c26f5ee377 deopt reason (out of bounds)
0x37c26f5ee378 runtime entry (deoptimization bailout 18)
0x37c26f5ee37c position (116736)
0x37c26f5ee37c deopt reason (out of bounds)
0x37c26f5ee37d runtime entry (deoptimization bailout 19)
0x37c26f5ee381 position (152064)
0x37c26f5ee381 deopt reason (hole)
0x37c26f5ee382 runtime entry (deoptimization bailout 20)
0x37c26f5ee386 position (152064)
0x37c26f5ee386 deopt reason (value mismatch)
0x37c26f5ee387 runtime entry (deoptimization bailout 21)
0x37c26f5ee38b position (186368)
0x37c26f5ee38b deopt reason (Smi)
0x37c26f5ee38c runtime entry (deoptimization bailout 22)
0x37c26f5ee390 position (186368)
0x37c26f5ee390 deopt reason (wrong map)
0x37c26f5ee391 runtime entry (deoptimization bailout 23)
0x37c26f5ee395 position (207872)
0x37c26f5ee395 deopt reason (Smi)
0x37c26f5ee396 runtime entry (deoptimization bailout 25)
0x37c26f5ee39a position (238080)
0x37c26f5ee39a deopt reason (Smi)
0x37c26f5ee39b runtime entry (deoptimization bailout 26)
0x37c26f5ee39f position (238080)
0x37c26f5ee39f deopt reason (wrong instance type)
0x37c26f5ee3a0 runtime entry (deoptimization bailout 27)
0x37c26f5ee3a4 position (238080)
0x37c26f5ee3a4 deopt reason (out of bounds)
0x37c26f5ee3a5 runtime entry (deoptimization bailout 28)
0x37c26f5ee3ac comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (Module.require) id{18,0} ---
(path) {
assert(path, 'missing path');
assert(typeof path === 'string', 'path must be a string');
return Module._load(path, this, /* isMain */ false);
}
--- END ---
--- FUNCTION SOURCE (ok) id{18,1} ---
(value, message) {
if (!value) fail(value, true, message, '==', assert.ok);
}
--- END ---
INLINE (ok) id{18,1} AS 1 AT <0:11>
--- FUNCTION SOURCE (ok) id{18,2} ---
(value, message) {
if (!value) fail(value, true, message, '==', assert.ok);
}
--- END ---
INLINE (ok) id{18,2} AS 2 AT <0:43>
--- Raw source ---
(path) {
assert(path, 'missing path');
assert(typeof path === 'string', 'path must be a string');
return Module._load(path, this, /* isMain */ false);
};
--- Optimized code ---
optimization_id = 18
source_position = 13920
kind = OPTIMIZED_FUNCTION
name = Module.require
stack_slots = 5
compiler = crankshaft
Instructions (size = 442)
0x37c26f5f2580 0 55 push rbp
0x37c26f5f2581 1 4889e5 REX.W movq rbp,rsp
0x37c26f5f2584 4 56 push rsi
0x37c26f5f2585 5 57 push rdi
0x37c26f5f2586 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@6,#4> prologue
;;; Prologue begin
;;; Prologue end
;;; <@10,#6> -------------------- B1 --------------------
;;; <@12,#7> context
0x37c26f5f258a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 13920
;;; <@13,#7> gap
0x37c26f5f258e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@16,#11> -------------------- B2 --------------------
;;; <@17,#11> gap
0x37c26f5f2592 18 488bf0 REX.W movq rsi,rax
;;; <@18,#13> stack-check
0x37c26f5f2595 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f5f259c 28 7305 jnc 35 (0x37c26f5f25a3)
0x37c26f5f259e 30 e83da6e4ff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@20,#13> lazy-bailout
;;; <@21,#13> gap
0x37c26f5f25a3 35 488b45e8 REX.W movq rax,[rbp-0x18]
;;; <@22,#14> load-context-slot
0x37c26f5f25a7 39 488b584f REX.W movq rbx,[rax+0x4f] ;; debug: position 13931
0x37c26f5f25ab 43 493b5dd8 REX.W cmpq rbx,[r13-0x28]
0x37c26f5f25af 47 0f8444010000 jz 377 (0x37c26f5f26f9)
;;; <@24,#17> check-value
0x37c26f5f25b5 53 49ba01a3dc5ae3150000 REX.W movq r10,0x15e35adca301 ;; object: 0x15e35adca301 <JS Function ok (SharedFunctionInfo 0x238c96a13a49)>
0x37c26f5f25bf 63 493bda REX.W cmpq rbx,r10
0x37c26f5f25c2 66 0f8536010000 jnz 382 (0x37c26f5f26fe)
;;; <@26,#22> gap
0x37c26f5f25c8 72 488b5510 REX.W movq rdx,[rbp+0x10] ;; debug: position 3923
;;; <@27,#22> branch
0x37c26f5f25cc 76 493b55c0 REX.W cmpq rdx,[r13-0x40]
0x37c26f5f25d0 80 0f845e000000 jz 180 (0x37c26f5f2634)
0x37c26f5f25d6 86 493b55c8 REX.W cmpq rdx,[r13-0x38]
0x37c26f5f25da 90 0f8429000000 jz 137 (0x37c26f5f2609)
0x37c26f5f25e0 96 f6c201 testb rdx,0x1
0x37c26f5f25e3 99 0f841a010000 jz 387 (0x37c26f5f2703)
0x37c26f5f25e9 105 4c8b52ff REX.W movq r10,[rdx-0x1]
0x37c26f5f25ed 109 41807a0b80 cmpb [r10+0xb],0x80
0x37c26f5f25f2 114 7310 jnc 132 (0x37c26f5f2604)
0x37c26f5f25f4 116 48837a0f00 REX.W cmpq [rdx+0xf],0x0
0x37c26f5f25f9 121 0f8535000000 jnz 180 (0x37c26f5f2634)
0x37c26f5f25ff 127 e905000000 jmp 137 (0x37c26f5f2609)
0x37c26f5f2604 132 e8153ab1ff call 0x37c26f10601e ;; debug: position 13313
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 3
;;; <@28,#26> -------------------- B3 (unreachable/replaced) --------------------
;;; <@32,#29> -------------------- B4 --------------------
;;; <@34,#18> constant-t
0x37c26f5f2609 137 48b9a904d95ae3150000 REX.W movq rcx,0x15e35ad904a9 ;; debug: position 3930
;; debug: position 3897
;; object: 0x15e35ad904a9 <FixedArray[19]>
;;; <@36,#30> load-context-slot
0x37c26f5f2613 147 488b7167 REX.W movq rsi,[rcx+0x67] ;; debug: position 3930
;;; <@38,#18> constant-t
0x37c26f5f2617 151 48b9a904d95ae3150000 REX.W movq rcx,0x15e35ad904a9 ;; debug: position 3897
;; object: 0x15e35ad904a9 <FixedArray[19]>
;;; <@40,#33> load-context-slot
0x37c26f5f2621 161 488b494f REX.W movq rcx,[rcx+0x4f] ;; debug: position 3963
0x37c26f5f2625 165 493b4dd8 REX.W cmpq rcx,[r13-0x28]
0x37c26f5f2629 169 0f84d9000000 jz 392 (0x37c26f5f2708)
;;; <@43,#34> deoptimize
0x37c26f5f262f 175 e8fe39d1ff call 0x37c26f306032 ;; debug: position 3969
;; debug: position 36865
;; debug: deopt reason 'Insufficient type feedback for generic named access'
;; soft deoptimization bailout 5
;;; <@44,#35> -------------------- B5 (unreachable/replaced) --------------------
;;; <@74,#23> -------------------- B6 (unreachable/replaced) --------------------
;;; <@78,#46> -------------------- B7 (unreachable/replaced) --------------------
;;; <@82,#49> -------------------- B8 (unreachable/replaced) --------------------
;;; <@86,#53> -------------------- B9 --------------------
;;; <@88,#55> gap
0x37c26f5f2634 180 488bca REX.W movq rcx,rdx ;; debug: position 13963
;; debug: position 13982
;;; <@89,#55> typeof-is-and-branch
0x37c26f5f2637 183 f6c101 testb rcx,0x1
0x37c26f5f263a 186 740e jz 202 (0x37c26f5f264a)
0x37c26f5f263c 188 488b49ff REX.W movq rcx,[rcx-0x1]
0x37c26f5f2640 192 80790b80 cmpb [rcx+0xb],0x80
0x37c26f5f2644 196 0f820f000000 jc 217 (0x37c26f5f2659)
;;; <@90,#61> -------------------- B10 --------------------
;;; <@92,#63> gap
0x37c26f5f264a 202 48be71426051de230000 REX.W movq rsi,0x23de51604271 ;; object: 0x23de51604271 <false>
;;; <@93,#63> goto
0x37c26f5f2654 212 e90a000000 jmp 227 (0x37c26f5f2663)
;;; <@94,#58> -------------------- B11 --------------------
;;; <@96,#60> gap
0x37c26f5f2659 217 48bec1436051de230000 REX.W movq rsi,0x23de516043c1 ;; object: 0x23de516043c1 <true>
;;; <@98,#65> -------------------- B12 --------------------
;;; <@101,#72> branch
0x37c26f5f2663 227 493b75c0 REX.W cmpq rsi,[r13-0x40] ;; debug: position 13996
;; debug: position 3923
0x37c26f5f2667 231 0f842b000000 jz 280 (0x37c26f5f2698)
;;; <@102,#76> -------------------- B13 (unreachable/replaced) --------------------
;;; <@106,#79> -------------------- B14 --------------------
;;; <@108,#18> constant-t
0x37c26f5f266d 237 48b9a904d95ae3150000 REX.W movq rcx,0x15e35ad904a9 ;; debug: position 3930
;; debug: position 3897
;; object: 0x15e35ad904a9 <FixedArray[19]>
;;; <@110,#80> load-context-slot
0x37c26f5f2677 247 488b7967 REX.W movq rdi,[rcx+0x67] ;; debug: position 3930
;;; <@112,#18> constant-t
0x37c26f5f267b 251 48b9a904d95ae3150000 REX.W movq rcx,0x15e35ad904a9 ;; debug: position 3897
;; object: 0x15e35ad904a9 <FixedArray[19]>
;;; <@114,#83> load-context-slot
0x37c26f5f2685 261 488b494f REX.W movq rcx,[rcx+0x4f] ;; debug: position 3963
0x37c26f5f2689 265 493b4dd8 REX.W cmpq rcx,[r13-0x28]
0x37c26f5f268d 269 0f847a000000 jz 397 (0x37c26f5f270d)
;;; <@117,#84> deoptimize
0x37c26f5f2693 275 e8ae39d1ff call 0x37c26f306046 ;; debug: position 3969
;; debug: position 36866
;; debug: deopt reason 'Insufficient type feedback for generic named access'
;; soft deoptimization bailout 7
;;; <@118,#85> -------------------- B15 (unreachable/replaced) --------------------
;;; <@148,#73> -------------------- B16 (unreachable/replaced) --------------------
;;; <@152,#96> -------------------- B17 (unreachable/replaced) --------------------
;;; <@156,#99> -------------------- B18 (unreachable/replaced) --------------------
;;; <@160,#103> -------------------- B19 --------------------
;;; <@162,#104> load-context-slot
0x37c26f5f2698 280 488b988f000000 REX.W movq rbx,[rax+0x8f] ;; debug: position 14031
;;; <@164,#105> check-non-smi
0x37c26f5f269f 287 f6c301 testb rbx,0x1 ;; debug: position 14038
0x37c26f5f26a2 290 0f846a000000 jz 402 (0x37c26f5f2712)
;;; <@166,#106> check-maps
0x37c26f5f26a8 296 49ba49abe1eadf370000 REX.W movq r10,0x37dfeae1ab49 ;; object: 0x37dfeae1ab49 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f5f26b2 306 4c3953ff REX.W cmpq [rbx-0x1],r10
0x37c26f5f26b6 310 0f855b000000 jnz 407 (0x37c26f5f2717)
;;; <@168,#110> push-argument
0x37c26f5f26bc 316 53 push rbx
;;; <@170,#110> push-argument
0x37c26f5f26bd 317 52 push rdx
;;; <@171,#110> gap
0x37c26f5f26be 318 488b5d18 REX.W movq rbx,[rbp+0x18]
;;; <@172,#110> push-argument
0x37c26f5f26c2 322 53 push rbx
;;; <@174,#110> push-argument
0x37c26f5f26c3 323 49ba71426051de230000 REX.W movq r10,0x23de51604271 ;; object: 0x23de51604271 <false>
0x37c26f5f26cd 333 4152 push r10
;;; <@176,#109> constant-t
0x37c26f5f26cf 335 48bf314aa5968c230000 REX.W movq rdi,0x238c96a54a31 ;; object: 0x238c96a54a31 <JS Function Module._load (SharedFunctionInfo 0x238c96a2f8c1)>
;;; <@177,#109> gap
0x37c26f5f26d9 345 488bf0 REX.W movq rsi,rax
;;; <@178,#111> invoke-function
0x37c26f5f26dc 348 488b7727 REX.W movq rsi,[rdi+0x27]
0x37c26f5f26e0 352 498b55a8 REX.W movq rdx,[r13-0x58]
0x37c26f5f26e4 356 b803000000 movl rax,0x3
0x37c26f5f26e9 361 ff5737 call [rdi+0x37]
;;; <@180,#112> lazy-bailout
;;; <@182,#114> return
0x37c26f5f26ec 364 488be5 REX.W movq rsp,rbp ;; debug: position 14024
0x37c26f5f26ef 367 5d pop rbp
0x37c26f5f26f0 368 c21000 ret 0x10
0x37c26f5f26f3 371 660f1f440000 nop
;;; -------------------- Jump table --------------------
0x37c26f5f26f9 377 e80c39b1ff call 0x37c26f10600a ;; debug: position 5632
;; debug: deopt reason 'hole'
;; deoptimization bailout 1
0x37c26f5f26fe 382 e81139b1ff call 0x37c26f106014 ;; debug: position 5632
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 2
0x37c26f5f2703 387 e81639b1ff call 0x37c26f10601e ;; debug: position 13313
;; debug: deopt reason 'Smi'
;; deoptimization bailout 3
0x37c26f5f2708 392 e81b39b1ff call 0x37c26f106028 ;; debug: position 33793
;; debug: deopt reason 'hole'
;; deoptimization bailout 4
0x37c26f5f270d 397 e82a39b1ff call 0x37c26f10603c ;; debug: position 33794
;; debug: deopt reason 'hole'
;; deoptimization bailout 6
0x37c26f5f2712 402 e83939b1ff call 0x37c26f106050 ;; debug: position 60416
;; debug: deopt reason 'Smi'
;; deoptimization bailout 8
0x37c26f5f2717 407 e83e39b1ff call 0x37c26f10605a ;; debug: position 60416
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 9
;;; Safepoint table.
Inlined functions (count = 1)
0x238c96a13a49 <SharedFunctionInfo ok>
Deoptimization Input Data (deopt points = 11)
index ast id argc pc
0 4 0 35
1 4 0 -1
2 4 0 -1
3 3 0 -1
4 6 0 -1
5 6 0 -1
6 6 0 -1
7 6 0 -1
8 20 0 -1
9 20 0 -1
10 45 0 364
Safepoints (size = 30)
0x37c26f5f25a3 35 10000 (sp -> fp) 0
0x37c26f5f26ec 364 10000 (sp -> fp) 10
RelocInfo (size = 839)
0x37c26f5f258a position (13920)
0x37c26f5f258a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f5f258a comment (;;; <@6,#4> prologue)
0x37c26f5f258a comment (;;; Prologue begin)
0x37c26f5f258a comment (;;; Prologue end)
0x37c26f5f258a comment (;;; <@10,#6> -------------------- B1 --------------------)
0x37c26f5f258a comment (;;; <@12,#7> context)
0x37c26f5f258e comment (;;; <@13,#7> gap)
0x37c26f5f2592 comment (;;; <@16,#11> -------------------- B2 --------------------)
0x37c26f5f2592 comment (;;; <@17,#11> gap)
0x37c26f5f2595 comment (;;; <@18,#13> stack-check)
0x37c26f5f259f code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f5f25a3 comment (;;; <@20,#13> lazy-bailout)
0x37c26f5f25a3 comment (;;; <@21,#13> gap)
0x37c26f5f25a7 comment (;;; <@22,#14> load-context-slot)
0x37c26f5f25a7 position (13931)
0x37c26f5f25b5 comment (;;; <@24,#17> check-value)
0x37c26f5f25b7 embedded object (0x15e35adca301 <JS Function ok (SharedFunctionInfo 0x238c96a13a49)>)
0x37c26f5f25c8 comment (;;; <@26,#22> gap)
0x37c26f5f25c8 position (3923)
0x37c26f5f25cc comment (;;; <@27,#22> branch)
0x37c26f5f2604 position (13313)
0x37c26f5f2604 deopt reason (unexpected object)
0x37c26f5f2605 runtime entry (deoptimization bailout 3)
0x37c26f5f2609 comment (;;; <@28,#26> -------------------- B3 (unreachable/replaced) --------------------)
0x37c26f5f2609 position (3930)
0x37c26f5f2609 comment (;;; <@32,#29> -------------------- B4 --------------------)
0x37c26f5f2609 comment (;;; <@34,#18> constant-t)
0x37c26f5f2609 position (3897)
0x37c26f5f260b embedded object (0x15e35ad904a9 <FixedArray[19]>)
0x37c26f5f2613 comment (;;; <@36,#30> load-context-slot)
0x37c26f5f2613 position (3930)
0x37c26f5f2617 comment (;;; <@38,#18> constant-t)
0x37c26f5f2617 position (3897)
0x37c26f5f2619 embedded object (0x15e35ad904a9 <FixedArray[19]>)
0x37c26f5f2621 comment (;;; <@40,#33> load-context-slot)
0x37c26f5f2621 position (3963)
0x37c26f5f262f position (3969)
0x37c26f5f262f comment (;;; <@43,#34> deoptimize)
0x37c26f5f262f position (36865)
0x37c26f5f262f deopt reason (Insufficient type feedback for generic named access)
0x37c26f5f2630 runtime entry
0x37c26f5f2634 comment (;;; <@44,#35> -------------------- B5 (unreachable/replaced) --------------------)
0x37c26f5f2634 comment (;;; <@74,#23> -------------------- B6 (unreachable/replaced) --------------------)
0x37c26f5f2634 comment (;;; <@78,#46> -------------------- B7 (unreachable/replaced) --------------------)
0x37c26f5f2634 comment (;;; <@82,#49> -------------------- B8 (unreachable/replaced) --------------------)
0x37c26f5f2634 position (13963)
0x37c26f5f2634 comment (;;; <@86,#53> -------------------- B9 --------------------)
0x37c26f5f2634 comment (;;; <@88,#55> gap)
0x37c26f5f2634 position (13982)
0x37c26f5f2637 comment (;;; <@89,#55> typeof-is-and-branch)
0x37c26f5f264a comment (;;; <@90,#61> -------------------- B10 --------------------)
0x37c26f5f264a comment (;;; <@92,#63> gap)
0x37c26f5f264c embedded object (0x23de51604271 <false>)
0x37c26f5f2654 comment (;;; <@93,#63> goto)
0x37c26f5f2659 comment (;;; <@94,#58> -------------------- B11 --------------------)
0x37c26f5f2659 comment (;;; <@96,#60> gap)
0x37c26f5f265b embedded object (0x23de516043c1 <true>)
0x37c26f5f2663 position (13996)
0x37c26f5f2663 comment (;;; <@98,#65> -------------------- B12 --------------------)
0x37c26f5f2663 position (3923)
0x37c26f5f2663 comment (;;; <@101,#72> branch)
0x37c26f5f266d comment (;;; <@102,#76> -------------------- B13 (unreachable/replaced) --------------------)
0x37c26f5f266d position (3930)
0x37c26f5f266d comment (;;; <@106,#79> -------------------- B14 --------------------)
0x37c26f5f266d comment (;;; <@108,#18> constant-t)
0x37c26f5f266d position (3897)
0x37c26f5f266f embedded object (0x15e35ad904a9 <FixedArray[19]>)
0x37c26f5f2677 comment (;;; <@110,#80> load-context-slot)
0x37c26f5f2677 position (3930)
0x37c26f5f267b comment (;;; <@112,#18> constant-t)
0x37c26f5f267b position (3897)
0x37c26f5f267d embedded object (0x15e35ad904a9 <FixedArray[19]>)
0x37c26f5f2685 comment (;;; <@114,#83> load-context-slot)
0x37c26f5f2685 position (3963)
0x37c26f5f2693 position (3969)
0x37c26f5f2693 comment (;;; <@117,#84> deoptimize)
0x37c26f5f2693 position (36866)
0x37c26f5f2693 deopt reason (Insufficient type feedback for generic named access)
0x37c26f5f2694 runtime entry
0x37c26f5f2698 comment (;;; <@118,#85> -------------------- B15 (unreachable/replaced) --------------------)
0x37c26f5f2698 comment (;;; <@148,#73> -------------------- B16 (unreachable/replaced) --------------------)
0x37c26f5f2698 comment (;;; <@152,#96> -------------------- B17 (unreachable/replaced) --------------------)
0x37c26f5f2698 comment (;;; <@156,#99> -------------------- B18 (unreachable/replaced) --------------------)
0x37c26f5f2698 position (14031)
0x37c26f5f2698 comment (;;; <@160,#103> -------------------- B19 --------------------)
0x37c26f5f2698 comment (;;; <@162,#104> load-context-slot)
0x37c26f5f269f comment (;;; <@164,#105> check-non-smi)
0x37c26f5f269f position (14038)
0x37c26f5f26a8 comment (;;; <@166,#106> check-maps)
0x37c26f5f26aa embedded object (0x37dfeae1ab49 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f5f26bc comment (;;; <@168,#110> push-argument)
0x37c26f5f26bd comment (;;; <@170,#110> push-argument)
0x37c26f5f26be comment (;;; <@171,#110> gap)
0x37c26f5f26c2 comment (;;; <@172,#110> push-argument)
0x37c26f5f26c3 comment (;;; <@174,#110> push-argument)
0x37c26f5f26c5 embedded object (0x23de51604271 <false>)
0x37c26f5f26cf comment (;;; <@176,#109> constant-t)
0x37c26f5f26d1 embedded object (0x238c96a54a31 <JS Function Module._load (SharedFunctionInfo 0x238c96a2f8c1)>)
0x37c26f5f26d9 comment (;;; <@177,#109> gap)
0x37c26f5f26dc comment (;;; <@178,#111> invoke-function)
0x37c26f5f26ec comment (;;; <@180,#112> lazy-bailout)
0x37c26f5f26ec comment (;;; <@182,#114> return)
0x37c26f5f26ec position (14024)
0x37c26f5f26f9 comment (;;; -------------------- Jump table --------------------)
0x37c26f5f26f9 position (5632)
0x37c26f5f26f9 deopt reason (hole)
0x37c26f5f26fa runtime entry (deoptimization bailout 1)
0x37c26f5f26fe position (5632)
0x37c26f5f26fe deopt reason (value mismatch)
0x37c26f5f26ff runtime entry (deoptimization bailout 2)
0x37c26f5f2703 position (13313)
0x37c26f5f2703 deopt reason (Smi)
0x37c26f5f2704 runtime entry (deoptimization bailout 3)
0x37c26f5f2708 position (33793)
0x37c26f5f2708 deopt reason (hole)
0x37c26f5f2709 runtime entry (deoptimization bailout 4)
0x37c26f5f270d position (33794)
0x37c26f5f270d deopt reason (hole)
0x37c26f5f270e runtime entry (deoptimization bailout 6)
0x37c26f5f2712 position (60416)
0x37c26f5f2712 deopt reason (Smi)
0x37c26f5f2713 runtime entry (deoptimization bailout 8)
0x37c26f5f2717 position (60416)
0x37c26f5f2717 deopt reason (wrong map)
0x37c26f5f2718 runtime entry (deoptimization bailout 9)
0x37c26f5f271c comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (NativeModule.wrap) id{19,0} ---
(script) {
return NativeModule.wrapper[0] + script + NativeModule.wrapper[1];
}
--- END ---
--- Raw source ---
(script) {
return NativeModule.wrapper[0] + script + NativeModule.wrapper[1];
};
--- Optimized code ---
optimization_id = 19
source_position = 14954
kind = OPTIMIZED_FUNCTION
name = NativeModule.wrap
stack_slots = 6
compiler = crankshaft
Instructions (size = 357)
0x37c26f615900 0 55 push rbp
0x37c26f615901 1 4889e5 REX.W movq rbp,rsp
0x37c26f615904 4 56 push rsi
0x37c26f615905 5 57 push rdi
0x37c26f615906 6 4883ec10 REX.W subq rsp,0x10
;;; <@0,#0> -------------------- B0 --------------------
;;; <@6,#4> prologue
;;; Prologue begin
;;; Prologue end
;;; <@10,#6> -------------------- B1 --------------------
;;; <@12,#7> context
0x37c26f61590a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 14954
;;; <@13,#7> gap
0x37c26f61590e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@16,#11> -------------------- B2 --------------------
;;; <@17,#11> gap
0x37c26f615912 18 488bf0 REX.W movq rsi,rax
;;; <@18,#13> stack-check
0x37c26f615915 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f61591c 28 7305 jnc 35 (0x37c26f615923)
0x37c26f61591e 30 e8bd72e2ff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@20,#13> lazy-bailout
;;; <@21,#13> gap
0x37c26f615923 35 488b5de8 REX.W movq rbx,[rbp-0x18]
;;; <@22,#14> load-context-slot
0x37c26f615927 39 488b839f000000 REX.W movq rax,[rbx+0x9f] ;; debug: position 14976
;;; <@24,#15> check-non-smi
0x37c26f61592e 46 a801 test al,0x1 ;; debug: position 14988
0x37c26f615930 48 0f84cd000000 jz 259 (0x37c26f615a03)
;;; <@26,#16> check-maps
0x37c26f615936 54 49ba9905818f7a200000 REX.W movq r10,0x207a8f810599 ;; object: 0x207a8f810599 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f615940 64 4c3950ff REX.W cmpq [rax-0x1],r10
0x37c26f615944 68 0f85be000000 jnz 264 (0x37c26f615a08)
;;; <@28,#17> load-named-field
0x37c26f61594a 74 488b4007 REX.W movq rax,[rax+0x7]
0x37c26f61594e 78 488b401f REX.W movq rax,[rax+0x1f]
;;; <@30,#19> check-maps
0x37c26f615952 82 49bac971808f7a200000 REX.W movq r10,0x207a8f8071c9 ;; debug: position 14996
;; object: 0x207a8f8071c9 <Map(FAST_ELEMENTS)>
0x37c26f61595c 92 4c3950ff REX.W cmpq [rax-0x1],r10
0x37c26f615960 96 0f85a7000000 jnz 269 (0x37c26f615a0d)
;;; <@32,#20> load-named-field
0x37c26f615966 102 488b480f REX.W movq rcx,[rax+0xf]
;;; <@33,#20> gap
0x37c26f61596a 106 48894de0 REX.W movq [rbp-0x20],rcx
;;; <@34,#21> load-named-field
0x37c26f61596e 110 8b401b movl rax,[rax+0x1b]
;;; <@36,#22> bounds-check
0x37c26f615971 113 83f800 cmpl rax,0x0
0x37c26f615974 116 0f8698000000 jna 274 (0x37c26f615a12)
;;; <@38,#38> bounds-check
0x37c26f61597a 122 83f801 cmpl rax,0x1 ;; debug: position 15031
0x37c26f61597d 125 0f8694000000 jna 279 (0x37c26f615a17)
;;; <@40,#23> load-keyed
0x37c26f615983 131 488b510f REX.W movq rdx,[rcx+0xf] ;; debug: position 14996
;;; <@42,#25> check-non-smi
0x37c26f615987 135 f6c201 testb rdx,0x1 ;; debug: position 15000
0x37c26f61598a 138 0f848c000000 jz 284 (0x37c26f615a1c)
;;; <@44,#26> check-instance-type
0x37c26f615990 144 4c8b52ff REX.W movq r10,[rdx-0x1]
0x37c26f615994 148 41f6420b80 testb [r10+0xb],0x80
0x37c26f615999 153 0f8582000000 jnz 289 (0x37c26f615a21)
;;; <@45,#26> gap
0x37c26f61599f 159 488b7d10 REX.W movq rdi,[rbp+0x10]
;;; <@46,#27> check-non-smi
0x37c26f6159a3 163 40f6c701 testb rdi,0x1
0x37c26f6159a7 167 0f8479000000 jz 294 (0x37c26f615a26)
;;; <@48,#28> check-instance-type
0x37c26f6159ad 173 4c8b57ff REX.W movq r10,[rdi-0x1]
0x37c26f6159b1 177 41f6420b80 testb [r10+0xb],0x80
0x37c26f6159b6 182 0f856f000000 jnz 299 (0x37c26f615a2b)
;;; <@49,#28> gap
0x37c26f6159bc 188 488bf3 REX.W movq rsi,rbx
0x37c26f6159bf 191 488bc7 REX.W movq rax,rdi
;;; <@50,#29> string-add
0x37c26f6159c2 194 e879bdf3ff call 0x37c26f551740 ;; code: STUB, StringAddStub, minor: 0
;;; <@52,#29> lazy-bailout
;;; <@53,#29> gap
0x37c26f6159c7 199 488b5de0 REX.W movq rbx,[rbp-0x20]
;;; <@54,#39> load-keyed
0x37c26f6159cb 203 488b5b17 REX.W movq rbx,[rbx+0x17] ;; debug: position 15031
;;; <@56,#40> check-non-smi
0x37c26f6159cf 207 f6c301 testb rbx,0x1 ;; debug: position 15009
0x37c26f6159d2 210 0f8458000000 jz 304 (0x37c26f615a30)
;;; <@58,#41> check-instance-type
0x37c26f6159d8 216 4c8b53ff REX.W movq r10,[rbx-0x1]
0x37c26f6159dc 220 41f6420b80 testb [r10+0xb],0x80
0x37c26f6159e1 225 0f854e000000 jnz 309 (0x37c26f615a35)
;;; <@59,#41> gap
0x37c26f6159e7 231 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f6159eb 235 488bd0 REX.W movq rdx,rax
0x37c26f6159ee 238 488bc3 REX.W movq rax,rbx
;;; <@60,#42> string-add
0x37c26f6159f1 241 e84abdf3ff call 0x37c26f551740 ;; code: STUB, StringAddStub, minor: 0
;;; <@62,#42> lazy-bailout
;;; <@64,#44> return
0x37c26f6159f6 246 488be5 REX.W movq rsp,rbp ;; debug: position 14969
0x37c26f6159f9 249 5d pop rbp
0x37c26f6159fa 250 c21000 ret 0x10
0x37c26f6159fd 253 660f1f440000 nop
;;; -------------------- Jump table --------------------
0x37c26f615a03 259 e80206afff call 0x37c26f10600a ;; debug: position 17408
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x37c26f615a08 264 e80706afff call 0x37c26f106014 ;; debug: position 17408
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 2
0x37c26f615a0d 269 e80c06afff call 0x37c26f10601e ;; debug: position 21504
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 3
0x37c26f615a12 274 e81106afff call 0x37c26f106028 ;; debug: position 21504
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 4
0x37c26f615a17 279 e81606afff call 0x37c26f106032 ;; debug: position 39424
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 5
0x37c26f615a1c 284 e81b06afff call 0x37c26f10603c ;; debug: position 23552
;; debug: deopt reason 'Smi'
;; deoptimization bailout 6
0x37c26f615a21 289 e82006afff call 0x37c26f106046 ;; debug: position 23552
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 7
0x37c26f615a26 294 e82506afff call 0x37c26f106050 ;; debug: position 23552
;; debug: deopt reason 'Smi'
;; deoptimization bailout 8
0x37c26f615a2b 299 e82a06afff call 0x37c26f10605a ;; debug: position 23552
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 9
0x37c26f615a30 304 e83906afff call 0x37c26f10606e ;; debug: position 28160
;; debug: deopt reason 'Smi'
;; deoptimization bailout 11
0x37c26f615a35 309 e83e06afff call 0x37c26f106078 ;; debug: position 28160
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 12
0x37c26f615a3a 314 6690 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 14)
index ast id argc pc
0 4 0 35
1 4 0 -1
2 4 0 -1
3 4 0 -1
4 4 0 -1
5 4 0 -1
6 4 0 -1
7 4 0 -1
8 4 0 -1
9 4 0 -1
10 4 0 199
11 4 0 -1
12 4 0 -1
13 4 0 246
Safepoints (size = 41)
0x37c26f615923 35 010000 (sp -> fp) 0
0x37c26f6159c7 199 110000 (sp -> fp) 10
0x37c26f6159f6 246 010000 (sp -> fp) 13
RelocInfo (size = 537)
0x37c26f61590a position (14954)
0x37c26f61590a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f61590a comment (;;; <@6,#4> prologue)
0x37c26f61590a comment (;;; Prologue begin)
0x37c26f61590a comment (;;; Prologue end)
0x37c26f61590a comment (;;; <@10,#6> -------------------- B1 --------------------)
0x37c26f61590a comment (;;; <@12,#7> context)
0x37c26f61590e comment (;;; <@13,#7> gap)
0x37c26f615912 comment (;;; <@16,#11> -------------------- B2 --------------------)
0x37c26f615912 comment (;;; <@17,#11> gap)
0x37c26f615915 comment (;;; <@18,#13> stack-check)
0x37c26f61591f code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f615923 comment (;;; <@20,#13> lazy-bailout)
0x37c26f615923 comment (;;; <@21,#13> gap)
0x37c26f615927 comment (;;; <@22,#14> load-context-slot)
0x37c26f615927 position (14976)
0x37c26f61592e comment (;;; <@24,#15> check-non-smi)
0x37c26f61592e position (14988)
0x37c26f615936 comment (;;; <@26,#16> check-maps)
0x37c26f615938 embedded object (0x207a8f810599 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f61594a comment (;;; <@28,#17> load-named-field)
0x37c26f615952 comment (;;; <@30,#19> check-maps)
0x37c26f615952 position (14996)
0x37c26f615954 embedded object (0x207a8f8071c9 <Map(FAST_ELEMENTS)>)
0x37c26f615966 comment (;;; <@32,#20> load-named-field)
0x37c26f61596a comment (;;; <@33,#20> gap)
0x37c26f61596e comment (;;; <@34,#21> load-named-field)
0x37c26f615971 comment (;;; <@36,#22> bounds-check)
0x37c26f61597a comment (;;; <@38,#38> bounds-check)
0x37c26f61597a position (15031)
0x37c26f615983 comment (;;; <@40,#23> load-keyed)
0x37c26f615983 position (14996)
0x37c26f615987 comment (;;; <@42,#25> check-non-smi)
0x37c26f615987 position (15000)
0x37c26f615990 comment (;;; <@44,#26> check-instance-type)
0x37c26f61599f comment (;;; <@45,#26> gap)
0x37c26f6159a3 comment (;;; <@46,#27> check-non-smi)
0x37c26f6159ad comment (;;; <@48,#28> check-instance-type)
0x37c26f6159bc comment (;;; <@49,#28> gap)
0x37c26f6159c2 comment (;;; <@50,#29> string-add)
0x37c26f6159c3 code target (STUB) (0x37c26f551740)
0x37c26f6159c7 comment (;;; <@52,#29> lazy-bailout)
0x37c26f6159c7 comment (;;; <@53,#29> gap)
0x37c26f6159cb comment (;;; <@54,#39> load-keyed)
0x37c26f6159cb position (15031)
0x37c26f6159cf comment (;;; <@56,#40> check-non-smi)
0x37c26f6159cf position (15009)
0x37c26f6159d8 comment (;;; <@58,#41> check-instance-type)
0x37c26f6159e7 comment (;;; <@59,#41> gap)
0x37c26f6159f1 comment (;;; <@60,#42> string-add)
0x37c26f6159f2 code target (STUB) (0x37c26f551740)
0x37c26f6159f6 comment (;;; <@62,#42> lazy-bailout)
0x37c26f6159f6 comment (;;; <@64,#44> return)
0x37c26f6159f6 position (14969)
0x37c26f615a03 comment (;;; -------------------- Jump table --------------------)
0x37c26f615a03 position (17408)
0x37c26f615a03 deopt reason (Smi)
0x37c26f615a04 runtime entry (deoptimization bailout 1)
0x37c26f615a08 position (17408)
0x37c26f615a08 deopt reason (wrong map)
0x37c26f615a09 runtime entry (deoptimization bailout 2)
0x37c26f615a0d position (21504)
0x37c26f615a0d deopt reason (wrong map)
0x37c26f615a0e runtime entry (deoptimization bailout 3)
0x37c26f615a12 position (21504)
0x37c26f615a12 deopt reason (out of bounds)
0x37c26f615a13 runtime entry (deoptimization bailout 4)
0x37c26f615a17 position (39424)
0x37c26f615a17 deopt reason (out of bounds)
0x37c26f615a18 runtime entry (deoptimization bailout 5)
0x37c26f615a1c position (23552)
0x37c26f615a1c deopt reason (Smi)
0x37c26f615a1d runtime entry (deoptimization bailout 6)
0x37c26f615a21 position (23552)
0x37c26f615a21 deopt reason (wrong instance type)
0x37c26f615a22 runtime entry (deoptimization bailout 7)
0x37c26f615a26 position (23552)
0x37c26f615a26 deopt reason (Smi)
0x37c26f615a27 runtime entry (deoptimization bailout 8)
0x37c26f615a2b position (23552)
0x37c26f615a2b deopt reason (wrong instance type)
0x37c26f615a2c runtime entry (deoptimization bailout 9)
0x37c26f615a30 position (28160)
0x37c26f615a30 deopt reason (Smi)
0x37c26f615a31 runtime entry (deoptimization bailout 11)
0x37c26f615a35 position (28160)
0x37c26f615a35 deopt reason (wrong instance type)
0x37c26f615a36 runtime entry (deoptimization bailout 12)
0x37c26f615a3c comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (CheckCallSite) id{20,0} ---
(Q,R){
if(!(%_IsJSReceiver(Q))||!(%_Call(t,Q,h))){
throw MakeTypeError(20,R);
}
}
--- END ---
--- Raw source ---
(Q,R){
if(!(%_IsJSReceiver(Q))||!(%_Call(t,Q,h))){
throw MakeTypeError(20,R);
}
}
--- Optimized code ---
optimization_id = 20
source_position = 7411
kind = OPTIMIZED_FUNCTION
name = CheckCallSite
stack_slots = 5
compiler = crankshaft
Instructions (size = 288)
0x37c26f618040 0 55 push rbp
0x37c26f618041 1 4889e5 REX.W movq rbp,rsp
0x37c26f618044 4 56 push rsi
0x37c26f618045 5 57 push rdi
0x37c26f618046 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@8,#5> prologue
;;; Prologue begin
;;; Prologue end
;;; <@12,#7> -------------------- B1 --------------------
;;; <@14,#8> context
0x37c26f61804a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 7411
;;; <@15,#8> gap
0x37c26f61804e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@18,#12> -------------------- B2 --------------------
;;; <@19,#12> gap
0x37c26f618052 18 488bf0 REX.W movq rsi,rax
;;; <@20,#14> stack-check
0x37c26f618055 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f61805c 28 7305 jnc 35 (0x37c26f618063)
0x37c26f61805e 30 e87d4be2ff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@22,#14> lazy-bailout
;;; <@24,#16> gap
0x37c26f618063 35 488b5d18 REX.W movq rbx,[rbp+0x18] ;; debug: position 7423
;;; <@25,#16> has-instance-type-and-branch
0x37c26f618067 39 f6c301 testb rbx,0x1
0x37c26f61806a 42 0f8446000000 jz 118 (0x37c26f6180b6)
0x37c26f618070 48 4c8b53ff REX.W movq r10,[rbx-0x1]
0x37c26f618074 52 41807a0bb1 cmpb [r10+0xb],0xb1
0x37c26f618079 57 0f8237000000 jc 118 (0x37c26f6180b6)
;;; <@26,#20> -------------------- B3 (unreachable/replaced) --------------------
;;; <@30,#17> -------------------- B4 (unreachable/replaced) --------------------
;;; <@34,#23> -------------------- B5 --------------------
;;; <@35,#23> gap
0x37c26f61807f 63 488b55e8 REX.W movq rdx,[rbp-0x18] ;; debug: position 7452
;;; <@36,#24> load-context-slot
0x37c26f618083 67 488bbab7000000 REX.W movq rdi,[rdx+0xb7]
;;; <@38,#25> load-context-slot
0x37c26f61808a 74 488b4257 REX.W movq rax,[rdx+0x57] ;; debug: position 7456
;;; <@40,#26> push-argument
0x37c26f61808e 78 53 push rbx ;; debug: position 7445
;;; <@42,#26> push-argument
0x37c26f61808f 79 50 push rax
;;; <@44,#28> constant-i
0x37c26f618090 80 b801000000 movl rax,0x1
;;; <@45,#28> gap
0x37c26f618095 85 488bf2 REX.W movq rsi,rdx
;;; <@46,#29> call-with-descriptor
0x37c26f618098 88 e8633bdfff call Call_ReceiverIsAny (0x37c26f40bc00) ;; code: BUILTIN
;;; <@48,#30> lazy-bailout
;;; <@51,#31> branch
0x37c26f61809d 93 493b45c0 REX.W cmpq rax,[r13-0x40]
0x37c26f6180a1 97 0f8471000000 jz 216 (0x37c26f618118)
0x37c26f6180a7 103 493b45c8 REX.W cmpq rax,[r13-0x38]
0x37c26f6180ab 107 0f8405000000 jz 118 (0x37c26f6180b6)
0x37c26f6180b1 113 e85edfaeff call 0x37c26f106014 ;; debug: position 17408
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 2
;;; <@52,#35> -------------------- B6 (unreachable/replaced) --------------------
;;; <@56,#38> -------------------- B7 --------------------
;;; <@57,#38> gap
0x37c26f6180b6 118 488b45e8 REX.W movq rax,[rbp-0x18] ;; debug: position 7468
;;; <@58,#39> load-context-slot
0x37c26f6180ba 122 488bb8ef010000 REX.W movq rdi,[rax+0x1ef]
;;; <@60,#41> push-argument
0x37c26f6180c1 129 49ba81436051de230000 REX.W movq r10,0x23de51604381 ;; object: 0x23de51604381 <undefined>
0x37c26f6180cb 139 4152 push r10
;;; <@62,#41> push-argument
0x37c26f6180cd 141 49ba0000000014000000 REX.W movq r10,0x1400000000
0x37c26f6180d7 151 4152 push r10
;;; <@63,#41> gap
0x37c26f6180d9 153 488b4d10 REX.W movq rcx,[rbp+0x10]
;;; <@64,#41> push-argument
0x37c26f6180dd 157 51 push rcx
;;; <@66,#56> constant-s
0x37c26f6180de 158 48ba0000000001000000 REX.W movq rdx,0x100000000
;;; <@68,#43> constant-t
0x37c26f6180e8 168 48bbb18709482d2a0000 REX.W movq rbx,0x2a2d480987b1 ;; object: 0x2a2d480987b1 <FixedArray[3]>
;;; <@69,#43> gap
0x37c26f6180f2 178 488bf0 REX.W movq rsi,rax
;;; <@70,#45> call-with-descriptor
0x37c26f6180f5 181 e846c2f0ff call 0x37c26f524340 ;; code: CALL_IC, GENERIC
;;; <@72,#46> lazy-bailout
;;; <@74,#47> push-argument
0x37c26f6180fa 186 50 push rax ;; debug: position 7462
;;; <@75,#47> gap
0x37c26f6180fb 187 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@76,#48> call-runtime
0x37c26f6180ff 191 0f1f840000000000 nop
0x37c26f618107 199 b801000000 movl rax,0x1
0x37c26f61810c 204 498d9d58b13ffe REX.W leaq rbx,[r13-0x1c04ea8]
0x37c26f618113 211 e82811dfff call 0x37c26f409240 ;; code: STUB, CEntryStub, minor: 4
;;; <@78,#49> lazy-bailout
;;; <@80,#32> -------------------- B8 (unreachable/replaced) --------------------
;;; <@84,#51> -------------------- B9 --------------------
;;; <@86,#4> constant-t
0x37c26f618118 216 48b881436051de230000 REX.W movq rax,0x23de51604381 ;; debug: position 7411
;; object: 0x23de51604381 <undefined>
;;; <@88,#53> return
0x37c26f618122 226 488be5 REX.W movq rsp,rbp
0x37c26f618125 229 5d pop rbp
0x37c26f618126 230 c21800 ret 0x18
0x37c26f618129 233 0f1f00 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 5)
index ast id argc pc
0 4 0 35
1 26 0 93
2 26 0 -1
3 43 0 186
4 41 0 216
Safepoints (size = 52)
0x37c26f618063 35 10000 (sp -> fp) 0
0x37c26f61809d 93 10000 (sp -> fp) 1
0x37c26f6180fa 186 10000 (sp -> fp) 3
0x37c26f618118 216 10000 (sp -> fp) 4
RelocInfo (size = 525)
0x37c26f61804a position (7411)
0x37c26f61804a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f61804a comment (;;; <@8,#5> prologue)
0x37c26f61804a comment (;;; Prologue begin)
0x37c26f61804a comment (;;; Prologue end)
0x37c26f61804a comment (;;; <@12,#7> -------------------- B1 --------------------)
0x37c26f61804a comment (;;; <@14,#8> context)
0x37c26f61804e comment (;;; <@15,#8> gap)
0x37c26f618052 comment (;;; <@18,#12> -------------------- B2 --------------------)
0x37c26f618052 comment (;;; <@19,#12> gap)
0x37c26f618055 comment (;;; <@20,#14> stack-check)
0x37c26f61805f code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f618063 comment (;;; <@22,#14> lazy-bailout)
0x37c26f618063 comment (;;; <@24,#16> gap)
0x37c26f618063 position (7423)
0x37c26f618067 comment (;;; <@25,#16> has-instance-type-and-branch)
0x37c26f61807f comment (;;; <@26,#20> -------------------- B3 (unreachable/replaced) --------------------)
0x37c26f61807f comment (;;; <@30,#17> -------------------- B4 (unreachable/replaced) --------------------)
0x37c26f61807f position (7452)
0x37c26f61807f comment (;;; <@34,#23> -------------------- B5 --------------------)
0x37c26f61807f comment (;;; <@35,#23> gap)
0x37c26f618083 comment (;;; <@36,#24> load-context-slot)
0x37c26f61808a comment (;;; <@38,#25> load-context-slot)
0x37c26f61808a position (7456)
0x37c26f61808e comment (;;; <@40,#26> push-argument)
0x37c26f61808e position (7445)
0x37c26f61808f comment (;;; <@42,#26> push-argument)
0x37c26f618090 comment (;;; <@44,#28> constant-i)
0x37c26f618095 comment (;;; <@45,#28> gap)
0x37c26f618098 comment (;;; <@46,#29> call-with-descriptor)
0x37c26f618099 code target (BUILTIN) (0x37c26f40bc00)
0x37c26f61809d comment (;;; <@48,#30> lazy-bailout)
0x37c26f61809d comment (;;; <@51,#31> branch)
0x37c26f6180b1 position (17408)
0x37c26f6180b1 deopt reason (unexpected object)
0x37c26f6180b2 runtime entry (deoptimization bailout 2)
0x37c26f6180b6 comment (;;; <@52,#35> -------------------- B6 (unreachable/replaced) --------------------)
0x37c26f6180b6 position (7468)
0x37c26f6180b6 comment (;;; <@56,#38> -------------------- B7 --------------------)
0x37c26f6180b6 comment (;;; <@57,#38> gap)
0x37c26f6180ba comment (;;; <@58,#39> load-context-slot)
0x37c26f6180c1 comment (;;; <@60,#41> push-argument)
0x37c26f6180c3 embedded object (0x23de51604381 <undefined>)
0x37c26f6180cd comment (;;; <@62,#41> push-argument)
0x37c26f6180d9 comment (;;; <@63,#41> gap)
0x37c26f6180dd comment (;;; <@64,#41> push-argument)
0x37c26f6180de comment (;;; <@66,#56> constant-s)
0x37c26f6180e8 comment (;;; <@68,#43> constant-t)
0x37c26f6180ea embedded object (0x2a2d480987b1 <FixedArray[3]>)
0x37c26f6180f2 comment (;;; <@69,#43> gap)
0x37c26f6180f5 comment (;;; <@70,#45> call-with-descriptor)
0x37c26f6180f6 code target (CALL_IC) (0x37c26f524340)
0x37c26f6180fa comment (;;; <@72,#46> lazy-bailout)
0x37c26f6180fa comment (;;; <@74,#47> push-argument)
0x37c26f6180fa position (7462)
0x37c26f6180fb comment (;;; <@75,#47> gap)
0x37c26f6180ff comment (;;; <@76,#48> call-runtime)
0x37c26f618114 code target (STUB) (0x37c26f409240)
0x37c26f618118 comment (;;; <@78,#49> lazy-bailout)
0x37c26f618118 comment (;;; <@80,#32> -------------------- B8 (unreachable/replaced) --------------------)
0x37c26f618118 position (7411)
0x37c26f618118 comment (;;; <@84,#51> -------------------- B9 --------------------)
0x37c26f618118 comment (;;; <@86,#4> constant-t)
0x37c26f61811a embedded object (0x23de51604381 <undefined>)
0x37c26f618122 comment (;;; <@88,#53> return)
0x37c26f61812c comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (join) id{21,0} ---
(J){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(18,"Array.prototype.join");
var w=(%_ToObject(this));
var x=(%_ToLength(w.length));
return InnerArrayJoin(J,w,x);
}
--- END ---
--- Raw source ---
(J){
if((%IS_VAR(this)===null)||(this===(void 0)))throw k(18,"Array.prototype.join");
var w=(%_ToObject(this));
var x=(%_ToLength(w.length));
return InnerArrayJoin(J,w,x);
}
--- Optimized code ---
optimization_id = 21
source_position = 5819
kind = OPTIMIZED_FUNCTION
name = join
stack_slots = 6
compiler = crankshaft
Instructions (size = 698)
0x37c26f627980 0 55 push rbp
0x37c26f627981 1 4889e5 REX.W movq rbp,rsp
0x37c26f627984 4 56 push rsi
0x37c26f627985 5 57 push rdi
0x37c26f627986 6 4883ec10 REX.W subq rsp,0x10
;;; <@0,#0> -------------------- B0 --------------------
;;; <@6,#4> prologue
;;; Prologue begin
;;; Prologue end
;;; <@10,#6> -------------------- B1 --------------------
;;; <@12,#7> context
0x37c26f62798a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 5819
;;; <@13,#7> gap
0x37c26f62798e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@16,#11> -------------------- B2 --------------------
;;; <@17,#11> gap
0x37c26f627992 18 488bf0 REX.W movq rsi,rax
;;; <@18,#13> stack-check
0x37c26f627995 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f62799c 28 7305 jnc 35 (0x37c26f6279a3)
0x37c26f62799e 30 e83d52e1ff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@20,#13> lazy-bailout
;;; <@22,#16> gap
0x37c26f6279a3 35 488b5d18 REX.W movq rbx,[rbp+0x18] ;; debug: position 5841
;;; <@23,#16> cmp-object-eq-and-branch
0x37c26f6279a7 39 49ba01426051de230000 REX.W movq r10,0x23de51604201 ;; object: 0x23de51604201 <null>
0x37c26f6279b1 49 493bda REX.W cmpq rbx,r10
0x37c26f6279b4 52 0f8455010000 jz 399 (0x37c26f627b0f)
;;; <@24,#20> -------------------- B3 (unreachable/replaced) --------------------
;;; <@28,#23> -------------------- B4 --------------------
;;; <@31,#24> cmp-object-eq-and-branch
0x37c26f6279ba 58 49ba81436051de230000 REX.W movq r10,0x23de51604381 ;; debug: position 5856
;; object: 0x23de51604381 <undefined>
0x37c26f6279c4 68 493bda REX.W cmpq rbx,r10
0x37c26f6279c7 71 0f8442010000 jz 399 (0x37c26f627b0f)
;;; <@32,#28> -------------------- B5 (unreachable/replaced) --------------------
;;; <@36,#45> -------------------- B6 --------------------
;;; <@39,#46> is-smi-and-branch
0x37c26f6279cd 77 f6c301 testb rbx,0x1 ;; debug: position 5912
0x37c26f6279d0 80 0f8432000000 jz 136 (0x37c26f627a08)
;;; <@40,#49> -------------------- B7 --------------------
;;; <@42,#50> load-named-field
0x37c26f6279d6 86 488b43ff REX.W movq rax,[rbx-0x1]
;;; <@44,#51> load-named-field
0x37c26f6279da 90 0fb6500b movzxbl rdx,[rax+0xb]
;;; <@47,#53> compare-numeric-and-branch
0x37c26f6279de 94 81fab1000000 cmpl rdx,0xb1
0x37c26f6279e4 100 0f8c0c000000 jl 118 (0x37c26f6279f6)
;;; <@48,#66> -------------------- B8 (unreachable/replaced) --------------------
;;; <@52,#81> -------------------- B9 --------------------
;;; <@54,#82> gap
0x37c26f6279ea 106 488bcb REX.W movq rcx,rbx
0x37c26f6279ed 109 488b55e8 REX.W movq rdx,[rbp-0x18]
;;; <@55,#82> goto
0x37c26f6279f1 113 e96d000000 jmp 227 (0x37c26f627a63)
;;; <@56,#54> -------------------- B10 --------------------
;;; <@58,#55> load-named-field
0x37c26f6279f6 118 0fb64008 movzxbl rax,[rax+0x8]
;;; <@61,#57> compare-numeric-and-branch
0x37c26f6279fa 122 83f800 cmpl rax,0x0
0x37c26f6279fd 125 0f850a000000 jnz 141 (0x37c26f627a0d)
;;; <@62,#60> -------------------- B11 (unreachable/replaced) --------------------
;;; <@66,#64> -------------------- B12 (unreachable/replaced) --------------------
;;; <@70,#58> -------------------- B13 --------------------
;;; <@73,#59> deoptimize
0x37c26f627a03 131 e802e6adff call 0x37c26f10600a ;; debug: position 47616
;; debug: deopt reason 'null or undefined in ToObject'
;; deoptimization bailout 1
;;; <@74,#62> -------------------- B14 (unreachable/replaced) --------------------
;;; <@76,#47> -------------------- B15 --------------------
;;; <@78,#68> gap
0x37c26f627a08 136 b83f000000 movl rax,0x3f
;;; <@80,#70> -------------------- B16 --------------------
;;; <@81,#70> gap
0x37c26f627a0d 141 488b55e8 REX.W movq rdx,[rbp-0x18]
;;; <@82,#71> load-named-field
0x37c26f627a11 145 488b4a27 REX.W movq rcx,[rdx+0x27]
;;; <@84,#72> load-keyed
0x37c26f627a15 149 488b44c10f REX.W movq rax,[rcx+rax*8+0xf]
;;; <@86,#73> load-named-field
0x37c26f627a1a 154 488b4017 REX.W movq rax,[rax+0x17]
;;; <@88,#75> allocate
0x37c26f627a1e 158 498bb5300f0000 REX.W movq rsi,[r13+0xf30]
0x37c26f627a25 165 488bce REX.W movq rcx,rsi
0x37c26f627a28 168 4883c120 REX.W addq rcx,0x20
0x37c26f627a2c 172 0f8250010000 jc 514 (0x37c26f627b82)
0x37c26f627a32 178 493b8d380f0000 REX.W cmpq rcx,[r13+0xf38]
0x37c26f627a39 185 0f8743010000 ja 514 (0x37c26f627b82)
0x37c26f627a3f 191 49898d300f0000 REX.W movq [r13+0xf30],rcx
0x37c26f627a46 198 48ffc6 REX.W incq rsi
;;; <@90,#76> store-named-field
0x37c26f627a49 201 488946ff REX.W movq [rsi-0x1],rax
;;; <@92,#77> load-root
0x37c26f627a4d 205 498b85b0000000 REX.W movq rax,[r13+0xb0]
;;; <@94,#78> store-named-field
0x37c26f627a54 212 48894607 REX.W movq [rsi+0x7],rax
;;; <@96,#79> store-named-field
0x37c26f627a58 216 4889460f REX.W movq [rsi+0xf],rax
;;; <@98,#80> store-named-field
0x37c26f627a5c 220 48895e17 REX.W movq [rsi+0x17],rbx
;;; <@100,#83> gap
0x37c26f627a60 224 488bce REX.W movq rcx,rsi
;;; <@102,#85> -------------------- B17 --------------------
0x37c26f627a63 227 48894de0 REX.W movq [rbp-0x20],rcx
;;; <@104,#88> check-non-smi
0x37c26f627a67 231 f6c101 testb rcx,0x1 ;; debug: position 5950
0x37c26f627a6a 234 0f846e010000 jz 606 (0x37c26f627bde)
;;; <@106,#89> check-maps
0x37c26f627a70 240 49ba516d808f7a200000 REX.W movq r10,0x207a8f806d51 ;; object: 0x207a8f806d51 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f627a7a 250 4c3951ff REX.W cmpq [rcx-0x1],r10
0x37c26f627a7e 254 7424 jz 292 (0x37c26f627aa4)
0x37c26f627a80 256 49bac971808f7a200000 REX.W movq r10,0x207a8f8071c9 ;; object: 0x207a8f8071c9 <Map(FAST_ELEMENTS)>
0x37c26f627a8a 266 4c3951ff REX.W cmpq [rcx-0x1],r10
0x37c26f627a8e 270 7414 jz 292 (0x37c26f627aa4)
0x37c26f627a90 272 49ba2172808f7a200000 REX.W movq r10,0x207a8f807221 ;; object: 0x207a8f807221 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f627a9a 282 4c3951ff REX.W cmpq [rcx-0x1],r10
0x37c26f627a9e 286 0f853f010000 jnz 611 (0x37c26f627be3)
;;; <@108,#90> load-named-field
0x37c26f627aa4 292 8b411b movl rax,[rcx+0x1b]
;;; <@110,#107> smi-tag
0x37c26f627aa7 295 8bf0 movl rsi,rax ;; debug: position 5938
0x37c26f627aa9 297 48c1e620 REX.W shlq rsi, 32
;;; <@111,#107> gap
0x37c26f627aad 301 488bc6 REX.W movq rax,rsi
0x37c26f627ab0 304 488bf2 REX.W movq rsi,rdx
;;; <@112,#92> call-with-descriptor
0x37c26f627ab3 307 e86853dfff call 0x37c26f41ce20 ;; code: STUB, ToLengthStub, minor: 0
;;; <@114,#93> lazy-bailout
;;; <@115,#93> gap
0x37c26f627ab8 312 488b5de8 REX.W movq rbx,[rbp-0x18]
;;; <@116,#95> load-context-slot
0x37c26f627abc 316 488b935f010000 REX.W movq rdx,[rbx+0x15f] ;; debug: position 5968
;;; <@118,#98> check-value
0x37c26f627ac3 323 49bad9486b51de230000 REX.W movq r10,0x23de516b48d9 ;; object: 0x23de516b48d9 <JS Function InnerArrayJoin (SharedFunctionInfo 0x23de516533b1)>
0x37c26f627acd 333 493bd2 REX.W cmpq rdx,r10
0x37c26f627ad0 336 0f8512010000 jnz 616 (0x37c26f627be8)
;;; <@120,#99> push-argument
0x37c26f627ad6 342 49ba81436051de230000 REX.W movq r10,0x23de51604381 ;; object: 0x23de51604381 <undefined>
0x37c26f627ae0 352 4152 push r10
;;; <@121,#99> gap
0x37c26f627ae2 354 488b5510 REX.W movq rdx,[rbp+0x10]
;;; <@122,#99> push-argument
0x37c26f627ae6 358 52 push rdx
;;; <@124,#99> push-argument
0x37c26f627ae7 359 ff75e0 push [rbp-0x20]
;;; <@126,#99> push-argument
0x37c26f627aea 362 50 push rax
;;; <@128,#100> constant-t
0x37c26f627aeb 363 48bfd9486b51de230000 REX.W movq rdi,0x23de516b48d9 ;; object: 0x23de516b48d9 <JS Function InnerArrayJoin (SharedFunctionInfo 0x23de516533b1)>
;;; <@129,#100> gap
0x37c26f627af5 373 488bf3 REX.W movq rsi,rbx
;;; <@130,#101> invoke-function
0x37c26f627af8 376 488b7727 REX.W movq rsi,[rdi+0x27]
0x37c26f627afc 380 498b55a8 REX.W movq rdx,[r13-0x58]
0x37c26f627b00 384 b803000000 movl rax,0x3
0x37c26f627b05 389 ff5737 call [rdi+0x37]
;;; <@132,#102> lazy-bailout
;;; <@134,#104> return
0x37c26f627b08 392 488be5 REX.W movq rsp,rbp ;; debug: position 5961
0x37c26f627b0b 395 5d pop rbp
0x37c26f627b0c 396 c21000 ret 0x10
;;; <@136,#25> -------------------- B18 (unreachable/replaced) --------------------
;;; <@140,#17> -------------------- B19 (unreachable/replaced) --------------------
;;; <@144,#31> -------------------- B20 --------------------
;;; <@145,#31> gap
0x37c26f627b0f 399 488b45e8 REX.W movq rax,[rbp-0x18] ;; debug: position 5875
;;; <@146,#32> load-context-slot
0x37c26f627b13 403 488b785f REX.W movq rdi,[rax+0x5f]
;;; <@148,#35> push-argument
0x37c26f627b17 407 49ba81436051de230000 REX.W movq r10,0x23de51604381 ;; object: 0x23de51604381 <undefined>
0x37c26f627b21 417 4152 push r10
;;; <@150,#35> push-argument
0x37c26f627b23 419 49ba0000000012000000 REX.W movq r10,0x1200000000
0x37c26f627b2d 429 4152 push r10
;;; <@152,#35> push-argument
0x37c26f627b2f 431 49ba41aca1968c230000 REX.W movq r10,0x238c96a1ac41 ;; object: 0x238c96a1ac41 <String[20]: Array.prototype.join>
0x37c26f627b39 441 4152 push r10
;;; <@154,#110> constant-s
0x37c26f627b3b 443 48ba0000000001000000 REX.W movq rdx,0x100000000
;;; <@156,#37> constant-t
0x37c26f627b45 453 48bb91aca1968c230000 REX.W movq rbx,0x238c96a1ac91 ;; object: 0x238c96a1ac91 <FixedArray[7]>
;;; <@157,#37> gap
0x37c26f627b4f 463 488bf0 REX.W movq rsi,rax
;;; <@158,#39> call-with-descriptor
0x37c26f627b52 466 e8e9c7efff call 0x37c26f524340 ;; code: CALL_IC, GENERIC
;;; <@160,#40> lazy-bailout
;;; <@162,#41> push-argument
0x37c26f627b57 471 50 push rax ;; debug: position 5869
;;; <@163,#41> gap
0x37c26f627b58 472 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@164,#42> call-runtime
0x37c26f627b5c 476 0f1f840000000000 nop
0x37c26f627b64 484 b801000000 movl rax,0x1
0x37c26f627b69 489 498d9d58b13ffe REX.W leaq rbx,[r13-0x1c04ea8]
0x37c26f627b70 496 e8cb16deff call 0x37c26f409240 ;; code: STUB, CEntryStub, minor: 4
;;; <@166,#43> lazy-bailout
0x37c26f627b75 501 6666660f1f840000000000 nop
0x37c26f627b80 512 6690 nop
;;; <@88,#75> -------------------- Deferred allocate --------------------
0x37c26f627b82 514 33f6 xorl rsi,rsi ;; debug: position 5912
0x37c26f627b84 516 50 push rax
0x37c26f627b85 517 51 push rcx
0x37c26f627b86 518 52 push rdx
0x37c26f627b87 519 53 push rbx
0x37c26f627b88 520 56 push rsi
0x37c26f627b89 521 57 push rdi
0x37c26f627b8a 522 4150 push r8
0x37c26f627b8c 524 4151 push r9
0x37c26f627b8e 526 4153 push r11
0x37c26f627b90 528 4154 push r12
0x37c26f627b92 530 4156 push r14
0x37c26f627b94 532 4157 push r15
0x37c26f627b96 534 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x37c26f627b9b 539 49ba0000000020000000 REX.W movq r10,0x2000000000
0x37c26f627ba5 549 4152 push r10
0x37c26f627ba7 551 6a00 push 0x0
0x37c26f627ba9 553 488bf2 REX.W movq rsi,rdx
0x37c26f627bac 556 b802000000 movl rax,0x2
0x37c26f627bb1 561 498d9db8da3ffe REX.W leaq rbx,[r13-0x1c02548]
0x37c26f627bb8 568 e823fdddff call 0x37c26f4078e0 ;; code: STUB, CEntryStub, minor: 5
0x37c26f627bbd 573 4889442458 REX.W movq [rsp+0x58],rax
0x37c26f627bc2 578 488d642420 REX.W leaq rsp,[rsp+0x20]
0x37c26f627bc7 583 415f pop r15
0x37c26f627bc9 585 415e pop r14
0x37c26f627bcb 587 415c pop r12
0x37c26f627bcd 589 415b pop r11
0x37c26f627bcf 591 4159 pop r9
0x37c26f627bd1 593 4158 pop r8
0x37c26f627bd3 595 5f pop rdi
0x37c26f627bd4 596 5e pop rsi
0x37c26f627bd5 597 5b pop rbx
0x37c26f627bd6 598 5a pop rdx
0x37c26f627bd7 599 59 pop rcx
0x37c26f627bd8 600 58 pop rax
0x37c26f627bd9 601 e96bfeffff jmp 201 (0x37c26f627a49)
;;; -------------------- Jump table --------------------
0x37c26f627bde 606 e831e4adff call 0x37c26f106014 ;; debug: position 67072
;; debug: deopt reason 'Smi'
;; deoptimization bailout 2
0x37c26f627be3 611 e836e4adff call 0x37c26f10601e ;; debug: position 67072
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 3
0x37c26f627be8 616 e845e4adff call 0x37c26f106032 ;; debug: position 76288
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 5
0x37c26f627bed 621 0f1f00 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 9)
index ast id argc pc
0 4 0 35
1 13 0 -1
2 13 0 -1
3 13 0 -1
4 83 0 312
5 83 0 -1
6 95 0 392
7 42 0 471
8 40 0 501
Safepoints (size = 74)
0x37c26f6279a3 35 010000 (sp -> fp) 0
0x37c26f627ab8 312 110000 (sp -> fp) 4
0x37c26f627b08 392 010000 (sp -> fp) 6
0x37c26f627b57 471 010000 (sp -> fp) 7
0x37c26f627b75 501 010000 (sp -> fp) 8
0x37c26f627bbd 573 010000 | rax | rdx | rbx | rsi (sp -> fp) <none> argc: 2
RelocInfo (size = 994)
0x37c26f62798a position (5819)
0x37c26f62798a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f62798a comment (;;; <@6,#4> prologue)
0x37c26f62798a comment (;;; Prologue begin)
0x37c26f62798a comment (;;; Prologue end)
0x37c26f62798a comment (;;; <@10,#6> -------------------- B1 --------------------)
0x37c26f62798a comment (;;; <@12,#7> context)
0x37c26f62798e comment (;;; <@13,#7> gap)
0x37c26f627992 comment (;;; <@16,#11> -------------------- B2 --------------------)
0x37c26f627992 comment (;;; <@17,#11> gap)
0x37c26f627995 comment (;;; <@18,#13> stack-check)
0x37c26f62799f code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f6279a3 comment (;;; <@20,#13> lazy-bailout)
0x37c26f6279a3 comment (;;; <@22,#16> gap)
0x37c26f6279a3 position (5841)
0x37c26f6279a7 comment (;;; <@23,#16> cmp-object-eq-and-branch)
0x37c26f6279a9 embedded object (0x23de51604201 <null>)
0x37c26f6279ba comment (;;; <@24,#20> -------------------- B3 (unreachable/replaced) --------------------)
0x37c26f6279ba position (5856)
0x37c26f6279ba comment (;;; <@28,#23> -------------------- B4 --------------------)
0x37c26f6279ba comment (;;; <@31,#24> cmp-object-eq-and-branch)
0x37c26f6279bc embedded object (0x23de51604381 <undefined>)
0x37c26f6279cd comment (;;; <@32,#28> -------------------- B5 (unreachable/replaced) --------------------)
0x37c26f6279cd position (5912)
0x37c26f6279cd comment (;;; <@36,#45> -------------------- B6 --------------------)
0x37c26f6279cd comment (;;; <@39,#46> is-smi-and-branch)
0x37c26f6279d6 comment (;;; <@40,#49> -------------------- B7 --------------------)
0x37c26f6279d6 comment (;;; <@42,#50> load-named-field)
0x37c26f6279da comment (;;; <@44,#51> load-named-field)
0x37c26f6279de comment (;;; <@47,#53> compare-numeric-and-branch)
0x37c26f6279ea comment (;;; <@48,#66> -------------------- B8 (unreachable/replaced) --------------------)
0x37c26f6279ea comment (;;; <@52,#81> -------------------- B9 --------------------)
0x37c26f6279ea comment (;;; <@54,#82> gap)
0x37c26f6279f1 comment (;;; <@55,#82> goto)
0x37c26f6279f6 comment (;;; <@56,#54> -------------------- B10 --------------------)
0x37c26f6279f6 comment (;;; <@58,#55> load-named-field)
0x37c26f6279fa comment (;;; <@61,#57> compare-numeric-and-branch)
0x37c26f627a03 comment (;;; <@62,#60> -------------------- B11 (unreachable/replaced) --------------------)
0x37c26f627a03 comment (;;; <@66,#64> -------------------- B12 (unreachable/replaced) --------------------)
0x37c26f627a03 comment (;;; <@70,#58> -------------------- B13 --------------------)
0x37c26f627a03 comment (;;; <@73,#59> deoptimize)
0x37c26f627a03 position (47616)
0x37c26f627a03 deopt reason (null or undefined in ToObject)
0x37c26f627a04 runtime entry (deoptimization bailout 1)
0x37c26f627a08 comment (;;; <@74,#62> -------------------- B14 (unreachable/replaced) --------------------)
0x37c26f627a08 comment (;;; <@76,#47> -------------------- B15 --------------------)
0x37c26f627a08 comment (;;; <@78,#68> gap)
0x37c26f627a0d comment (;;; <@80,#70> -------------------- B16 --------------------)
0x37c26f627a0d comment (;;; <@81,#70> gap)
0x37c26f627a11 comment (;;; <@82,#71> load-named-field)
0x37c26f627a15 comment (;;; <@84,#72> load-keyed)
0x37c26f627a1a comment (;;; <@86,#73> load-named-field)
0x37c26f627a1e comment (;;; <@88,#75> allocate)
0x37c26f627a49 comment (;;; <@90,#76> store-named-field)
0x37c26f627a4d comment (;;; <@92,#77> load-root)
0x37c26f627a54 comment (;;; <@94,#78> store-named-field)
0x37c26f627a58 comment (;;; <@96,#79> store-named-field)
0x37c26f627a5c comment (;;; <@98,#80> store-named-field)
0x37c26f627a60 comment (;;; <@100,#83> gap)
0x37c26f627a63 comment (;;; <@102,#85> -------------------- B17 --------------------)
0x37c26f627a67 comment (;;; <@104,#88> check-non-smi)
0x37c26f627a67 position (5950)
0x37c26f627a70 comment (;;; <@106,#89> check-maps)
0x37c26f627a72 embedded object (0x207a8f806d51 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f627a82 embedded object (0x207a8f8071c9 <Map(FAST_ELEMENTS)>)
0x37c26f627a92 embedded object (0x207a8f807221 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f627aa4 comment (;;; <@108,#90> load-named-field)
0x37c26f627aa7 comment (;;; <@110,#107> smi-tag)
0x37c26f627aa7 position (5938)
0x37c26f627aad comment (;;; <@111,#107> gap)
0x37c26f627ab3 comment (;;; <@112,#92> call-with-descriptor)
0x37c26f627ab4 code target (STUB) (0x37c26f41ce20)
0x37c26f627ab8 comment (;;; <@114,#93> lazy-bailout)
0x37c26f627ab8 comment (;;; <@115,#93> gap)
0x37c26f627abc comment (;;; <@116,#95> load-context-slot)
0x37c26f627abc position (5968)
0x37c26f627ac3 comment (;;; <@118,#98> check-value)
0x37c26f627ac5 embedded object (0x23de516b48d9 <JS Function InnerArrayJoin (SharedFunctionInfo 0x23de516533b1)>)
0x37c26f627ad6 comment (;;; <@120,#99> push-argument)
0x37c26f627ad8 embedded object (0x23de51604381 <undefined>)
0x37c26f627ae2 comment (;;; <@121,#99> gap)
0x37c26f627ae6 comment (;;; <@122,#99> push-argument)
0x37c26f627ae7 comment (;;; <@124,#99> push-argument)
0x37c26f627aea comment (;;; <@126,#99> push-argument)
0x37c26f627aeb comment (;;; <@128,#100> constant-t)
0x37c26f627aed embedded object (0x23de516b48d9 <JS Function InnerArrayJoin (SharedFunctionInfo 0x23de516533b1)>)
0x37c26f627af5 comment (;;; <@129,#100> gap)
0x37c26f627af8 comment (;;; <@130,#101> invoke-function)
0x37c26f627b08 comment (;;; <@132,#102> lazy-bailout)
0x37c26f627b08 comment (;;; <@134,#104> return)
0x37c26f627b08 position (5961)
0x37c26f627b0f comment (;;; <@136,#25> -------------------- B18 (unreachable/replaced) --------------------)
0x37c26f627b0f comment (;;; <@140,#17> -------------------- B19 (unreachable/replaced) --------------------)
0x37c26f627b0f position (5875)
0x37c26f627b0f comment (;;; <@144,#31> -------------------- B20 --------------------)
0x37c26f627b0f comment (;;; <@145,#31> gap)
0x37c26f627b13 comment (;;; <@146,#32> load-context-slot)
0x37c26f627b17 comment (;;; <@148,#35> push-argument)
0x37c26f627b19 embedded object (0x23de51604381 <undefined>)
0x37c26f627b23 comment (;;; <@150,#35> push-argument)
0x37c26f627b2f comment (;;; <@152,#35> push-argument)
0x37c26f627b31 embedded object (0x238c96a1ac41 <String[20]: Array.prototype.join>)
0x37c26f627b3b comment (;;; <@154,#110> constant-s)
0x37c26f627b45 comment (;;; <@156,#37> constant-t)
0x37c26f627b47 embedded object (0x238c96a1ac91 <FixedArray[7]>)
0x37c26f627b4f comment (;;; <@157,#37> gap)
0x37c26f627b52 comment (;;; <@158,#39> call-with-descriptor)
0x37c26f627b53 code target (CALL_IC) (0x37c26f524340)
0x37c26f627b57 comment (;;; <@160,#40> lazy-bailout)
0x37c26f627b57 comment (;;; <@162,#41> push-argument)
0x37c26f627b57 position (5869)
0x37c26f627b58 comment (;;; <@163,#41> gap)
0x37c26f627b5c comment (;;; <@164,#42> call-runtime)
0x37c26f627b71 code target (STUB) (0x37c26f409240)
0x37c26f627b75 comment (;;; <@166,#43> lazy-bailout)
0x37c26f627b82 position (5912)
0x37c26f627b82 comment (;;; <@88,#75> -------------------- Deferred allocate --------------------)
0x37c26f627bb9 code target (STUB) (0x37c26f4078e0)
0x37c26f627bde comment (;;; -------------------- Jump table --------------------)
0x37c26f627bde position (67072)
0x37c26f627bde deopt reason (Smi)
0x37c26f627bdf runtime entry (deoptimization bailout 2)
0x37c26f627be3 position (67072)
0x37c26f627be3 deopt reason (wrong map)
0x37c26f627be4 runtime entry (deoptimization bailout 3)
0x37c26f627be8 position (76288)
0x37c26f627be8 deopt reason (value mismatch)
0x37c26f627be9 runtime entry (deoptimization bailout 5)
0x37c26f627bf0 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (adjustOffset) id{22,0} ---
(offset, length) {
offset = +offset;
if (offset === 0 || Number.isNaN(offset)) {
return 0;
}
if (offset < 0) {
offset += length;
return offset > 0 ? offset : 0;
} else {
return offset < length ? offset : length;
}
}
--- END ---
--- FUNCTION SOURCE (isNaN) id{22,1} ---
(s){
return(typeof(s)==='number')&&(!%_IsSmi(%IS_VAR(s))&&!(s==s));
}
--- END ---
INLINE (isNaN) id{22,1} AS 1 AT <0:68>
--- Raw source ---
(offset, length) {
offset = +offset;
if (offset === 0 || Number.isNaN(offset)) {
return 0;
}
if (offset < 0) {
offset += length;
return offset > 0 ? offset : 0;
} else {
return offset < length ? offset : length;
}
}
--- Optimized code ---
optimization_id = 22
source_position = 20145
kind = OPTIMIZED_FUNCTION
name = adjustOffset
stack_slots = 5
compiler = crankshaft
Instructions (size = 290)
0x37c26f627ec0 0 55 push rbp
0x37c26f627ec1 1 4889e5 REX.W movq rbp,rsp
0x37c26f627ec4 4 56 push rsi
0x37c26f627ec5 5 57 push rdi
0x37c26f627ec6 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@8,#5> prologue
;;; Prologue begin
;;; Prologue end
;;; <@12,#7> -------------------- B1 --------------------
;;; <@14,#8> context
0x37c26f627eca 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 20145
;;; <@15,#8> gap
0x37c26f627ece 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@18,#12> -------------------- B2 --------------------
;;; <@19,#12> gap
0x37c26f627ed2 18 488bf0 REX.W movq rsi,rax
;;; <@20,#14> stack-check
0x37c26f627ed5 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f627edc 28 7305 jnc 35 (0x37c26f627ee3)
0x37c26f627ede 30 e8fd4ce1ff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@22,#14> lazy-bailout
;;; <@23,#14> gap
0x37c26f627ee3 35 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f627ee7 39 488b4518 REX.W movq rax,[rbp+0x18]
;;; <@24,#18> call-with-descriptor
0x37c26f627eeb 43 0f1f440000 nop
0x37c26f627ef0 48 e8cbb5dfff call 0x37c26f4234c0 ;; debug: position 20175
;; code: STUB, ToNumberStub, minor: 0
;;; <@26,#19> lazy-bailout
;;; <@27,#19> gap
0x37c26f627ef5 53 488bd8 REX.W movq rbx,rax
;;; <@28,#136> tagged-to-i
0x37c26f627ef8 56 f6c301 testb rbx,0x1 ;; debug: position 20190
0x37c26f627efb 59 0f8574000000 jnz 181 (0x37c26f627f75)
0x37c26f627f01 65 48c1eb20 REX.W shrq rbx, 32
;;; <@31,#21> compare-numeric-and-branch
0x37c26f627f05 69 83fb00 cmpl rbx,0x0 ;; debug: position 20197
0x37c26f627f08 72 0f845e000000 jz 172 (0x37c26f627f6c)
;;; <@32,#25> -------------------- B3 (unreachable/replaced) --------------------
;;; <@36,#28> -------------------- B4 --------------------
;;; <@38,#30> check-maps
;;; <@40,#36> gap
0x37c26f627f0e 78 488bd0 REX.W movq rdx,rax ;; debug: position 20206
;; debug: position 20213
;; debug: position 15807
;;; <@41,#36> typeof-is-and-branch
0x37c26f627f11 81 f6c201 testb rdx,0x1
0x37c26f627f14 84 740e jz 100 (0x37c26f627f24)
0x37c26f627f16 86 4d8b55f8 REX.W movq r10,[r13-0x8]
0x37c26f627f1a 90 4c3952ff REX.W cmpq [rdx-0x1],r10
0x37c26f627f1e 94 0f850d000000 jnz 113 (0x37c26f627f31)
;;; <@42,#40> -------------------- B5 (unreachable/replaced) --------------------
;;; <@46,#37> -------------------- B6 (unreachable/replaced) --------------------
;;; <@50,#44> -------------------- B7 --------------------
;;; <@53,#45> is-smi-and-branch
0x37c26f627f24 100 a801 test al,0x1 ;; debug: position 15823
0x37c26f627f26 102 0f8405000000 jz 113 (0x37c26f627f31)
;;; <@54,#50> -------------------- B8 (unreachable/replaced) --------------------
;;; <@58,#53> -------------------- B9 --------------------
;;; <@61,#54> deoptimize
0x37c26f627f2c 108 e8e3e0cdff call 0x37c26f306014 ;; debug: position 15847
;; debug: position 31233
;; debug: deopt reason 'Insufficient type feedback for combined type of binary operation'
;; soft deoptimization bailout 2
;;; <@62,#55> -------------------- B10 (unreachable/replaced) --------------------
;;; <@72,#63> -------------------- B11 (unreachable/replaced) --------------------
;;; <@76,#67> -------------------- B12 (unreachable/replaced) --------------------
;;; <@80,#59> -------------------- B13 (unreachable/replaced) --------------------
;;; <@84,#46> -------------------- B14 (unreachable/replaced) --------------------
;;; <@88,#70> -------------------- B15 (unreachable/replaced) --------------------
;;; <@92,#77> -------------------- B16 --------------------
;;; <@95,#79> compare-numeric-and-branch
0x37c26f627f31 113 83fb00 cmpl rbx,0x0 ;; debug: position 20263
;; debug: position 20261
0x37c26f627f34 116 0f8c2d000000 jl 167 (0x37c26f627f67)
;;; <@96,#83> -------------------- B17 (unreachable/replaced) --------------------
;;; <@100,#114> -------------------- B18 --------------------
;;; <@101,#114> gap
0x37c26f627f3a 122 488b5d10 REX.W movq rbx,[rbp+0x10] ;; debug: position 20355
;;; <@102,#133> check-smi
0x37c26f627f3e 126 f6c301 testb rbx,0x1 ;; debug: position 20357
0x37c26f627f41 129 0f8562000000 jnz 233 (0x37c26f627fa9)
;;; <@103,#133> gap
0x37c26f627f47 135 488bd0 REX.W movq rdx,rax
;;; <@104,#134> check-smi
0x37c26f627f4a 138 f6c201 testb rdx,0x1 ;; debug: position 20348
0x37c26f627f4d 141 0f855b000000 jnz 238 (0x37c26f627fae)
;;; <@107,#115> compare-numeric-and-branch
0x37c26f627f53 147 483bd3 REX.W cmpq rdx,rbx ;; debug: position 20355
0x37c26f627f56 150 0f8c04000000 jl 160 (0x37c26f627f60)
;;; <@108,#119> -------------------- B19 (unreachable/replaced) --------------------
;;; <@112,#125> -------------------- B20 --------------------
;;; <@114,#127> gap
0x37c26f627f5c 156 488b4510 REX.W movq rax,[rbp+0x10] ;; debug: position 20348
;;; <@116,#116> -------------------- B21 (unreachable/replaced) --------------------
;;; <@120,#122> -------------------- B22 (unreachable/replaced) --------------------
;;; <@124,#129> -------------------- B23 --------------------
;;; <@126,#131> return
0x37c26f627f60 160 488be5 REX.W movq rsp,rbp ;; debug: position 20341
0x37c26f627f63 163 5d pop rbp
0x37c26f627f64 164 c21800 ret 0x18
;;; <@128,#80> -------------------- B24 (unreachable/replaced) --------------------
;;; <@132,#86> -------------------- B25 --------------------
;;; <@135,#87> deoptimize
0x37c26f627f67 167 e8c6e0cdff call 0x37c26f306032 ;; debug: position 20280
;; debug: position 69120
;; debug: deopt reason 'Insufficient type feedback for RHS of binary operation'
;; soft deoptimization bailout 5
;;; <@136,#88> -------------------- B26 (unreachable/replaced) --------------------
;;; <@146,#93> -------------------- B27 (unreachable/replaced) --------------------
;;; <@156,#100> -------------------- B28 (unreachable/replaced) --------------------
;;; <@160,#103> -------------------- B29 (unreachable/replaced) --------------------
;;; <@164,#97> -------------------- B30 (unreachable/replaced) --------------------
;;; <@168,#105> -------------------- B31 (unreachable/replaced) --------------------
;;; <@174,#111> -------------------- B32 (unreachable/replaced) --------------------
;;; <@180,#22> -------------------- B33 (unreachable/replaced) --------------------
;;; <@184,#73> -------------------- B34 --------------------
;;; <@186,#142> constant-t
0x37c26f627f6c 172 33c0 xorl rax,rax ;; debug: position 20241
;; debug: position 20234
;;; <@188,#76> return
0x37c26f627f6e 174 488be5 REX.W movq rsp,rbp
0x37c26f627f71 177 5d pop rbp
0x37c26f627f72 178 c21800 ret 0x18
;;; <@28,#136> -------------------- Deferred tagged-to-i --------------------
0x37c26f627f75 181 4d8b55f8 REX.W movq r10,[r13-0x8] ;; debug: position 20190
0x37c26f627f79 185 4c3953ff REX.W cmpq [rbx-0x1],r10
0x37c26f627f7d 189 0f8530000000 jnz 243 (0x37c26f627fb3)
0x37c26f627f83 195 c5fb104307 vmovsd xmm0,[rbx+0x7]
0x37c26f627f88 200 c5fb2cd8 vcvttsd2si rbx,xmm0
0x37c26f627f8c 204 c5f157c9 vxorpd xmm1,xmm1,xmm1
0x37c26f627f90 208 c5f32acb vcvtlsi2sd xmm1,xmm1,rbx
0x37c26f627f94 212 c5f92ec1 vucomisd xmm0,xmm1
0x37c26f627f98 216 0f851a000000 jnz 248 (0x37c26f627fb8)
0x37c26f627f9e 222 0f8a19000000 jpe 253 (0x37c26f627fbd)
0x37c26f627fa4 228 e95cffffff jmp 69 (0x37c26f627f05)
;;; -------------------- Jump table --------------------
0x37c26f627fa9 233 e870e0adff call 0x37c26f10601e ;; debug: position 108544
;; debug: deopt reason 'not a Smi'
;; deoptimization bailout 3
0x37c26f627fae 238 e875e0adff call 0x37c26f106028 ;; debug: position 103936
;; debug: deopt reason 'not a Smi'
;; deoptimization bailout 4
0x37c26f627fb3 243 e884e0adff call 0x37c26f10603c ;; debug: position 23040
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 6
0x37c26f627fb8 248 e87fe0adff call 0x37c26f10603c ;; debug: position 23040
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 6
0x37c26f627fbd 253 e87ae0adff call 0x37c26f10603c ;; debug: position 23040
;; debug: deopt reason 'NaN'
;; deoptimization bailout 6
0x37c26f627fc2 258 6690 nop
;;; Safepoint table.
Inlined functions (count = 1)
0x23de5164e549 <SharedFunctionInfo isNaN>
Deoptimization Input Data (deopt points = 7)
index ast id argc pc
0 4 0 35
1 12 0 53
2 24 0 -1
3 64 0 -1
4 64 0 -1
5 63 0 -1
6 12 0 -1
Safepoints (size = 30)
0x37c26f627ee3 35 10000 (sp -> fp) 0
0x37c26f627ef5 53 10000 (sp -> fp) 1
RelocInfo (size = 814)
0x37c26f627eca position (20145)
0x37c26f627eca comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f627eca comment (;;; <@8,#5> prologue)
0x37c26f627eca comment (;;; Prologue begin)
0x37c26f627eca comment (;;; Prologue end)
0x37c26f627eca comment (;;; <@12,#7> -------------------- B1 --------------------)
0x37c26f627eca comment (;;; <@14,#8> context)
0x37c26f627ece comment (;;; <@15,#8> gap)
0x37c26f627ed2 comment (;;; <@18,#12> -------------------- B2 --------------------)
0x37c26f627ed2 comment (;;; <@19,#12> gap)
0x37c26f627ed5 comment (;;; <@20,#14> stack-check)
0x37c26f627edf code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f627ee3 comment (;;; <@22,#14> lazy-bailout)
0x37c26f627ee3 comment (;;; <@23,#14> gap)
0x37c26f627eeb comment (;;; <@24,#18> call-with-descriptor)
0x37c26f627ef0 position (20175)
0x37c26f627ef1 code target (STUB) (0x37c26f4234c0)
0x37c26f627ef5 comment (;;; <@26,#19> lazy-bailout)
0x37c26f627ef5 comment (;;; <@27,#19> gap)
0x37c26f627ef8 comment (;;; <@28,#136> tagged-to-i)
0x37c26f627ef8 position (20190)
0x37c26f627f05 position (20197)
0x37c26f627f05 comment (;;; <@31,#21> compare-numeric-and-branch)
0x37c26f627f0e comment (;;; <@32,#25> -------------------- B3 (unreachable/replaced) --------------------)
0x37c26f627f0e position (20206)
0x37c26f627f0e comment (;;; <@36,#28> -------------------- B4 --------------------)
0x37c26f627f0e comment (;;; <@38,#30> check-maps)
0x37c26f627f0e position (20213)
0x37c26f627f0e comment (;;; <@40,#36> gap)
0x37c26f627f0e position (15807)
0x37c26f627f11 comment (;;; <@41,#36> typeof-is-and-branch)
0x37c26f627f24 comment (;;; <@42,#40> -------------------- B5 (unreachable/replaced) --------------------)
0x37c26f627f24 comment (;;; <@46,#37> -------------------- B6 (unreachable/replaced) --------------------)
0x37c26f627f24 position (15823)
0x37c26f627f24 comment (;;; <@50,#44> -------------------- B7 --------------------)
0x37c26f627f24 comment (;;; <@53,#45> is-smi-and-branch)
0x37c26f627f2c comment (;;; <@54,#50> -------------------- B8 (unreachable/replaced) --------------------)
0x37c26f627f2c position (15847)
0x37c26f627f2c comment (;;; <@58,#53> -------------------- B9 --------------------)
0x37c26f627f2c comment (;;; <@61,#54> deoptimize)
0x37c26f627f2c position (31233)
0x37c26f627f2c deopt reason (Insufficient type feedback for combined type of binary operation)
0x37c26f627f2d runtime entry
0x37c26f627f31 comment (;;; <@62,#55> -------------------- B10 (unreachable/replaced) --------------------)
0x37c26f627f31 comment (;;; <@72,#63> -------------------- B11 (unreachable/replaced) --------------------)
0x37c26f627f31 comment (;;; <@76,#67> -------------------- B12 (unreachable/replaced) --------------------)
0x37c26f627f31 comment (;;; <@80,#59> -------------------- B13 (unreachable/replaced) --------------------)
0x37c26f627f31 comment (;;; <@84,#46> -------------------- B14 (unreachable/replaced) --------------------)
0x37c26f627f31 comment (;;; <@88,#70> -------------------- B15 (unreachable/replaced) --------------------)
0x37c26f627f31 position (20263)
0x37c26f627f31 comment (;;; <@92,#77> -------------------- B16 --------------------)
0x37c26f627f31 position (20261)
0x37c26f627f31 comment (;;; <@95,#79> compare-numeric-and-branch)
0x37c26f627f3a comment (;;; <@96,#83> -------------------- B17 (unreachable/replaced) --------------------)
0x37c26f627f3a position (20355)
0x37c26f627f3a comment (;;; <@100,#114> -------------------- B18 --------------------)
0x37c26f627f3a comment (;;; <@101,#114> gap)
0x37c26f627f3e comment (;;; <@102,#133> check-smi)
0x37c26f627f3e position (20357)
0x37c26f627f47 comment (;;; <@103,#133> gap)
0x37c26f627f4a comment (;;; <@104,#134> check-smi)
0x37c26f627f4a position (20348)
0x37c26f627f53 position (20355)
0x37c26f627f53 comment (;;; <@107,#115> compare-numeric-and-branch)
0x37c26f627f5c comment (;;; <@108,#119> -------------------- B19 (unreachable/replaced) --------------------)
0x37c26f627f5c position (20348)
0x37c26f627f5c comment (;;; <@112,#125> -------------------- B20 --------------------)
0x37c26f627f5c comment (;;; <@114,#127> gap)
0x37c26f627f60 comment (;;; <@116,#116> -------------------- B21 (unreachable/replaced) --------------------)
0x37c26f627f60 comment (;;; <@120,#122> -------------------- B22 (unreachable/replaced) --------------------)
0x37c26f627f60 position (20341)
0x37c26f627f60 comment (;;; <@124,#129> -------------------- B23 --------------------)
0x37c26f627f60 comment (;;; <@126,#131> return)
0x37c26f627f67 comment (;;; <@128,#80> -------------------- B24 (unreachable/replaced) --------------------)
0x37c26f627f67 position (20280)
0x37c26f627f67 comment (;;; <@132,#86> -------------------- B25 --------------------)
0x37c26f627f67 comment (;;; <@135,#87> deoptimize)
0x37c26f627f67 position (69120)
0x37c26f627f67 deopt reason (Insufficient type feedback for RHS of binary operation)
0x37c26f627f68 runtime entry
0x37c26f627f6c comment (;;; <@136,#88> -------------------- B26 (unreachable/replaced) --------------------)
0x37c26f627f6c comment (;;; <@146,#93> -------------------- B27 (unreachable/replaced) --------------------)
0x37c26f627f6c comment (;;; <@156,#100> -------------------- B28 (unreachable/replaced) --------------------)
0x37c26f627f6c comment (;;; <@160,#103> -------------------- B29 (unreachable/replaced) --------------------)
0x37c26f627f6c comment (;;; <@164,#97> -------------------- B30 (unreachable/replaced) --------------------)
0x37c26f627f6c comment (;;; <@168,#105> -------------------- B31 (unreachable/replaced) --------------------)
0x37c26f627f6c comment (;;; <@174,#111> -------------------- B32 (unreachable/replaced) --------------------)
0x37c26f627f6c comment (;;; <@180,#22> -------------------- B33 (unreachable/replaced) --------------------)
0x37c26f627f6c position (20241)
0x37c26f627f6c comment (;;; <@184,#73> -------------------- B34 --------------------)
0x37c26f627f6c comment (;;; <@186,#142> constant-t)
0x37c26f627f6c position (20234)
0x37c26f627f6e comment (;;; <@188,#76> return)
0x37c26f627f75 position (20190)
0x37c26f627f75 comment (;;; <@28,#136> -------------------- Deferred tagged-to-i --------------------)
0x37c26f627fa9 comment (;;; -------------------- Jump table --------------------)
0x37c26f627fa9 position (108544)
0x37c26f627fa9 deopt reason (not a Smi)
0x37c26f627faa runtime entry (deoptimization bailout 3)
0x37c26f627fae position (103936)
0x37c26f627fae deopt reason (not a Smi)
0x37c26f627faf runtime entry (deoptimization bailout 4)
0x37c26f627fb3 position (23040)
0x37c26f627fb3 deopt reason (not a heap number)
0x37c26f627fb4 runtime entry (deoptimization bailout 6)
0x37c26f627fb8 position (23040)
0x37c26f627fb8 deopt reason (lost precision)
0x37c26f627fb9 runtime entry (deoptimization bailout 6)
0x37c26f627fbd position (23040)
0x37c26f627fbd deopt reason (NaN)
0x37c26f627fbe runtime entry (deoptimization bailout 6)
0x37c26f627fc4 comment (;;; Safepoint table.)
--- End code ---
--- Raw source ---
c
--- Optimized code ---
optimization_id = 23
source_position = 278
kind = OPTIMIZED_FUNCTION
name = FastBuffer
stack_slots = 6
compiler = turbofan
Instructions (size = 181)
-- B0 start (construct frame) --
0x37c26f62d8c0 0 55 push rbp
0x37c26f62d8c1 1 4889e5 REX.W movq rbp,rsp
0x37c26f62d8c4 4 56 push rsi
0x37c26f62d8c5 5 57 push rdi
0x37c26f62d8c6 6 4883ec10 REX.W subq rsp,0x10
0x37c26f62d8ca 10 488955e0 REX.W movq [rbp-0x20],rdx
0x37c26f62d8ce 14 488b7df0 REX.W movq rdi,[rbp-0x10]
0x37c26f62d8d2 18 488b75f8 REX.W movq rsi,[rbp-0x8]
-- buffer.js:8:0 --
0x37c26f62d8d6 22 e80532eeff call 0x37c26f510ae0 ;; debug: position 278
;; code: STUB, FastNewStrictArgumentsStub, minor: 0
0x37c26f62d8db 27 488945e8 REX.W movq [rbp-0x18],rax
0x37c26f62d8df 31 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f62d8e6 38 0f8639000000 jna 101 (0x37c26f62d925)
-- B2 start --
-- B3 start (deconstruct frame) --
0x37c26f62d8ec 44 488b5df0 REX.W movq rbx,[rbp-0x10]
0x37c26f62d8f0 48 488b43ff REX.W movq rax,[rbx-0x1]
0x37c26f62d8f4 52 488b4017 REX.W movq rax,[rax+0x17]
0x37c26f62d8f8 56 48bfe1716c51de230000 REX.W movq rdi,0x23de516c71e1 ;; object: 0x23de516c71e1 <JS Function construct (SharedFunctionInfo 0x23de51689321)>
0x37c26f62d902 66 488b7727 REX.W movq rsi,[rdi+0x27]
0x37c26f62d906 70 498b55a8 REX.W movq rdx,[r13-0x58]
0x37c26f62d90a 74 52 push rdx
0x37c26f62d90b 75 50 push rax
0x37c26f62d90c 76 488b4de8 REX.W movq rcx,[rbp-0x18]
0x37c26f62d910 80 51 push rcx
0x37c26f62d911 81 488b45e0 REX.W movq rax,[rbp-0x20]
0x37c26f62d915 85 50 push rax
0x37c26f62d916 86 b803000000 movl rax,0x3
0x37c26f62d91b 91 ff5737 call [rdi+0x37]
0x37c26f62d91e 94 488be5 REX.W movq rsp,rbp
0x37c26f62d921 97 5d pop rbp
0x37c26f62d922 98 c20800 ret 0x8
-- B4 start (no frame) --
-- B1 start (deferred) --
0x37c26f62d925 101 48bbe0c8eb0000000000 REX.W movq rbx,0xebc8e0
0x37c26f62d92f 111 33c0 xorl rax,rax
0x37c26f62d931 113 488b75f8 REX.W movq rsi,[rbp-0x8]
0x37c26f62d935 117 e806b9ddff call 0x37c26f409240 ;; code: STUB, CEntryStub, minor: 4
0x37c26f62d93a 122 ebb0 jmp 44 (0x37c26f62d8ec)
0x37c26f62d93c 124 90 nop
0x37c26f62d93d 125 90 nop
0x37c26f62d93e 126 90 nop
0x37c26f62d93f 127 90 nop
0x37c26f62d940 128 90 nop
0x37c26f62d941 129 90 nop
0x37c26f62d942 130 90 nop
0x37c26f62d943 131 90 nop
0x37c26f62d944 132 90 nop
0x37c26f62d945 133 90 nop
0x37c26f62d946 134 90 nop
0x37c26f62d947 135 90 nop
0x37c26f62d948 136 90 nop
0x37c26f62d949 137 0f0b ud2
0x37c26f62d94b 139 90 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 4)
index ast id argc pc
0 -1 0 27
1 5 0 94
2 5 0 -1
3 3 0 122
Safepoints (size = 41)
0x37c26f62d8db 27 100000 (sp -> fp) 0
0x37c26f62d91e 94 010000 (sp -> fp) 2
0x37c26f62d93a 122 110000 (sp -> fp) 3
RelocInfo (size = 79)
0x37c26f62d8c0 comment (-- B0 start (construct frame) --)
0x37c26f62d8d6 position (278)
0x37c26f62d8d6 comment (-- buffer.js:8:0 --)
0x37c26f62d8d7 code target (STUB) (0x37c26f510ae0)
0x37c26f62d8ec comment (-- B2 start --)
0x37c26f62d8ec comment (-- B3 start (deconstruct frame) --)
0x37c26f62d8fa embedded object (0x23de516c71e1 <JS Function construct (SharedFunctionInfo 0x23de51689321)>)
0x37c26f62d925 comment (-- B4 start (no frame) --)
0x37c26f62d925 comment (-- B1 start (deferred) --)
0x37c26f62d936 code target (STUB) (0x37c26f409240)
0x37c26f62d94c comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (Script.runInThisContext) id{24,0} ---
(options) {
if (options && options.breakOnSigint) {
return sigintHandlersWrap(() => {
return realRunInThisContext.call(this, options);
});
} else {
return realRunInThisContext.call(this, options);
}
}
--- END ---
--- Raw source ---
(options) {
if (options && options.breakOnSigint) {
return sigintHandlersWrap(() => {
return realRunInThisContext.call(this, options);
});
} else {
return realRunInThisContext.call(this, options);
}
};
--- Optimized code ---
optimization_id = 24
source_position = 740
kind = OPTIMIZED_FUNCTION
name = Script.runInThisContext
stack_slots = 6
compiler = crankshaft
Instructions (size = 677)
0x37c26f62e2e0 0 55 push rbp
0x37c26f62e2e1 1 4889e5 REX.W movq rbp,rsp
0x37c26f62e2e4 4 56 push rsi
0x37c26f62e2e5 5 57 push rdi
0x37c26f62e2e6 6 4883ec10 REX.W subq rsp,0x10
;;; <@0,#0> -------------------- B0 --------------------
;;; <@6,#4> prologue
0x37c26f62e2ea 10 0f1f00 nop ;; debug: position 740
;;; Prologue begin
;;; Allocate local context
0x37c26f62e2ed 13 e80e1ae0ff call 0x37c26f42fd00 ;; code: STUB, FastNewContextStub, minor: 2
0x37c26f62e2f2 18 488bf0 REX.W movq rsi,rax
0x37c26f62e2f5 21 488945f8 REX.W movq [rbp-0x8],rax
0x37c26f62e2f9 25 488b4518 REX.W movq rax,[rbp+0x18]
0x37c26f62e2fd 29 48894637 REX.W movq [rsi+0x37],rax
0x37c26f62e301 33 488b4510 REX.W movq rax,[rbp+0x10]
0x37c26f62e305 37 4889462f REX.W movq [rsi+0x2f],rax
;;; End allocate local context
;;; Prologue end
;;; <@8,#4> lazy-bailout
;;; <@12,#6> -------------------- B1 --------------------
;;; <@14,#7> context
0x37c26f62e309 41 488b45f8 REX.W movq rax,[rbp-0x8]
;;; <@15,#7> gap
0x37c26f62e30d 45 488945e8 REX.W movq [rbp-0x18],rax
;;; <@18,#11> -------------------- B2 --------------------
;;; <@19,#11> gap
0x37c26f62e311 49 488bf0 REX.W movq rsi,rax
;;; <@20,#13> stack-check
0x37c26f62e314 52 6690 nop
0x37c26f62e316 54 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f62e31d 61 7305 jnc 68 (0x37c26f62e324)
0x37c26f62e31f 63 e8bce8e0ff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@22,#13> lazy-bailout
;;; <@23,#13> gap
0x37c26f62e324 68 488b45e8 REX.W movq rax,[rbp-0x18]
;;; <@24,#14> load-context-slot
0x37c26f62e328 72 488b502f REX.W movq rdx,[rax+0x2f] ;; debug: position 758
;;; <@27,#15> branch
0x37c26f62e32c 76 493b55a8 REX.W cmpq rdx,[r13-0x58]
0x37c26f62e330 80 0f84c9000000 jz 287 (0x37c26f62e3ff)
0x37c26f62e336 86 f6c201 testb rdx,0x1
0x37c26f62e339 89 0f84ce010000 jz 557 (0x37c26f62e50d)
0x37c26f62e33f 95 4c8b52ff REX.W movq r10,[rdx-0x1]
0x37c26f62e343 99 41f6420c10 testb [r10+0xc],0x10
0x37c26f62e348 104 0f85b1000000 jnz 287 (0x37c26f62e3ff)
0x37c26f62e34e 110 41807a0bb1 cmpb [r10+0xb],0xb1
0x37c26f62e353 115 0f831c000000 jnc 149 (0x37c26f62e375)
0x37c26f62e359 121 41807a0b80 cmpb [r10+0xb],0x80
0x37c26f62e35e 126 7310 jnc 144 (0x37c26f62e370)
0x37c26f62e360 128 48837a0f00 REX.W cmpq [rdx+0xf],0x0
0x37c26f62e365 133 0f850a000000 jnz 149 (0x37c26f62e375)
0x37c26f62e36b 139 e98f000000 jmp 287 (0x37c26f62e3ff)
0x37c26f62e370 144 e89f7cadff call 0x37c26f106014 ;; debug: position 9216
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 2
;;; <@28,#19> -------------------- B3 (unreachable/replaced) --------------------
;;; <@32,#16> -------------------- B4 (unreachable/replaced) --------------------
;;; <@36,#22> -------------------- B5 --------------------
;;; <@38,#24> check-non-smi
0x37c26f62e375 149 f6c201 testb rdx,0x1 ;; debug: position 769
;; debug: position 776
0x37c26f62e378 152 0f8494010000 jz 562 (0x37c26f62e512)
;;; <@41,#25> cmp-map-and-branch
0x37c26f62e37e 158 49bac10a818f7a200000 REX.W movq r10,0x207a8f810ac1 ;; object: 0x207a8f810ac1 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f62e388 168 4c3952ff REX.W cmpq [rdx-0x1],r10
0x37c26f62e38c 172 0f8454000000 jz 262 (0x37c26f62e3e6)
;;; <@42,#31> -------------------- B6 --------------------
;;; <@45,#32> is-string-and-branch
0x37c26f62e392 178 f6c201 testb rdx,0x1
0x37c26f62e395 181 0f8411000000 jz 204 (0x37c26f62e3ac)
0x37c26f62e39b 187 488b5aff REX.W movq rbx,[rdx-0x1]
0x37c26f62e39f 191 0fb65b0b movzxbl rbx,[rbx+0xb]
0x37c26f62e3a3 195 f6c380 testb rbx,0x80
0x37c26f62e3a6 198 0f842b000000 jz 247 (0x37c26f62e3d7)
;;; <@46,#40> -------------------- B7 --------------------
;;; <@47,#40> gap
0x37c26f62e3ac 204 488bf0 REX.W movq rsi,rax
;;; <@48,#41> load-named-generic
0x37c26f62e3af 207 48b9a916a3968c230000 REX.W movq rcx,0x238c96a316a9 ;; object: 0x238c96a316a9 <String[13]: breakOnSigint>
0x37c26f62e3b9 217 48bbb1e2a3968c230000 REX.W movq rbx,0x238c96a3e2b1 ;; object: 0x238c96a3e2b1 <FixedArray[9]>
0x37c26f62e3c3 227 48b80000000001000000 REX.W movq rax,0x100000000
0x37c26f62e3cd 237 e86e31f2ff call 0x37c26f551540 ;; code: contextual, LOAD_IC, GENERIC
;;; <@50,#42> lazy-bailout
;;; <@53,#43> goto
0x37c26f62e3d2 242 e919000000 jmp 272 (0x37c26f62e3f0)
;;; <@54,#33> -------------------- B8 --------------------
;;; <@56,#35> check-maps
;;; <@58,#37> check-maps
;;; <@60,#39> gap
0x37c26f62e3d7 247 48b881436051de230000 REX.W movq rax,0x23de51604381 ;; object: 0x23de51604381 <undefined>
;;; <@61,#39> goto
0x37c26f62e3e1 257 e90a000000 jmp 272 (0x37c26f62e3f0)
;;; <@62,#26> -------------------- B9 --------------------
;;; <@64,#28> check-maps
;;; <@66,#30> gap
0x37c26f62e3e6 262 48b881436051de230000 REX.W movq rax,0x23de51604381 ;; object: 0x23de51604381 <undefined>
;;; <@68,#45> -------------------- B10 --------------------
;;; <@71,#46> branch
0x37c26f62e3f0 272 493b45a8 REX.W cmpq rax,[r13-0x58]
0x37c26f62e3f4 276 0f8405000000 jz 287 (0x37c26f62e3ff)
0x37c26f62e3fa 282 e8337cadff call 0x37c26f106032 ;; debug: position 18432
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 5
;;; <@72,#50> -------------------- B11 (unreachable/replaced) --------------------
;;; <@76,#68> -------------------- B12 --------------------
;;; <@77,#68> gap
0x37c26f62e3ff 287 488b45e8 REX.W movq rax,[rbp-0x18] ;; debug: position 917
;;; <@78,#69> load-named-field
0x37c26f62e403 291 488b5817 REX.W movq rbx,[rax+0x17]
;;; <@80,#70> load-context-slot
0x37c26f62e407 295 488b7b47 REX.W movq rdi,[rbx+0x47]
0x37c26f62e40b 299 493b7dd8 REX.W cmpq rdi,[r13-0x28]
0x37c26f62e40f 303 0f8402010000 jz 567 (0x37c26f62e517)
;;; <@82,#71> check-non-smi
0x37c26f62e415 309 40f6c701 testb rdi,0x1 ;; debug: position 938
0x37c26f62e419 313 0f84fd000000 jz 572 (0x37c26f62e51c)
;;; <@84,#72> check-maps
0x37c26f62e41f 319 49bad188808f7a200000 REX.W movq r10,0x207a8f8088d1 ;; object: 0x207a8f8088d1 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f62e429 329 4c3957ff REX.W cmpq [rdi-0x1],r10
0x37c26f62e42d 333 0f85ee000000 jnz 577 (0x37c26f62e521)
;;; <@86,#74> check-maps
;;; <@88,#78> load-context-slot
0x37c26f62e433 339 488b5837 REX.W movq rbx,[rax+0x37] ;; debug: position 943
;;; <@90,#79> load-context-slot
0x37c26f62e437 343 488b502f REX.W movq rdx,[rax+0x2f] ;; debug: position 949
;;; <@92,#80> wrap-receiver
0x37c26f62e43b 347 4c8b571f REX.W movq r10,[rdi+0x1f] ;; debug: position 938
0x37c26f62e43f 351 41f6427b20 testb [r10+0x7b],0x20
0x37c26f62e444 356 7539 jnz 415 (0x37c26f62e47f)
0x37c26f62e446 358 41f6427b10 testb [r10+0x7b],0x10
0x37c26f62e44b 363 7532 jnz 415 (0x37c26f62e47f)
0x37c26f62e44d 365 493b5db8 REX.W cmpq rbx,[r13-0x48]
0x37c26f62e451 369 7420 jz 403 (0x37c26f62e473)
0x37c26f62e453 371 493b5da8 REX.W cmpq rbx,[r13-0x58]
0x37c26f62e457 375 741a jz 403 (0x37c26f62e473)
0x37c26f62e459 377 f6c301 testb rbx,0x1
0x37c26f62e45c 380 0f84c4000000 jz 582 (0x37c26f62e526)
0x37c26f62e462 386 4c8b53ff REX.W movq r10,[rbx-0x1]
0x37c26f62e466 390 41807a0bb1 cmpb [r10+0xb],0xb1
0x37c26f62e46b 395 0f82ba000000 jc 587 (0x37c26f62e52b)
0x37c26f62e471 401 eb0c jmp 415 (0x37c26f62e47f)
0x37c26f62e473 403 488b5f27 REX.W movq rbx,[rdi+0x27]
0x37c26f62e477 407 488b5b27 REX.W movq rbx,[rbx+0x27]
0x37c26f62e47b 411 488b5b2f REX.W movq rbx,[rbx+0x2f]
;;; <@94,#81> push-argument
0x37c26f62e47f 415 53 push rbx
;;; <@96,#81> push-argument
0x37c26f62e480 416 52 push rdx
;;; <@97,#81> gap
0x37c26f62e481 417 488bf0 REX.W movq rsi,rax
;;; <@98,#82> invoke-function
0x37c26f62e484 420 488b5f1f REX.W movq rbx,[rdi+0x1f]
0x37c26f62e488 424 48635b63 REX.W movsxlq rbx,[rbx+0x63]
0x37c26f62e48c 428 488b7727 REX.W movq rsi,[rdi+0x27]
0x37c26f62e490 432 498b55a8 REX.W movq rdx,[r13-0x58]
0x37c26f62e494 436 b801000000 movl rax,0x1
0x37c26f62e499 441 4883fb01 REX.W cmpq rbx,0x1
0x37c26f62e49d 445 7407 jz 454 (0x37c26f62e4a6)
0x37c26f62e49f 447 e81cb3ddff call ArgumentsAdaptorTrampoline (0x37c26f4097c0) ;; code: BUILTIN
0x37c26f62e4a4 452 eb03 jmp 457 (0x37c26f62e4a9)
0x37c26f62e4a6 454 ff5737 call [rdi+0x37]
;;; <@100,#83> lazy-bailout
;;; <@102,#85> return
0x37c26f62e4a9 457 488be5 REX.W movq rsp,rbp ;; debug: position 910
0x37c26f62e4ac 460 5d pop rbp
0x37c26f62e4ad 461 c21000 ret 0x10
;;; <@104,#47> -------------------- B13 (unreachable/replaced) --------------------
;;; <@108,#53> -------------------- B14 --------------------
;;; <@109,#53> gap
0x37c26f62e4b0 464 488b45e8 REX.W movq rax,[rbp-0x18] ;; debug: position 805
;;; <@110,#54> load-named-field
0x37c26f62e4b4 468 488b5817 REX.W movq rbx,[rax+0x17]
;;; <@112,#55> load-context-slot
0x37c26f62e4b8 472 488b5357 REX.W movq rdx,[rbx+0x57]
;;; <@113,#55> gap
0x37c26f62e4bc 476 488955e0 REX.W movq [rbp-0x20],rdx
;;; <@114,#56> constant-t
0x37c26f62e4c0 480 48bb19e3a3968c230000 REX.W movq rbx,0x238c96a3e319 ;; debug: position 824
;; object: 0x238c96a3e319 <SharedFunctionInfo sigintHandlersWrap>
;;; <@115,#56> gap
0x37c26f62e4ca 490 488bf0 REX.W movq rsi,rax
;;; <@116,#58> call-with-descriptor
0x37c26f62e4cd 493 e86e1be0ff call 0x37c26f430040 ;; code: STUB, FastNewClosureStub, minor: 5
;;; <@118,#59> lazy-bailout
;;; <@120,#60> push-argument
0x37c26f62e4d2 498 49ba81436051de230000 REX.W movq r10,0x23de51604381 ;; debug: position 805
;; object: 0x23de51604381 <undefined>
0x37c26f62e4dc 508 4152 push r10
;;; <@122,#60> push-argument
0x37c26f62e4de 510 50 push rax
;;; <@124,#89> constant-s
0x37c26f62e4df 511 48ba0000000003000000 REX.W movq rdx,0x300000000
;;; <@126,#62> constant-t
0x37c26f62e4e9 521 48bbb1e2a3968c230000 REX.W movq rbx,0x238c96a3e2b1 ;; object: 0x238c96a3e2b1 <FixedArray[9]>
;;; <@127,#62> gap
0x37c26f62e4f3 531 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f62e4f7 535 488b7de0 REX.W movq rdi,[rbp-0x20]
;;; <@128,#64> call-with-descriptor
0x37c26f62e4fb 539 e8c00eeeff call 0x37c26f50f3c0 ;; code: CALL_IC, GENERIC
;;; <@130,#65> lazy-bailout
;;; <@132,#67> return
0x37c26f62e500 544 488be5 REX.W movq rsp,rbp ;; debug: position 798
0x37c26f62e503 547 5d pop rbp
0x37c26f62e504 548 c21000 ret 0x10
0x37c26f62e507 551 660f1f440000 nop
;;; -------------------- Jump table --------------------
0x37c26f62e50d 557 e8027badff call 0x37c26f106014 ;; debug: position 9216
;; debug: deopt reason 'Smi'
;; deoptimization bailout 2
0x37c26f62e512 562 e8077badff call 0x37c26f10601e ;; debug: position 18432
;; debug: deopt reason 'Smi'
;; deoptimization bailout 3
0x37c26f62e517 567 e8207badff call 0x37c26f10603c ;; debug: position 90624
;; debug: deopt reason 'hole'
;; deoptimization bailout 6
0x37c26f62e51c 572 e8257badff call 0x37c26f106046 ;; debug: position 101376
;; debug: deopt reason 'Smi'
;; deoptimization bailout 7
0x37c26f62e521 577 e82a7badff call 0x37c26f106050 ;; debug: position 101376
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 8
0x37c26f62e526 582 e82f7badff call 0x37c26f10605a ;; debug: position 101376
;; debug: deopt reason 'Smi'
;; deoptimization bailout 9
0x37c26f62e52b 587 e82a7badff call 0x37c26f10605a ;; debug: position 101376
;; debug: deopt reason 'not a JavaScript object'
;; deoptimization bailout 9
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 13)
index ast id argc pc
0 2 0 41
1 4 0 68
2 4 0 -1
3 10 0 -1
4 15 0 242
5 15 0 -1
6 7 0 -1
7 7 0 -1
8 7 0 -1
9 7 0 -1
10 41 0 457
11 36 0 498
12 27 0 544
Safepoints (size = 85)
0x37c26f62e2f2 18 000000 (sp -> fp) <none>
0x37c26f62e324 68 010000 (sp -> fp) 1
0x37c26f62e3d2 242 010000 (sp -> fp) 4
0x37c26f62e4a4 452 010000 (sp -> fp) 10
0x37c26f62e4a9 457 010000 (sp -> fp) 10
0x37c26f62e4d2 498 110000 (sp -> fp) 11
0x37c26f62e500 544 010000 (sp -> fp) 12
RelocInfo (size = 901)
0x37c26f62e2ea position (740)
0x37c26f62e2ea comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f62e2ea comment (;;; <@6,#4> prologue)
0x37c26f62e2ed comment (;;; Prologue begin)
0x37c26f62e2ed comment (;;; Allocate local context)
0x37c26f62e2ee code target (STUB) (0x37c26f42fd00)
0x37c26f62e309 comment (;;; End allocate local context)
0x37c26f62e309 comment (;;; Prologue end)
0x37c26f62e309 comment (;;; <@8,#4> lazy-bailout)
0x37c26f62e309 comment (;;; <@12,#6> -------------------- B1 --------------------)
0x37c26f62e309 comment (;;; <@14,#7> context)
0x37c26f62e30d comment (;;; <@15,#7> gap)
0x37c26f62e311 comment (;;; <@18,#11> -------------------- B2 --------------------)
0x37c26f62e311 comment (;;; <@19,#11> gap)
0x37c26f62e314 comment (;;; <@20,#13> stack-check)
0x37c26f62e320 code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f62e324 comment (;;; <@22,#13> lazy-bailout)
0x37c26f62e324 comment (;;; <@23,#13> gap)
0x37c26f62e328 comment (;;; <@24,#14> load-context-slot)
0x37c26f62e328 position (758)
0x37c26f62e32c comment (;;; <@27,#15> branch)
0x37c26f62e370 position (9216)
0x37c26f62e370 deopt reason (unexpected object)
0x37c26f62e371 runtime entry (deoptimization bailout 2)
0x37c26f62e375 comment (;;; <@28,#19> -------------------- B3 (unreachable/replaced) --------------------)
0x37c26f62e375 comment (;;; <@32,#16> -------------------- B4 (unreachable/replaced) --------------------)
0x37c26f62e375 position (769)
0x37c26f62e375 comment (;;; <@36,#22> -------------------- B5 --------------------)
0x37c26f62e375 comment (;;; <@38,#24> check-non-smi)
0x37c26f62e375 position (776)
0x37c26f62e37e comment (;;; <@41,#25> cmp-map-and-branch)
0x37c26f62e380 embedded object (0x207a8f810ac1 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f62e392 comment (;;; <@42,#31> -------------------- B6 --------------------)
0x37c26f62e392 comment (;;; <@45,#32> is-string-and-branch)
0x37c26f62e3ac comment (;;; <@46,#40> -------------------- B7 --------------------)
0x37c26f62e3ac comment (;;; <@47,#40> gap)
0x37c26f62e3af comment (;;; <@48,#41> load-named-generic)
0x37c26f62e3b1 embedded object (0x238c96a316a9 <String[13]: breakOnSigint>)
0x37c26f62e3bb embedded object (0x238c96a3e2b1 <FixedArray[9]>)
0x37c26f62e3ce code target (LOAD_IC) (0x37c26f551540)
0x37c26f62e3d2 comment (;;; <@50,#42> lazy-bailout)
0x37c26f62e3d2 comment (;;; <@53,#43> goto)
0x37c26f62e3d7 comment (;;; <@54,#33> -------------------- B8 --------------------)
0x37c26f62e3d7 comment (;;; <@56,#35> check-maps)
0x37c26f62e3d7 comment (;;; <@58,#37> check-maps)
0x37c26f62e3d7 comment (;;; <@60,#39> gap)
0x37c26f62e3d9 embedded object (0x23de51604381 <undefined>)
0x37c26f62e3e1 comment (;;; <@61,#39> goto)
0x37c26f62e3e6 comment (;;; <@62,#26> -------------------- B9 --------------------)
0x37c26f62e3e6 comment (;;; <@64,#28> check-maps)
0x37c26f62e3e6 comment (;;; <@66,#30> gap)
0x37c26f62e3e8 embedded object (0x23de51604381 <undefined>)
0x37c26f62e3f0 comment (;;; <@68,#45> -------------------- B10 --------------------)
0x37c26f62e3f0 comment (;;; <@71,#46> branch)
0x37c26f62e3fa position (18432)
0x37c26f62e3fa deopt reason (unexpected object)
0x37c26f62e3fb runtime entry (deoptimization bailout 5)
0x37c26f62e3ff comment (;;; <@72,#50> -------------------- B11 (unreachable/replaced) --------------------)
0x37c26f62e3ff position (917)
0x37c26f62e3ff comment (;;; <@76,#68> -------------------- B12 --------------------)
0x37c26f62e3ff comment (;;; <@77,#68> gap)
0x37c26f62e403 comment (;;; <@78,#69> load-named-field)
0x37c26f62e407 comment (;;; <@80,#70> load-context-slot)
0x37c26f62e415 comment (;;; <@82,#71> check-non-smi)
0x37c26f62e415 position (938)
0x37c26f62e41f comment (;;; <@84,#72> check-maps)
0x37c26f62e421 embedded object (0x207a8f8088d1 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f62e433 comment (;;; <@86,#74> check-maps)
0x37c26f62e433 comment (;;; <@88,#78> load-context-slot)
0x37c26f62e433 position (943)
0x37c26f62e437 comment (;;; <@90,#79> load-context-slot)
0x37c26f62e437 position (949)
0x37c26f62e43b comment (;;; <@92,#80> wrap-receiver)
0x37c26f62e43b position (938)
0x37c26f62e47f comment (;;; <@94,#81> push-argument)
0x37c26f62e480 comment (;;; <@96,#81> push-argument)
0x37c26f62e481 comment (;;; <@97,#81> gap)
0x37c26f62e484 comment (;;; <@98,#82> invoke-function)
0x37c26f62e4a0 code target (BUILTIN) (0x37c26f4097c0)
0x37c26f62e4a9 comment (;;; <@100,#83> lazy-bailout)
0x37c26f62e4a9 comment (;;; <@102,#85> return)
0x37c26f62e4a9 position (910)
0x37c26f62e4b0 comment (;;; <@104,#47> -------------------- B13 (unreachable/replaced) --------------------)
0x37c26f62e4b0 position (805)
0x37c26f62e4b0 comment (;;; <@108,#53> -------------------- B14 --------------------)
0x37c26f62e4b0 comment (;;; <@109,#53> gap)
0x37c26f62e4b4 comment (;;; <@110,#54> load-named-field)
0x37c26f62e4b8 comment (;;; <@112,#55> load-context-slot)
0x37c26f62e4bc comment (;;; <@113,#55> gap)
0x37c26f62e4c0 comment (;;; <@114,#56> constant-t)
0x37c26f62e4c0 position (824)
0x37c26f62e4c2 embedded object (0x238c96a3e319 <SharedFunctionInfo sigintHandlersWrap>)
0x37c26f62e4ca comment (;;; <@115,#56> gap)
0x37c26f62e4cd comment (;;; <@116,#58> call-with-descriptor)
0x37c26f62e4ce code target (STUB) (0x37c26f430040)
0x37c26f62e4d2 comment (;;; <@118,#59> lazy-bailout)
0x37c26f62e4d2 comment (;;; <@120,#60> push-argument)
0x37c26f62e4d2 position (805)
0x37c26f62e4d4 embedded object (0x23de51604381 <undefined>)
0x37c26f62e4de comment (;;; <@122,#60> push-argument)
0x37c26f62e4df comment (;;; <@124,#89> constant-s)
0x37c26f62e4e9 comment (;;; <@126,#62> constant-t)
0x37c26f62e4eb embedded object (0x238c96a3e2b1 <FixedArray[9]>)
0x37c26f62e4f3 comment (;;; <@127,#62> gap)
0x37c26f62e4fb comment (;;; <@128,#64> call-with-descriptor)
0x37c26f62e4fc code target (CALL_IC) (0x37c26f50f3c0)
0x37c26f62e500 comment (;;; <@130,#65> lazy-bailout)
0x37c26f62e500 comment (;;; <@132,#67> return)
0x37c26f62e500 position (798)
0x37c26f62e50d comment (;;; -------------------- Jump table --------------------)
0x37c26f62e50d position (9216)
0x37c26f62e50d deopt reason (Smi)
0x37c26f62e50e runtime entry (deoptimization bailout 2)
0x37c26f62e512 position (18432)
0x37c26f62e512 deopt reason (Smi)
0x37c26f62e513 runtime entry (deoptimization bailout 3)
0x37c26f62e517 position (90624)
0x37c26f62e517 deopt reason (hole)
0x37c26f62e518 runtime entry (deoptimization bailout 6)
0x37c26f62e51c position (101376)
0x37c26f62e51c deopt reason (Smi)
0x37c26f62e51d runtime entry (deoptimization bailout 7)
0x37c26f62e521 position (101376)
0x37c26f62e521 deopt reason (wrong map)
0x37c26f62e522 runtime entry (deoptimization bailout 8)
0x37c26f62e526 position (101376)
0x37c26f62e526 deopt reason (Smi)
0x37c26f62e527 runtime entry (deoptimization bailout 9)
0x37c26f62e52b position (101376)
0x37c26f62e52b deopt reason (not a JavaScript object)
0x37c26f62e52c runtime entry (deoptimization bailout 9)
0x37c26f62e530 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (aI) id{25,0} ---
(V,aJ){
if(V===aJ)return 0;
if(%_IsSmi(V)&&%_IsSmi(aJ)){
return %SmiLexicographicCompare(V,aJ);
}
V=(%_ToString(V));
aJ=(%_ToString(aJ));
if(V==aJ)return 0;
else return V<aJ?-1:1;
}
--- END ---
--- Raw source ---
(V,aJ){
if(V===aJ)return 0;
if(%_IsSmi(V)&&%_IsSmi(aJ)){
return %SmiLexicographicCompare(V,aJ);
}
V=(%_ToString(V));
aJ=(%_ToString(aJ));
if(V==aJ)return 0;
else return V<aJ?-1:1;
};
--- Optimized code ---
optimization_id = 25
source_position = 11972
kind = OPTIMIZED_FUNCTION
name = aI
stack_slots = 7
compiler = crankshaft
Instructions (size = 507)
0x37c26f639be0 0 55 push rbp
0x37c26f639be1 1 4889e5 REX.W movq rbp,rsp
0x37c26f639be4 4 56 push rsi
0x37c26f639be5 5 57 push rdi
0x37c26f639be6 6 4883ec18 REX.W subq rsp,0x18
;;; <@0,#0> -------------------- B0 --------------------
;;; <@8,#5> prologue
;;; Prologue begin
;;; Prologue end
;;; <@12,#7> -------------------- B1 --------------------
;;; <@14,#8> context
0x37c26f639bea 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 11972
;;; <@15,#8> gap
0x37c26f639bee 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@18,#12> -------------------- B2 --------------------
;;; <@19,#12> gap
0x37c26f639bf2 18 488bf0 REX.W movq rsi,rax
;;; <@20,#14> stack-check
0x37c26f639bf5 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f639bfc 28 7305 jnc 35 (0x37c26f639c03)
0x37c26f639bfe 30 e8dd2fe0ff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@22,#14> lazy-bailout
;;; <@23,#14> gap
0x37c26f639c03 35 488b5d18 REX.W movq rbx,[rbp+0x18]
;;; <@24,#16> check-non-smi
0x37c26f639c07 39 f6c301 testb rbx,0x1 ;; debug: position 11984
0x37c26f639c0a 42 0f845a010000 jz 394 (0x37c26f639d6a)
;;; <@26,#17> check-instance-type
0x37c26f639c10 48 4c8b53ff REX.W movq r10,[rbx-0x1]
0x37c26f639c14 52 450fb6520b movzxbl r10,[r10+0xb]
0x37c26f639c19 57 4180e2c0 cmpb r10l,0xc0
0x37c26f639c1d 61 4180fa00 cmpb r10l,0x0
0x37c26f639c21 65 0f8548010000 jnz 399 (0x37c26f639d6f)
;;; <@27,#17> gap
0x37c26f639c27 71 488b5510 REX.W movq rdx,[rbp+0x10]
;;; <@28,#18> check-non-smi
0x37c26f639c2b 75 f6c201 testb rdx,0x1
0x37c26f639c2e 78 0f8440010000 jz 404 (0x37c26f639d74)
;;; <@30,#19> check-instance-type
0x37c26f639c34 84 4c8b52ff REX.W movq r10,[rdx-0x1]
0x37c26f639c38 88 450fb6520b movzxbl r10,[r10+0xb]
0x37c26f639c3d 93 4180e2c0 cmpb r10l,0xc0
0x37c26f639c41 97 4180fa00 cmpb r10l,0x0
0x37c26f639c45 101 0f852e010000 jnz 409 (0x37c26f639d79)
;;; <@33,#20> cmp-object-eq-and-branch
0x37c26f639c4b 107 483bda REX.W cmpq rbx,rdx
0x37c26f639c4e 110 0f840d010000 jz 385 (0x37c26f639d61)
;;; <@34,#24> -------------------- B3 (unreachable/replaced) --------------------
;;; <@38,#31> -------------------- B4 --------------------
;;; <@41,#32> is-smi-and-branch
0x37c26f639c54 116 f6c301 testb rbx,0x1 ;; debug: position 12003
0x37c26f639c57 119 0f8509000000 jnz 134 (0x37c26f639c66)
;;; <@42,#36> -------------------- B5 (unreachable/replaced) --------------------
;;; <@46,#33> -------------------- B6 (unreachable/replaced) --------------------
;;; <@50,#39> -------------------- B7 --------------------
;;; <@53,#40> is-smi-and-branch
0x37c26f639c5d 125 f6c201 testb rdx,0x1 ;; debug: position 12015
0x37c26f639c60 128 0f84d9000000 jz 351 (0x37c26f639d3f)
;;; <@54,#44> -------------------- B8 (unreachable/replaced) --------------------
;;; <@58,#53> -------------------- B9 --------------------
;;; <@59,#53> gap
0x37c26f639c66 134 488b75e8 REX.W movq rsi,[rbp-0x18] ;; debug: position 12073
0x37c26f639c6a 138 488bc3 REX.W movq rax,rbx
;;; <@60,#55> call-with-descriptor
0x37c26f639c6d 141 e8ae7adfff call 0x37c26f431720 ;; code: STUB, ToStringStub, minor: 0
;;; <@61,#55> gap
0x37c26f639c72 146 488945e0 REX.W movq [rbp-0x20],rax
0x37c26f639c76 150 488bd8 REX.W movq rbx,rax
;;; <@62,#56> lazy-bailout
;;; <@63,#56> gap
0x37c26f639c79 153 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f639c7d 157 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@64,#58> call-with-descriptor
0x37c26f639c81 161 0f1f440000 nop
0x37c26f639c86 166 e8957adfff call 0x37c26f431720 ;; debug: position 12093
;; code: STUB, ToStringStub, minor: 0
;;; <@65,#58> gap
0x37c26f639c8b 171 488945d8 REX.W movq [rbp-0x28],rax
0x37c26f639c8f 175 488bd8 REX.W movq rbx,rax
;;; <@66,#59> lazy-bailout
;;; <@67,#59> gap
0x37c26f639c92 178 488b4de0 REX.W movq rcx,[rbp-0x20]
;;; <@68,#60> check-non-smi
0x37c26f639c96 182 f6c101 testb rcx,0x1 ;; debug: position 12114
0x37c26f639c99 185 0f84df000000 jz 414 (0x37c26f639d7e)
;;; <@70,#61> check-instance-type
0x37c26f639c9f 191 4c8b51ff REX.W movq r10,[rcx-0x1]
0x37c26f639ca3 195 450fb6520b movzxbl r10,[r10+0xb]
0x37c26f639ca8 200 4180e2c0 cmpb r10l,0xc0
0x37c26f639cac 204 4180fa00 cmpb r10l,0x0
0x37c26f639cb0 208 0f85cd000000 jnz 419 (0x37c26f639d83)
;;; <@72,#62> check-non-smi
0x37c26f639cb6 214 f6c301 testb rbx,0x1
0x37c26f639cb9 217 0f84c9000000 jz 424 (0x37c26f639d88)
;;; <@74,#63> check-instance-type
0x37c26f639cbf 223 4c8b53ff REX.W movq r10,[rbx-0x1]
0x37c26f639cc3 227 450fb6520b movzxbl r10,[r10+0xb]
0x37c26f639cc8 232 4180e2c0 cmpb r10l,0xc0
0x37c26f639ccc 236 4180fa00 cmpb r10l,0x0
0x37c26f639cd0 240 0f85b7000000 jnz 429 (0x37c26f639d8d)
;;; <@77,#64> cmp-object-eq-and-branch
0x37c26f639cd6 246 483bcb REX.W cmpq rcx,rbx
0x37c26f639cd9 249 0f8457000000 jz 342 (0x37c26f639d36)
;;; <@78,#68> -------------------- B10 (unreachable/replaced) --------------------
;;; <@82,#75> -------------------- B11 --------------------
;;; <@84,#77> check-instance-type
0x37c26f639cdf 255 4c8b51ff REX.W movq r10,[rcx-0x1] ;; debug: position 12142
0x37c26f639ce3 259 41f6420b80 testb [r10+0xb],0x80
0x37c26f639ce8 264 0f85a4000000 jnz 434 (0x37c26f639d92)
;;; <@86,#79> check-instance-type
0x37c26f639cee 270 4c8b53ff REX.W movq r10,[rbx-0x1]
0x37c26f639cf2 274 41f6420b80 testb [r10+0xb],0x80
0x37c26f639cf7 279 0f859a000000 jnz 439 (0x37c26f639d97)
;;; <@88,#80> gap
0x37c26f639cfd 285 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f639d01 289 488bd1 REX.W movq rdx,rcx
0x37c26f639d04 292 488bc3 REX.W movq rax,rbx
;;; <@89,#80> string-compare-and-branch
0x37c26f639d07 295 e874fdffff call 0x37c26f639a80 ;; code: STUB, StringLessThanStub, minor: 0
0x37c26f639d0c 300 493b45c0 REX.W cmpq rax,[r13-0x40]
0x37c26f639d10 304 0f840f000000 jz 325 (0x37c26f639d25)
;;; <@90,#80> lazy-bailout
;;; <@92,#84> -------------------- B12 (unreachable/replaced) --------------------
;;; <@96,#89> -------------------- B13 --------------------
;;; <@98,#94> gap
0x37c26f639d16 310 48b80000000001000000 REX.W movq rax,0x100000000 ;; debug: position 12149
;; debug: position 12141
;;; <@99,#94> goto
0x37c26f639d20 320 e90a000000 jmp 335 (0x37c26f639d2f)
;;; <@100,#81> -------------------- B14 (unreachable/replaced) --------------------
;;; <@104,#87> -------------------- B15 --------------------
;;; <@106,#92> gap
0x37c26f639d25 325 48b800000000ffffffff REX.W movq rax,0xffffffff00000000 ;; debug: position 12146
;; debug: position 12141
;;; <@108,#96> -------------------- B16 --------------------
;;; <@110,#98> return
0x37c26f639d2f 335 488be5 REX.W movq rsp,rbp ;; debug: position 12134
0x37c26f639d32 338 5d pop rbp
0x37c26f639d33 339 c21800 ret 0x18
;;; <@112,#65> -------------------- B17 (unreachable/replaced) --------------------
;;; <@116,#71> -------------------- B18 --------------------
;;; <@118,#103> constant-t
0x37c26f639d36 342 33c0 xorl rax,rax ;; debug: position 12126
;; debug: position 12119
;;; <@120,#74> return
0x37c26f639d38 344 488be5 REX.W movq rsp,rbp
0x37c26f639d3b 347 5d pop rbp
0x37c26f639d3c 348 c21800 ret 0x18
;;; <@122,#41> -------------------- B19 (unreachable/replaced) --------------------
;;; <@126,#47> -------------------- B20 --------------------
;;; <@128,#48> push-argument
0x37c26f639d3f 351 ff7518 push [rbp+0x18] ;; debug: position 12036
;;; <@130,#48> push-argument
0x37c26f639d42 354 ff7510 push [rbp+0x10]
;;; <@131,#48> gap
0x37c26f639d45 357 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@132,#49> call-runtime
0x37c26f639d49 361 b802000000 movl rax,0x2
0x37c26f639d4e 366 498d9de87141fe REX.W leaq rbx,[r13-0x1be8e18]
0x37c26f639d55 373 e8e6f4dcff call 0x37c26f409240 ;; code: STUB, CEntryStub, minor: 4
;;; <@134,#50> lazy-bailout
;;; <@136,#52> return
0x37c26f639d5a 378 488be5 REX.W movq rsp,rbp ;; debug: position 12029
0x37c26f639d5d 381 5d pop rbp
0x37c26f639d5e 382 c21800 ret 0x18
;;; <@138,#21> -------------------- B21 (unreachable/replaced) --------------------
;;; <@142,#27> -------------------- B22 --------------------
;;; <@144,#106> constant-t
0x37c26f639d61 385 33c0 xorl rax,rax ;; debug: position 11997
;; debug: position 11990
;;; <@146,#30> return
0x37c26f639d63 387 488be5 REX.W movq rsp,rbp
0x37c26f639d66 390 5d pop rbp
0x37c26f639d67 391 c21800 ret 0x18
;;; -------------------- Jump table --------------------
0x37c26f639d6a 394 e89bc2acff call 0x37c26f10600a ;; debug: position 6144
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x37c26f639d6f 399 e8a0c2acff call 0x37c26f106014 ;; debug: position 6144
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 2
0x37c26f639d74 404 e8a5c2acff call 0x37c26f10601e ;; debug: position 6144
;; debug: deopt reason 'Smi'
;; deoptimization bailout 3
0x37c26f639d79 409 e8aac2acff call 0x37c26f106028 ;; debug: position 6144
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 4
0x37c26f639d7e 414 e8c3c2acff call 0x37c26f106046 ;; debug: position 72704
;; debug: deopt reason 'Smi'
;; deoptimization bailout 7
0x37c26f639d83 419 e8c8c2acff call 0x37c26f106050 ;; debug: position 72704
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 8
0x37c26f639d88 424 e8cdc2acff call 0x37c26f10605a ;; debug: position 72704
;; debug: deopt reason 'Smi'
;; deoptimization bailout 9
0x37c26f639d8d 429 e8d2c2acff call 0x37c26f106064 ;; debug: position 72704
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 10
0x37c26f639d92 434 e8d7c2acff call 0x37c26f10606e ;; debug: position 87040
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 11
0x37c26f639d97 439 e8dcc2acff call 0x37c26f106078 ;; debug: position 87040
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 12
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 15)
index ast id argc pc
0 4 0 35
1 4 0 -1
2 4 0 -1
3 4 0 -1
4 4 0 -1
5 58 0 153
6 71 0 178
7 71 0 -1
8 71 0 -1
9 71 0 -1
10 71 0 -1
11 79 0 -1
12 79 0 -1
13 79 0 310
14 42 0 378
Safepoints (size = 63)
0x37c26f639c03 35 0010000 (sp -> fp) 0
0x37c26f639c72 146 0010000 (sp -> fp) 5
0x37c26f639c8b 171 0110000 (sp -> fp) 6
0x37c26f639d0c 300 1110000 (sp -> fp) 13
0x37c26f639d5a 378 0010000 (sp -> fp) 14
RelocInfo (size = 877)
0x37c26f639bea position (11972)
0x37c26f639bea comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f639bea comment (;;; <@8,#5> prologue)
0x37c26f639bea comment (;;; Prologue begin)
0x37c26f639bea comment (;;; Prologue end)
0x37c26f639bea comment (;;; <@12,#7> -------------------- B1 --------------------)
0x37c26f639bea comment (;;; <@14,#8> context)
0x37c26f639bee comment (;;; <@15,#8> gap)
0x37c26f639bf2 comment (;;; <@18,#12> -------------------- B2 --------------------)
0x37c26f639bf2 comment (;;; <@19,#12> gap)
0x37c26f639bf5 comment (;;; <@20,#14> stack-check)
0x37c26f639bff code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f639c03 comment (;;; <@22,#14> lazy-bailout)
0x37c26f639c03 comment (;;; <@23,#14> gap)
0x37c26f639c07 comment (;;; <@24,#16> check-non-smi)
0x37c26f639c07 position (11984)
0x37c26f639c10 comment (;;; <@26,#17> check-instance-type)
0x37c26f639c27 comment (;;; <@27,#17> gap)
0x37c26f639c2b comment (;;; <@28,#18> check-non-smi)
0x37c26f639c34 comment (;;; <@30,#19> check-instance-type)
0x37c26f639c4b comment (;;; <@33,#20> cmp-object-eq-and-branch)
0x37c26f639c54 comment (;;; <@34,#24> -------------------- B3 (unreachable/replaced) --------------------)
0x37c26f639c54 position (12003)
0x37c26f639c54 comment (;;; <@38,#31> -------------------- B4 --------------------)
0x37c26f639c54 comment (;;; <@41,#32> is-smi-and-branch)
0x37c26f639c5d comment (;;; <@42,#36> -------------------- B5 (unreachable/replaced) --------------------)
0x37c26f639c5d comment (;;; <@46,#33> -------------------- B6 (unreachable/replaced) --------------------)
0x37c26f639c5d position (12015)
0x37c26f639c5d comment (;;; <@50,#39> -------------------- B7 --------------------)
0x37c26f639c5d comment (;;; <@53,#40> is-smi-and-branch)
0x37c26f639c66 comment (;;; <@54,#44> -------------------- B8 (unreachable/replaced) --------------------)
0x37c26f639c66 position (12073)
0x37c26f639c66 comment (;;; <@58,#53> -------------------- B9 --------------------)
0x37c26f639c66 comment (;;; <@59,#53> gap)
0x37c26f639c6d comment (;;; <@60,#55> call-with-descriptor)
0x37c26f639c6e code target (STUB) (0x37c26f431720)
0x37c26f639c72 comment (;;; <@61,#55> gap)
0x37c26f639c79 comment (;;; <@62,#56> lazy-bailout)
0x37c26f639c79 comment (;;; <@63,#56> gap)
0x37c26f639c81 comment (;;; <@64,#58> call-with-descriptor)
0x37c26f639c86 position (12093)
0x37c26f639c87 code target (STUB) (0x37c26f431720)
0x37c26f639c8b comment (;;; <@65,#58> gap)
0x37c26f639c92 comment (;;; <@66,#59> lazy-bailout)
0x37c26f639c92 comment (;;; <@67,#59> gap)
0x37c26f639c96 comment (;;; <@68,#60> check-non-smi)
0x37c26f639c96 position (12114)
0x37c26f639c9f comment (;;; <@70,#61> check-instance-type)
0x37c26f639cb6 comment (;;; <@72,#62> check-non-smi)
0x37c26f639cbf comment (;;; <@74,#63> check-instance-type)
0x37c26f639cd6 comment (;;; <@77,#64> cmp-object-eq-and-branch)
0x37c26f639cdf comment (;;; <@78,#68> -------------------- B10 (unreachable/replaced) --------------------)
0x37c26f639cdf position (12142)
0x37c26f639cdf comment (;;; <@82,#75> -------------------- B11 --------------------)
0x37c26f639cdf comment (;;; <@84,#77> check-instance-type)
0x37c26f639cee comment (;;; <@86,#79> check-instance-type)
0x37c26f639cfd comment (;;; <@88,#80> gap)
0x37c26f639d07 comment (;;; <@89,#80> string-compare-and-branch)
0x37c26f639d08 code target (STUB) (0x37c26f639a80)
0x37c26f639d16 comment (;;; <@90,#80> lazy-bailout)
0x37c26f639d16 comment (;;; <@92,#84> -------------------- B12 (unreachable/replaced) --------------------)
0x37c26f639d16 position (12149)
0x37c26f639d16 comment (;;; <@96,#89> -------------------- B13 --------------------)
0x37c26f639d16 comment (;;; <@98,#94> gap)
0x37c26f639d16 position (12141)
0x37c26f639d20 comment (;;; <@99,#94> goto)
0x37c26f639d25 comment (;;; <@100,#81> -------------------- B14 (unreachable/replaced) --------------------)
0x37c26f639d25 position (12146)
0x37c26f639d25 comment (;;; <@104,#87> -------------------- B15 --------------------)
0x37c26f639d25 comment (;;; <@106,#92> gap)
0x37c26f639d25 position (12141)
0x37c26f639d2f position (12134)
0x37c26f639d2f comment (;;; <@108,#96> -------------------- B16 --------------------)
0x37c26f639d2f comment (;;; <@110,#98> return)
0x37c26f639d36 comment (;;; <@112,#65> -------------------- B17 (unreachable/replaced) --------------------)
0x37c26f639d36 position (12126)
0x37c26f639d36 comment (;;; <@116,#71> -------------------- B18 --------------------)
0x37c26f639d36 comment (;;; <@118,#103> constant-t)
0x37c26f639d36 position (12119)
0x37c26f639d38 comment (;;; <@120,#74> return)
0x37c26f639d3f comment (;;; <@122,#41> -------------------- B19 (unreachable/replaced) --------------------)
0x37c26f639d3f position (12036)
0x37c26f639d3f comment (;;; <@126,#47> -------------------- B20 --------------------)
0x37c26f639d3f comment (;;; <@128,#48> push-argument)
0x37c26f639d42 comment (;;; <@130,#48> push-argument)
0x37c26f639d45 comment (;;; <@131,#48> gap)
0x37c26f639d49 comment (;;; <@132,#49> call-runtime)
0x37c26f639d56 code target (STUB) (0x37c26f409240)
0x37c26f639d5a comment (;;; <@134,#50> lazy-bailout)
0x37c26f639d5a comment (;;; <@136,#52> return)
0x37c26f639d5a position (12029)
0x37c26f639d61 comment (;;; <@138,#21> -------------------- B21 (unreachable/replaced) --------------------)
0x37c26f639d61 position (11997)
0x37c26f639d61 comment (;;; <@142,#27> -------------------- B22 --------------------)
0x37c26f639d61 comment (;;; <@144,#106> constant-t)
0x37c26f639d61 position (11990)
0x37c26f639d63 comment (;;; <@146,#30> return)
0x37c26f639d6a comment (;;; -------------------- Jump table --------------------)
0x37c26f639d6a position (6144)
0x37c26f639d6a deopt reason (Smi)
0x37c26f639d6b runtime entry (deoptimization bailout 1)
0x37c26f639d6f position (6144)
0x37c26f639d6f deopt reason (wrong instance type)
0x37c26f639d70 runtime entry (deoptimization bailout 2)
0x37c26f639d74 position (6144)
0x37c26f639d74 deopt reason (Smi)
0x37c26f639d75 runtime entry (deoptimization bailout 3)
0x37c26f639d79 position (6144)
0x37c26f639d79 deopt reason (wrong instance type)
0x37c26f639d7a runtime entry (deoptimization bailout 4)
0x37c26f639d7e position (72704)
0x37c26f639d7e deopt reason (Smi)
0x37c26f639d7f runtime entry (deoptimization bailout 7)
0x37c26f639d83 position (72704)
0x37c26f639d83 deopt reason (wrong instance type)
0x37c26f639d84 runtime entry (deoptimization bailout 8)
0x37c26f639d88 position (72704)
0x37c26f639d88 deopt reason (Smi)
0x37c26f639d89 runtime entry (deoptimization bailout 9)
0x37c26f639d8d position (72704)
0x37c26f639d8d deopt reason (wrong instance type)
0x37c26f639d8e runtime entry (deoptimization bailout 10)
0x37c26f639d92 position (87040)
0x37c26f639d92 deopt reason (wrong instance type)
0x37c26f639d93 runtime entry (deoptimization bailout 11)
0x37c26f639d97 position (87040)
0x37c26f639d97 deopt reason (wrong instance type)
0x37c26f639d98 runtime entry (deoptimization bailout 12)
0x37c26f639d9c comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (ok) id{26,0} ---
(value, message) {
if (!value) fail(value, true, message, '==', assert.ok);
}
--- END ---
--- Raw source ---
(value, message) {
if (!value) fail(value, true, message, '==', assert.ok);
}
--- Optimized code ---
optimization_id = 26
source_position = 3897
kind = OPTIMIZED_FUNCTION
name = ok
stack_slots = 5
compiler = crankshaft
Instructions (size = 175)
0x37c26f647bc0 0 55 push rbp
0x37c26f647bc1 1 4889e5 REX.W movq rbp,rsp
0x37c26f647bc4 4 56 push rsi
0x37c26f647bc5 5 57 push rdi
0x37c26f647bc6 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@8,#5> prologue
;;; Prologue begin
;;; Prologue end
;;; <@12,#7> -------------------- B1 --------------------
;;; <@14,#8> context
0x37c26f647bca 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 3897
;;; <@15,#8> gap
0x37c26f647bce 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@18,#12> -------------------- B2 --------------------
;;; <@19,#12> gap
0x37c26f647bd2 18 488bf0 REX.W movq rsi,rax
;;; <@20,#14> stack-check
0x37c26f647bd5 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f647bdc 28 7305 jnc 35 (0x37c26f647be3)
0x37c26f647bde 30 e8fd4fdfff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@22,#14> lazy-bailout
;;; <@24,#16> gap
0x37c26f647be3 35 488b4518 REX.W movq rax,[rbp+0x18] ;; debug: position 3923
;;; <@25,#16> branch
0x37c26f647be7 39 493b45c0 REX.W cmpq rax,[r13-0x40]
0x37c26f647beb 43 0f844d000000 jz 126 (0x37c26f647c3e)
0x37c26f647bf1 49 493b45c8 REX.W cmpq rax,[r13-0x38]
0x37c26f647bf5 53 0f8428000000 jz 99 (0x37c26f647c23)
0x37c26f647bfb 59 a801 test al,0x1
0x37c26f647bfd 61 0f844c000000 jz 143 (0x37c26f647c4f)
0x37c26f647c03 67 4c8b50ff REX.W movq r10,[rax-0x1]
0x37c26f647c07 71 41807a0b80 cmpb [r10+0xb],0x80
0x37c26f647c0c 76 7310 jnc 94 (0x37c26f647c1e)
0x37c26f647c0e 78 4883780f00 REX.W cmpq [rax+0xf],0x0
0x37c26f647c13 83 0f8525000000 jnz 126 (0x37c26f647c3e)
0x37c26f647c19 89 e905000000 jmp 99 (0x37c26f647c23)
0x37c26f647c1e 94 e8e7e3abff call 0x37c26f10600a ;; debug: position 13312
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 1
;;; <@26,#20> -------------------- B3 (unreachable/replaced) --------------------
;;; <@30,#23> -------------------- B4 --------------------
;;; <@31,#23> gap
0x37c26f647c23 99 488b5de8 REX.W movq rbx,[rbp-0x18] ;; debug: position 3930
;;; <@32,#24> load-context-slot
0x37c26f647c27 103 488b5367 REX.W movq rdx,[rbx+0x67]
;;; <@34,#27> load-context-slot
0x37c26f647c2b 107 488b4b4f REX.W movq rcx,[rbx+0x4f] ;; debug: position 3963
0x37c26f647c2f 111 493b4dd8 REX.W cmpq rcx,[r13-0x28]
0x37c26f647c33 115 0f841b000000 jz 148 (0x37c26f647c54)
;;; <@37,#28> deoptimize
0x37c26f647c39 121 e8e0e3cbff call 0x37c26f30601e ;; debug: position 3969
;; debug: position 36864
;; debug: deopt reason 'Insufficient type feedback for generic named access'
;; soft deoptimization bailout 3
;;; <@38,#29> -------------------- B5 (unreachable/replaced) --------------------
;;; <@68,#17> -------------------- B6 (unreachable/replaced) --------------------
;;; <@72,#40> -------------------- B7 (unreachable/replaced) --------------------
;;; <@76,#43> -------------------- B8 --------------------
;;; <@78,#4> constant-t
0x37c26f647c3e 126 48b881436051de230000 REX.W movq rax,0x23de51604381 ;; debug: position 3897
;; object: 0x23de51604381 <undefined>
;;; <@80,#45> return
0x37c26f647c48 136 488be5 REX.W movq rsp,rbp
0x37c26f647c4b 139 5d pop rbp
0x37c26f647c4c 140 c21800 ret 0x18
;;; -------------------- Jump table --------------------
0x37c26f647c4f 143 e8b6e3abff call 0x37c26f10600a ;; debug: position 13312
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x37c26f647c54 148 e8bbe3abff call 0x37c26f106014 ;; debug: position 33792
;; debug: deopt reason 'hole'
;; deoptimization bailout 2
0x37c26f647c59 153 0f1f00 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 4)
index ast id argc pc
0 4 0 35
1 4 0 -1
2 6 0 -1
3 6 0 -1
Safepoints (size = 19)
0x37c26f647be3 35 10000 (sp -> fp) 0
RelocInfo (size = 340)
0x37c26f647bca position (3897)
0x37c26f647bca comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f647bca comment (;;; <@8,#5> prologue)
0x37c26f647bca comment (;;; Prologue begin)
0x37c26f647bca comment (;;; Prologue end)
0x37c26f647bca comment (;;; <@12,#7> -------------------- B1 --------------------)
0x37c26f647bca comment (;;; <@14,#8> context)
0x37c26f647bce comment (;;; <@15,#8> gap)
0x37c26f647bd2 comment (;;; <@18,#12> -------------------- B2 --------------------)
0x37c26f647bd2 comment (;;; <@19,#12> gap)
0x37c26f647bd5 comment (;;; <@20,#14> stack-check)
0x37c26f647bdf code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f647be3 comment (;;; <@22,#14> lazy-bailout)
0x37c26f647be3 comment (;;; <@24,#16> gap)
0x37c26f647be3 position (3923)
0x37c26f647be7 comment (;;; <@25,#16> branch)
0x37c26f647c1e position (13312)
0x37c26f647c1e deopt reason (unexpected object)
0x37c26f647c1f runtime entry (deoptimization bailout 1)
0x37c26f647c23 comment (;;; <@26,#20> -------------------- B3 (unreachable/replaced) --------------------)
0x37c26f647c23 position (3930)
0x37c26f647c23 comment (;;; <@30,#23> -------------------- B4 --------------------)
0x37c26f647c23 comment (;;; <@31,#23> gap)
0x37c26f647c27 comment (;;; <@32,#24> load-context-slot)
0x37c26f647c2b comment (;;; <@34,#27> load-context-slot)
0x37c26f647c2b position (3963)
0x37c26f647c39 position (3969)
0x37c26f647c39 comment (;;; <@37,#28> deoptimize)
0x37c26f647c39 position (36864)
0x37c26f647c39 deopt reason (Insufficient type feedback for generic named access)
0x37c26f647c3a runtime entry
0x37c26f647c3e comment (;;; <@38,#29> -------------------- B5 (unreachable/replaced) --------------------)
0x37c26f647c3e comment (;;; <@68,#17> -------------------- B6 (unreachable/replaced) --------------------)
0x37c26f647c3e comment (;;; <@72,#40> -------------------- B7 (unreachable/replaced) --------------------)
0x37c26f647c3e position (3897)
0x37c26f647c3e comment (;;; <@76,#43> -------------------- B8 --------------------)
0x37c26f647c3e comment (;;; <@78,#4> constant-t)
0x37c26f647c40 embedded object (0x23de51604381 <undefined>)
0x37c26f647c48 comment (;;; <@80,#45> return)
0x37c26f647c4f comment (;;; -------------------- Jump table --------------------)
0x37c26f647c4f position (13312)
0x37c26f647c4f deopt reason (Smi)
0x37c26f647c50 runtime entry (deoptimization bailout 1)
0x37c26f647c54 position (33792)
0x37c26f647c54 deopt reason (hole)
0x37c26f647c55 runtime entry (deoptimization bailout 2)
0x37c26f647c5c comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (hasProp) id{27,0} ---
(obj, prop) {
return hasOwn.call(obj, prop);
}
--- END ---
--- Raw source ---
(obj, prop) {
return hasOwn.call(obj, prop);
}
--- Optimized code ---
optimization_id = 27
source_position = 11725
kind = OPTIMIZED_FUNCTION
name = hasProp
stack_slots = 5
compiler = crankshaft
Instructions (size = 269)
0x37c26f64bce0 0 55 push rbp
0x37c26f64bce1 1 4889e5 REX.W movq rbp,rsp
0x37c26f64bce4 4 56 push rsi
0x37c26f64bce5 5 57 push rdi
0x37c26f64bce6 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@8,#5> prologue
;;; Prologue begin
;;; Prologue end
;;; <@12,#7> -------------------- B1 --------------------
;;; <@14,#8> context
0x37c26f64bcea 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 11725
;;; <@15,#8> gap
0x37c26f64bcee 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@18,#12> -------------------- B2 --------------------
;;; <@19,#12> gap
0x37c26f64bcf2 18 488bf0 REX.W movq rsi,rax
;;; <@20,#14> stack-check
0x37c26f64bcf5 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f64bcfc 28 7305 jnc 35 (0x37c26f64bd03)
0x37c26f64bcfe 30 e8dd0edfff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@22,#14> lazy-bailout
;;; <@23,#14> gap
0x37c26f64bd03 35 488b45e8 REX.W movq rax,[rbp-0x18]
;;; <@24,#15> load-context-slot
0x37c26f64bd07 39 488bb8d7000000 REX.W movq rdi,[rax+0xd7] ;; debug: position 11754
;;; <@26,#16> check-non-smi
0x37c26f64bd0e 46 40f6c701 testb rdi,0x1 ;; debug: position 11761
0x37c26f64bd12 50 0f8497000000 jz 207 (0x37c26f64bdaf)
;;; <@28,#17> check-maps
0x37c26f64bd18 56 49ba7967808f7a200000 REX.W movq r10,0x207a8f806779 ;; object: 0x207a8f806779 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f64bd22 66 4c3957ff REX.W cmpq [rdi-0x1],r10
0x37c26f64bd26 70 0f8588000000 jnz 212 (0x37c26f64bdb4)
;;; <@30,#19> check-maps
;;; <@31,#19> gap
0x37c26f64bd2c 76 488b5d18 REX.W movq rbx,[rbp+0x18]
;;; <@32,#24> wrap-receiver
0x37c26f64bd30 80 4c8b571f REX.W movq r10,[rdi+0x1f]
0x37c26f64bd34 84 41f6427b20 testb [r10+0x7b],0x20
0x37c26f64bd39 89 7539 jnz 148 (0x37c26f64bd74)
0x37c26f64bd3b 91 41f6427b10 testb [r10+0x7b],0x10
0x37c26f64bd40 96 7532 jnz 148 (0x37c26f64bd74)
0x37c26f64bd42 98 493b5db8 REX.W cmpq rbx,[r13-0x48]
0x37c26f64bd46 102 7420 jz 136 (0x37c26f64bd68)
0x37c26f64bd48 104 493b5da8 REX.W cmpq rbx,[r13-0x58]
0x37c26f64bd4c 108 741a jz 136 (0x37c26f64bd68)
0x37c26f64bd4e 110 f6c301 testb rbx,0x1
0x37c26f64bd51 113 0f8462000000 jz 217 (0x37c26f64bdb9)
0x37c26f64bd57 119 4c8b53ff REX.W movq r10,[rbx-0x1]
0x37c26f64bd5b 123 41807a0bb1 cmpb [r10+0xb],0xb1
0x37c26f64bd60 128 0f8258000000 jc 222 (0x37c26f64bdbe)
0x37c26f64bd66 134 eb0c jmp 148 (0x37c26f64bd74)
0x37c26f64bd68 136 488b5f27 REX.W movq rbx,[rdi+0x27]
0x37c26f64bd6c 140 488b5b27 REX.W movq rbx,[rbx+0x27]
0x37c26f64bd70 144 488b5b2f REX.W movq rbx,[rbx+0x2f]
;;; <@34,#25> push-argument
0x37c26f64bd74 148 53 push rbx
;;; <@35,#25> gap
0x37c26f64bd75 149 488b5d10 REX.W movq rbx,[rbp+0x10]
;;; <@36,#25> push-argument
0x37c26f64bd79 153 53 push rbx
;;; <@37,#25> gap
0x37c26f64bd7a 154 488bf0 REX.W movq rsi,rax
;;; <@38,#26> invoke-function
0x37c26f64bd7d 157 488b5f1f REX.W movq rbx,[rdi+0x1f]
0x37c26f64bd81 161 48635b63 REX.W movsxlq rbx,[rbx+0x63]
0x37c26f64bd85 165 488b7727 REX.W movq rsi,[rdi+0x27]
0x37c26f64bd89 169 498b55a8 REX.W movq rdx,[r13-0x58]
0x37c26f64bd8d 173 b801000000 movl rax,0x1
0x37c26f64bd92 178 4883fb01 REX.W cmpq rbx,0x1
0x37c26f64bd96 182 7407 jz 191 (0x37c26f64bd9f)
0x37c26f64bd98 184 e823dadbff call ArgumentsAdaptorTrampoline (0x37c26f4097c0) ;; code: BUILTIN
0x37c26f64bd9d 189 eb03 jmp 194 (0x37c26f64bda2)
0x37c26f64bd9f 191 ff5737 call [rdi+0x37]
;;; <@40,#27> lazy-bailout
;;; <@42,#29> return
0x37c26f64bda2 194 488be5 REX.W movq rsp,rbp ;; debug: position 11747
0x37c26f64bda5 197 5d pop rbp
0x37c26f64bda6 198 c21800 ret 0x18
0x37c26f64bda9 201 660f1f440000 nop
;;; -------------------- Jump table --------------------
0x37c26f64bdaf 207 e856a2abff call 0x37c26f10600a ;; debug: position 18432
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x37c26f64bdb4 212 e85ba2abff call 0x37c26f106014 ;; debug: position 18432
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 2
0x37c26f64bdb9 217 e860a2abff call 0x37c26f10601e ;; debug: position 18432
;; debug: deopt reason 'Smi'
;; deoptimization bailout 3
0x37c26f64bdbe 222 e85ba2abff call 0x37c26f10601e ;; debug: position 18432
;; debug: deopt reason 'not a JavaScript object'
;; deoptimization bailout 3
0x37c26f64bdc3 227 90 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 5)
index ast id argc pc
0 4 0 35
1 4 0 -1
2 4 0 -1
3 4 0 -1
4 5 0 194
Safepoints (size = 41)
0x37c26f64bd03 35 10000 (sp -> fp) 0
0x37c26f64bd9d 189 10000 (sp -> fp) 4
0x37c26f64bda2 194 10000 (sp -> fp) 4
RelocInfo (size = 315)
0x37c26f64bcea position (11725)
0x37c26f64bcea comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f64bcea comment (;;; <@8,#5> prologue)
0x37c26f64bcea comment (;;; Prologue begin)
0x37c26f64bcea comment (;;; Prologue end)
0x37c26f64bcea comment (;;; <@12,#7> -------------------- B1 --------------------)
0x37c26f64bcea comment (;;; <@14,#8> context)
0x37c26f64bcee comment (;;; <@15,#8> gap)
0x37c26f64bcf2 comment (;;; <@18,#12> -------------------- B2 --------------------)
0x37c26f64bcf2 comment (;;; <@19,#12> gap)
0x37c26f64bcf5 comment (;;; <@20,#14> stack-check)
0x37c26f64bcff code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f64bd03 comment (;;; <@22,#14> lazy-bailout)
0x37c26f64bd03 comment (;;; <@23,#14> gap)
0x37c26f64bd07 comment (;;; <@24,#15> load-context-slot)
0x37c26f64bd07 position (11754)
0x37c26f64bd0e comment (;;; <@26,#16> check-non-smi)
0x37c26f64bd0e position (11761)
0x37c26f64bd18 comment (;;; <@28,#17> check-maps)
0x37c26f64bd1a embedded object (0x207a8f806779 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f64bd2c comment (;;; <@30,#19> check-maps)
0x37c26f64bd2c comment (;;; <@31,#19> gap)
0x37c26f64bd30 comment (;;; <@32,#24> wrap-receiver)
0x37c26f64bd74 comment (;;; <@34,#25> push-argument)
0x37c26f64bd75 comment (;;; <@35,#25> gap)
0x37c26f64bd79 comment (;;; <@36,#25> push-argument)
0x37c26f64bd7a comment (;;; <@37,#25> gap)
0x37c26f64bd7d comment (;;; <@38,#26> invoke-function)
0x37c26f64bd99 code target (BUILTIN) (0x37c26f4097c0)
0x37c26f64bda2 comment (;;; <@40,#27> lazy-bailout)
0x37c26f64bda2 comment (;;; <@42,#29> return)
0x37c26f64bda2 position (11747)
0x37c26f64bdaf comment (;;; -------------------- Jump table --------------------)
0x37c26f64bdaf position (18432)
0x37c26f64bdaf deopt reason (Smi)
0x37c26f64bdb0 runtime entry (deoptimization bailout 1)
0x37c26f64bdb4 position (18432)
0x37c26f64bdb4 deopt reason (wrong map)
0x37c26f64bdb5 runtime entry (deoptimization bailout 2)
0x37c26f64bdb9 position (18432)
0x37c26f64bdb9 deopt reason (Smi)
0x37c26f64bdba runtime entry (deoptimization bailout 3)
0x37c26f64bdbe position (18432)
0x37c26f64bdbe deopt reason (not a JavaScript object)
0x37c26f64bdbf runtime entry (deoptimization bailout 3)
0x37c26f64bdc4 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (toString) id{28,0} ---
(u){
var s=this;
if(!(typeof(this)==='number')){
if(!(%_ClassOf(this)==='Number')){
throw j(69,'Number.prototype.toString');
}
s=%_ValueOf(this);
}
if((u===(void 0))||u===10){
return %_NumberToString(s);
}
u=(%_ToInteger(u));
if(u<2||u>36)throw h(188);
return %NumberToRadixString(s,u);
}
--- END ---
--- Raw source ---
(u){
var s=this;
if(!(typeof(this)==='number')){
if(!(%_ClassOf(this)==='Number')){
throw j(69,'Number.prototype.toString');
}
s=%_ValueOf(this);
}
if((u===(void 0))||u===10){
return %_NumberToString(s);
}
u=(%_ToInteger(u));
if(u<2||u>36)throw h(188);
return %NumberToRadixString(s,u);
}
--- Optimized code ---
optimization_id = 28
source_position = 13757
kind = OPTIMIZED_FUNCTION
name = toString
stack_slots = 7
compiler = crankshaft
Instructions (size = 1076)
0x37c26f650020 0 55 push rbp
0x37c26f650021 1 4889e5 REX.W movq rbp,rsp
0x37c26f650024 4 56 push rsi
0x37c26f650025 5 57 push rdi
0x37c26f650026 6 4883ec18 REX.W subq rsp,0x18
;;; <@0,#0> -------------------- B0 --------------------
;;; <@6,#4> prologue
;;; Prologue begin
;;; Prologue end
;;; <@10,#6> -------------------- B1 --------------------
;;; <@12,#7> context
0x37c26f65002a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 13757
;;; <@13,#7> gap
0x37c26f65002e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@16,#11> -------------------- B2 --------------------
;;; <@17,#11> gap
0x37c26f650032 18 488bf0 REX.W movq rsi,rax
;;; <@18,#13> stack-check
0x37c26f650035 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f65003c 28 7305 jnc 35 (0x37c26f650043)
0x37c26f65003e 30 e89dcbdeff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@20,#13> lazy-bailout
;;; <@22,#16> gap
0x37c26f650043 35 488b4518 REX.W movq rax,[rbp+0x18] ;; debug: position 13791
;;; <@23,#16> typeof-is-and-branch
0x37c26f650047 39 a801 test al,0x1
0x37c26f650049 41 0f84fe000000 jz 301 (0x37c26f65014d)
0x37c26f65004f 47 4d8b55f8 REX.W movq r10,[r13-0x8]
0x37c26f650053 51 4c3950ff REX.W cmpq [rax-0x1],r10
0x37c26f650057 55 0f84f0000000 jz 301 (0x37c26f65014d)
;;; <@24,#20> -------------------- B3 (unreachable/replaced) --------------------
;;; <@28,#23> -------------------- B4 --------------------
;;; <@30,#24> gap
0x37c26f65005d 61 488b4518 REX.W movq rax,[rbp+0x18] ;; debug: position 13826
;;; <@31,#24> class-of-test-and-branch
0x37c26f650061 65 a801 test al,0x1
0x37c26f650063 67 0f844e000000 jz 151 (0x37c26f6500b7)
0x37c26f650069 73 488b50ff REX.W movq rdx,[rax-0x1]
0x37c26f65006d 77 807a0bc8 cmpb [rdx+0xb],0xc8
0x37c26f650071 81 0f8340000000 jnc 151 (0x37c26f6500b7)
0x37c26f650077 87 488b521f REX.W movq rdx,[rdx+0x1f]
0x37c26f65007b 91 f6c201 testb rdx,0x1
0x37c26f65007e 94 7411 jz 113 (0x37c26f650091)
0x37c26f650080 96 4c8b52ff REX.W movq r10,[rdx-0x1]
0x37c26f650084 100 41807a0b84 cmpb [r10+0xb],0x84
0x37c26f650089 105 7506 jnz 113 (0x37c26f650091)
0x37c26f65008b 107 488b521f REX.W movq rdx,[rdx+0x1f]
0x37c26f65008f 111 ebea jmp 91 (0x37c26f65007b)
0x37c26f650091 113 41807a0bc9 cmpb [r10+0xb],0xc9
0x37c26f650096 118 0f851b000000 jnz 151 (0x37c26f6500b7)
0x37c26f65009c 124 488b521f REX.W movq rdx,[rdx+0x1f]
0x37c26f6500a0 128 488b522f REX.W movq rdx,[rdx+0x2f]
0x37c26f6500a4 132 49ba59506051de230000 REX.W movq r10,0x23de51605059 ;; object: 0x23de51605059 <String[6]: Number>
0x37c26f6500ae 142 493bd2 REX.W cmpq rdx,r10
0x37c26f6500b1 145 0f8466000000 jz 253 (0x37c26f65011d)
;;; <@32,#28> -------------------- B5 (unreachable/replaced) --------------------
;;; <@36,#31> -------------------- B6 --------------------
;;; <@37,#31> gap
0x37c26f6500b7 151 488b4de8 REX.W movq rcx,[rbp-0x18] ;; debug: position 13847
;;; <@38,#32> load-context-slot
0x37c26f6500bb 155 488b7957 REX.W movq rdi,[rcx+0x57]
;;; <@40,#35> push-argument
0x37c26f6500bf 159 49ba81436051de230000 REX.W movq r10,0x23de51604381 ;; object: 0x23de51604381 <undefined>
0x37c26f6500c9 169 4152 push r10
;;; <@42,#35> push-argument
0x37c26f6500cb 171 49ba0000000045000000 REX.W movq r10,0x4500000000
0x37c26f6500d5 181 4152 push r10
;;; <@44,#35> push-argument
0x37c26f6500d7 183 49ba59b5a5968c230000 REX.W movq r10,0x238c96a5b559 ;; object: 0x238c96a5b559 <String[25]: Number.prototype.toString>
0x37c26f6500e1 193 4152 push r10
;;; <@46,#181> constant-s
0x37c26f6500e3 195 48ba0000000001000000 REX.W movq rdx,0x100000000
;;; <@48,#37> constant-t
0x37c26f6500ed 205 48bbb1b5a5968c230000 REX.W movq rbx,0x238c96a5b5b1 ;; object: 0x238c96a5b5b1 <FixedArray[5]>
;;; <@49,#37> gap
0x37c26f6500f7 215 488bf1 REX.W movq rsi,rcx
;;; <@50,#39> call-with-descriptor
0x37c26f6500fa 218 e84142edff call 0x37c26f524340 ;; code: CALL_IC, GENERIC
;;; <@52,#40> lazy-bailout
;;; <@54,#41> push-argument
0x37c26f6500ff 223 50 push rax ;; debug: position 13841
;;; <@55,#41> gap
0x37c26f650100 224 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@56,#42> call-runtime
0x37c26f650104 228 0f1f840000000000 nop
0x37c26f65010c 236 b801000000 movl rax,0x1
0x37c26f650111 241 498d9d58b13ffe REX.W leaq rbx,[r13-0x1c04ea8]
0x37c26f650118 248 e82391dbff call 0x37c26f409240 ;; code: STUB, CEntryStub, minor: 4
;;; <@58,#43> lazy-bailout
;;; <@60,#25> -------------------- B7 (unreachable/replaced) --------------------
;;; <@64,#45> -------------------- B8 --------------------
;;; <@66,#46> gap
0x37c26f65011d 253 488b5d18 REX.W movq rbx,[rbp+0x18] ;; debug: position 13886
;;; <@67,#46> has-instance-type-and-branch
0x37c26f650121 257 f6c301 testb rbx,0x1
0x37c26f650124 260 0f840f000000 jz 281 (0x37c26f650139)
0x37c26f65012a 266 4c8b53ff REX.W movq r10,[rbx-0x1]
0x37c26f65012e 270 41807a0bb4 cmpb [r10+0xb],0xb4
0x37c26f650133 275 0f8408000000 jz 289 (0x37c26f650141)
;;; <@68,#50> -------------------- B9 --------------------
;;; <@70,#52> gap
0x37c26f650139 281 488bc3 REX.W movq rax,rbx
;;; <@71,#52> goto
0x37c26f65013c 284 e904000000 jmp 293 (0x37c26f650145)
;;; <@72,#47> -------------------- B10 --------------------
;;; <@74,#48> load-named-field
0x37c26f650141 289 488b4317 REX.W movq rax,[rbx+0x17]
;;; <@78,#55> -------------------- B11 --------------------
;;; <@80,#58> gap
0x37c26f650145 293 488bd0 REX.W movq rdx,rax ;; debug: position 13885
;; debug: position 13774
;;; <@81,#58> goto
0x37c26f650148 296 e907000000 jmp 308 (0x37c26f650154)
;;; <@82,#17> -------------------- B12 --------------------
0x37c26f65014d 301 488b5d18 REX.W movq rbx,[rbp+0x18] ;; debug: position 13791
;;; <@86,#59> -------------------- B13 --------------------
;;; <@88,#61> gap
0x37c26f650151 305 488bd3 REX.W movq rdx,rbx ;; debug: position 13774
;;; <@90,#63> -------------------- B14 --------------------
0x37c26f650154 308 488955e0 REX.W movq [rbp-0x20],rdx ;; debug: position 13910
;;; <@92,#64> gap
0x37c26f650158 312 488b4d10 REX.W movq rcx,[rbp+0x10]
;;; <@93,#64> cmp-object-eq-and-branch
0x37c26f65015c 316 49ba81436051de230000 REX.W movq r10,0x23de51604381 ;; object: 0x23de51604381 <undefined>
0x37c26f650166 326 493bca REX.W cmpq rcx,r10
0x37c26f650169 329 0f84c4000000 jz 531 (0x37c26f650233)
;;; <@94,#68> -------------------- B15 (unreachable/replaced) --------------------
;;; <@98,#71> -------------------- B16 --------------------
;;; <@99,#71> gap
0x37c26f65016f 335 488bc1 REX.W movq rax,rcx ;; debug: position 13928
;;; <@100,#179> tagged-to-i
0x37c26f650172 338 a801 test al,0x1 ;; debug: position 13924
0x37c26f650174 340 0f858d010000 jnz 743 (0x37c26f650307)
0x37c26f65017a 346 48c1e820 REX.W shrq rax, 32
;;; <@103,#73> compare-numeric-and-branch
0x37c26f65017e 350 83f80a cmpl rax,0xa ;; debug: position 13925
0x37c26f650181 353 0f84ac000000 jz 531 (0x37c26f650233)
;;; <@104,#77> -------------------- B17 (unreachable/replaced) --------------------
;;; <@108,#136> -------------------- B18 --------------------
;;; <@109,#136> gap
0x37c26f650187 359 488b75e8 REX.W movq rsi,[rbp-0x18] ;; debug: position 13966
0x37c26f65018b 363 488bc1 REX.W movq rax,rcx
;;; <@110,#138> call-with-descriptor
0x37c26f65018e 366 e8cdb5ecff call 0x37c26f51b760 ;; code: STUB, ToIntegerStub, minor: 0
;;; <@111,#138> gap
0x37c26f650193 371 488945d8 REX.W movq [rbp-0x28],rax
;;; <@112,#139> lazy-bailout
;;; <@113,#139> gap
0x37c26f650197 375 488bd8 REX.W movq rbx,rax
;;; <@114,#184> tagged-to-i
0x37c26f65019a 378 f6c301 testb rbx,0x1 ;; debug: position 13986
0x37c26f65019d 381 0f8598010000 jnz 795 (0x37c26f65033b)
0x37c26f6501a3 387 48c1eb20 REX.W shrq rbx, 32
;;; <@117,#141> compare-numeric-and-branch
0x37c26f6501a7 391 83fb02 cmpl rbx,0x2 ;; debug: position 13987
0x37c26f6501aa 394 0f8c29000000 jl 441 (0x37c26f6501d9)
;;; <@118,#145> -------------------- B19 (unreachable/replaced) --------------------
;;; <@122,#148> -------------------- B20 --------------------
;;; <@125,#150> compare-numeric-and-branch
0x37c26f6501b0 400 83fb24 cmpl rbx,0x24 ;; debug: position 13993
;; debug: position 13992
0x37c26f6501b3 403 0f8f20000000 jg 441 (0x37c26f6501d9)
;;; <@126,#154> -------------------- B21 (unreachable/replaced) --------------------
;;; <@130,#170> -------------------- B22 --------------------
;;; <@132,#172> push-argument
0x37c26f6501b9 409 ff75e0 push [rbp-0x20] ;; debug: position 14038
;; debug: position 14017
;;; <@134,#172> push-argument
0x37c26f6501bc 412 50 push rax
;;; <@135,#172> gap
0x37c26f6501bd 413 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@136,#173> call-runtime
0x37c26f6501c1 417 b802000000 movl rax,0x2
0x37c26f6501c6 422 498d9de84741fe REX.W leaq rbx,[r13-0x1beb818]
0x37c26f6501cd 429 e86e90dbff call 0x37c26f409240 ;; code: STUB, CEntryStub, minor: 4
;;; <@138,#174> lazy-bailout
;;; <@140,#176> return
0x37c26f6501d2 434 488be5 REX.W movq rsp,rbp ;; debug: position 14010
0x37c26f6501d5 437 5d pop rbp
0x37c26f6501d6 438 c21000 ret 0x10
;;; <@142,#151> -------------------- B23 (unreachable/replaced) --------------------
;;; <@146,#142> -------------------- B24 (unreachable/replaced) --------------------
;;; <@150,#157> -------------------- B25 --------------------
;;; <@151,#157> gap
0x37c26f6501d9 441 488b45e8 REX.W movq rax,[rbp-0x18] ;; debug: position 14002
;;; <@152,#158> load-context-slot
0x37c26f6501dd 445 488b7847 REX.W movq rdi,[rax+0x47]
;;; <@154,#160> push-argument
0x37c26f6501e1 449 49ba81436051de230000 REX.W movq r10,0x23de51604381 ;; object: 0x23de51604381 <undefined>
0x37c26f6501eb 459 4152 push r10
;;; <@156,#160> push-argument
0x37c26f6501ed 461 49ba00000000bc000000 REX.W movq r10,0xbc00000000
0x37c26f6501f7 471 4152 push r10
;;; <@158,#187> constant-s
0x37c26f6501f9 473 48ba0000000003000000 REX.W movq rdx,0x300000000
;;; <@160,#162> constant-t
0x37c26f650203 483 48bbb1b5a5968c230000 REX.W movq rbx,0x238c96a5b5b1 ;; object: 0x238c96a5b5b1 <FixedArray[5]>
;;; <@161,#162> gap
0x37c26f65020d 493 488bf0 REX.W movq rsi,rax
;;; <@162,#164> call-with-descriptor
0x37c26f650210 496 e8abf1ebff call 0x37c26f50f3c0 ;; code: CALL_IC, GENERIC
;;; <@164,#165> lazy-bailout
;;; <@166,#166> push-argument
0x37c26f650215 501 50 push rax ;; debug: position 13996
;;; <@167,#166> gap
0x37c26f650216 502 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@168,#167> call-runtime
0x37c26f65021a 506 0f1f840000000000 nop
0x37c26f650222 514 b801000000 movl rax,0x1
0x37c26f650227 519 498d9d58b13ffe REX.W leaq rbx,[r13-0x1c04ea8]
0x37c26f65022e 526 e80d90dbff call 0x37c26f409240 ;; code: STUB, CEntryStub, minor: 4
;;; <@170,#168> lazy-bailout
;;; <@172,#74> -------------------- B26 (unreachable/replaced) --------------------
;;; <@176,#65> -------------------- B27 (unreachable/replaced) --------------------
;;; <@180,#80> -------------------- B28 --------------------
;;; <@182,#82> load-root
0x37c26f650233 531 498b85f0000000 REX.W movq rax,[r13+0xf0] ;; debug: position 13957
;; debug: position 13940
;;; <@184,#83> load-named-field
0x37c26f65023a 538 8b580b movl rbx,[rax+0xb]
;;; <@186,#85> shift-i
0x37c26f65023d 541 d1fb sarl rbx, 1
;;; <@188,#86> sub-i
0x37c26f65023f 543 83eb01 subl rbx,0x1
;;; <@191,#87> is-smi-and-branch
0x37c26f650242 546 f645e001 testb [rbp-0x20],0x1
0x37c26f650246 550 0f846b000000 jz 663 (0x37c26f6502b7)
;;; <@192,#97> -------------------- B29 --------------------
;;; <@194,#98> gap
0x37c26f65024c 556 488b55e0 REX.W movq rdx,[rbp-0x20]
;;; <@195,#98> cmp-map-and-branch
0x37c26f650250 560 49bac945808f7a200000 REX.W movq r10,0x207a8f8045c9 ;; object: 0x207a8f8045c9 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f65025a 570 4c3952ff REX.W cmpq [rdx-0x1],r10
0x37c26f65025e 574 0f857c000000 jnz 704 (0x37c26f6502e0)
;;; <@196,#122> -------------------- B30 (unreachable/replaced) --------------------
;;; <@200,#99> -------------------- B31 --------------------
;;; <@202,#100> load-named-field
0x37c26f650264 580 8b4a07 movl rcx,[rdx+0x7]
;;; <@204,#101> load-named-field
0x37c26f650267 583 8b720b movl rsi,[rdx+0xb]
;;; <@206,#102> bit-i
0x37c26f65026a 586 33f1 xorl rsi,rcx
;;; <@208,#103> bit-i
0x37c26f65026c 588 23f3 andl rsi,rbx
;;; <@210,#104> shift-i
0x37c26f65026e 590 d1e6 shll rsi, 1
0x37c26f650270 592 4863f6 REX.W movsxlq rsi,rsi
;;; <@212,#105> load-keyed
0x37c26f650273 595 488b5cf00f REX.W movq rbx,[rax+rsi*8+0xf]
;;; <@215,#106> is-smi-and-branch
0x37c26f650278 600 f6c301 testb rbx,0x1
0x37c26f65027b 603 0f845f000000 jz 704 (0x37c26f6502e0)
;;; <@216,#107> -------------------- B32 --------------------
;;; <@219,#108> cmp-map-and-branch
0x37c26f650281 609 49bac945808f7a200000 REX.W movq r10,0x207a8f8045c9 ;; object: 0x207a8f8045c9 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f65028b 619 4c3953ff REX.W cmpq [rbx-0x1],r10
0x37c26f65028f 623 0f854b000000 jnz 704 (0x37c26f6502e0)
;;; <@220,#118> -------------------- B33 (unreachable/replaced) --------------------
;;; <@224,#109> -------------------- B34 --------------------
;;; <@226,#110> load-named-field
0x37c26f650295 629 c5fb104a07 vmovsd xmm1,[rdx+0x7]
;;; <@228,#111> load-named-field
0x37c26f65029a 634 c5fb105307 vmovsd xmm2,[rbx+0x7]
;;; <@231,#112> compare-numeric-and-branch
0x37c26f65029f 639 c5f92ed1 vucomisd xmm2,xmm1
0x37c26f6502a3 643 0f8a37000000 jpe 704 (0x37c26f6502e0)
0x37c26f6502a9 649 0f8531000000 jnz 704 (0x37c26f6502e0)
;;; <@232,#116> -------------------- B35 (unreachable/replaced) --------------------
;;; <@236,#113> -------------------- B36 --------------------
;;; <@238,#114> gap
0x37c26f6502af 655 488bce REX.W movq rcx,rsi
;;; <@239,#114> goto
0x37c26f6502b2 658 e944000000 jmp 731 (0x37c26f6502fb)
;;; <@240,#120> -------------------- B37 (unreachable/replaced) --------------------
;;; <@244,#88> -------------------- B38 --------------------
0x37c26f6502b7 663 488b55e0 REX.W movq rdx,[rbp-0x20]
;;; <@245,#88> gap
0x37c26f6502bb 667 488bca REX.W movq rcx,rdx
;;; <@246,#182> tagged-to-i
0x37c26f6502be 670 f6c101 testb rcx,0x1
0x37c26f6502c1 673 0f85a8000000 jnz 847 (0x37c26f65036f)
0x37c26f6502c7 679 48c1e920 REX.W shrq rcx, 32
;;; <@248,#89> bit-i
0x37c26f6502cb 683 23cb andl rcx,rbx
;;; <@250,#90> shift-i
0x37c26f6502cd 685 d1e1 shll rcx, 1
0x37c26f6502cf 687 4863c9 REX.W movsxlq rcx,rcx
;;; <@252,#91> load-keyed
0x37c26f6502d2 690 488b5cc80f REX.W movq rbx,[rax+rcx*8+0xf]
;;; <@255,#92> cmp-object-eq-and-branch
0x37c26f6502d7 695 483bd3 REX.W cmpq rdx,rbx
0x37c26f6502da 698 0f841b000000 jz 731 (0x37c26f6502fb)
;;; <@256,#95> -------------------- B39 (unreachable/replaced) --------------------
;;; <@260,#127> -------------------- B40 --------------------
;;; <@262,#128> push-argument
0x37c26f6502e0 704 52 push rdx
;;; <@263,#128> gap
0x37c26f6502e1 705 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@264,#129> call-runtime
0x37c26f6502e5 709 b801000000 movl rax,0x1
0x37c26f6502ea 714 498d9d886941fe REX.W leaq rbx,[r13-0x1be9678]
0x37c26f6502f1 721 e84a8fdbff call 0x37c26f409240 ;; code: STUB, CEntryStub, minor: 4
;;; <@266,#129> lazy-bailout
;;; <@269,#130> goto
0x37c26f6502f6 726 e905000000 jmp 736 (0x37c26f650300)
;;; <@270,#93> -------------------- B41 (unreachable/replaced) --------------------
;;; <@274,#124> -------------------- B42 --------------------
;;; <@276,#126> load-keyed
0x37c26f6502fb 731 488b44c817 REX.W movq rax,[rax+rcx*8+0x17]
;;; <@280,#133> -------------------- B43 --------------------
;;; <@282,#135> return
0x37c26f650300 736 488be5 REX.W movq rsp,rbp ;; debug: position 13933
0x37c26f650303 739 5d pop rbp
0x37c26f650304 740 c21000 ret 0x10
;;; <@100,#179> -------------------- Deferred tagged-to-i --------------------
0x37c26f650307 743 4d8b55f8 REX.W movq r10,[r13-0x8] ;; debug: position 13924
0x37c26f65030b 747 4c3950ff REX.W cmpq [rax-0x1],r10
0x37c26f65030f 751 0f85bb000000 jnz 944 (0x37c26f6503d0)
0x37c26f650315 757 c5fb104007 vmovsd xmm0,[rax+0x7]
0x37c26f65031a 762 c5fb2cc0 vcvttsd2si rax,xmm0
0x37c26f65031e 766 c5f157c9 vxorpd xmm1,xmm1,xmm1
0x37c26f650322 770 c5f32ac8 vcvtlsi2sd xmm1,xmm1,rax
0x37c26f650326 774 c5f92ec1 vucomisd xmm0,xmm1
0x37c26f65032a 778 0f85a5000000 jnz 949 (0x37c26f6503d5)
0x37c26f650330 784 0f8aa4000000 jpe 954 (0x37c26f6503da)
0x37c26f650336 790 e943feffff jmp 350 (0x37c26f65017e)
;;; <@114,#184> -------------------- Deferred tagged-to-i --------------------
0x37c26f65033b 795 4d8b55f8 REX.W movq r10,[r13-0x8] ;; debug: position 13986
0x37c26f65033f 799 4c3953ff REX.W cmpq [rbx-0x1],r10
0x37c26f650343 803 0f8596000000 jnz 959 (0x37c26f6503df)
0x37c26f650349 809 c5fb104307 vmovsd xmm0,[rbx+0x7]
0x37c26f65034e 814 c5fb2cd8 vcvttsd2si rbx,xmm0
0x37c26f650352 818 c5f157c9 vxorpd xmm1,xmm1,xmm1
0x37c26f650356 822 c5f32acb vcvtlsi2sd xmm1,xmm1,rbx
0x37c26f65035a 826 c5f92ec1 vucomisd xmm0,xmm1
0x37c26f65035e 830 0f8580000000 jnz 964 (0x37c26f6503e4)
0x37c26f650364 836 0f8a7f000000 jpe 969 (0x37c26f6503e9)
0x37c26f65036a 842 e938feffff jmp 391 (0x37c26f6501a7)
;;; <@246,#182> -------------------- Deferred tagged-to-i --------------------
0x37c26f65036f 847 4d8b55f8 REX.W movq r10,[r13-0x8] ;; debug: position 13940
0x37c26f650373 851 4c3951ff REX.W cmpq [rcx-0x1],r10
0x37c26f650377 855 7529 jnz 898 (0x37c26f6503a2)
0x37c26f650379 857 c5fb104107 vmovsd xmm0,[rcx+0x7]
0x37c26f65037e 862 c4e1fb2cc8 vcvttsd2siq rcx,xmm0
0x37c26f650383 867 4883f901 REX.W cmpq rcx,0x1
0x37c26f650387 871 7112 jno 891 (0x37c26f65039b)
0x37c26f650389 873 4883ec08 REX.W subq rsp,0x8
0x37c26f65038d 877 c5fb110424 vmovsd [rsp],xmm0
0x37c26f650392 882 e8494af3ff call 0x37c26f584de0 ;; code: STUB, DoubleToIStub, minor: 135236
0x37c26f650397 887 4883c408 REX.W addq rsp,0x8
0x37c26f65039b 891 8bc9 movl rcx,rcx
0x37c26f65039d 893 e929ffffff jmp 683 (0x37c26f6502cb)
0x37c26f6503a2 898 493b4da8 REX.W cmpq rcx,[r13-0x58]
0x37c26f6503a6 902 7507 jnz 911 (0x37c26f6503af)
0x37c26f6503a8 904 33c9 xorl rcx,rcx
0x37c26f6503aa 906 e91cffffff jmp 683 (0x37c26f6502cb)
0x37c26f6503af 911 493b4dc0 REX.W cmpq rcx,[r13-0x40]
0x37c26f6503b3 915 750a jnz 927 (0x37c26f6503bf)
0x37c26f6503b5 917 b901000000 movl rcx,0x1
0x37c26f6503ba 922 e90cffffff jmp 683 (0x37c26f6502cb)
0x37c26f6503bf 927 493b4dc8 REX.W cmpq rcx,[r13-0x38]
0x37c26f6503c3 931 0f8525000000 jnz 974 (0x37c26f6503ee)
0x37c26f6503c9 937 33c9 xorl rcx,rcx
0x37c26f6503cb 939 e9fbfeffff jmp 683 (0x37c26f6502cb)
;;; -------------------- Jump table --------------------
0x37c26f6503d0 944 e87b5cabff call 0x37c26f106050 ;; debug: position 85504
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 8
0x37c26f6503d5 949 e8765cabff call 0x37c26f106050 ;; debug: position 85504
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 8
0x37c26f6503da 954 e8715cabff call 0x37c26f106050 ;; debug: position 85504
;; debug: deopt reason 'NaN'
;; deoptimization bailout 8
0x37c26f6503df 959 e8765cabff call 0x37c26f10605a ;; debug: position 117248
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 9
0x37c26f6503e4 964 e8715cabff call 0x37c26f10605a ;; debug: position 117248
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 9
0x37c26f6503e9 969 e86c5cabff call 0x37c26f10605a ;; debug: position 117248
;; debug: deopt reason 'NaN'
;; deoptimization bailout 9
0x37c26f6503ee 974 e8715cabff call 0x37c26f106064 ;; debug: position 93696
;; debug: deopt reason 'not a heap number/undefined/true/false'
;; deoptimization bailout 10
0x37c26f6503f3 979 90 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 11)
index ast id argc pc
0 4 0 35
1 68 0 223
2 66 0 253
3 141 0 375
4 186 0 434
5 174 0 501
6 172 0 531
7 97 0 726
8 101 0 -1
9 141 0 -1
10 97 0 -1
Safepoints (size = 96)
0x37c26f650043 35 0010000 (sp -> fp) 0
0x37c26f6500ff 223 0010000 (sp -> fp) 1
0x37c26f65011d 253 0010000 (sp -> fp) 2
0x37c26f650193 371 0110000 (sp -> fp) 3
0x37c26f6501d2 434 1010000 (sp -> fp) 4
0x37c26f650215 501 1010000 (sp -> fp) 5
0x37c26f650233 531 1010000 (sp -> fp) 6
0x37c26f6502f6 726 0110000 (sp -> fp) 7
RelocInfo (size = 1658)
0x37c26f65002a position (13757)
0x37c26f65002a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f65002a comment (;;; <@6,#4> prologue)
0x37c26f65002a comment (;;; Prologue begin)
0x37c26f65002a comment (;;; Prologue end)
0x37c26f65002a comment (;;; <@10,#6> -------------------- B1 --------------------)
0x37c26f65002a comment (;;; <@12,#7> context)
0x37c26f65002e comment (;;; <@13,#7> gap)
0x37c26f650032 comment (;;; <@16,#11> -------------------- B2 --------------------)
0x37c26f650032 comment (;;; <@17,#11> gap)
0x37c26f650035 comment (;;; <@18,#13> stack-check)
0x37c26f65003f code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f650043 comment (;;; <@20,#13> lazy-bailout)
0x37c26f650043 comment (;;; <@22,#16> gap)
0x37c26f650043 position (13791)
0x37c26f650047 comment (;;; <@23,#16> typeof-is-and-branch)
0x37c26f65005d comment (;;; <@24,#20> -------------------- B3 (unreachable/replaced) --------------------)
0x37c26f65005d position (13826)
0x37c26f65005d comment (;;; <@28,#23> -------------------- B4 --------------------)
0x37c26f65005d comment (;;; <@30,#24> gap)
0x37c26f650061 comment (;;; <@31,#24> class-of-test-and-branch)
0x37c26f6500a6 embedded object (0x23de51605059 <String[6]: Number>)
0x37c26f6500b7 comment (;;; <@32,#28> -------------------- B5 (unreachable/replaced) --------------------)
0x37c26f6500b7 position (13847)
0x37c26f6500b7 comment (;;; <@36,#31> -------------------- B6 --------------------)
0x37c26f6500b7 comment (;;; <@37,#31> gap)
0x37c26f6500bb comment (;;; <@38,#32> load-context-slot)
0x37c26f6500bf comment (;;; <@40,#35> push-argument)
0x37c26f6500c1 embedded object (0x23de51604381 <undefined>)
0x37c26f6500cb comment (;;; <@42,#35> push-argument)
0x37c26f6500d7 comment (;;; <@44,#35> push-argument)
0x37c26f6500d9 embedded object (0x238c96a5b559 <String[25]: Number.prototype.toString>)
0x37c26f6500e3 comment (;;; <@46,#181> constant-s)
0x37c26f6500ed comment (;;; <@48,#37> constant-t)
0x37c26f6500ef embedded object (0x238c96a5b5b1 <FixedArray[5]>)
0x37c26f6500f7 comment (;;; <@49,#37> gap)
0x37c26f6500fa comment (;;; <@50,#39> call-with-descriptor)
0x37c26f6500fb code target (CALL_IC) (0x37c26f524340)
0x37c26f6500ff comment (;;; <@52,#40> lazy-bailout)
0x37c26f6500ff comment (;;; <@54,#41> push-argument)
0x37c26f6500ff position (13841)
0x37c26f650100 comment (;;; <@55,#41> gap)
0x37c26f650104 comment (;;; <@56,#42> call-runtime)
0x37c26f650119 code target (STUB) (0x37c26f409240)
0x37c26f65011d comment (;;; <@58,#43> lazy-bailout)
0x37c26f65011d comment (;;; <@60,#25> -------------------- B7 (unreachable/replaced) --------------------)
0x37c26f65011d position (13886)
0x37c26f65011d comment (;;; <@64,#45> -------------------- B8 --------------------)
0x37c26f65011d comment (;;; <@66,#46> gap)
0x37c26f650121 comment (;;; <@67,#46> has-instance-type-and-branch)
0x37c26f650139 comment (;;; <@68,#50> -------------------- B9 --------------------)
0x37c26f650139 comment (;;; <@70,#52> gap)
0x37c26f65013c comment (;;; <@71,#52> goto)
0x37c26f650141 comment (;;; <@72,#47> -------------------- B10 --------------------)
0x37c26f650141 comment (;;; <@74,#48> load-named-field)
0x37c26f650145 position (13885)
0x37c26f650145 comment (;;; <@78,#55> -------------------- B11 --------------------)
0x37c26f650145 comment (;;; <@80,#58> gap)
0x37c26f650145 position (13774)
0x37c26f650148 comment (;;; <@81,#58> goto)
0x37c26f65014d position (13791)
0x37c26f65014d comment (;;; <@82,#17> -------------------- B12 --------------------)
0x37c26f650151 position (13774)
0x37c26f650151 comment (;;; <@86,#59> -------------------- B13 --------------------)
0x37c26f650151 comment (;;; <@88,#61> gap)
0x37c26f650154 position (13910)
0x37c26f650154 comment (;;; <@90,#63> -------------------- B14 --------------------)
0x37c26f650158 comment (;;; <@92,#64> gap)
0x37c26f65015c comment (;;; <@93,#64> cmp-object-eq-and-branch)
0x37c26f65015e embedded object (0x23de51604381 <undefined>)
0x37c26f65016f comment (;;; <@94,#68> -------------------- B15 (unreachable/replaced) --------------------)
0x37c26f65016f position (13928)
0x37c26f65016f comment (;;; <@98,#71> -------------------- B16 --------------------)
0x37c26f65016f comment (;;; <@99,#71> gap)
0x37c26f650172 comment (;;; <@100,#179> tagged-to-i)
0x37c26f650172 position (13924)
0x37c26f65017e position (13925)
0x37c26f65017e comment (;;; <@103,#73> compare-numeric-and-branch)
0x37c26f650187 comment (;;; <@104,#77> -------------------- B17 (unreachable/replaced) --------------------)
0x37c26f650187 position (13966)
0x37c26f650187 comment (;;; <@108,#136> -------------------- B18 --------------------)
0x37c26f650187 comment (;;; <@109,#136> gap)
0x37c26f65018e comment (;;; <@110,#138> call-with-descriptor)
0x37c26f65018f code target (STUB) (0x37c26f51b760)
0x37c26f650193 comment (;;; <@111,#138> gap)
0x37c26f650197 comment (;;; <@112,#139> lazy-bailout)
0x37c26f650197 comment (;;; <@113,#139> gap)
0x37c26f65019a comment (;;; <@114,#184> tagged-to-i)
0x37c26f65019a position (13986)
0x37c26f6501a7 position (13987)
0x37c26f6501a7 comment (;;; <@117,#141> compare-numeric-and-branch)
0x37c26f6501b0 comment (;;; <@118,#145> -------------------- B19 (unreachable/replaced) --------------------)
0x37c26f6501b0 position (13993)
0x37c26f6501b0 comment (;;; <@122,#148> -------------------- B20 --------------------)
0x37c26f6501b0 position (13992)
0x37c26f6501b0 comment (;;; <@125,#150> compare-numeric-and-branch)
0x37c26f6501b9 comment (;;; <@126,#154> -------------------- B21 (unreachable/replaced) --------------------)
0x37c26f6501b9 position (14038)
0x37c26f6501b9 comment (;;; <@130,#170> -------------------- B22 --------------------)
0x37c26f6501b9 comment (;;; <@132,#172> push-argument)
0x37c26f6501b9 position (14017)
0x37c26f6501bc comment (;;; <@134,#172> push-argument)
0x37c26f6501bd comment (;;; <@135,#172> gap)
0x37c26f6501c1 comment (;;; <@136,#173> call-runtime)
0x37c26f6501ce code target (STUB) (0x37c26f409240)
0x37c26f6501d2 comment (;;; <@138,#174> lazy-bailout)
0x37c26f6501d2 comment (;;; <@140,#176> return)
0x37c26f6501d2 position (14010)
0x37c26f6501d9 comment (;;; <@142,#151> -------------------- B23 (unreachable/replaced) --------------------)
0x37c26f6501d9 comment (;;; <@146,#142> -------------------- B24 (unreachable/replaced) --------------------)
0x37c26f6501d9 position (14002)
0x37c26f6501d9 comment (;;; <@150,#157> -------------------- B25 --------------------)
0x37c26f6501d9 comment (;;; <@151,#157> gap)
0x37c26f6501dd comment (;;; <@152,#158> load-context-slot)
0x37c26f6501e1 comment (;;; <@154,#160> push-argument)
0x37c26f6501e3 embedded object (0x23de51604381 <undefined>)
0x37c26f6501ed comment (;;; <@156,#160> push-argument)
0x37c26f6501f9 comment (;;; <@158,#187> constant-s)
0x37c26f650203 comment (;;; <@160,#162> constant-t)
0x37c26f650205 embedded object (0x238c96a5b5b1 <FixedArray[5]>)
0x37c26f65020d comment (;;; <@161,#162> gap)
0x37c26f650210 comment (;;; <@162,#164> call-with-descriptor)
0x37c26f650211 code target (CALL_IC) (0x37c26f50f3c0)
0x37c26f650215 comment (;;; <@164,#165> lazy-bailout)
0x37c26f650215 comment (;;; <@166,#166> push-argument)
0x37c26f650215 position (13996)
0x37c26f650216 comment (;;; <@167,#166> gap)
0x37c26f65021a comment (;;; <@168,#167> call-runtime)
0x37c26f65022f code target (STUB) (0x37c26f409240)
0x37c26f650233 comment (;;; <@170,#168> lazy-bailout)
0x37c26f650233 comment (;;; <@172,#74> -------------------- B26 (unreachable/replaced) --------------------)
0x37c26f650233 comment (;;; <@176,#65> -------------------- B27 (unreachable/replaced) --------------------)
0x37c26f650233 position (13957)
0x37c26f650233 comment (;;; <@180,#80> -------------------- B28 --------------------)
0x37c26f650233 comment (;;; <@182,#82> load-root)
0x37c26f650233 position (13940)
0x37c26f65023a comment (;;; <@184,#83> load-named-field)
0x37c26f65023d comment (;;; <@186,#85> shift-i)
0x37c26f65023f comment (;;; <@188,#86> sub-i)
0x37c26f650242 comment (;;; <@191,#87> is-smi-and-branch)
0x37c26f65024c comment (;;; <@192,#97> -------------------- B29 --------------------)
0x37c26f65024c comment (;;; <@194,#98> gap)
0x37c26f650250 comment (;;; <@195,#98> cmp-map-and-branch)
0x37c26f650252 embedded object (0x207a8f8045c9 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f650264 comment (;;; <@196,#122> -------------------- B30 (unreachable/replaced) --------------------)
0x37c26f650264 comment (;;; <@200,#99> -------------------- B31 --------------------)
0x37c26f650264 comment (;;; <@202,#100> load-named-field)
0x37c26f650267 comment (;;; <@204,#101> load-named-field)
0x37c26f65026a comment (;;; <@206,#102> bit-i)
0x37c26f65026c comment (;;; <@208,#103> bit-i)
0x37c26f65026e comment (;;; <@210,#104> shift-i)
0x37c26f650273 comment (;;; <@212,#105> load-keyed)
0x37c26f650278 comment (;;; <@215,#106> is-smi-and-branch)
0x37c26f650281 comment (;;; <@216,#107> -------------------- B32 --------------------)
0x37c26f650281 comment (;;; <@219,#108> cmp-map-and-branch)
0x37c26f650283 embedded object (0x207a8f8045c9 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f650295 comment (;;; <@220,#118> -------------------- B33 (unreachable/replaced) --------------------)
0x37c26f650295 comment (;;; <@224,#109> -------------------- B34 --------------------)
0x37c26f650295 comment (;;; <@226,#110> load-named-field)
0x37c26f65029a comment (;;; <@228,#111> load-named-field)
0x37c26f65029f comment (;;; <@231,#112> compare-numeric-and-branch)
0x37c26f6502af comment (;;; <@232,#116> -------------------- B35 (unreachable/replaced) --------------------)
0x37c26f6502af comment (;;; <@236,#113> -------------------- B36 --------------------)
0x37c26f6502af comment (;;; <@238,#114> gap)
0x37c26f6502b2 comment (;;; <@239,#114> goto)
0x37c26f6502b7 comment (;;; <@240,#120> -------------------- B37 (unreachable/replaced) --------------------)
0x37c26f6502b7 comment (;;; <@244,#88> -------------------- B38 --------------------)
0x37c26f6502bb comment (;;; <@245,#88> gap)
0x37c26f6502be comment (;;; <@246,#182> tagged-to-i)
0x37c26f6502cb comment (;;; <@248,#89> bit-i)
0x37c26f6502cd comment (;;; <@250,#90> shift-i)
0x37c26f6502d2 comment (;;; <@252,#91> load-keyed)
0x37c26f6502d7 comment (;;; <@255,#92> cmp-object-eq-and-branch)
0x37c26f6502e0 comment (;;; <@256,#95> -------------------- B39 (unreachable/replaced) --------------------)
0x37c26f6502e0 comment (;;; <@260,#127> -------------------- B40 --------------------)
0x37c26f6502e0 comment (;;; <@262,#128> push-argument)
0x37c26f6502e1 comment (;;; <@263,#128> gap)
0x37c26f6502e5 comment (;;; <@264,#129> call-runtime)
0x37c26f6502f2 code target (STUB) (0x37c26f409240)
0x37c26f6502f6 comment (;;; <@266,#129> lazy-bailout)
0x37c26f6502f6 comment (;;; <@269,#130> goto)
0x37c26f6502fb comment (;;; <@270,#93> -------------------- B41 (unreachable/replaced) --------------------)
0x37c26f6502fb comment (;;; <@274,#124> -------------------- B42 --------------------)
0x37c26f6502fb comment (;;; <@276,#126> load-keyed)
0x37c26f650300 position (13933)
0x37c26f650300 comment (;;; <@280,#133> -------------------- B43 --------------------)
0x37c26f650300 comment (;;; <@282,#135> return)
0x37c26f650307 position (13924)
0x37c26f650307 comment (;;; <@100,#179> -------------------- Deferred tagged-to-i --------------------)
0x37c26f65033b position (13986)
0x37c26f65033b comment (;;; <@114,#184> -------------------- Deferred tagged-to-i --------------------)
0x37c26f65036f position (13940)
0x37c26f65036f comment (;;; <@246,#182> -------------------- Deferred tagged-to-i --------------------)
0x37c26f650393 code target (STUB) (0x37c26f584de0)
0x37c26f6503d0 comment (;;; -------------------- Jump table --------------------)
0x37c26f6503d0 position (85504)
0x37c26f6503d0 deopt reason (not a heap number)
0x37c26f6503d1 runtime entry (deoptimization bailout 8)
0x37c26f6503d5 position (85504)
0x37c26f6503d5 deopt reason (lost precision)
0x37c26f6503d6 runtime entry (deoptimization bailout 8)
0x37c26f6503da position (85504)
0x37c26f6503da deopt reason (NaN)
0x37c26f6503db runtime entry (deoptimization bailout 8)
0x37c26f6503df position (117248)
0x37c26f6503df deopt reason (not a heap number)
0x37c26f6503e0 runtime entry (deoptimization bailout 9)
0x37c26f6503e4 position (117248)
0x37c26f6503e4 deopt reason (lost precision)
0x37c26f6503e5 runtime entry (deoptimization bailout 9)
0x37c26f6503e9 position (117248)
0x37c26f6503e9 deopt reason (NaN)
0x37c26f6503ea runtime entry (deoptimization bailout 9)
0x37c26f6503ee position (93696)
0x37c26f6503ee deopt reason (not a heap number/undefined/true/false)
0x37c26f6503ef runtime entry (deoptimization bailout 10)
0x37c26f6503f4 comment (;;; Safepoint table.)
--- End code ---
[deoptimizing (DEOPT eager): begin 0x3f59f019acb1 <JS Function aI (SharedFunctionInfo 0x15e35ad47b39)> (opt #25) @2, FP to SP delta: 40, caller sp: 0x7ffdb8d85dc0]
;;; deoptimize at 0_12: wrong instance type
reading input frame aI => node=4, args=3, height=1; inputs:
0: 0x3f59f019acb1 ; [fp - 16] 0x3f59f019acb1 <JS Function aI (SharedFunctionInfo 0x15e35ad47b39)>
1: 0x23de51604381 ; [fp + 32] 0x23de51604381 <undefined>
2: 0x3f59f0197069 ; rbx 0x3f59f0197069 <String[6]: DELETE>
3: 0x3f59f0197691 ; [fp + 16] 0x3f59f0197691 <String[6]: UNLINK>
4: 0x3f59f019ac59 ; [fp - 24] 0x3f59f019ac59 <FixedArray[9]>
translating frame aI => node=4, height=0
0x7ffdb8d85db8: [top + 48] <- 0x23de51604381 ; 0x23de51604381 <undefined> (input #1)
0x7ffdb8d85db0: [top + 40] <- 0x3f59f0197069 ; 0x3f59f0197069 <String[6]: DELETE> (input #2)
0x7ffdb8d85da8: [top + 32] <- 0x3f59f0197691 ; 0x3f59f0197691 <String[6]: UNLINK> (input #3)
0x7ffdb8d85da0: [top + 24] <- 0x37c26f6387ca ; caller's pc
0x7ffdb8d85d98: [top + 16] <- 0x7ffdb8d85e58 ; caller's fp
0x7ffdb8d85d90: [top + 8] <- 0x3f59f019ac59 ; context 0x3f59f019ac59 <FixedArray[9]> (input #4)
0x7ffdb8d85d88: [top + 0] <- 0x3f59f019acb1 ; function 0x3f59f019acb1 <JS Function aI (SharedFunctionInfo 0x15e35ad47b39)> (input #0)
[deoptimizing (eager): end 0x3f59f019acb1 <JS Function aI (SharedFunctionInfo 0x15e35ad47b39)> @2 => node=4, pc=0x37c26f639106, caller sp=0x7ffdb8d85dc0, state=NO_REGISTERS, took 0.031 ms]
[deoptimizing (DEOPT eager): begin 0x238c96a54af9 <JS Function Module._resolveFilename (SharedFunctionInfo 0x238c96a2f981)> (opt #17) @25, FP to SP delta: 64, caller sp: 0x7ffdb8d85868]
;;; deoptimize at 0_406: unexpected object
reading input frame Module._resolveFilename => node=144, args=4, height=7; inputs:
0: 0x238c96a54af9 ; [fp - 16] 0x238c96a54af9 <JS Function Module._resolveFilename (SharedFunctionInfo 0x238c96a2f981)>
1: 0x15e35ad524c9 ; [fp + 40] 0x15e35ad524c9 <JS Function Module (SharedFunctionInfo 0x238c96a2f141)>
2: 0x143feea62d01 ; [fp + 32] 0x143feea62d01 <String[108]: /home/manuel.schiller/source/joynr-temp/tests/performance-test/node_modules/bufferutil/build/bufferutil.node>
3: 0x143feea5a231 ; [fp + 24] 0x143feea5a231 <a Module with map 0x37dfeae1b909>
4: 0x23de51604271 ; [fp + 16] 0x23de51604271 <false>
5: 0x15e35ad523c1 ; [fp - 24] 0x15e35ad523c1 <FixedArray[31]>
6: 0x23de51606559 ; (literal 14) 0x23de51606559 <Odd Oddball>
7: 0x23de51606559 ; (literal 14) 0x23de51606559 <Odd Oddball>
8: 0x23de51606559 ; (literal 14) 0x23de51606559 <Odd Oddball>
9: 0x23de51604381 ; (literal 9) 0x23de51604381 <undefined>
10: 0x23de51604381 ; (literal 9) 0x23de51604381 <undefined>
11: 0x23de51604271 ; rax 0x23de51604271 <false>
translating frame Module._resolveFilename => node=144, height=48
0x7ffdb8d85860: [top + 104] <- 0x15e35ad524c9 ; 0x15e35ad524c9 <JS Function Module (SharedFunctionInfo 0x238c96a2f141)> (input #1)
0x7ffdb8d85858: [top + 96] <- 0x143feea62d01 ; 0x143feea62d01 <String[108]: /home/manuel.schiller/source/joynr-temp/tests/performance-test/node_modules/bufferutil/build/bufferutil.node> (input #2)
0x7ffdb8d85850: [top + 88] <- 0x143feea5a231 ; 0x143feea5a231 <a Module with map 0x37dfeae1b909> (input #3)
0x7ffdb8d85848: [top + 80] <- 0x23de51604271 ; 0x23de51604271 <false> (input #4)
0x7ffdb8d85840: [top + 72] <- 0x37c26f535b5a ; caller's pc
0x7ffdb8d85838: [top + 64] <- 0x7ffdb8d85898 ; caller's fp
0x7ffdb8d85830: [top + 56] <- 0x15e35ad523c1 ; context 0x15e35ad523c1 <FixedArray[31]> (input #5)
0x7ffdb8d85828: [top + 48] <- 0x238c96a54af9 ; function 0x238c96a54af9 <JS Function Module._resolveFilename (SharedFunctionInfo 0x238c96a2f981)> (input #0)
0x7ffdb8d85820: [top + 40] <- 0x23de51606559 ; 0x23de51606559 <Odd Oddball> (input #6)
0x7ffdb8d85818: [top + 32] <- 0x23de51606559 ; 0x23de51606559 <Odd Oddball> (input #7)
0x7ffdb8d85810: [top + 24] <- 0x23de51606559 ; 0x23de51606559 <Odd Oddball> (input #8)
0x7ffdb8d85808: [top + 16] <- 0x23de51604381 ; 0x23de51604381 <undefined> (input #9)
0x7ffdb8d85800: [top + 8] <- 0x23de51604381 ; 0x23de51604381 <undefined> (input #10)
0x7ffdb8d857f8: [top + 0] <- 0x23de51604271 ; 0x23de51604271 <false> (input #11)
[deoptimizing (eager): end 0x238c96a54af9 <JS Function Module._resolveFilename (SharedFunctionInfo 0x238c96a2f981)> @25 => node=144, pc=0x37c26f53613f, caller sp=0x7ffdb8d85868, state=TOS_REG, took 0.067 ms]
--- FUNCTION SOURCE (exports.runInThisContext) id{29,0} ---
(code, options) {
var script = new Script(code, options);
return script.runInThisContext(options);
}
--- END ---
--- Raw source ---
(code, options) {
var script = new Script(code, options);
return script.runInThisContext(options);
};
--- Optimized code ---
optimization_id = 29
source_position = 2241
kind = OPTIMIZED_FUNCTION
name = exports.runInThisContext
stack_slots = 5
compiler = crankshaft
Instructions (size = 237)
0x37c26f66ae40 0 55 push rbp
0x37c26f66ae41 1 4889e5 REX.W movq rbp,rsp
0x37c26f66ae44 4 56 push rsi
0x37c26f66ae45 5 57 push rdi
0x37c26f66ae46 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@8,#5> prologue
;;; Prologue begin
;;; Prologue end
;;; <@12,#7> -------------------- B1 --------------------
;;; <@14,#8> context
0x37c26f66ae4a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 2241
;;; <@15,#8> gap
0x37c26f66ae4e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@18,#12> -------------------- B2 --------------------
;;; <@19,#12> gap
0x37c26f66ae52 18 488bf0 REX.W movq rsi,rax
;;; <@20,#14> stack-check
0x37c26f66ae55 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f66ae5c 28 7305 jnc 35 (0x37c26f66ae63)
0x37c26f66ae5e 30 e87d1dddff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@22,#14> lazy-bailout
;;; <@23,#14> gap
0x37c26f66ae63 35 488b5de8 REX.W movq rbx,[rbp-0x18]
;;; <@24,#15> load-context-slot
0x37c26f66ae67 39 488b533f REX.W movq rdx,[rbx+0x3f] ;; debug: position 2278
0x37c26f66ae6b 43 493b55d8 REX.W cmpq rdx,[r13-0x28]
0x37c26f66ae6f 47 0f8478000000 jz 173 (0x37c26f66aeed)
;;; <@26,#17> check-value
0x37c26f66ae75 53 49baa1146e51de230000 REX.W movq r10,0x23de516e14a1 ;; debug: position 2274
;; object: 0x23de516e14a1 <JS Function ContextifyScript (SharedFunctionInfo 0x23de516e13f9)>
0x37c26f66ae7f 63 493bd2 REX.W cmpq rdx,r10
0x37c26f66ae82 66 0f856a000000 jnz 178 (0x37c26f66aef2)
;;; <@28,#27> push-argument
0x37c26f66ae88 72 52 push rdx
;;; <@29,#27> gap
0x37c26f66ae89 73 488b4d18 REX.W movq rcx,[rbp+0x18]
;;; <@30,#27> push-argument
0x37c26f66ae8d 77 51 push rcx
;;; <@31,#27> gap
0x37c26f66ae8e 78 4c8b4510 REX.W movq r8,[rbp+0x10]
;;; <@32,#27> push-argument
0x37c26f66ae92 82 4150 push r8
;;; <@34,#25> constant-i
0x37c26f66ae94 84 b802000000 movl rax,0x2
;;; <@35,#25> gap
0x37c26f66ae99 89 488bf3 REX.W movq rsi,rbx
0x37c26f66ae9c 92 488bfa REX.W movq rdi,rdx
;;; <@36,#28> call-with-descriptor
0x37c26f66ae9f 95 e83ce1d9ff call Construct (0x37c26f408fe0) ;; code: BUILTIN
;;; <@38,#29> lazy-bailout
;;; <@40,#32> check-non-smi
0x37c26f66aea4 100 a801 test al,0x1 ;; debug: position 2317
0x37c26f66aea6 102 0f844b000000 jz 183 (0x37c26f66aef7)
;;; <@42,#33> check-maps
0x37c26f66aeac 108 49ba91f9808f7a200000 REX.W movq r10,0x207a8f80f991 ;; object: 0x207a8f80f991 <Map(FAST_HOLEY_SMI_ELEMENTS)>
0x37c26f66aeb6 118 4c3950ff REX.W cmpq [rax-0x1],r10
0x37c26f66aeba 122 0f853c000000 jnz 188 (0x37c26f66aefc)
;;; <@44,#35> check-maps
;;; <@46,#34> constant-t
0x37c26f66aec0 128 48bb390cbe67c4010000 REX.W movq rbx,0x1c467be0c39 ;; object: 0x1c467be0c39 <an Object with map 0x37dfeae12e81>
;;; <@48,#36> load-named-field
0x37c26f66aeca 138 488b7b17 REX.W movq rdi,[rbx+0x17]
;;; <@50,#39> push-argument
0x37c26f66aece 142 50 push rax
;;; <@52,#39> push-argument
0x37c26f66aecf 143 ff7510 push [rbp+0x10]
;;; <@54,#37> constant-i
0x37c26f66aed2 146 b801000000 movl rax,0x1
;;; <@55,#37> gap
0x37c26f66aed7 151 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@56,#40> call-with-descriptor
0x37c26f66aedb 155 e8c08bdaff call Call_ReceiverIsNotNullOrUndefined (0x37c26f413aa0) ;; code: BUILTIN
;;; <@58,#41> lazy-bailout
;;; <@60,#43> return
0x37c26f66aee0 160 488be5 REX.W movq rsp,rbp ;; debug: position 2303
0x37c26f66aee3 163 5d pop rbp
0x37c26f66aee4 164 c21800 ret 0x18
0x37c26f66aee7 167 660f1f440000 nop
;;; -------------------- Jump table --------------------
0x37c26f66aeed 173 e818b1a9ff call 0x37c26f10600a ;; debug: position 18944
;; debug: deopt reason 'hole'
;; deoptimization bailout 1
0x37c26f66aef2 178 e81db1a9ff call 0x37c26f106014 ;; debug: position 16896
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 2
0x37c26f66aef7 183 e82cb1a9ff call 0x37c26f106028 ;; debug: position 38912
;; debug: deopt reason 'Smi'
;; deoptimization bailout 4
0x37c26f66aefc 188 e831b1a9ff call 0x37c26f106032 ;; debug: position 38912
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 5
0x37c26f66af01 193 0f1f00 nop
;;; Safepoint table.
Inlined functions (count = 0)
Deoptimization Input Data (deopt points = 7)
index ast id argc pc
0 4 0 35
1 4 0 -1
2 4 0 -1
3 18 0 100
4 18 0 -1
5 18 0 -1
6 30 0 160
Safepoints (size = 41)
0x37c26f66ae63 35 10000 (sp -> fp) 0
0x37c26f66aea4 100 10000 (sp -> fp) 3
0x37c26f66aee0 160 10000 (sp -> fp) 6
RelocInfo (size = 434)
0x37c26f66ae4a position (2241)
0x37c26f66ae4a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f66ae4a comment (;;; <@8,#5> prologue)
0x37c26f66ae4a comment (;;; Prologue begin)
0x37c26f66ae4a comment (;;; Prologue end)
0x37c26f66ae4a comment (;;; <@12,#7> -------------------- B1 --------------------)
0x37c26f66ae4a comment (;;; <@14,#8> context)
0x37c26f66ae4e comment (;;; <@15,#8> gap)
0x37c26f66ae52 comment (;;; <@18,#12> -------------------- B2 --------------------)
0x37c26f66ae52 comment (;;; <@19,#12> gap)
0x37c26f66ae55 comment (;;; <@20,#14> stack-check)
0x37c26f66ae5f code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f66ae63 comment (;;; <@22,#14> lazy-bailout)
0x37c26f66ae63 comment (;;; <@23,#14> gap)
0x37c26f66ae67 comment (;;; <@24,#15> load-context-slot)
0x37c26f66ae67 position (2278)
0x37c26f66ae75 comment (;;; <@26,#17> check-value)
0x37c26f66ae75 position (2274)
0x37c26f66ae77 embedded object (0x23de516e14a1 <JS Function ContextifyScript (SharedFunctionInfo 0x23de516e13f9)>)
0x37c26f66ae88 comment (;;; <@28,#27> push-argument)
0x37c26f66ae89 comment (;;; <@29,#27> gap)
0x37c26f66ae8d comment (;;; <@30,#27> push-argument)
0x37c26f66ae8e comment (;;; <@31,#27> gap)
0x37c26f66ae92 comment (;;; <@32,#27> push-argument)
0x37c26f66ae94 comment (;;; <@34,#25> constant-i)
0x37c26f66ae99 comment (;;; <@35,#25> gap)
0x37c26f66ae9f comment (;;; <@36,#28> call-with-descriptor)
0x37c26f66aea0 code target (BUILTIN) (0x37c26f408fe0)
0x37c26f66aea4 comment (;;; <@38,#29> lazy-bailout)
0x37c26f66aea4 comment (;;; <@40,#32> check-non-smi)
0x37c26f66aea4 position (2317)
0x37c26f66aeac comment (;;; <@42,#33> check-maps)
0x37c26f66aeae embedded object (0x207a8f80f991 <Map(FAST_HOLEY_SMI_ELEMENTS)>)
0x37c26f66aec0 comment (;;; <@44,#35> check-maps)
0x37c26f66aec0 comment (;;; <@46,#34> constant-t)
0x37c26f66aec2 embedded object (0x1c467be0c39 <an Object with map 0x37dfeae12e81>)
0x37c26f66aeca comment (;;; <@48,#36> load-named-field)
0x37c26f66aece comment (;;; <@50,#39> push-argument)
0x37c26f66aecf comment (;;; <@52,#39> push-argument)
0x37c26f66aed2 comment (;;; <@54,#37> constant-i)
0x37c26f66aed7 comment (;;; <@55,#37> gap)
0x37c26f66aedb comment (;;; <@56,#40> call-with-descriptor)
0x37c26f66aedc code target (BUILTIN) (0x37c26f413aa0)
0x37c26f66aee0 comment (;;; <@58,#41> lazy-bailout)
0x37c26f66aee0 comment (;;; <@60,#43> return)
0x37c26f66aee0 position (2303)
0x37c26f66aeed comment (;;; -------------------- Jump table --------------------)
0x37c26f66aeed position (18944)
0x37c26f66aeed deopt reason (hole)
0x37c26f66aeee runtime entry (deoptimization bailout 1)
0x37c26f66aef2 position (16896)
0x37c26f66aef2 deopt reason (value mismatch)
0x37c26f66aef3 runtime entry (deoptimization bailout 2)
0x37c26f66aef7 position (38912)
0x37c26f66aef7 deopt reason (Smi)
0x37c26f66aef8 runtime entry (deoptimization bailout 4)
0x37c26f66aefc position (38912)
0x37c26f66aefc deopt reason (wrong map)
0x37c26f66aefd runtime entry (deoptimization bailout 5)
0x37c26f66af04 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (assertEncoding) id{30,0} ---
(encoding) {
if (encoding && !Buffer.isEncoding(encoding)) {
throw new Error('Unknown encoding: ' + encoding);
}
}
--- END ---
--- FUNCTION SOURCE (Buffer.isEncoding) id{30,1} ---
(encoding) {
return typeof encoding === 'string' &&
typeof internalUtil.normalizeEncoding(encoding) === 'string';
}
--- END ---
INLINE (Buffer.isEncoding) id{30,1} AS 1 AT <0:39>
--- FUNCTION SOURCE (normalizeEncoding) id{30,2} ---
(enc) {
if (!enc) return 'utf8';
var low;
for (;;) {
switch (enc) {
case 'utf8':
case 'utf-8':
return 'utf8';
case 'ucs2':
case 'utf16le':
case 'ucs-2':
case 'utf-16le':
return 'utf16le';
case 'binary':
return 'latin1';
case 'base64':
case 'ascii':
case 'latin1':
case 'hex':
return enc;
default:
if (low) return; // undefined
enc = ('' + enc).toLowerCase();
low = true;
}
}
}
--- END ---
INLINE (normalizeEncoding) id{30,2} AS 2 AT <1:83>
--- Raw source ---
(encoding) {
if (encoding && !Buffer.isEncoding(encoding)) {
throw new Error('Unknown encoding: ' + encoding);
}
}
--- Optimized code ---
optimization_id = 30
source_position = 3766
kind = OPTIMIZED_FUNCTION
name = assertEncoding
stack_slots = 5
compiler = crankshaft
Instructions (size = 995)
0x37c26f66e4c0 0 55 push rbp
0x37c26f66e4c1 1 4889e5 REX.W movq rbp,rsp
0x37c26f66e4c4 4 56 push rsi
0x37c26f66e4c5 5 57 push rdi
0x37c26f66e4c6 6 4883ec08 REX.W subq rsp,0x8
;;; <@0,#0> -------------------- B0 --------------------
;;; <@6,#4> prologue
;;; Prologue begin
;;; Prologue end
;;; <@10,#6> -------------------- B1 --------------------
;;; <@12,#7> context
0x37c26f66e4ca 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 3766
;;; <@13,#7> gap
0x37c26f66e4ce 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@16,#11> -------------------- B2 --------------------
;;; <@17,#11> gap
0x37c26f66e4d2 18 488bf0 REX.W movq rsi,rax
;;; <@18,#13> stack-check
0x37c26f66e4d5 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f66e4dc 28 7305 jnc 35 (0x37c26f66e4e3)
0x37c26f66e4de 30 e8fde6dcff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@20,#13> lazy-bailout
;;; <@22,#15> gap
0x37c26f66e4e3 35 488b5d10 REX.W movq rbx,[rbp+0x10] ;; debug: position 3785
;;; <@23,#15> branch
0x37c26f66e4e7 39 493b5db8 REX.W cmpq rbx,[r13-0x48]
0x37c26f66e4eb 43 0f847d020000 jz 686 (0x37c26f66e76e)
0x37c26f66e4f1 49 f6c301 testb rbx,0x1
0x37c26f66e4f4 52 0f8426030000 jz 864 (0x37c26f66e820)
0x37c26f66e4fa 58 4c8b53ff REX.W movq r10,[rbx-0x1]
0x37c26f66e4fe 62 41807a0b80 cmpb [r10+0xb],0x80
0x37c26f66e503 67 7310 jnc 85 (0x37c26f66e515)
0x37c26f66e505 69 48837b0f00 REX.W cmpq [rbx+0xf],0x0
0x37c26f66e50a 74 0f850a000000 jnz 90 (0x37c26f66e51a)
0x37c26f66e510 80 e959020000 jmp 686 (0x37c26f66e76e)
0x37c26f66e515 85 e8f07aa9ff call 0x37c26f10600a ;; debug: position 9728
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 1
;;; <@24,#19> -------------------- B3 (unreachable/replaced) --------------------
;;; <@28,#16> -------------------- B4 (unreachable/replaced) --------------------
;;; <@32,#22> -------------------- B5 --------------------
;;; <@33,#22> gap
0x37c26f66e51a 90 488b4de8 REX.W movq rcx,[rbp-0x18] ;; debug: position 3798
;;; <@34,#23> load-context-slot
0x37c26f66e51e 94 488b4157 REX.W movq rax,[rcx+0x57]
0x37c26f66e522 98 493b45d8 REX.W cmpq rax,[r13-0x28]
0x37c26f66e526 102 0f84f9020000 jz 869 (0x37c26f66e825)
;;; <@36,#24> check-non-smi
0x37c26f66e52c 108 a801 test al,0x1 ;; debug: position 3805
0x37c26f66e52e 110 0f84f6020000 jz 874 (0x37c26f66e82a)
;;; <@38,#25> check-maps
0x37c26f66e534 116 49ba996be0eadf370000 REX.W movq r10,0x37dfeae06b99 ;; object: 0x37dfeae06b99 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f66e53e 126 4c3950ff REX.W cmpq [rax-0x1],r10
0x37c26f66e542 130 0f85e7020000 jnz 879 (0x37c26f66e82f)
;;; <@40,#31> gap
0x37c26f66e548 136 488bd3 REX.W movq rdx,rbx ;; debug: position 7426
;;; <@41,#31> typeof-is-and-branch
0x37c26f66e54b 139 f6c201 testb rdx,0x1
0x37c26f66e54e 142 0f84ea000000 jz 382 (0x37c26f66e63e)
0x37c26f66e554 148 488b52ff REX.W movq rdx,[rdx-0x1]
0x37c26f66e558 152 807a0b80 cmpb [rdx+0xb],0x80
0x37c26f66e55c 156 0f83dc000000 jnc 382 (0x37c26f66e63e)
;;; <@42,#35> -------------------- B6 (unreachable/replaced) --------------------
;;; <@46,#32> -------------------- B7 (unreachable/replaced) --------------------
;;; <@50,#39> -------------------- B8 --------------------
;;; <@52,#27> constant-t
0x37c26f66e562 162 48ba4926d85ae3150000 REX.W movq rdx,0x15e35ad82649 ;; debug: position 7458
;; debug: position 7388
;; object: 0x15e35ad82649 <FixedArray[37]>
;;; <@54,#40> load-context-slot
0x37c26f66e56c 172 488b5247 REX.W movq rdx,[rdx+0x47] ;; debug: position 7458
0x37c26f66e570 176 493b55d8 REX.W cmpq rdx,[r13-0x28]
0x37c26f66e574 180 0f84ba020000 jz 884 (0x37c26f66e834)
;;; <@56,#41> check-non-smi
0x37c26f66e57a 186 f6c201 testb rdx,0x1 ;; debug: position 7471
0x37c26f66e57d 189 0f84b6020000 jz 889 (0x37c26f66e839)
;;; <@58,#42> check-maps
0x37c26f66e583 195 49ba9154e0eadf370000 REX.W movq r10,0x37dfeae05491 ;; object: 0x37dfeae05491 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f66e58d 205 4c3952ff REX.W cmpq [rdx-0x1],r10
0x37c26f66e591 209 0f85a7020000 jnz 894 (0x37c26f66e83e)
;;; <@61,#50> branch
0x37c26f66e597 215 f6c301 testb rbx,0x1 ;; debug: position 4269
0x37c26f66e59a 218 0f84a3020000 jz 899 (0x37c26f66e843)
0x37c26f66e5a0 224 4c8b53ff REX.W movq r10,[rbx-0x1]
0x37c26f66e5a4 228 41807a0b80 cmpb [r10+0xb],0x80
0x37c26f66e5a9 233 7310 jnc 251 (0x37c26f66e5bb)
0x37c26f66e5ab 235 48837b0f00 REX.W cmpq [rbx+0xf],0x0
0x37c26f66e5b0 240 0f8519000000 jnz 271 (0x37c26f66e5cf)
0x37c26f66e5b6 246 e905000000 jmp 256 (0x37c26f66e5c0)
0x37c26f66e5bb 251 e8907aa9ff call 0x37c26f106050 ;; debug: position 7682
;; debug: deopt reason 'unexpected object'
;; deoptimization bailout 8
;;; <@62,#54> -------------------- B9 (unreachable/replaced) --------------------
;;; <@66,#57> -------------------- B10 --------------------
;;; <@68,#61> gap
0x37c26f66e5c0 256 48b869d66d51de230000 REX.W movq rax,0x23de516dd669 ;; debug: position 4281
;; debug: position 4274
;; object: 0x23de516dd669 <String[4]: utf8>
;;; <@69,#61> goto
0x37c26f66e5ca 266 e95d000000 jmp 364 (0x37c26f66e62c)
;;; <@70,#51> -------------------- B11 (unreachable/replaced) --------------------
;;; <@74,#68> -------------------- B12 --------------------
;;; <@76,#70> gap
0x37c26f66e5cf 271 488bfb REX.W movq rdi,rbx ;; debug: position 4302
0x37c26f66e5d2 274 48be81436051de230000 REX.W movq rsi,0x23de51604381 ;; object: 0x23de51604381 <undefined>
;;; <@78,#72> -------------------- B13 (loop header) --------------------
;;; <@82,#74> -------------------- B14 --------------------
;;; <@84,#76> stack-check
0x37c26f66e5dc 284 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f66e5e3 291 0f8296010000 jc 703 (0x37c26f66e77f)
;;; <@86,#82> check-non-smi
0x37c26f66e5e9 297 40f6c701 testb rdi,0x1 ;; debug: position 4317
0x37c26f66e5ed 301 0f8455020000 jz 904 (0x37c26f66e848)
;;; <@88,#83> check-instance-type
0x37c26f66e5f3 307 4c8b57ff REX.W movq r10,[rdi-0x1]
0x37c26f66e5f7 311 450fb6520b movzxbl r10,[r10+0xb]
0x37c26f66e5fc 316 4180e2c0 cmpb r10l,0xc0
0x37c26f66e600 320 4180fa00 cmpb r10l,0x0
0x37c26f66e604 324 0f8543020000 jnz 909 (0x37c26f66e84d)
;;; <@91,#85> cmp-object-eq-and-branch
0x37c26f66e60a 330 49ba69d66d51de230000 REX.W movq r10,0x23de516dd669 ;; object: 0x23de516dd669 <String[4]: utf8>
0x37c26f66e614 340 493bfa REX.W cmpq rdi,r10
0x37c26f66e617 343 0f8405000000 jz 354 (0x37c26f66e622)
;;; <@92,#86> -------------------- B15 --------------------
;;; <@95,#88> deoptimize
0x37c26f66e61d 349 e8567ac9ff call 0x37c26f306078 ;; debug: position 4362
;; debug: position 4317
;; debug: position 32258
;; debug: deopt reason 'Insufficient type feedback for combined type of binary operation'
;; soft deoptimization bailout 12
;;; <@96,#89> -------------------- B16 (unreachable/replaced) --------------------
;;; <@106,#93> -------------------- B17 (unreachable/replaced) --------------------
;;; <@110,#96> -------------------- B18 (unreachable/replaced) --------------------
;;; <@120,#100> -------------------- B19 (unreachable/replaced) --------------------
;;; <@124,#103> -------------------- B20 (unreachable/replaced) --------------------
;;; <@134,#107> -------------------- B21 (unreachable/replaced) --------------------
;;; <@138,#110> -------------------- B22 (unreachable/replaced) --------------------
;;; <@148,#114> -------------------- B23 (unreachable/replaced) --------------------
;;; <@152,#117> -------------------- B24 (unreachable/replaced) --------------------
;;; <@162,#121> -------------------- B25 (unreachable/replaced) --------------------
;;; <@166,#124> -------------------- B26 (unreachable/replaced) --------------------
;;; <@176,#128> -------------------- B27 (unreachable/replaced) --------------------
;;; <@180,#131> -------------------- B28 (unreachable/replaced) --------------------
;;; <@190,#135> -------------------- B29 (unreachable/replaced) --------------------
;;; <@194,#138> -------------------- B30 (unreachable/replaced) --------------------
;;; <@204,#142> -------------------- B31 (unreachable/replaced) --------------------
;;; <@208,#145> -------------------- B32 (unreachable/replaced) --------------------
;;; <@218,#149> -------------------- B33 (unreachable/replaced) --------------------
;;; <@222,#152> -------------------- B34 (unreachable/replaced) --------------------
;;; <@232,#218> -------------------- B35 (unreachable/replaced) --------------------
;;; <@236,#224> -------------------- B36 (unreachable/replaced) --------------------
;;; <@240,#232> -------------------- B37 (unreachable/replaced) --------------------
;;; <@260,#156> -------------------- B38 (unreachable/replaced) --------------------
;;; <@264,#159> -------------------- B39 (unreachable/replaced) --------------------
;;; <@268,#162> -------------------- B40 --------------------
;;; <@270,#166> gap
0x37c26f66e622 354 48b869d66d51de230000 REX.W movq rax,0x23de516dd669 ;; debug: position 4386
;; debug: position 4379
;; object: 0x23de516dd669 <String[4]: utf8>
;;; <@272,#168> -------------------- B41 (unreachable/replaced) --------------------
;;; <@276,#171> -------------------- B42 (unreachable/replaced) --------------------
;;; <@280,#174> -------------------- B43 (unreachable/replaced) --------------------
;;; <@284,#177> -------------------- B44 (unreachable/replaced) --------------------
;;; <@288,#180> -------------------- B45 (unreachable/replaced) --------------------
;;; <@292,#183> -------------------- B46 (unreachable/replaced) --------------------
;;; <@296,#186> -------------------- B47 (unreachable/replaced) --------------------
;;; <@300,#191> -------------------- B48 (unreachable/replaced) --------------------
;;; <@304,#196> -------------------- B49 (unreachable/replaced) --------------------
;;; <@308,#199> -------------------- B50 (unreachable/replaced) --------------------
;;; <@312,#202> -------------------- B51 (unreachable/replaced) --------------------
;;; <@316,#205> -------------------- B52 (unreachable/replaced) --------------------
;;; <@320,#208> -------------------- B53 (unreachable/replaced) --------------------
;;; <@324,#211> -------------------- B54 (unreachable/replaced) --------------------
;;; <@328,#214> -------------------- B55 (unreachable/replaced) --------------------
;;; <@332,#221> -------------------- B56 (unreachable/replaced) --------------------
;;; <@336,#227> -------------------- B57 (unreachable/replaced) --------------------
;;; <@340,#247> -------------------- B58 (unreachable/replaced) --------------------
;;; <@344,#251> -------------------- B59 --------------------
;;; <@347,#252> typeof-is-and-branch
0x37c26f66e62c 364 a801 test al,0x1 ;; debug: position 7499
0x37c26f66e62e 366 740e jz 382 (0x37c26f66e63e)
0x37c26f66e630 368 488b40ff REX.W movq rax,[rax-0x1]
0x37c26f66e634 372 80780b80 cmpb [rax+0xb],0x80
0x37c26f66e638 376 0f8230010000 jc 686 (0x37c26f66e76e)
;;; <@348,#257> -------------------- B60 (unreachable/replaced) --------------------
;;; <@352,#264> -------------------- B61 (unreachable/replaced) --------------------
;;; <@356,#267> -------------------- B62 --------------------
;;; <@358,#270> check-non-smi
0x37c26f66e63e 382 f6c301 testb rbx,0x1 ;; debug: position 3843
;; debug: position 3870
0x37c26f66e641 385 0f840b020000 jz 914 (0x37c26f66e852)
;;; <@360,#271> check-instance-type
0x37c26f66e647 391 4c8b53ff REX.W movq r10,[rbx-0x1]
0x37c26f66e64b 395 41f6420b80 testb [r10+0xb],0x80
0x37c26f66e650 400 0f8501020000 jnz 919 (0x37c26f66e857)
;;; <@362,#273> load-named-field
0x37c26f66e656 406 8b4313 movl rax,[rbx+0x13]
;;; <@365,#275> compare-numeric-and-branch
;;; <@366,#276> -------------------- B63 --------------------
;;; <@369,#277> compare-numeric-and-branch
0x37c26f66e659 409 83f800 cmpl rax,0x0
0x37c26f66e65c 412 0f84ab000000 jz 589 (0x37c26f66e70d)
;;; <@370,#278> -------------------- B64 --------------------
;;; <@372,#281> add-i
0x37c26f66e662 418 83c012 addl rax,0x12
;;; <@374,#283> bounds-check
0x37c26f66e665 421 3df1ffff0f cmp rax,0xffffff1
0x37c26f66e66a 426 0f83ec010000 jnc 924 (0x37c26f66e85c)
;;; <@376,#285> load-named-field
0x37c26f66e670 432 488b53ff REX.W movq rdx,[rbx-0x1]
;;; <@378,#286> load-named-field
0x37c26f66e674 436 0fb6520b movzxbl rdx,[rdx+0xb]
;;; <@380,#288> allocate
0x37c26f66e678 440 498bbd300f0000 REX.W movq rdi,[r13+0xf30]
0x37c26f66e67f 447 488bf7 REX.W movq rsi,rdi
0x37c26f66e682 450 4883c628 REX.W addq rsi,0x28
0x37c26f66e686 454 0f8238010000 jc 772 (0x37c26f66e7c4)
0x37c26f66e68c 460 493bb5380f0000 REX.W cmpq rsi,[r13+0xf38]
0x37c26f66e693 467 0f872b010000 ja 772 (0x37c26f66e7c4)
0x37c26f66e699 473 4989b5300f0000 REX.W movq [r13+0xf30],rsi
0x37c26f66e6a0 480 48ffc7 REX.W incq rdi
;;; <@381,#288> gap
0x37c26f66e6a3 483 488bf2 REX.W movq rsi,rdx
;;; <@382,#289> bit-i
0x37c26f66e6a6 486 83e604 andl rsi,0x4
;;; <@384,#290> bit-i
0x37c26f66e6a9 489 83f204 xorl rdx,0x4
;;; <@386,#292> bit-i
0x37c26f66e6ac 492 83e60c andl rsi,0xc
;;; <@389,#293> compare-numeric-and-branch
0x37c26f66e6af 495 83fe00 cmpl rsi,0x0
0x37c26f66e6b2 498 0f851f000000 jnz 535 (0x37c26f66e6d7)
;;; <@390,#296> -------------------- B65 --------------------
;;; <@392,#299> bit-i
0x37c26f66e6b8 504 83e20c andl rdx,0xc
;;; <@395,#302> compare-numeric-and-branch
0x37c26f66e6bb 507 83fa0c cmpl rdx,0xc
0x37c26f66e6be 510 0f8413000000 jz 535 (0x37c26f66e6d7)
;;; <@396,#306> -------------------- B66 --------------------
;;; <@398,#308> store-named-field
0x37c26f66e6c4 516 49bac950808f7a200000 REX.W movq r10,0x207a8f8050c9 ;; object: 0x207a8f8050c9 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f66e6ce 526 4c8957ff REX.W movq [rdi-0x1],r10
;;; <@401,#309> goto
0x37c26f66e6d2 530 e90e000000 jmp 549 (0x37c26f66e6e5)
;;; <@402,#300> -------------------- B67 (unreachable/replaced) --------------------
;;; <@406,#294> -------------------- B68 (unreachable/replaced) --------------------
;;; <@410,#303> -------------------- B69 --------------------
;;; <@412,#305> store-named-field
0x37c26f66e6d7 535 49ba7150808f7a200000 REX.W movq r10,0x207a8f805071 ;; object: 0x207a8f805071 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f66e6e1 545 4c8957ff REX.W movq [rdi-0x1],r10
;;; <@416,#311> -------------------- B70 --------------------
;;; <@418,#313> store-named-field
0x37c26f66e6e5 549 c7470703000000 movl [rdi+0x7],0x3
;;; <@420,#349> smi-tag
0x37c26f66e6ec 556 8bd0 movl rdx,rax
0x37c26f66e6ee 558 48c1e220 REX.W shlq rdx, 32
;;; <@422,#314> store-named-field
0x37c26f66e6f2 562 4889570f REX.W movq [rdi+0xf],rdx
;;; <@424,#315> store-named-field
0x37c26f66e6f6 566 49baa17abf67c4010000 REX.W movq r10,0x1c467bf7aa1 ;; object: 0x1c467bf7aa1 <String[18]: Unknown encoding: >
0x37c26f66e700 576 4c895717 REX.W movq [rdi+0x17],r10
;;; <@426,#316> store-named-field
0x37c26f66e704 580 48895f1f REX.W movq [rdi+0x1f],rbx
;;; <@429,#317> goto
0x37c26f66e708 584 e912000000 jmp 607 (0x37c26f66e71f)
;;; <@430,#318> -------------------- B71 --------------------
;;; <@432,#319> gap
0x37c26f66e70d 589 48bfa17abf67c4010000 REX.W movq rdi,0x1c467bf7aa1 ;; object: 0x1c467bf7aa1 <String[18]: Unknown encoding: >
;;; <@433,#319> goto
0x37c26f66e717 599 e903000000 jmp 607 (0x37c26f66e71f)
;;; <@434,#321> -------------------- B72 (unreachable/replaced) --------------------
;;; <@438,#323> -------------------- B73 --------------------
;;; <@440,#324> gap
0x37c26f66e71c 604 488bfb REX.W movq rdi,rbx
;;; <@442,#326> -------------------- B74 --------------------
;;; <@444,#338> push-argument
0x37c26f66e71f 607 49bac1736b51de230000 REX.W movq r10,0x23de516b73c1 ;; debug: position 3839
;; object: 0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>
0x37c26f66e729 617 4152 push r10
;;; <@446,#338> push-argument
0x37c26f66e72b 619 57 push rdi
;;; <@448,#268> constant-t
0x37c26f66e72c 620 48bac1736b51de230000 REX.W movq rdx,0x23de516b73c1 ;; debug: position 3843
;; object: 0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>
;;; <@450,#268> constant-t
0x37c26f66e736 630 48bac1736b51de230000 REX.W movq rdx,0x23de516b73c1 ;; object: 0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>
;;; <@452,#336> constant-i
0x37c26f66e740 640 b801000000 movl rax,0x1 ;; debug: position 3839
;;; <@453,#336> gap
0x37c26f66e745 645 488bf1 REX.W movq rsi,rcx
0x37c26f66e748 648 488bfa REX.W movq rdi,rdx
;;; <@454,#339> call-with-descriptor
0x37c26f66e74b 651 e890a8d9ff call Construct (0x37c26f408fe0) ;; code: BUILTIN
;;; <@456,#340> lazy-bailout
;;; <@458,#341> push-argument
0x37c26f66e750 656 50 push rax ;; debug: position 3833
;;; <@459,#341> gap
0x37c26f66e751 657 488b75e8 REX.W movq rsi,[rbp-0x18]
;;; <@460,#342> call-runtime
0x37c26f66e755 661 0f1f840000000000 nop
0x37c26f66e75d 669 b801000000 movl rax,0x1
0x37c26f66e762 674 498d9d58b13ffe REX.W leaq rbx,[r13-0x1c04ea8]
0x37c26f66e769 681 e8d2aad9ff call 0x37c26f409240 ;; code: STUB, CEntryStub, minor: 4
;;; <@462,#343> lazy-bailout
;;; <@464,#253> -------------------- B75 (unreachable/replaced) --------------------
;;; <@468,#261> -------------------- B76 (unreachable/replaced) --------------------
;;; <@472,#345> -------------------- B77 --------------------
;;; <@474,#3> constant-t
0x37c26f66e76e 686 48b881436051de230000 REX.W movq rax,0x23de51604381 ;; debug: position 3766
;; object: 0x23de51604381 <undefined>
;;; <@476,#347> return
0x37c26f66e778 696 488be5 REX.W movq rsp,rbp
0x37c26f66e77b 699 5d pop rbp
0x37c26f66e77c 700 c21000 ret 0x10
;;; <@84,#76> -------------------- Deferred stack-check --------------------
0x37c26f66e77f 703 50 push rax ;; debug: position 4302
0x37c26f66e780 704 51 push rcx
0x37c26f66e781 705 52 push rdx
0x37c26f66e782 706 53 push rbx
0x37c26f66e783 707 56 push rsi
0x37c26f66e784 708 57 push rdi
0x37c26f66e785 709 4150 push r8
0x37c26f66e787 711 4151 push r9
0x37c26f66e789 713 4153 push r11
0x37c26f66e78b 715 4154 push r12
0x37c26f66e78d 717 4156 push r14
0x37c26f66e78f 719 4157 push r15
0x37c26f66e791 721 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x37c26f66e796 726 488b75f8 REX.W movq rsi,[rbp-0x8]
0x37c26f66e79a 730 33c0 xorl rax,rax
0x37c26f66e79c 732 498d9d28d53ffe REX.W leaq rbx,[r13-0x1c02ad8]
0x37c26f66e7a3 739 e83891d9ff call 0x37c26f4078e0 ;; code: STUB, CEntryStub, minor: 5
0x37c26f66e7a8 744 488d642420 REX.W leaq rsp,[rsp+0x20]
0x37c26f66e7ad 749 415f pop r15
0x37c26f66e7af 751 415e pop r14
0x37c26f66e7b1 753 415c pop r12
0x37c26f66e7b3 755 415b pop r11
0x37c26f66e7b5 757 4159 pop r9
0x37c26f66e7b7 759 4158 pop r8
0x37c26f66e7b9 761 5f pop rdi
0x37c26f66e7ba 762 5e pop rsi
0x37c26f66e7bb 763 5b pop rbx
0x37c26f66e7bc 764 5a pop rdx
0x37c26f66e7bd 765 59 pop rcx
0x37c26f66e7be 766 58 pop rax
0x37c26f66e7bf 767 e925feffff jmp 297 (0x37c26f66e5e9)
;;; <@380,#288> -------------------- Deferred allocate --------------------
0x37c26f66e7c4 772 33ff xorl rdi,rdi ;; debug: position 3870
0x37c26f66e7c6 774 50 push rax
0x37c26f66e7c7 775 51 push rcx
0x37c26f66e7c8 776 52 push rdx
0x37c26f66e7c9 777 53 push rbx
0x37c26f66e7ca 778 56 push rsi
0x37c26f66e7cb 779 57 push rdi
0x37c26f66e7cc 780 4150 push r8
0x37c26f66e7ce 782 4151 push r9
0x37c26f66e7d0 784 4153 push r11
0x37c26f66e7d2 786 4154 push r12
0x37c26f66e7d4 788 4156 push r14
0x37c26f66e7d6 790 4157 push r15
0x37c26f66e7d8 792 488d6424e0 REX.W leaq rsp,[rsp-0x20]
0x37c26f66e7dd 797 49ba0000000028000000 REX.W movq r10,0x2800000000
0x37c26f66e7e7 807 4152 push r10
0x37c26f66e7e9 809 6a00 push 0x0
0x37c26f66e7eb 811 488bf1 REX.W movq rsi,rcx
0x37c26f66e7ee 814 b802000000 movl rax,0x2
0x37c26f66e7f3 819 498d9db8da3ffe REX.W leaq rbx,[r13-0x1c02548]
0x37c26f66e7fa 826 e8e190d9ff call 0x37c26f4078e0 ;; code: STUB, CEntryStub, minor: 5
0x37c26f66e7ff 831 4889442450 REX.W movq [rsp+0x50],rax
0x37c26f66e804 836 488d642420 REX.W leaq rsp,[rsp+0x20]
0x37c26f66e809 841 415f pop r15
0x37c26f66e80b 843 415e pop r14
0x37c26f66e80d 845 415c pop r12
0x37c26f66e80f 847 415b pop r11
0x37c26f66e811 849 4159 pop r9
0x37c26f66e813 851 4158 pop r8
0x37c26f66e815 853 5f pop rdi
0x37c26f66e816 854 5e pop rsi
0x37c26f66e817 855 5b pop rbx
0x37c26f66e818 856 5a pop rdx
0x37c26f66e819 857 59 pop rcx
0x37c26f66e81a 858 58 pop rax
0x37c26f66e81b 859 e983feffff jmp 483 (0x37c26f66e6a3)
;;; -------------------- Jump table --------------------
0x37c26f66e820 864 e8e577a9ff call 0x37c26f10600a ;; debug: position 9728
;; debug: deopt reason 'Smi'
;; deoptimization bailout 1
0x37c26f66e825 869 e8ea77a9ff call 0x37c26f106014 ;; debug: position 16384
;; debug: deopt reason 'hole'
;; deoptimization bailout 2
0x37c26f66e82a 874 e8ef77a9ff call 0x37c26f10601e ;; debug: position 19968
;; debug: deopt reason 'Smi'
;; deoptimization bailout 3
0x37c26f66e82f 879 e8f477a9ff call 0x37c26f106028 ;; debug: position 19968
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 4
0x37c26f66e834 884 e8f977a9ff call 0x37c26f106032 ;; debug: position 35841
;; debug: deopt reason 'hole'
;; deoptimization bailout 5
0x37c26f66e839 889 e8fe77a9ff call 0x37c26f10603c ;; debug: position 42497
;; debug: deopt reason 'Smi'
;; deoptimization bailout 6
0x37c26f66e83e 894 e80378a9ff call 0x37c26f106046 ;; debug: position 42497
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 7
0x37c26f66e843 899 e80878a9ff call 0x37c26f106050 ;; debug: position 7682
;; debug: deopt reason 'Smi'
;; deoptimization bailout 8
0x37c26f66e848 904 e81778a9ff call 0x37c26f106064 ;; debug: position 32258
;; debug: deopt reason 'Smi'
;; deoptimization bailout 10
0x37c26f66e84d 909 e81c78a9ff call 0x37c26f10606e ;; debug: position 32258
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 11
0x37c26f66e852 914 e82b78a9ff call 0x37c26f106082 ;; debug: position 53248
;; debug: deopt reason 'Smi'
;; deoptimization bailout 13
0x37c26f66e857 919 e83078a9ff call 0x37c26f10608c ;; debug: position 53248
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 14
0x37c26f66e85c 924 e83578a9ff call 0x37c26f106096 ;; debug: position 53248
;; debug: deopt reason 'out of bounds'
;; deoptimization bailout 15
0x37c26f66e861 929 0f1f00 nop
;;; Safepoint table.
Inlined functions (count = 2)
0x1c467bfad61 <SharedFunctionInfo Buffer.isEncoding>
0x238c96a052e9 <SharedFunctionInfo normalizeEncoding>
Deoptimization Input Data (deopt points = 18)
index ast id argc pc
0 4 0 35
1 4 0 -1
2 10 0 -1
3 10 0 -1
4 10 0 -1
5 7 0 -1
6 7 0 -1
7 7 0 -1
8 3 0 -1
9 40 0 297
10 63 0 -1
11 63 0 -1
12 63 0 -1
13 6 0 -1
14 6 0 -1
15 6 0 -1
16 42 0 656
17 40 0 686
Safepoints (size = 63)
0x37c26f66e4e3 35 10000 (sp -> fp) 0
0x37c26f66e750 656 10000 (sp -> fp) 16
0x37c26f66e76e 686 10000 (sp -> fp) 17
0x37c26f66e7a8 744 10000 | rax | rcx | rdx | rbx | rsi | rdi (sp -> fp) 9
0x37c26f66e7ff 831 10000 | rcx | rbx | rdi (sp -> fp) <none> argc: 2
RelocInfo (size = 1840)
0x37c26f66e4ca position (3766)
0x37c26f66e4ca comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f66e4ca comment (;;; <@6,#4> prologue)
0x37c26f66e4ca comment (;;; Prologue begin)
0x37c26f66e4ca comment (;;; Prologue end)
0x37c26f66e4ca comment (;;; <@10,#6> -------------------- B1 --------------------)
0x37c26f66e4ca comment (;;; <@12,#7> context)
0x37c26f66e4ce comment (;;; <@13,#7> gap)
0x37c26f66e4d2 comment (;;; <@16,#11> -------------------- B2 --------------------)
0x37c26f66e4d2 comment (;;; <@17,#11> gap)
0x37c26f66e4d5 comment (;;; <@18,#13> stack-check)
0x37c26f66e4df code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f66e4e3 comment (;;; <@20,#13> lazy-bailout)
0x37c26f66e4e3 comment (;;; <@22,#15> gap)
0x37c26f66e4e3 position (3785)
0x37c26f66e4e7 comment (;;; <@23,#15> branch)
0x37c26f66e515 position (9728)
0x37c26f66e515 deopt reason (unexpected object)
0x37c26f66e516 runtime entry (deoptimization bailout 1)
0x37c26f66e51a comment (;;; <@24,#19> -------------------- B3 (unreachable/replaced) --------------------)
0x37c26f66e51a comment (;;; <@28,#16> -------------------- B4 (unreachable/replaced) --------------------)
0x37c26f66e51a position (3798)
0x37c26f66e51a comment (;;; <@32,#22> -------------------- B5 --------------------)
0x37c26f66e51a comment (;;; <@33,#22> gap)
0x37c26f66e51e comment (;;; <@34,#23> load-context-slot)
0x37c26f66e52c comment (;;; <@36,#24> check-non-smi)
0x37c26f66e52c position (3805)
0x37c26f66e534 comment (;;; <@38,#25> check-maps)
0x37c26f66e536 embedded object (0x37dfeae06b99 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f66e548 comment (;;; <@40,#31> gap)
0x37c26f66e548 position (7426)
0x37c26f66e54b comment (;;; <@41,#31> typeof-is-and-branch)
0x37c26f66e562 comment (;;; <@42,#35> -------------------- B6 (unreachable/replaced) --------------------)
0x37c26f66e562 comment (;;; <@46,#32> -------------------- B7 (unreachable/replaced) --------------------)
0x37c26f66e562 position (7458)
0x37c26f66e562 comment (;;; <@50,#39> -------------------- B8 --------------------)
0x37c26f66e562 comment (;;; <@52,#27> constant-t)
0x37c26f66e562 position (7388)
0x37c26f66e564 embedded object (0x15e35ad82649 <FixedArray[37]>)
0x37c26f66e56c comment (;;; <@54,#40> load-context-slot)
0x37c26f66e56c position (7458)
0x37c26f66e57a comment (;;; <@56,#41> check-non-smi)
0x37c26f66e57a position (7471)
0x37c26f66e583 comment (;;; <@58,#42> check-maps)
0x37c26f66e585 embedded object (0x37dfeae05491 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f66e597 position (4269)
0x37c26f66e597 comment (;;; <@61,#50> branch)
0x37c26f66e5bb position (7682)
0x37c26f66e5bb deopt reason (unexpected object)
0x37c26f66e5bc runtime entry (deoptimization bailout 8)
0x37c26f66e5c0 comment (;;; <@62,#54> -------------------- B9 (unreachable/replaced) --------------------)
0x37c26f66e5c0 position (4281)
0x37c26f66e5c0 comment (;;; <@66,#57> -------------------- B10 --------------------)
0x37c26f66e5c0 comment (;;; <@68,#61> gap)
0x37c26f66e5c0 position (4274)
0x37c26f66e5c2 embedded object (0x23de516dd669 <String[4]: utf8>)
0x37c26f66e5ca comment (;;; <@69,#61> goto)
0x37c26f66e5cf comment (;;; <@70,#51> -------------------- B11 (unreachable/replaced) --------------------)
0x37c26f66e5cf position (4302)
0x37c26f66e5cf comment (;;; <@74,#68> -------------------- B12 --------------------)
0x37c26f66e5cf comment (;;; <@76,#70> gap)
0x37c26f66e5d4 embedded object (0x23de51604381 <undefined>)
0x37c26f66e5dc comment (;;; <@78,#72> -------------------- B13 (loop header) --------------------)
0x37c26f66e5dc comment (;;; <@82,#74> -------------------- B14 --------------------)
0x37c26f66e5dc comment (;;; <@84,#76> stack-check)
0x37c26f66e5e9 comment (;;; <@86,#82> check-non-smi)
0x37c26f66e5e9 position (4317)
0x37c26f66e5f3 comment (;;; <@88,#83> check-instance-type)
0x37c26f66e60a comment (;;; <@91,#85> cmp-object-eq-and-branch)
0x37c26f66e60c embedded object (0x23de516dd669 <String[4]: utf8>)
0x37c26f66e61d position (4362)
0x37c26f66e61d comment (;;; <@92,#86> -------------------- B15 --------------------)
0x37c26f66e61d position (4317)
0x37c26f66e61d comment (;;; <@95,#88> deoptimize)
0x37c26f66e61d position (32258)
0x37c26f66e61d deopt reason (Insufficient type feedback for combined type of binary operation)
0x37c26f66e61e runtime entry
0x37c26f66e622 comment (;;; <@96,#89> -------------------- B16 (unreachable/replaced) --------------------)
0x37c26f66e622 comment (;;; <@106,#93> -------------------- B17 (unreachable/replaced) --------------------)
0x37c26f66e622 comment (;;; <@110,#96> -------------------- B18 (unreachable/replaced) --------------------)
0x37c26f66e622 comment (;;; <@120,#100> -------------------- B19 (unreachable/replaced) --------------------)
0x37c26f66e622 comment (;;; <@124,#103> -------------------- B20 (unreachable/replaced) --------------------)
0x37c26f66e622 comment (;;; <@134,#107> -------------------- B21 (unreachable/replaced) --------------------)
0x37c26f66e622 comment (;;; <@138,#110> -------------------- B22 (unreachable/replaced) --------------------)
0x37c26f66e622 comment (;;; <@148,#114> -------------------- B23 (unreachable/replaced) --------------------)
0x37c26f66e622 comment (;;; <@152,#117> -------------------- B24 (unreachable/replaced) --------------------)
0x37c26f66e622 comment (;;; <@162,#121> -------------------- B25 (unreachable/replaced) --------------------)
0x37c26f66e622 comment (;;; <@166,#124> -------------------- B26 (unreachable/replaced) --------------------)
0x37c26f66e622 comment (;;; <@176,#128> -------------------- B27 (unreachable/replaced) --------------------)
0x37c26f66e622 comment (;;; <@180,#131> -------------------- B28 (unreachable/replaced) --------------------)
0x37c26f66e622 comment (;;; <@190,#135> -------------------- B29 (unreachable/replaced) --------------------)
0x37c26f66e622 comment (;;; <@194,#138> -------------------- B30 (unreachable/replaced) --------------------)
0x37c26f66e622 comment (;;; <@204,#142> -------------------- B31 (unreachable/replaced) --------------------)
0x37c26f66e622 comment (;;; <@208,#145> -------------------- B32 (unreachable/replaced) --------------------)
0x37c26f66e622 comment (;;; <@218,#149> -------------------- B33 (unreachable/replaced) --------------------)
0x37c26f66e622 comment (;;; <@222,#152> -------------------- B34 (unreachable/replaced) --------------------)
0x37c26f66e622 comment (;;; <@232,#218> -------------------- B35 (unreachable/replaced) --------------------)
0x37c26f66e622 comment (;;; <@236,#224> -------------------- B36 (unreachable/replaced) --------------------)
0x37c26f66e622 comment (;;; <@240,#232> -------------------- B37 (unreachable/replaced) --------------------)
0x37c26f66e622 comment (;;; <@260,#156> -------------------- B38 (unreachable/replaced) --------------------)
0x37c26f66e622 comment (;;; <@264,#159> -------------------- B39 (unreachable/replaced) --------------------)
0x37c26f66e622 position (4386)
0x37c26f66e622 comment (;;; <@268,#162> -------------------- B40 --------------------)
0x37c26f66e622 comment (;;; <@270,#166> gap)
0x37c26f66e622 position (4379)
0x37c26f66e624 embedded object (0x23de516dd669 <String[4]: utf8>)
0x37c26f66e62c comment (;;; <@272,#168> -------------------- B41 (unreachable/replaced) --------------------)
0x37c26f66e62c comment (;;; <@276,#171> -------------------- B42 (unreachable/replaced) --------------------)
0x37c26f66e62c comment (;;; <@280,#174> -------------------- B43 (unreachable/replaced) --------------------)
0x37c26f66e62c comment (;;; <@284,#177> -------------------- B44 (unreachable/replaced) --------------------)
0x37c26f66e62c comment (;;; <@288,#180> -------------------- B45 (unreachable/replaced) --------------------)
0x37c26f66e62c comment (;;; <@292,#183> -------------------- B46 (unreachable/replaced) --------------------)
0x37c26f66e62c comment (;;; <@296,#186> -------------------- B47 (unreachable/replaced) --------------------)
0x37c26f66e62c comment (;;; <@300,#191> -------------------- B48 (unreachable/replaced) --------------------)
0x37c26f66e62c comment (;;; <@304,#196> -------------------- B49 (unreachable/replaced) --------------------)
0x37c26f66e62c comment (;;; <@308,#199> -------------------- B50 (unreachable/replaced) --------------------)
0x37c26f66e62c comment (;;; <@312,#202> -------------------- B51 (unreachable/replaced) --------------------)
0x37c26f66e62c comment (;;; <@316,#205> -------------------- B52 (unreachable/replaced) --------------------)
0x37c26f66e62c comment (;;; <@320,#208> -------------------- B53 (unreachable/replaced) --------------------)
0x37c26f66e62c comment (;;; <@324,#211> -------------------- B54 (unreachable/replaced) --------------------)
0x37c26f66e62c comment (;;; <@328,#214> -------------------- B55 (unreachable/replaced) --------------------)
0x37c26f66e62c comment (;;; <@332,#221> -------------------- B56 (unreachable/replaced) --------------------)
0x37c26f66e62c comment (;;; <@336,#227> -------------------- B57 (unreachable/replaced) --------------------)
0x37c26f66e62c comment (;;; <@340,#247> -------------------- B58 (unreachable/replaced) --------------------)
0x37c26f66e62c position (7499)
0x37c26f66e62c comment (;;; <@344,#251> -------------------- B59 --------------------)
0x37c26f66e62c comment (;;; <@347,#252> typeof-is-and-branch)
0x37c26f66e63e comment (;;; <@348,#257> -------------------- B60 (unreachable/replaced) --------------------)
0x37c26f66e63e comment (;;; <@352,#264> -------------------- B61 (unreachable/replaced) --------------------)
0x37c26f66e63e position (3843)
0x37c26f66e63e comment (;;; <@356,#267> -------------------- B62 --------------------)
0x37c26f66e63e comment (;;; <@358,#270> check-non-smi)
0x37c26f66e63e position (3870)
0x37c26f66e647 comment (;;; <@360,#271> check-instance-type)
0x37c26f66e656 comment (;;; <@362,#273> load-named-field)
0x37c26f66e659 comment (;;; <@365,#275> compare-numeric-and-branch)
0x37c26f66e659 comment (;;; <@366,#276> -------------------- B63 --------------------)
0x37c26f66e659 comment (;;; <@369,#277> compare-numeric-and-branch)
0x37c26f66e662 comment (;;; <@370,#278> -------------------- B64 --------------------)
0x37c26f66e662 comment (;;; <@372,#281> add-i)
0x37c26f66e665 comment (;;; <@374,#283> bounds-check)
0x37c26f66e670 comment (;;; <@376,#285> load-named-field)
0x37c26f66e674 comment (;;; <@378,#286> load-named-field)
0x37c26f66e678 comment (;;; <@380,#288> allocate)
0x37c26f66e6a3 comment (;;; <@381,#288> gap)
0x37c26f66e6a6 comment (;;; <@382,#289> bit-i)
0x37c26f66e6a9 comment (;;; <@384,#290> bit-i)
0x37c26f66e6ac comment (;;; <@386,#292> bit-i)
0x37c26f66e6af comment (;;; <@389,#293> compare-numeric-and-branch)
0x37c26f66e6b8 comment (;;; <@390,#296> -------------------- B65 --------------------)
0x37c26f66e6b8 comment (;;; <@392,#299> bit-i)
0x37c26f66e6bb comment (;;; <@395,#302> compare-numeric-and-branch)
0x37c26f66e6c4 comment (;;; <@396,#306> -------------------- B66 --------------------)
0x37c26f66e6c4 comment (;;; <@398,#308> store-named-field)
0x37c26f66e6c6 embedded object (0x207a8f8050c9 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f66e6d2 comment (;;; <@401,#309> goto)
0x37c26f66e6d7 comment (;;; <@402,#300> -------------------- B67 (unreachable/replaced) --------------------)
0x37c26f66e6d7 comment (;;; <@406,#294> -------------------- B68 (unreachable/replaced) --------------------)
0x37c26f66e6d7 comment (;;; <@410,#303> -------------------- B69 --------------------)
0x37c26f66e6d7 comment (;;; <@412,#305> store-named-field)
0x37c26f66e6d9 embedded object (0x207a8f805071 <Map(FAST_HOLEY_ELEMENTS)>)
0x37c26f66e6e5 comment (;;; <@416,#311> -------------------- B70 --------------------)
0x37c26f66e6e5 comment (;;; <@418,#313> store-named-field)
0x37c26f66e6ec comment (;;; <@420,#349> smi-tag)
0x37c26f66e6f2 comment (;;; <@422,#314> store-named-field)
0x37c26f66e6f6 comment (;;; <@424,#315> store-named-field)
0x37c26f66e6f8 embedded object (0x1c467bf7aa1 <String[18]: Unknown encoding: >)
0x37c26f66e704 comment (;;; <@426,#316> store-named-field)
0x37c26f66e708 comment (;;; <@429,#317> goto)
0x37c26f66e70d comment (;;; <@430,#318> -------------------- B71 --------------------)
0x37c26f66e70d comment (;;; <@432,#319> gap)
0x37c26f66e70f embedded object (0x1c467bf7aa1 <String[18]: Unknown encoding: >)
0x37c26f66e717 comment (;;; <@433,#319> goto)
0x37c26f66e71c comment (;;; <@434,#321> -------------------- B72 (unreachable/replaced) --------------------)
0x37c26f66e71c comment (;;; <@438,#323> -------------------- B73 --------------------)
0x37c26f66e71c comment (;;; <@440,#324> gap)
0x37c26f66e71f comment (;;; <@442,#326> -------------------- B74 --------------------)
0x37c26f66e71f comment (;;; <@444,#338> push-argument)
0x37c26f66e71f position (3839)
0x37c26f66e721 embedded object (0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>)
0x37c26f66e72b comment (;;; <@446,#338> push-argument)
0x37c26f66e72c comment (;;; <@448,#268> constant-t)
0x37c26f66e72c position (3843)
0x37c26f66e72e embedded object (0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>)
0x37c26f66e736 comment (;;; <@450,#268> constant-t)
0x37c26f66e738 embedded object (0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>)
0x37c26f66e740 comment (;;; <@452,#336> constant-i)
0x37c26f66e740 position (3839)
0x37c26f66e745 comment (;;; <@453,#336> gap)
0x37c26f66e74b comment (;;; <@454,#339> call-with-descriptor)
0x37c26f66e74c code target (BUILTIN) (0x37c26f408fe0)
0x37c26f66e750 comment (;;; <@456,#340> lazy-bailout)
0x37c26f66e750 comment (;;; <@458,#341> push-argument)
0x37c26f66e750 position (3833)
0x37c26f66e751 comment (;;; <@459,#341> gap)
0x37c26f66e755 comment (;;; <@460,#342> call-runtime)
0x37c26f66e76a code target (STUB) (0x37c26f409240)
0x37c26f66e76e comment (;;; <@462,#343> lazy-bailout)
0x37c26f66e76e comment (;;; <@464,#253> -------------------- B75 (unreachable/replaced) --------------------)
0x37c26f66e76e comment (;;; <@468,#261> -------------------- B76 (unreachable/replaced) --------------------)
0x37c26f66e76e position (3766)
0x37c26f66e76e comment (;;; <@472,#345> -------------------- B77 --------------------)
0x37c26f66e76e comment (;;; <@474,#3> constant-t)
0x37c26f66e770 embedded object (0x23de51604381 <undefined>)
0x37c26f66e778 comment (;;; <@476,#347> return)
0x37c26f66e77f position (4302)
0x37c26f66e77f comment (;;; <@84,#76> -------------------- Deferred stack-check --------------------)
0x37c26f66e7a4 code target (STUB) (0x37c26f4078e0)
0x37c26f66e7c4 position (3870)
0x37c26f66e7c4 comment (;;; <@380,#288> -------------------- Deferred allocate --------------------)
0x37c26f66e7fb code target (STUB) (0x37c26f4078e0)
0x37c26f66e820 comment (;;; -------------------- Jump table --------------------)
0x37c26f66e820 position (9728)
0x37c26f66e820 deopt reason (Smi)
0x37c26f66e821 runtime entry (deoptimization bailout 1)
0x37c26f66e825 position (16384)
0x37c26f66e825 deopt reason (hole)
0x37c26f66e826 runtime entry (deoptimization bailout 2)
0x37c26f66e82a position (19968)
0x37c26f66e82a deopt reason (Smi)
0x37c26f66e82b runtime entry (deoptimization bailout 3)
0x37c26f66e82f position (19968)
0x37c26f66e82f deopt reason (wrong map)
0x37c26f66e830 runtime entry (deoptimization bailout 4)
0x37c26f66e834 position (35841)
0x37c26f66e834 deopt reason (hole)
0x37c26f66e835 runtime entry (deoptimization bailout 5)
0x37c26f66e839 position (42497)
0x37c26f66e839 deopt reason (Smi)
0x37c26f66e83a runtime entry (deoptimization bailout 6)
0x37c26f66e83e position (42497)
0x37c26f66e83e deopt reason (wrong map)
0x37c26f66e83f runtime entry (deoptimization bailout 7)
0x37c26f66e843 position (7682)
0x37c26f66e843 deopt reason (Smi)
0x37c26f66e844 runtime entry (deoptimization bailout 8)
0x37c26f66e848 position (32258)
0x37c26f66e848 deopt reason (Smi)
0x37c26f66e849 runtime entry (deoptimization bailout 10)
0x37c26f66e84d position (32258)
0x37c26f66e84d deopt reason (wrong instance type)
0x37c26f66e84e runtime entry (deoptimization bailout 11)
0x37c26f66e852 position (53248)
0x37c26f66e852 deopt reason (Smi)
0x37c26f66e853 runtime entry (deoptimization bailout 13)
0x37c26f66e857 position (53248)
0x37c26f66e857 deopt reason (wrong instance type)
0x37c26f66e858 runtime entry (deoptimization bailout 14)
0x37c26f66e85c position (53248)
0x37c26f66e85c deopt reason (out of bounds)
0x37c26f66e85d runtime entry (deoptimization bailout 15)
0x37c26f66e864 comment (;;; Safepoint table.)
--- End code ---
--- FUNCTION SOURCE (fs.openSync) id{31,0} ---
(path, flags, mode) {
mode = modeNum(mode, 0o666);
nullCheck(path);
return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
}
--- END ---
--- FUNCTION SOURCE (modeNum) id{31,1} ---
(m, def) {
if (typeof m === 'number')
return m;
if (typeof m === 'string')
return parseInt(m, 8);
if (def)
return modeNum(def);
return undefined;
}
--- END ---
INLINE (modeNum) id{31,1} AS 1 AT <0:31>
--- FUNCTION SOURCE (nullCheck) id{31,2} ---
(path, callback) {
if (('' + path).indexOf('\x5cu0000') !== -1) {
var er = new Error('Path must be a string without null bytes');
er.code = 'ENOENT';
if (typeof callback !== 'function')
throw er;
process.nextTick(callback, er);
return false;
}
return true;
}
--- END ---
INLINE (nullCheck) id{31,2} AS 2 AT <0:55>
--- FUNCTION SOURCE (nextTick) id{31,3} ---
(callback) {
if (typeof callback !== 'function')
throw new TypeError('callback is not a function');
// on the way out, don't bother. it won't get fired anyway.
if (process._exiting)
return;
var args;
if (arguments.length > 1) {
args = new Array(arguments.length - 1);
for (var i = 1; i < arguments.length; i++)
args[i - 1] = arguments[i];
}
nextTickQueue.push(new TickObject(callback, args));
tickInfo[kLength]++;
}
--- END ---
INLINE (nextTick) id{31,3} AS 3 AT <2:225>
--- FUNCTION SOURCE (TickObject) id{31,4} ---
(c, args) {
this.callback = c;
this.domain = process.domain || null;
this.args = args;
}
--- END ---
INLINE (TickObject) id{31,4} AS 4 AT <3:422>
--- Raw source ---
(path, flags, mode) {
mode = modeNum(mode, 0o666);
nullCheck(path);
return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
};
--- Optimized code ---
optimization_id = 31
source_position = 15570
kind = OPTIMIZED_FUNCTION
name = fs.openSync
stack_slots = 10
compiler = crankshaft
Instructions (size = 976)
0x37c26f66ef00 0 55 push rbp
0x37c26f66ef01 1 4889e5 REX.W movq rbp,rsp
0x37c26f66ef04 4 56 push rsi
0x37c26f66ef05 5 57 push rdi
0x37c26f66ef06 6 4883ec30 REX.W subq rsp,0x30
;;; <@0,#0> -------------------- B0 --------------------
;;; <@10,#6> prologue
;;; Prologue begin
;;; Prologue end
;;; <@14,#8> -------------------- B1 --------------------
;;; <@16,#9> context
0x37c26f66ef0a 10 488b45f8 REX.W movq rax,[rbp-0x8] ;; debug: position 15570
;;; <@17,#9> gap
0x37c26f66ef0e 14 488945e8 REX.W movq [rbp-0x18],rax
;;; <@20,#13> -------------------- B2 --------------------
;;; <@21,#13> gap
0x37c26f66ef12 18 488bf0 REX.W movq rsi,rax
;;; <@22,#15> stack-check
0x37c26f66ef15 21 493ba5880a0000 REX.W cmpq rsp,[r13+0xa88]
0x37c26f66ef1c 28 7305 jnc 35 (0x37c26f66ef23)
0x37c26f66ef1e 30 e8bddcdcff call StackCheck (0x37c26f43cbe0) ;; code: BUILTIN
;;; <@24,#15> lazy-bailout
;;; <@25,#15> gap
0x37c26f66ef23 35 488b45e8 REX.W movq rax,[rbp-0x18]
;;; <@26,#16> load-context-slot
0x37c26f66ef27 39 488b888f010000 REX.W movq rcx,[rax+0x18f] ;; debug: position 15601
;;; <@27,#16> gap
0x37c26f66ef2e 46 48894de0 REX.W movq [rbp-0x20],rcx
;;; <@28,#19> check-value
0x37c26f66ef32 50 49ba81a4dc5ae3150000 REX.W movq r10,0x15e35adca481 ;; object: 0x15e35adca481 <JS Function modeNum (SharedFunctionInfo 0x238c96a37d69)>
0x37c26f66ef3c 60 493bca REX.W cmpq rcx,r10
0x37c26f66ef3f 63 0f85dd020000 jnz 802 (0x37c26f66f222)
;;; <@30,#24> gap
0x37c26f66ef45 69 488b5d10 REX.W movq rbx,[rbp+0x10] ;; debug: position 15030
;;; <@31,#24> typeof-is-and-branch
0x37c26f66ef49 73 f6c301 testb rbx,0x1
0x37c26f66ef4c 76 0f84bc000000 jz 270 (0x37c26f66f00e)
0x37c26f66ef52 82 4d8b55f8 REX.W movq r10,[r13-0x8]
0x37c26f66ef56 86 4c3953ff REX.W cmpq [rbx-0x1],r10
0x37c26f66ef5a 90 0f84ae000000 jz 270 (0x37c26f66f00e)
;;; <@32,#28> -------------------- B3 (unreachable/replaced) --------------------
;;; <@36,#35> -------------------- B4 --------------------
;;; <@38,#36> gap
0x37c26f66ef60 96 488b5d10 REX.W movq rbx,[rbp+0x10] ;; debug: position 15073
;;; <@39,#36> typeof-is-and-branch
0x37c26f66ef64 100 f6c301 testb rbx,0x1
0x37c26f66ef67 103 740e jz 119 (0x37c26f66ef77)
0x37c26f66ef69 105 488b5bff REX.W movq rbx,[rbx-0x1]
0x37c26f66ef6d 109 807b0b80 cmpb [rbx+0xb],0x80
0x37c26f66ef71 113 0f8251000000 jc 200 (0x37c26f66efc8)
;;; <@40,#40> -------------------- B5 (unreachable/replaced) --------------------
;;; <@44,#55> -------------------- B6 (unreachable/replaced) --------------------
;;; <@48,#60> -------------------- B7 (unreachable/replaced) --------------------
;;; <@52,#74> -------------------- B8 (unreachable/replaced) --------------------
;;; <@56,#57> -------------------- B9 (unreachable/replaced) --------------------
;;; <@60,#63> -------------------- B10 --------------------
;;; <@62,#20> constant-t
0x37c26f66ef77 119 48be9197dc5ae3150000 REX.W movq rsi,0x15e35adc9791 ;; debug: position 15136
;; debug: position 15004
;; object: 0x15e35adc9791 <FixedArray[66]>
;;; <@64,#64> load-context-slot
0x37c26f66ef81 129 488bbe8f010000 REX.W movq rdi,[rsi+0x18f] ;; debug: position 15136
;;; <@66,#65> push-argument
0x37c26f66ef88 136 49ba81436051de230000 REX.W movq r10,0x23de51604381 ;; object: 0x23de51604381 <undefined>
0x37c26f66ef92 146 4152 push r10
;;; <@68,#65> push-argument
0x37c26f66ef94 148 49ba00000000b6010000 REX.W movq r10,0x1b600000000
0x37c26f66ef9e 158 4152 push r10
;;; <@70,#20> constant-t
0x37c26f66efa0 160 48be9197dc5ae3150000 REX.W movq rsi,0x15e35adc9791 ;; debug: position 15004
;; object: 0x15e35adc9791 <FixedArray[66]>
;;; <@72,#462> constant-s
0x37c26f66efaa 170 48ba0000000005000000 REX.W movq rdx,0x500000000 ;; debug: position 15136
;;; <@74,#67> constant-t
0x37c26f66efb4 180 48bb61e6a5968c230000 REX.W movq rbx,0x238c96a5e661 ;; object: 0x238c96a5e661 <FixedArray[9]>
;;; <@76,#69> call-with-descriptor
0x37c26f66efbe 190 e8fd03eaff call 0x37c26f50f3c0 ;; code: CALL_IC, GENERIC
;;; <@78,#70> lazy-bailout
;;; <@81,#73> goto
0x37c26f66efc3 195 e94a000000 jmp 274 (0x37c26f66f012) ;; debug: position 15129
;;; <@82,#37> -------------------- B11 (unreachable/replaced) --------------------
;;; <@86,#43> -------------------- B12 --------------------
;;; <@88,#47> push-argument
0x37c26f66efc8 200 49ba81436051de230000 REX.W movq r10,0x23de51604381 ;; debug: position 15098
;; object: 0x23de51604381 <undefined>
0x37c26f66efd2 210 4152 push r10
;;; <@89,#47> gap
0x37c26f66efd4 212 488b4510 REX.W movq rax,[rbp+0x10]
;;; <@90,#47> push-argument
0x37c26f66efd8 216 50 push rax
;;; <@92,#47> push-argument
0x37c26f66efd9 217 49ba0000000008000000 REX.W movq r10,0x800000000
0x37c26f66efe3 227 4152 push r10
;;; <@94,#20> constant-t
0x37c26f66efe5 229 48be9197dc5ae3150000 REX.W movq rsi,0x15e35adc9791 ;; debug: position 15004
;; object: 0x15e35adc9791 <FixedArray[66]>
;;; <@96,#44> constant-t
0x37c26f66efef 239 48bf59116c51de230000 REX.W movq rdi,0x23de516c1159 ;; debug: position 15098
;; object: 0x23de516c1159 <JS Function parseInt (SharedFunctionInfo 0x23de5164c5b1)>
;;; <@98,#49> invoke-function
0x37c26f66eff9 249 488b7727 REX.W movq rsi,[rdi+0x27]
0x37c26f66effd 253 498b55a8 REX.W movq rdx,[r13-0x58]
0x37c26f66f001 257 b802000000 movl rax,0x2
0x37c26f66f006 262 ff5737 call [rdi+0x37]
;;; <@100,#50> lazy-bailout
;;; <@103,#53> goto
0x37c26f66f009 265 e904000000 jmp 274 (0x37c26f66f012) ;; debug: position 15091
;;; <@104,#25> -------------------- B13 (unreachable/replaced) --------------------
;;; <@108,#31> -------------------- B14 --------------------
;;; <@110,#34> gap
0x37c26f66f00e 270 488b4510 REX.W movq rax,[rbp+0x10] ;; debug: position 15048
;;; <@112,#79> -------------------- B15 --------------------
0x37c26f66f012 274 488945d8 REX.W movq [rbp-0x28],rax ;; debug: position 15625
;;; <@113,#79> gap
0x37c26f66f016 278 488b5de8 REX.W movq rbx,[rbp-0x18]
;;; <@114,#80> load-context-slot
0x37c26f66f01a 282 488b9327010000 REX.W movq rdx,[rbx+0x127]
;;; <@115,#80> gap
0x37c26f66f021 289 488955d0 REX.W movq [rbp-0x30],rdx
;;; <@116,#81> check-value
0x37c26f66f025 293 49bab199dc5ae3150000 REX.W movq r10,0x15e35adc99b1 ;; object: 0x15e35adc99b1 <JS Function nullCheck (SharedFunctionInfo 0x238c96a37469)>
0x37c26f66f02f 303 493bd2 REX.W cmpq rdx,r10
0x37c26f66f032 306 0f85ef010000 jnz 807 (0x37c26f66f227)
;;; <@117,#81> gap
0x37c26f66f038 312 488b4d20 REX.W movq rcx,[rbp+0x20]
;;; <@118,#87> check-non-smi
0x37c26f66f03c 316 f6c101 testb rcx,0x1 ;; debug: position 3937
0x37c26f66f03f 319 0f84e7010000 jz 812 (0x37c26f66f22c)
;;; <@120,#88> check-instance-type
0x37c26f66f045 325 4c8b51ff REX.W movq r10,[rcx-0x1]
0x37c26f66f049 329 41f6420b80 testb [r10+0xb],0x80
0x37c26f66f04e 334 0f85dd010000 jnz 817 (0x37c26f66f231)
;;; <@122,#91> check-maps
;;; <@124,#95> push-argument
0x37c26f66f054 340 51 push rcx ;; debug: position 3945
;;; <@126,#95> push-argument
0x37c26f66f055 341 49baf938a3968c230000 REX.W movq r10,0x238c96a338f9 ;; object: 0x238c96a338f9 <String[1]\: \x00>
0x37c26f66f05f 351 4152 push r10
;;; <@128,#20> constant-t
0x37c26f66f061 353 48be9197dc5ae3150000 REX.W movq rsi,0x15e35adc9791 ;; debug: position 15004
;; object: 0x15e35adc9791 <FixedArray[66]>
;;; <@130,#94> constant-t
0x37c26f66f06b 363 48bfc96f6b51de230000 REX.W movq rdi,0x23de516b6fc9 ;; debug: position 3945
;; object: 0x23de516b6fc9 <JS Function indexOf (SharedFunctionInfo 0x23de51657411)>
;;; <@132,#96> invoke-function
0x37c26f66f075 373 488b7727 REX.W movq rsi,[rdi+0x27]
0x37c26f66f079 377 498b55a8 REX.W movq rdx,[r13-0x58]
0x37c26f66f07d 381 b801000000 movl rax,0x1
0x37c26f66f082 386 bb02000000 movl rbx,0x2
0x37c26f66f087 391 e834a7d9ff call ArgumentsAdaptorTrampoline (0x37c26f4097c0) ;; code: BUILTIN
;;; <@134,#97> lazy-bailout
;;; <@135,#97> gap
0x37c26f66f08c 396 488bd8 REX.W movq rbx,rax
;;; <@136,#464> tagged-to-i
0x37c26f66f08f 399 f6c301 testb rbx,0x1
0x37c26f66f092 402 0f8556010000 jnz 750 (0x37c26f66f1ee)
0x37c26f66f098 408 48c1eb20 REX.W shrq rbx, 32
;;; <@139,#99> compare-numeric-and-branch
0x37c26f66f09c 412 83fbff cmpl rbx,0xff ;; debug: position 3963
0x37c26f66f09f 415 0f8448000000 jz 493 (0x37c26f66f0ed)
;;; <@140,#103> -------------------- B16 (unreachable/replaced) --------------------
;;; <@144,#106> -------------------- B17 --------------------
;;; <@146,#119> push-argument
0x37c26f66f0a5 421 49bac1736b51de230000 REX.W movq r10,0x23de516b73c1 ;; debug: position 3990
;; debug: position 3986
;; object: 0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>
0x37c26f66f0af 431 4152 push r10
;;; <@148,#119> push-argument
0x37c26f66f0b1 433 49ba1939a3968c230000 REX.W movq r10,0x238c96a33919 ;; object: 0x238c96a33919 <String[40]: Path must be a string without null bytes>
0x37c26f66f0bb 443 4152 push r10
;;; <@150,#20> constant-t
0x37c26f66f0bd 445 48be9197dc5ae3150000 REX.W movq rsi,0x15e35adc9791 ;; debug: position 15004
;; object: 0x15e35adc9791 <FixedArray[66]>
;;; <@152,#107> constant-t
0x37c26f66f0c7 455 48bac1736b51de230000 REX.W movq rdx,0x23de516b73c1 ;; debug: position 3990
;; object: 0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>
;;; <@154,#107> constant-t
0x37c26f66f0d1 465 48bac1736b51de230000 REX.W movq rdx,0x23de516b73c1 ;; object: 0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>
;;; <@156,#298> constant-i
0x37c26f66f0db 475 b801000000 movl rax,0x1 ;; debug: position 15570
;;; <@157,#298> gap
0x37c26f66f0e0 480 488bfa REX.W movq rdi,rdx
;;; <@158,#120> call-with-descriptor
0x37c26f66f0e3 483 e8f89ed9ff call Construct (0x37c26f408fe0) ;; debug: position 3986
;; code: BUILTIN
;;; <@160,#121> lazy-bailout
;;; <@163,#125> deoptimize
0x37c26f66f0e8 488 e86d6fc9ff call 0x37c26f30605a ;; debug: position 4053
;; debug: position 74242
;; debug: deopt reason 'Insufficient type feedback for generic named access'
;; soft deoptimization bailout 9
;;; <@164,#126> -------------------- B18 (unreachable/replaced) --------------------
;;; <@174,#133> -------------------- B19 (unreachable/replaced) --------------------
;;; <@178,#136> -------------------- B20 (unreachable/replaced) --------------------
;;; <@186,#130> -------------------- B21 (unreachable/replaced) --------------------
;;; <@190,#143> -------------------- B22 (unreachable/replaced) --------------------
;;; <@194,#146> -------------------- B23 (unreachable/replaced) --------------------
;;; <@210,#159> -------------------- B24 (unreachable/replaced) --------------------
;;; <@214,#162> -------------------- B25 (unreachable/replaced) --------------------
;;; <@236,#156> -------------------- B26 (unreachable/replaced) --------------------
;;; <@240,#183> -------------------- B27 (unreachable/replaced) --------------------
;;; <@244,#186> -------------------- B28 (unreachable/replaced) --------------------
;;; <@252,#194> -------------------- B29 (unreachable/replaced) --------------------
;;; <@256,#202> -------------------- B30 (unreachable/replaced) --------------------
;;; <@260,#209> -------------------- B31 (unreachable/replaced) --------------------
;;; <@264,#306> -------------------- B32 (unreachable/replaced) --------------------
;;; <@268,#206> -------------------- B33 (unreachable/replaced) --------------------
;;; <@272,#212> -------------------- B34 (unreachable/replaced) --------------------
;;; <@368,#254> -------------------- B35 (unreachable/replaced) --------------------
;;; <@372,#258> -------------------- B36 (unreachable/replaced) --------------------
;;; <@376,#264> -------------------- B37 (unreachable/replaced) --------------------
;;; <@416,#261> -------------------- B38 (unreachable/replaced) --------------------
;;; <@420,#303> -------------------- B39 (unreachable/replaced) --------------------
;;; <@424,#315> -------------------- B40 (unreachable/replaced) --------------------
;;; <@506,#352> -------------------- B41 (unreachable/replaced) --------------------
;;; <@510,#354> -------------------- B42 (unreachable/replaced) --------------------
;;; <@514,#360> -------------------- B43 (unreachable/replaced) --------------------
;;; <@540,#382> -------------------- B44 (unreachable/replaced) --------------------
;;; <@624,#191> -------------------- B45 (unreachable/replaced) --------------------
;;; <@628,#197> -------------------- B46 (unreachable/replaced) --------------------
;;; <@634,#420> -------------------- B47 (unreachable/replaced) --------------------
;;; <@638,#100> -------------------- B48 (unreachable/replaced) --------------------
;;; <@642,#425> -------------------- B49 (unreachable/replaced) --------------------
;;; <@646,#430> -------------------- B50 --------------------
;;; <@647,#430> gap
0x37c26f66f0ed 493 488b5de8 REX.W movq rbx,[rbp-0x18] ;; debug: position 15651
;;; <@648,#431> load-context-slot
0x37c26f66f0f1 497 488b5347 REX.W movq rdx,[rbx+0x47]
0x37c26f66f0f5 501 493b55d8 REX.W cmpq rdx,[r13-0x28]
0x37c26f66f0f9 505 0f8437010000 jz 822 (0x37c26f66f236)
;;; <@649,#431> gap
0x37c26f66f0ff 511 488955c8 REX.W movq [rbp-0x38],rdx
;;; <@650,#432> check-non-smi
0x37c26f66f103 515 f6c201 testb rdx,0x1 ;; debug: position 15659
0x37c26f66f106 518 0f842f010000 jz 827 (0x37c26f66f23b)
;;; <@652,#433> check-maps
0x37c26f66f10c 524 49ba1157e1eadf370000 REX.W movq r10,0x37dfeae15711 ;; object: 0x37dfeae15711 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f66f116 534 4c3952ff REX.W cmpq [rdx-0x1],r10
0x37c26f66f11a 538 0f8520010000 jnz 832 (0x37c26f66f240)
;;; <@654,#435> load-context-slot
0x37c26f66f120 544 488b433f REX.W movq rax,[rbx+0x3f] ;; debug: position 15664
0x37c26f66f124 548 493b45d8 REX.W cmpq rax,[r13-0x28]
0x37c26f66f128 552 0f8417010000 jz 837 (0x37c26f66f245)
;;; <@656,#436> check-non-smi
0x37c26f66f12e 558 a801 test al,0x1 ;; debug: position 15675
0x37c26f66f130 560 0f8414010000 jz 842 (0x37c26f66f24a)
;;; <@658,#437> check-maps
0x37c26f66f136 566 49bab92ae1eadf370000 REX.W movq r10,0x37dfeae12ab9 ;; object: 0x37dfeae12ab9 <Map(FAST_HOLEY_ELEMENTS)>
0x37c26f66f140 576 4c3950ff REX.W cmpq [rax-0x1],r10
0x37c26f66f144 580 0f8505010000 jnz 847 (0x37c26f66f24f)
;;; <@660,#438> load-named-field
0x37c26f66f14a 586 488b783f REX.W movq rdi,[rax+0x3f]
;;; <@662,#441> push-argument
0x37c26f66f14e 590 50 push rax
;;; <@664,#441> push-argument
0x37c26f66f14f 591 ff7520 push [rbp+0x20]
;;; <@666,#298> constant-i
0x37c26f66f152 594 b801000000 movl rax,0x1 ;; debug: position 15570
;;; <@667,#298> gap
0x37c26f66f157 599 488bf3 REX.W movq rsi,rbx
;;; <@668,#442> call-with-descriptor
0x37c26f66f15a 602 e84149daff call Call_ReceiverIsNotNullOrUndefined (0x37c26f413aa0) ;; debug: position 15675
;; code: BUILTIN
;;; <@669,#442> gap
0x37c26f66f15f 607 488945c0 REX.W movq [rbp-0x40],rax
;;; <@670,#443> lazy-bailout
;;; <@671,#443> gap
0x37c26f66f163 611 488b5de8 REX.W movq rbx,[rbp-0x18]
;;; <@672,#444> load-context-slot
0x37c26f66f167 615 488b9387010000 REX.W movq rdx,[rbx+0x187] ;; debug: position 15692
;;; <@674,#445> check-value
0x37c26f66f16e 622 49bac9a4dc5ae3150000 REX.W movq r10,0x15e35adca4c9 ;; object: 0x15e35adca4c9 <JS Function stringToFlags (SharedFunctionInfo 0x238c96a37ca9)>
0x37c26f66f178 632 493bd2 REX.W cmpq rdx,r10
0x37c26f66f17b 635 0f85d3000000 jnz 852 (0x37c26f66f254)
;;; <@676,#446> push-argument
0x37c26f66f181 641 49ba81436051de230000 REX.W movq r10,0x23de51604381 ;; object: 0x23de51604381 <undefined>
0x37c26f66f18b 651 4152 push r10
;;; <@677,#446> gap
0x37c26f66f18d 653 488b5518 REX.W movq rdx,[rbp+0x18]
;;; <@678,#446> push-argument
0x37c26f66f191 657 52 push rdx
;;; <@680,#447> constant-t
0x37c26f66f192 658 48bfc9a4dc5ae3150000 REX.W movq rdi,0x15e35adca4c9 ;; object: 0x15e35adca4c9 <JS Function stringToFlags (SharedFunctionInfo 0x238c96a37ca9)>
;;; <@681,#447> gap
0x37c26f66f19c 668 488bf3 REX.W movq rsi,rbx
;;; <@682,#448> invoke-function
0x37c26f66f19f 671 488b7727 REX.W movq rsi,[rdi+0x27]
0x37c26f66f1a3 675 498b55a8 REX.W movq rdx,[r13-0x58]
0x37c26f66f1a7 679 b801000000 movl rax,0x1
0x37c26f66f1ac 684 ff5737 call [rdi+0x37]
;;; <@684,#449> lazy-bailout
;;; <@686,#450> check-maps
;;; <@688,#451> push-argument
0x37c26f66f1af 687 ff75c8 push [rbp-0x38] ;; debug: position 15659
;;; <@690,#451> push-argument
0x37c26f66f1b2 690 ff75c0 push [rbp-0x40]
;;; <@692,#451> push-argument
0x37c26f66f1b5 693 50 push rax
;;; <@694,#451> push-argument
0x37c26f66f1b6 694 ff75d8 push [rbp-0x28]
;;; <@696,#453> constant-e
0x37c26f66f1b9 697 498d9598a260fe REX.W leaq rdx,[r13-0x19f5d68]
;;; <@698,#434> constant-t
0x37c26f66f1c0 704 48bf09efa3968c230000 REX.W movq rdi,0x238c96a3ef09 ;; object: 0x238c96a3ef09 <JS Function open (SharedFunctionInfo 0x238c96a3ee61)>
;;; <@700,#452> constant-t
0x37c26f66f1ca 714 48bb19206e51de230000 REX.W movq rbx,0x23de516e2019 ;; object: 0x23de516e2019 <JS Object>
;;; <@701,#452> gap
0x37c26f66f1d4 724 488b75e8 REX.W movq rsi,[rbp-0x18]
0x37c26f66f1d8 728 488b4dc8 REX.W movq rcx,[rbp-0x38]
;;; <@702,#456> call-with-descriptor
0x37c26f66f1dc 732 e85ffbffff call 0x37c26f66ed40 ;; code: STUB, CallApiCallbackStub, minor: 12
;;; <@704,#457> lazy-bailout
;;; <@706,#459> return
0x37c26f66f1e1 737 488be5 REX.W movq rsp,rbp ;; debug: position 15644
0x37c26f66f1e4 740 5d pop rbp
0x37c26f66f1e5 741 c22000 ret 0x20
0x37c26f66f1e8 744 660f1f440000 nop
;;; <@136,#464> -------------------- Deferred tagged-to-i --------------------
0x37c26f66f1ee 750 4d8b55f8 REX.W movq r10,[r13-0x8] ;; debug: position 3945
0x37c26f66f1f2 754 4c3953ff REX.W cmpq [rbx-0x1],r10
0x37c26f66f1f6 758 0f855d000000 jnz 857 (0x37c26f66f259)
0x37c26f66f1fc 764 c5fb104307 vmovsd xmm0,[rbx+0x7]
0x37c26f66f201 769 c5fb2cd8 vcvttsd2si rbx,xmm0
0x37c26f66f205 773 c5f157c9 vxorpd xmm1,xmm1,xmm1
0x37c26f66f209 777 c5f32acb vcvtlsi2sd xmm1,xmm1,rbx
0x37c26f66f20d 781 c5f92ec1 vucomisd xmm0,xmm1
0x37c26f66f211 785 0f8547000000 jnz 862 (0x37c26f66f25e)
0x37c26f66f217 791 0f8a46000000 jpe 867 (0x37c26f66f263)
0x37c26f66f21d 797 e97afeffff jmp 412 (0x37c26f66f09c)
;;; -------------------- Jump table --------------------
0x37c26f66f222 802 e8e36da9ff call 0x37c26f10600a ;; debug: position 15872
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 1
0x37c26f66f227 807 e8fc6da9ff call 0x37c26f106028 ;; debug: position 28160
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 4
0x37c26f66f22c 812 e8016ea9ff call 0x37c26f106032 ;; debug: position 14850
;; debug: deopt reason 'Smi'
;; deoptimization bailout 5
0x37c26f66f231 817 e8066ea9ff call 0x37c26f10603c ;; debug: position 14850
;; debug: deopt reason 'wrong instance type'
;; deoptimization bailout 6
0x37c26f66f236 822 e8296ea9ff call 0x37c26f106064 ;; debug: position 41472
;; debug: deopt reason 'hole'
;; deoptimization bailout 10
0x37c26f66f23b 827 e82e6ea9ff call 0x37c26f10606e ;; debug: position 45568
;; debug: deopt reason 'Smi'
;; deoptimization bailout 11
0x37c26f66f240 832 e8336ea9ff call 0x37c26f106078 ;; debug: position 45568
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 12
0x37c26f66f245 837 e8386ea9ff call 0x37c26f106082 ;; debug: position 48128
;; debug: deopt reason 'hole'
;; deoptimization bailout 13
0x37c26f66f24a 842 e83d6ea9ff call 0x37c26f10608c ;; debug: position 53760
;; debug: deopt reason 'Smi'
;; deoptimization bailout 14
0x37c26f66f24f 847 e8426ea9ff call 0x37c26f106096 ;; debug: position 53760
;; debug: deopt reason 'wrong map'
;; deoptimization bailout 15
0x37c26f66f254 852 e8516ea9ff call 0x37c26f1060aa ;; debug: position 62464
;; debug: deopt reason 'value mismatch'
;; deoptimization bailout 17
0x37c26f66f259 857 e86a6ea9ff call 0x37c26f1060c8 ;; debug: position 18946
;; debug: deopt reason 'not a heap number'
;; deoptimization bailout 20
0x37c26f66f25e 862 e8656ea9ff call 0x37c26f1060c8 ;; debug: position 18946
;; debug: deopt reason 'lost precision'
;; deoptimization bailout 20
0x37c26f66f263 867 e8606ea9ff call 0x37c26f1060c8 ;; debug: position 18946
;; debug: deopt reason 'NaN'
;; deoptimization bailout 20
;;; Safepoint table.
Inlined functions (count = 4)
0x238c96a37d69 <SharedFunctionInfo modeNum>
0x238c96a37469 <SharedFunctionInfo nullCheck>
0x238c96a21311 <SharedFunctionInfo nextTick>
0x238c96a21251 <SharedFunctionInfo TickObject>
Deoptimization Input Data (deopt points = 21)
index ast id argc pc
0 4 0 35
1 4 0 -1
2 61 0 195
3 40 0 265
4 12 0 -1
5 3 0 -1
6 3 0 -1
7 18 0 396
8 59 0 488
9 59 0 -1
10 27 0 -1
11 27 0 -1
12 27 0 -1
13 27 0 -1
14 27 0 -1
15 27 0 -1
16 54 0 611
17 54 0 -1
18 72 0 687
19 39 0 737
20 18 0 -1
Safepoints (size = 104)
0x37c26f66ef23 35 0000010000 (sp -> fp) 0
0x37c26f66efc3 195 0000110000 (sp -> fp) 2
0x37c26f66f009 265 0000110000 (sp -> fp) 3
0x37c26f66f08c 396 0011010000 (sp -> fp) 7
0x37c26f66f0e8 488 0011010000 (sp -> fp) 8
0x37c26f66f15f 607 0101010000 (sp -> fp) 16
0x37c26f66f1af 687 1101010000 (sp -> fp) 18
0x37c26f66f1e1 737 0001010000 (sp -> fp) 19
RelocInfo (size = 1886)
0x37c26f66ef0a position (15570)
0x37c26f66ef0a comment (;;; <@0,#0> -------------------- B0 --------------------)
0x37c26f66ef0a comment (;;; <@10,#6> prologue)
0x37c26f66ef0a comment (;;; Prologue begin)
0x37c26f66ef0a comment (;;; Prologue end)
0x37c26f66ef0a comment (;;; <@14,#8> -------------------- B1 --------------------)
0x37c26f66ef0a comment (;;; <@16,#9> context)
0x37c26f66ef0e comment (;;; <@17,#9> gap)
0x37c26f66ef12 comment (;;; <@20,#13> -------------------- B2 --------------------)
0x37c26f66ef12 comment (;;; <@21,#13> gap)
0x37c26f66ef15 comment (;;; <@22,#15> stack-check)
0x37c26f66ef1f code target (BUILTIN) (0x37c26f43cbe0)
0x37c26f66ef23 comment (;;; <@24,#15> lazy-bailout)
0x37c26f66ef23 comment (;;; <@25,#15> gap)
0x37c26f66ef27 comment (;;; <@26,#16> load-context-slot)
0x37c26f66ef27 position (15601)
0x37c26f66ef2e comment (;;; <@27,#16> gap)
0x37c26f66ef32 comment (;;; <@28,#19> check-value)
0x37c26f66ef34 embedded object (0x15e35adca481 <JS Function modeNum (SharedFunctionInfo 0x238c96a37d69)>)
0x37c26f66ef45 comment (;;; <@30,#24> gap)
0x37c26f66ef45 position (15030)
0x37c26f66ef49 comment (;;; <@31,#24> typeof-is-and-branch)
0x37c26f66ef60 comment (;;; <@32,#28> -------------------- B3 (unreachable/replaced) --------------------)
0x37c26f66ef60 position (15073)
0x37c26f66ef60 comment (;;; <@36,#35> -------------------- B4 --------------------)
0x37c26f66ef60 comment (;;; <@38,#36> gap)
0x37c26f66ef64 comment (;;; <@39,#36> typeof-is-and-branch)
0x37c26f66ef77 comment (;;; <@40,#40> -------------------- B5 (unreachable/replaced) --------------------)
0x37c26f66ef77 comment (;;; <@44,#55> -------------------- B6 (unreachable/replaced) --------------------)
0x37c26f66ef77 comment (;;; <@48,#60> -------------------- B7 (unreachable/replaced) --------------------)
0x37c26f66ef77 comment (;;; <@52,#74> -------------------- B8 (unreachable/replaced) --------------------)
0x37c26f66ef77 comment (;;; <@56,#57> -------------------- B9 (unreachable/replaced) --------------------)
0x37c26f66ef77 position (15136)
0x37c26f66ef77 comment (;;; <@60,#63> -------------------- B10 --------------------)
0x37c26f66ef77 comment (;;; <@62,#20> constant-t)
0x37c26f66ef77 position (15004)
0x37c26f66ef79 embedded object (0x15e35adc9791 <FixedArray[66]>)
0x37c26f66ef81 comment (;;; <@64,#64> load-context-slot)
0x37c26f66ef81 position (15136)
0x37c26f66ef88 comment (;;; <@66,#65> push-argument)
0x37c26f66ef8a embedded object (0x23de51604381 <undefined>)
0x37c26f66ef94 comment (;;; <@68,#65> push-argument)
0x37c26f66efa0 comment (;;; <@70,#20> constant-t)
0x37c26f66efa0 position (15004)
0x37c26f66efa2 embedded object (0x15e35adc9791 <FixedArray[66]>)
0x37c26f66efaa comment (;;; <@72,#462> constant-s)
0x37c26f66efaa position (15136)
0x37c26f66efb4 comment (;;; <@74,#67> constant-t)
0x37c26f66efb6 embedded object (0x238c96a5e661 <FixedArray[9]>)
0x37c26f66efbe comment (;;; <@76,#69> call-with-descriptor)
0x37c26f66efbf code target (CALL_IC) (0x37c26f50f3c0)
0x37c26f66efc3 comment (;;; <@78,#70> lazy-bailout)
0x37c26f66efc3 position (15129)
0x37c26f66efc3 comment (;;; <@81,#73> goto)
0x37c26f66efc8 comment (;;; <@82,#37> -------------------- B11 (unreachable/replaced) --------------------)
0x37c26f66efc8 position (15098)
0x37c26f66efc8 comment (;;; <@86,#43> -------------------- B12 --------------------)
0x37c26f66efc8 comment (;;; <@88,#47> push-argument)
0x37c26f66efca embedded object (0x23de51604381 <undefined>)
0x37c26f66efd4 comment (;;; <@89,#47> gap)
0x37c26f66efd8 comment (;;; <@90,#47> push-argument)
0x37c26f66efd9 comment (;;; <@92,#47> push-argument)
0x37c26f66efe5 comment (;;; <@94,#20> constant-t)
0x37c26f66efe5 position (15004)
0x37c26f66efe7 embedded object (0x15e35adc9791 <FixedArray[66]>)
0x37c26f66efef comment (;;; <@96,#44> constant-t)
0x37c26f66efef position (15098)
0x37c26f66eff1 embedded object (0x23de516c1159 <JS Function parseInt (SharedFunctionInfo 0x23de5164c5b1)>)
0x37c26f66eff9 comment (;;; <@98,#49> invoke-function)
0x37c26f66f009 comment (;;; <@100,#50> lazy-bailout)
0x37c26f66f009 position (15091)
0x37c26f66f009 comment (;;; <@103,#53> goto)
0x37c26f66f00e comment (;;; <@104,#25> -------------------- B13 (unreachable/replaced) --------------------)
0x37c26f66f00e position (15048)
0x37c26f66f00e comment (;;; <@108,#31> -------------------- B14 --------------------)
0x37c26f66f00e comment (;;; <@110,#34> gap)
0x37c26f66f012 position (15625)
0x37c26f66f012 comment (;;; <@112,#79> -------------------- B15 --------------------)
0x37c26f66f016 comment (;;; <@113,#79> gap)
0x37c26f66f01a comment (;;; <@114,#80> load-context-slot)
0x37c26f66f021 comment (;;; <@115,#80> gap)
0x37c26f66f025 comment (;;; <@116,#81> check-value)
0x37c26f66f027 embedded object (0x15e35adc99b1 <JS Function nullCheck (SharedFunctionInfo 0x238c96a37469)>)
0x37c26f66f038 comment (;;; <@117,#81> gap)
0x37c26f66f03c comment (;;; <@118,#87> check-non-smi)
0x37c26f66f03c position (3937)
0x37c26f66f045 comment (;;; <@120,#88> check-instance-type)
0x37c26f66f054 comment (;;; <@122,#91> check-maps)
0x37c26f66f054 position (3945)
0x37c26f66f054 comment (;;; <@124,#95> push-argument)
0x37c26f66f055 comment (;;; <@126,#95> push-argument)
0x37c26f66f057 embedded object (0x238c96a338f9 <String[1]\: \x00>)
0x37c26f66f061 comment (;;; <@128,#20> constant-t)
0x37c26f66f061 position (15004)
0x37c26f66f063 embedded object (0x15e35adc9791 <FixedArray[66]>)
0x37c26f66f06b comment (;;; <@130,#94> constant-t)
0x37c26f66f06b position (3945)
0x37c26f66f06d embedded object (0x23de516b6fc9 <JS Function indexOf (SharedFunctionInfo 0x23de51657411)>)
0x37c26f66f075 comment (;;; <@132,#96> invoke-function)
0x37c26f66f088 code target (BUILTIN) (0x37c26f4097c0)
0x37c26f66f08c comment (;;; <@134,#97> lazy-bailout)
0x37c26f66f08c comment (;;; <@135,#97> gap)
0x37c26f66f08f comment (;;; <@136,#464> tagged-to-i)
0x37c26f66f09c position (3963)
0x37c26f66f09c comment (;;; <@139,#99> compare-numeric-and-branch)
0x37c26f66f0a5 comment (;;; <@140,#103> -------------------- B16 (unreachable/replaced) --------------------)
0x37c26f66f0a5 position (3990)
0x37c26f66f0a5 comment (;;; <@144,#106> -------------------- B17 --------------------)
0x37c26f66f0a5 comment (;;; <@146,#119> push-argument)
0x37c26f66f0a5 position (3986)
0x37c26f66f0a7 embedded object (0x23de516b73c1 <JS Function Error (SharedFunctionInfo 0x23de51679b81)>)
0x37c26f66f0b1 comment (;;; <@148,#119> push-argument)
0x37c26f66f0b3 embedded object (0x238c96a33919 <String[40]: Path must be a string without null bytes>)
0x37c26f66f0bd comment (;;; <@150,#20> constant-t)
0x37c26f66f0bd position (15004)
0x37c26f66f0bf embedded object (0x15e35adc9791 <FixedArray[66]>)
0x37c26f66f0c7 comme
View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment